본문 바로가기
반응형

전체 글135

Spring 에서 자주 사용하는 Annotation 정리 JAVA에서 Annotation 이라는 기능이 있습니다. 사전상으로는 주석의 의미이지만 Java 에서는 주석 이상의 기능을 가지고 있습니다. Annotation은 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종입니다. 소스코드에 추가하면 단순 주석의 기능을 하는 것이 아니라 특별한 기능을 사용할 수 있습니다. @SpringBootApplication : spring boot application으로 설정 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestApp.. 2023. 7. 17.
REST API 와 CRUD ## REST Representational State Transfer : 자원의 상태 전달 - 네트워크 아키텍처 커뮤니케이션에 대한 간단하고 표준화 된 접근 방식이다. 데이터 형식, 요청 형식을 지정하는 방법이 표준화되어있다.1. Client, Server : 클라이언트와 서버가 서로 독립적으로 분리되어 있어야 한다. 2. Stateless : 요청에 대해서 클라이언트의 상태를 서버에 저장하지 않는다.  ex) 햄버거 가게 치즈버거 주세요 → 치즈버거 하나와 콜라 주세요 → : 모든 요청에 대해서 새롭게 나가야 한다.3. Cache : 클라이언트는 서버의 응답을 Cache(임시저장) 할 수 있어야 한다.  - 클라이언트가 Cache를 통해서 응답을 재사용할 수 있어야 하며, 이를 통해서 서버의 부하를 .. 2023. 7. 17.
DAO생성에서 확인하고 넘어갈 개념 4가지 DAO란 Data Access Object의 약어로서 실질적으로 DB에 접근하는 객체를 말한다. 1. class.forName(); 클래스로더를 통해서 해당 데이터베이스 드라이버를 로드하며, 데이터베이스와의 연결에 관해서는 아무런 동작도 하지 않는다. 2. preparedstatement sql구문을 실행하는 역할 코드 안정성 높음. 가독성 높음 텍스트 sql호출 3. resultset select 의 결과를 저장하는 객체 4. Session 쿠키와 마찬가지로, 클라이언트와 서버의 연결을 유지시켜주는 방법 중 하나이다. http 프로토콜은 요청(클라이언트 -> 서버) 한 번과, 응답(서버 -> 클라이언트) 한 번이 이루어지면, 연결을 해제한다. 연결을 계속 유지시 서버 과부하가 걸릴 수 있기 때문이다. .. 2023. 7. 17.
markdown 작성법 markdown 작성법 제목 : #의 개수로 h1 ~ h6까지 표현 가능하다. (ex:# h1) h1과 h2는 밑에 '='와 '-'를 2개 이상 사용하면 '#'을 대체할 수 있다. 문단 간격, 줄 바꿈은 순서 표기하는 목록은 1.2.... 순서 없는 목록은 '-,*,+'을 사용 굵게 (__나 **를 글자 양옆에) 기울여쓰기 (_나 *를 글자 양 옆에) 취소선 (~~를 글자 양 옆에) 인용문은 >를 쓰면 되고, 들여쓰는 인용문은 >개수를 늘리면 된다. 코드 블럭은 백틱(`)을 세 개 사용하여 위아래로 감싸서 작성할 수 있고, 백틱 3개 뒤에 언어 이름을 넣어라 수평선은 *이나 -,_등을 3개 이상 입력하면 작성할 수 있다. 테이블은 |로 구분하며, -(하이픈)으로 구분된 곳 각각 왼쪽, 양쪽, 오른쪽에 :.. 2023. 7. 17.
빌드 자동화 도구 Gradle vs Maven Maven : 스프링 프로젝트 pom.xml Gradle : 스프링부트, 안드로이드 Maven 내가 사용할 라이브러리 뿐만 아니라 해당 라이브러리가 작동하는데 필요한 다른 라이브러리들까지 관리하여 네트워크를 통해 자동으로 다운받아준다. Maven은 프로젝트의 전체적인 라이프사이클을 관리하는 도구이다. Maven은 JDK설치와 같이 설치할 수 있다. Maven 의 Lifecycle 미리 정의하고 있는 빌드 순서를 라이프 사이클이라고 한다. 각 빌드 단계를 Phase라고 하는데, 이런 phase들은 의존관계를 가지고 있다. clean : 이전 빌드에서 생성된 파일들을 삭제하는 단계 validate : 프로젝트가 올바른지 확인하고 필요한 모든 정보를 사용할 수 있는지 확인하는 단계 compile : 프로젝트의.. 2023. 7. 17.
HTTP 상태 코드 상태코드 : 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (informational) : 요청이 수신되어 처리중 2xx (successful) : 요청 정상 처리 3xx (redirection) : 요청을 완료하면 추가 행동이 필요 4xx (client error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx (server error) : 서버 오류, 서버가 정상 요청을 처리하지 못함 2xx - 성공 200 : ok 201 : created / 요청 성공해서 새로운 리소스가 생성됨 202 : accepted / 요청이 접수되었으나 처리가 완료되지 않음 204 : no content / 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 .. 2023. 7. 16.
조인 방식(NL, SORT MERGE, HASH JOIN) 1. NL Join ( Nested Loops Join) 조인 컬럼에 인덱스 있으면 유리 선행 테이블에서 만족하는 행수가 적을수록 유리 → 컬럼 순서가 중요함 수행시간이 적게걸리는 소량테이블 조회시 유리 select /*+ order use_nl(e) */ e.empno, e.ename, d.dname,e.job, e.sal from dept d, emp e where e.deptno = d.deptno 2. Sort Merge Join 조인 전 양쪽 집합 정렬 부분범위 처리 가능 테이블 별 검색 조건에 의해 전체 일량이 좌우됨 스캔위주의 조인방식 3. Hash Join 둘 중 작은 집합(Build Input)을 읽어 해시 영역(Hash Area)에서 해시 테이블(= 해시 맵)을 생성하고, 반대쪽 큰 집.. 2023. 7. 14.
인덱스 인덱스 - 테이블의 컬럼을 떼서 정렬을 하고 따로 저장을 해두는 것 인덱스 사용 이유 WHERE 구문과 일치하는 열을 빨리 찾기 위해 특정 열을 고려 대상에서 빨리 없애 버리기 위해 조인(JOIN)을 실행할 때 다른 테이블에서 열을 추출하기 위해 특정하게 인덱스된 컬럼을 위한 MIN() 또는 MAX()값을 찾기 위해 사용할 수 있는 키의 최 자측 접두사(leafmost prefix)를 가지고 정렬 및 그룹화를 하기 위해 (??) 데이터 열을 참조하지 않은 상태로 값을 추출하기 위해서 쿼리를 최적화 하는 경우 인덱스 구조 논리적/물리적으로 테이블과 독립적 테이블은 컬럼에 데이터가 정렬되지 않고 입력된 순서대로 들어가지만, 인덱스는 KEY컬럼과 ROWID컬럼 두개로 이루어져 있고 오름차순, 내림차순으로 정렬.. 2023. 7. 14.
HTTP 메서드 활용 1. 클라이언트에서 서버로 데이터 전송 1) 데이터 전달 방식 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원가입, 상품 주문, 리소스 등록, 리소스 변경 2) 4가지 상황 정적 데이터 조회 - 쿼리 파라미터 미사용 / GET 이미지, 정적 텍스트 문서 동적 데이터 조회 - 쿼리 파라미터 사용 / GET 주로 검색, 게시판 목록에서 정렬 필터(검색어) HTML Form을 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 POST Content-Type: application/x-www-form-urlencoded 사용 form의 내용을 메시지 바디를 통해서 전송(key=value, 쿼리 파라미터 형식) 전송 데이터.. 2023. 6. 21.
AWS 공동 책임 모델 보안 및 규제 준수 누가 무엇을 책임지는지 고객 클라우드 '내부의' 보안 책임 고객 데이터 플랫폼, 애플리케이션, 자격 증명 및 액세스 관리 운영체제, 네트워크 및 방화벽 구성 클라이언트 측 데이터 암호화 및 데이터 무결성 인증 서버 측 암호화 (파일 시스템 및 데이터) 네트워킹 트래픽 보호 (암호화/무결성/자격증명) AWS 클라우드 '자체의' 보안 책임 소프트웨어 컴퓨팅 스토리지 데이터베이스 네트워킹 하드웨어/AWS 글로벌 인프라 리전 가용 영역 엣지 로케이션 AWS에서 고객 데이터 암호화 → 고객 책임 AWS 서비스를 호스팅하는 데이터 센터의 보안 → AWS 책임 Amazon RDS에서 My SQL 데이터베이스를 호스팅 할 때, Amazon RDS DB파일 데이터베이스 엔진 보안 패치 → AWS 책임.. 2023. 6. 19.
반응형