728x90
반응형

분류 전체보기 338

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

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 지연 로딩과 조회 성능 최적화 1. 간단한 주문 조회 V1: 엔티티를 직접 노출 2. 간단한 주문 조회 V2: 엔티티를 DTO로 변환 3. 간단한 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화 4. 간단한 주문 조회 V4: JPA에서 DTO로 바로 조회 3. 간단한 주문 조회 V3: 엔티티를 DTO로 변환 - 페치 조인 최적화 OrderSimpleApiController - 추가 @GetMapping("/api/v3/simple-orders") public List ordersV3() { List orders = o..

[스프링 입문] 스프링을 공부해야 하는 이유?

공부 일지 : 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 스프링을 공부해야 하는 이유? 실무에서 제대로 동작하는 웹 어플리케이션을 개발하기 위해 스프링을 어떻게 공부해야 하는가? 개발자는 직접 코딩하며 동작하는 어플리케이션을 만들 때 성장한다. 더보기 간단한 웹 애플리케이션 개발 - 스프링 프로젝트 생성 - 스프링 부트로 웹 서버 실행 - 회원 도메인 개발 - 웹 MVC 개발 - DB 연동 - JDBC, JPA, 스프링 데이터 JPA - 테스트 케이스 작성 프로젝트 사용 기술 Spring Boot Gradle Thymeleaf JPA Hibernate apache

[HTTP] HTTP 응답 상태 코드

HTTP 응답 상태 코드 - 특정 HTTP 요청이 성공적으로 완료되었는지 알려줌 - 5개의 그룹으로 나누어짐 1xx : 정보를 제공하는 응답 - 요청을 제대로 받았고, 처리가 진행 중임 2xx : 성공적인 응답 - 요청이 제대로 처리됨 200 OK - 성공적인 요청 201 Created - 새로운 리소스 생성됨 204 No Content - 요청 성공, 응답할 데이터는 없음 3xx : 리다이렉트 - 요청을 처리하려면, 클라이언트가 추가 동작을 취해야 함 302 : 다른 URL로 갈 것 4xx : 클라이언트 에러 400 Bad Request - 잘못된 요청, 문법에 맞지 않는 요청 401 Unauthorized - 의미상 비인증(unauthenticated)을 의미 403 Forbidden - 콘텐츠에 접..

프로그래밍 2023.11.25

[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..

728x90
반응형