DB 암호화 기법 개요 데이터베이스 암호화는 데이터를 암호화하여 저장하고, 권한이 있는 사람 혹은 서버만이 해당 데이터를 복호화할 수 있도록 하여 데이터를 보호하는 기술이다. 데이터베이스 접근 제어 외에 데이터베이스 보안에 관한 국내외 법률과 규정은 2가지를 주요하게 강조한다. 암호화를 통한 데이터베이스 보안 엄격한 암호키 관리를 통해 데이터를 보호 데이터베이스 암호화의 목적은 비정상적 데이터 유출이 발생할 경우, 복호화를 어렵게 만드는 것이다. 암호키는 암호화 뿐만 아니라 복호화할 때도 사용하므로 매우 신중하게 관리하여야 한다. 랜덤 키에 의해 암호화된 데이터는 해커들이 복호화를 하기 어렵게 만든다. 따라서 복호화를 해야만 하는 사용자나 시스템 이외에 다른 사용자가 암호키에 접근하는 것을 통제해야 한다..
제약조건 (CONSTRAINT) 데이터의 무결성을 지키기 위한 제한된 조건이다. MySQL에서는 데이터의 무결성을 목적으로 아래 5가지의 제약 조건을 제공하고있다. Primary Key Foreign Key Unique Key Check Key Default 정의 NULL 값 허용 Primary Key 단일 데이터의 행의 데이터를 구분할 수 있는 식별자이다. create table userTBL( userID char(8) NOT NULL PRIMARY KEY, NAME VARCHAR(10) NOT NULL, birthYear INT NOT NULL ); Foreign Key 두 데이터 데이블 사이의 관계를 선언함으로써 데이터의 무결성을 보장해 주는 역할 create table userTBL( userI..
Union vs Union All 차이 UNION: only keeps unique records 두 쿼리문의 결과에서 합집합을 구한다. (A∪B - A∩B) UNION ALL: keeps all records, including duplicates 두 쿼리문의 결과에서 합집합을 구한다. 단, 중복되는 정보도 포함하여 출력한다. A∪B 처리 과정 최종 UNION [ALL | DISTINCT] 결과에 적합한 임시 테이블(Temporary table)을 메모리 테이블로 생성 UNION 또는 UNION DISTINCT 의 경우, Temporary 테이블의 모든 컬럼으로 Unique Hash 인덱스 생성 서브쿼리1 실행 후 결과를 Temporary 테이블에 복사 서브쿼리2 실행 후 결과를 Temporary 테이..
서론 2022년 9월 ... 서울 상암의 언론사에 합격하며 2년간의 취업 준비과정이 끝이났다. 지금 생각해도 이 회사는 비전공이면서 지방대를 졸업한 나에게 정말 과분한 회사라고 생각한다. 회사에 대한 정보는? 언론 회사 때문일까? 내부의 개발팀에 대한 정보가 굉장히 부족했다. 내가 할 수 있는것은 홈페이지를 분석하고 회사의 규모와 조직도를 분석해야했다. 회사 면접을 준비하면서 회사에 대한 정보와 개발 환경을 확인하고싶었다. 회사는 어떤 개발환경을 갖추고 있는가? 놀랍지만 우리 회사는 PHP가 메인인 기업이다. 아마 취준생 혹은 개발에 관심이 있는 누구나 PHP언어에 대한 인상이 있을 것이다. 오래된 비인기 언어 부족한 교육자료 채용과정의 필살기 이 세가지 이유만으로도 많은 스타트업 혹은 기업에서 사용하지..
🐋 Docker - NginX - CertBot 🐋 🦐 Intor 과거 EBMK 프로젝트에서 Docker를 동해 CI/CD 와 로드 밸런스를 구축했다. 완전하지는 못했지만 첫 Docker 배포라는 점에서 많은것을 배울 수 있었다. 그리고 이번 MLP 파이널 햡업 프로젝트에서는 더욱 견고한 배포 파이프 라인을 구축하기 위해 많은 것을 개선시킬 수 있는 계기가 되었다. 🦐 Body Geo Location 함수를 사용하고 싶다면 https를 적용하세요. 2015년부터 크롬 개발자들이 HTTP의 보안문제에 대해 이슈 가 되면서 GeoLocation API 기능제한에 대한 논의가 이루어졌다. 당연하게도 이번 프로젝트에서 사용되는 기능중 하나가 Geo Loacation이였고 서비스 환경을 HTTPS로 변경해야했다...
프로젝트 준비 Spring Boot, JS, HTML, KAKAO API 다음과 같은 조건으로 개발을 시작한다. kakao api를 사용할 것 접속한 사용자의 위치 정보를 획득하여 반경(2000m) 이내의 충전소 정보를 제공한다. 사용자와 목표 지점까지의 거리를 계산하여 표시한다. ✖ 문제 발생 ✖ - 충전소 현황 웹 파싱 불가 api 호출은 문제가 없었지만 좌표를 지도에 표시하고 디테일 정보를 추가하는 과정에서 문제가 발생했다. 카카오 에서 제공하는 detail 페이지는 완전하게 불러올 수 없다는 것이다. 해당 방법에 대해 kakao 포럼에 질문 했지만 자신들도 외부 CP를 사용하기 때문에 정보를 제공할 수 없다는 문제였다. 직접문의 - https://devtalk.kakao.com/t/kakao-ma..
Visual Studio VS Live Server Issue Live Server 상에서 SpringBoot API 통신은 불가능 하다. net::err_aborted 405 (method not allowed) 이 말은 Live Server에서 AJAX 통신시 현재 페이지 에서는 해당 Method를 지원하지 않는다는 말이다. F12 개발자 모드에서 Header 를 살펴본다면 지원하는 메소드를 볼 수 있는데 Get, UPDATE, OPTION이 있다. POST가 빠져있는 것을 볼 수 있는데 Live Server 개발자 ritwickdey의 말에 따르면 해당 POST에 대한 문제는 원인을 알 수 없다고 한다. 정리 Front-End 개발시 Live Server 사용은 디자인 개발에만 참고하자.
지금 까지의 비동기 통신 지난 시간 대략 3가지의 포트폴리오 제작을 하면서 FE에서 BE로 데이터를 전송하기 위해 Jquery 방식의 Ajax를 많이 사용해왔다. $('#save').on('click', function () { var data={ title: $('#title').val(), content: $('#content').val(), link: $('#link').val() }; $.ajax({ type: 'POST', url: '/gallary/create', contentType:'application/json; charset=utf-8', data: JSON.stringif..
CI와 CD는 뭘까? CI(Continuous Integration) 코드 버전 관리를 하는 VCS 시스템에 PUSH가 되면 자동으로 Test, Build가 수행되고 Build 결과를 운영 서버에 배포까지 자동으로 진행되는 이 과정을 CI (지속적 통합)이라고 합니다. VCS 시스템? 버전 관리 시스템(Version Control System) 동일한 정보에 대한 여려 버전을 관리하는 것을 말한다. 코드 변화의 기능 개선과 버그 수정, 요구사항에 따른 프로그래밍 소스 수정을 관리하는 시스템을 말하며 변경점을 저장하여 기록의 열람, 복원 기능과 변경 사항을 함께 저장하며 충돌을 방지한다. CI의 4가지 규칙 모든 소스 코드가 살아있고(현재 실행되고) 어느 누구든 현재의 소스를 접근할 수 있는 단일 지점을 ..
객체지향 쿼리의 필요성 이전 까지 단순 조회는 find findAll 수준의 단순 조회 였지만 조건을 부여하기에는 한계가 있었다. 이러한 문제로 들장한 개념이 객체지향 쿼리 이다. JPQL(Java Persistence Query Language) ? JPA의 구성요소중 하나이며 SQL문법을 추상화 시킨 객체지향 쿼리이다. 객체 중심의 문법인 만큼 특정 DB에 의존하지 않는다. 엔티티 조회, 묵시적 조인, 다형성 지원으로 SQL 보다 간결하다. 왜 개발자들은 JPA를 두고 JPQL를 사용할까? JPA 문법은 CRUD 명령어 처리에서 효율적인 명령어 기능을 제공하지만 검색 명령어에 대해서는 비효율적으로 작동한다. 객체중심의 JPA는 검색을 할때도 테이블이 아닌 엔티티 객체를 대상으로 검색해야하는데 DB의 ..
- Total
- Today
- Yesterday
- kakao
- 백준
- Algorithm
- spring-cloud
- 매트랩
- 프로그래머스
- Matlab
- 면접
- C언어
- 수학
- 자격증
- security
- CS
- 자바
- JPA
- java
- 디자인패턴
- 스프링
- Spring
- OOP
- 스프링부트
- 그래프
- nginx
- springboot
- interview
- Solid
- 릿코드
- docker
- 알고리즘
- ajax
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |