728x90
반응형

java 17

Stream API

Stream API JAVA : 객체지향 언어 - 기본적으로 함수형 프로그래밍이 불가능 - 하지만, JDK8부터 Stream API, 람다식, 함수형 인터페이스 등을 지원 -> JAVA를 이용해 함수형으로 프로그래밍 할 수 있는 API들을 제공 Stream API - 데이터를 추상화하고, 처리하는데 자주 사용되는 함수들을 정의 ㄴ 데이터의 종류와 상관 없이 같은 방식으로 데이터를 처리할 수 있다는 것 -> 재사용성을 높일 수 있음 - Stream API를 이용하지 않고 배열이나 리스트의 데이터를 정렬시켜 출력하면 원본의 데이터가 직접 정렬됨 - Stream API를 이용하면 원본 데이터에 변경 없이 가능(원본 데이터가 아닌 별도의 Stream을 생성하고 복사된 데이터를 정렬하여 출력) Stream API..

[스프링부트] 실전! 스프링 부트와 JPA 활용2 : OSIV와 성능 최적화

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화' 강의를 들으며 작성한 수강일지 입니다. | API 개발 고급 - 실무 필수 최적화 1. OSIV와 성능 최적화 OSIV와 성능 최적화 Open Session In View: 하이버네이트 Open EntityManager In View: JPA(관례상 OSIV라 한다.) => 옵션값 쓸 때는 spring.jpa.open-in-view : true OSIV ON spring.jpa.open-in-view : true 기본값 이 기본값을 뿌리면서 애플리케이션 시작 시점에 warn 로그를 남기는 것은 이유가 있다. JPA가 DB 커넥션을 획득하는 시기 ? - 기본적으로 Transaction을 시작할 때..

[스프링부트] 실전! 스프링 부트와 JPA 활용2 지연 로딩과 조회 성능 최적화 #1 간단한 주문 조회 V4: JPA에서 DTO로 바로 조회

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

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

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

[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% 이해해야 합니다. 안그러면 엄청난 시간을 날리..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #7 웹 계층 개발(4) 변경 감지와 병합(merge)

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 웹 계층 개발 1. 홈 화면과 레이아웃 2. 회원 등록 3. 회원 목록 조회 4. 상품 등록 5. 상품 목록 6. 상품 수정 7. 변경 감지와 병합(merge) 8. 상품 주문 9. 주문 목록으로 검색, 취소 10. 다음으로 7. 변경 감지와 병합(merge) 참고: 정말 중요한 내용이니 꼭! 완벽하게 이해하기 준영속 엔티티? 영속성 컨텍스트가 더는 관리하지 않는 엔티티를 말한다(JPA 영속성 컨텍스트가 더이상 관리하지 않는 엔티티). ex) item 수정 시 이미 한 번 DB에 저장이 되어서 불러온.. @PostMapping("items/{itemId}/e..

카테고리 없음 2023.11.13

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #6 주문 도메인 개발(1)

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 주문 도메인 개발 1. 주문, 주문상품 엔티티 개발 2. 주문 리포지토리 개발 3. 주문 서비스 개발 4. 주문 기능 테스트 5. 주문 검색 기능 개발 구현 기능 상품 주문 주문 내역 조회 주문 취소 1. 주문, 주문상품 엔티티 개발 1) 주문 엔티티 package jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.time.LocalDateTime; import java.util.ArrayList; import java..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #5 상품 도메인 개발

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 상품 도메인 개발 1. 상품 엔티티 개발(비즈니스 로직 추가) 2. 상품 리포지토리 개발 3. 상품 서비스 개발 4. 상품 기능 테스트(생략) 구현 기능 상품 등록 상품 목록 조회 상품 수정 1. 상품 엔티티 개발(비즈니스 로직 추가) 비즈니스 로직 추가 - 도메인 자체에 비즈니스 로직 추가 도메인 주도 설계 : 이 엔티티 자체가 해결할 수 있는 것들은 주로 엔티티 안에 비즈니스 로직을 넣는 게 좋다 -> 객체지향적(그래야 응집력이 좋음) package jpabook.jpashop.domain.item; import jpabook.jpashop.domain.C..

728x90
반응형