728x90
반응형

프로그래밍 194

[Annotations] Spring Boot Annotation 정리

Annotation이란? 사전적으로는 주석이라는 의미 자바에서 Annotaion은 코드 사이에 주석처럼 쓰임 -> 특별한 의미, 기능을 수행하도록 하는 기술 => 프로그램에게 추가적인 정보를 제공해주는 메타 데이터(데이터를 위한 데이터)라고 볼 수 있음 Annotation 용도? 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공 실행(런타임) 시 특정 기능을 실행하도록 정보를 제공 Annotation 사용 순서 어노테이션 정의 클래스에 어노테이션 배치 코드가 실행되는 중 Reflection을 이용해 추가 정보를 획득 -> 기능을 실시 Reflection? - 프로그램이 실행 중에 자신의 구조와 동작을 검사하고, ..

[HTTP] HTTP 메세지란, 요청 HTTP 메세지, 응답 HTTP 메세지

HTTP 메세지 ASCII로 인코딩된 텍스트 정보 서버 - 클라이언트 간 데이터가 교환되는 방식 메세지 타입 2가지 요청 Request 클라이언트 ------> 서버 서버의 액션이 일어나게끔 하는 메시지 응답 Response 클라이언트 < ------ 서버 요청에 대한 서버의 답변 소프트웨어/브라우저/프록시/웹 서버가 HTTP 메세지를 작성 프록시 or 서버 : 설정 파일 브라우저 : API 혹은 다른인터페이스를 통해 제공됨 HTTP 요청과 응답의 구조는 서로 닮았으며, 그 구조는 다음과 같음 시작 줄(start-line) : 실행되어야 할 요청, 또는 요청 수행에 대한 성공 or 실패가 기록되며 항상 한 줄로 끝남 HTTP 헤더 세트(옵션) : 요청에 대한 설명, 혹은 메시지 본문에 대한 설명 빈 줄(..

프로그래밍 2023.11.23

[HTTP] 포트, 통신 프로토콜

포트 : 0 ~ 65535번까지, 총 65536개의 네트워크 포트 사용 포트의 개수는 운영체제에서 정의하기 나름이나 현대의 윈도우, 리눅스, 맥 운영체제는 위와 같은 수의 네트워크 포트 사용 0~1023 포트 : 잘 알려진 포트(Well-kwon port) 또는 특권 포트(Privileged port) 22번 : SSH 80번 : HTTP 443번 : HTTPS 이렇게 잘 알려진 포트에 서비스를 실행하려면 관리자 권한이 필요 -> 따라서, 클라이언트는 이 대역에서 실행 중인 서비스들은 관리자의 것이라고 신뢰할 수 있음 프로토콜 : 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계(컴퓨터와 통신할 때 지켜야 할 규칙 체계) 각 통신 주체가 교환하는 데이터(메시지)를 명확히 해..

프로그래밍 2023.11.23

어떨 때 queryString 방식을 사용하고, 어떨때 Path Variable 방식을 사용해야하는가?

어떨 때 queryString 방식을 사용하고, 어떨때 Path Variable 방식을 사용하는지 어떤 Resource를 식별하고 싶으면 Path Variable 정렬이나 필터링을 한다면 Query Parameter를 사용하는 것이 Best Practice Query String 서버에게 무엇이 필요한지, 혹은 클라이언트에게 무엇이 필요한지 묻는 문자열 리소스들을 정렬, 필터링 혹은 페이징하는 곳에 사용 /board/list?writer=spring # writer가 spring인 게시글들을 가져옴 /users?occupation=programer # 프로그래머인 사용자 목록을 가져온다. (필터링) Path Variable 경로를 변수처럼 사용하는 것 구체적인 리소스를 식별하는데 사용 /board/123..

프로그래밍 2023.11.21

URI 방식과 URL 방식에 대한 정리

URI 방식과 URL 방식에 대한 정리 URL : Uniform Resource Locator, 통합 자원 지시자 URN : Uniform Resource Name, 통합 자원 이름 URI : Uniform Resource Identifier, 통합 자원 식별자 가장 큰 개념으로, URI의 하위 개념으로 URL과 URN을 포함 1. URL : 웹 주소 Resource의 정확한 위치 정보(파일의 위치)를 나타냄 URL을 통해 Resource가 어디에 있는지 어떻게 접근할 수 있는지 알 수 있음 ex) https://www.naver.com/ - 네이버의 URL ex) https://www.youtube.com/feed/subscriptions - 유투브의 구독한 목록 URL ex) https://searc..

프로그래밍 2023.11.21

[STS] STS4 설치 / 기본 설정

STS 설치하기 1. https://spring.io/tools 사이트 접속 2. 운영체제에 맞게 설치 3. 설치가 완료되면 설치 파일 실행 - sts .RELEASE 폴더 > SpringToolSuite4.exe 실행 - Launch STS 설정 1. Window > Preferences 2. JAVA > Installed JREs > Add - Standard VM > Next > Directory... - 설치한 JDK 경로 찾기 - Finish (저는 이미 경로를 설정해두어서 'The JRE name is already in use.'가 뜨는 겁니다.) - 추가된 jdk를 체크하고 Apply and Close 3. Window > Preferences > Java > Compiler - Compi..

[JDK 설치] JDK 11, 17 설치 / 환경변수 설정

JDK 설치 및 환경변수 설정 JDK 설치 1. Google에서 원하는 JDK 버전 검색 - Java SE 11 Archive Downloads 클릭 2. 자신의 운영체제에 맞는 파일 다운로드 3. I reviewed and accept the Oracle Technology Network License Agreement for Oracle Java SE 체크 후 Download jdk 클릭 4. 오라클 계정 로그인 후 자동으로 다운로드 5. 다운로드 완료 시 폴더를 열고 exe 더블클릭해서 설치 - 저는 D 드라이브로 잡았지만 기본은 C 드라이브 입니다 6. 원하는 버전이 있는 경우 다른 버전도 위와 동일한 방법으로 설치 환경변수 설정 1. 제어판 > 시스템 환경 변수 편집 2. 고급 > 환경 변수 3..

[eclipse 설치] eclipse IDE 설치하기 / 환경설정

eclipse IDE 설치하기 1. 아래 사이트 접속 https://www.eclipse.org/downloads/ Eclipse Downloads | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, including runtimes, tools and frameworks. www.eclipse.org 2. Download 클릭 3. 다운로드 폴더 열기 4. Eclipse IDE for Enterprise Java and Web Developers 5. INSTALL 6. Accept Now 7. 설치 완료..

[스프링부트] 실전! 스프링 부트와 JPA 활용2 지연 로딩과 조회 성능 최적화 #1 간단한 주문 조회 V2: 엔티티를 DTO로 변환

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 지연 로딩과 조회 성능 최적화 1. 간단한 주문 조회 V1: 엔티티를 직접 노출 2. 간단한 주문 조회 V2: 엔티티를 DTO로 변환 3. 간단한 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화 4. 간단한 주문 조회 V4: JPA에서 DTO로 바로 조회 주문을 기반으로, 주문 + 배송정보 + 회원을 조회하는 API를 만들자 지연 로딩 때문에 발생하는 성능 문제를 단계적으로 해결해보자. 참고: 지금부터 설명하는 내용은 정말 중요합니다. 실무에서 JPA를 사용하려면 100% 이해해야 합니다. 안그러면 엄청난 시간을 날리..

728x90
반응형