일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 스프링5레시피
- 스프링구성
- 동작파라미터화
- 영속성
- 잡담
- 달리기를말할때내가하고싶은이야기
- 일빵빵알파벳파닉스
- 프레디케이트
- 나만재밌는이야기
- 람다
- 생각
- 제대로알기
- 모던자바인액션
- 영속성컨텍스트
- 객체지향생활체조원칙
- a-d
- 메서드참조
- 일급함수
- spring5receipe
- 1월의독서
- es5
- spring configuration
- ES6
- gulp
- Java8
- 클린코드
- JPA
- 엔티티매핑
- 발음공부
- 다시보기연습
- Today
- Total
목록분류 전체보기 (17)
notepad
인프런 - 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 주문 + 배송정보 + 회원을 조회하는 API를 만들자 지연 로딩 때문에 발생하는 성능 문제를 단계적으로 해결해보자. @PostConstruct > 와스가 올라가면서 빈이 생성 될 때 딱 한번 초기화 된다. > 빈이 여러번 초기화 되는 걸 방지, 의존성 주입 후 초기화를 수행하는 메서드이다 @Component > 컴포넌트 스캔을 위한 기본 어노테이션, 스프링 사용시 역할에 맞게 사용 @Repository @Service, @Controller V1 엔티티 직접 노출 (이렇게 쓰지 말자 방법) 양방향 연관관계에서 무한 루프가 일어나게 된다. -> @JsonIgnore 으로 처리 초기화되지 않은 객체를 하이버네이트는 프록시 객체로 생..
인프런 - 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 1. 등록 API 개발 API는 항상, 절대 엔티티를 사용하지 않는다. DTO를 만들어서 사용한다. -> 엔티티가 변해도 API 스펙이 변하지 않도록 한다. ==>> V1 엔티티를 Request Body에 직접 매핑 문제점 엔티티에 프레젠테이션 계층을 위한 로직이 추가된다. 엔티티에 API 검증을 위한 로직이 들어간다. (@NotEmpty 등등) 실무에서는 회원 엔티티를 위한 API가 다양하게 만들어지는데, 한 엔티티에 각각의 API를 위한 모 든 요청 요구사항을 담기는 어렵다. 엔티티가 변경되면 API 스펙이 변한다. 결론 API 요청 스펙에 맞추어 별도의 DTO를 파라미터로 받는다. Entity, DTO, 그 사이의 Mode..
인프런 김영한 강사님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 내용 정리 객체와 테이블 매핑 @Entity, @Table 컬럼 매핑 @Column 기본키 매핑 @Id 연관관계 매핑 @ManyToOne, @JoinColumn @Entity 엔티티가 붙은 클래스는 JPA가 관리. 엔티티라고한다. JPA를 사용해서 테이블과 매핑할 클래스는 엔티티 어노테이션이 필수이다 주의 : 기본 생성자는 필수(파라미터가 없는 public, protected 생성자) final클래스, enum, interface, inner class에는 사용 불가 저장할 필드에 final 사용 금지 @Table 엔티티와 매핑할 테이블 지정 name, catalog, schema, uniqueConstraints (DDL생성시 유니크..
인프런 김영한 강사님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 내용 정리 영속성 컨텍스트 ‘엔티티를 영구 저장하는 환경’ em.persist(entity); 를 통해 영속화 영속성 컨텍스트는 논리적인 개념으로 엔티티 매니저를 통해서 영속성 컨텍스트에 접근한다. 1차 캐시(식별키, 엔티티, 스냅샷 저장) 과 쓰기 지연용 SQL저장소로 구성 엔티티 매니저 팩토리와 엔티티 매니저 웹 애플리케이션은 하나의 엔티티 매니저 팩토리(emf) 를 가지고, 요청이 일어날 때마다 emf에서 엔티티 매니저를 생성한다. 요청에 의해 생성된 엔티티 매니저는 디비 커넥션을 사용하여 DB 데이터에 접근한다. 엔티티 매니저는 DB의 트랜잭션 단위로 만들고 소멸된다 Persistence를 통해 EntityManagerFacto..
그제는 Collections Framework, 자바의 자료구조들을 간략하게나마 학습했다. 생각해보면 나는 그간 업무보면서 ArrayList와 HashMap을 모든 리스트와 맵 선언시 사용했는데, 특징을 알고 쓴다고 보단 (그 언젠가 처음엔 알았겠지만-) 대부분의 특징과 이유들을 까먹고 습관적으로 개발을 했다. 비슷한 상황으로 맵 생성시 키, 밸류 타입을 String, Object로 선언할 때가 많았는데, 별다른 생각과 이유는 없고, 1. 그냥 있는 소스를 재활용하기 때문에 2.Object로 선언하면 특별한 제한 없이 값을 다 넣을 수 있어서 였다. 어떤 불필요한 형변환이 생긴다던가, 입력 타입을 제한 한다던가 하는것에 대한 생각을 해야겠다는 생각 조차 하지 않는 것, 나는 어쩜 유지보수의 습관에서 유지..
20년 5월 9일부터 nextstep의 TDD, 리팩터링, 클린코드 강의를 수강하고 있다. 어제는 '아래 문서를 통하여 정적 팩토리 메소드를 조금 더 알아보세요' 란 리뷰와 함께 이펙티브 자바의 item1이 정리된 링크를 받았는데 조금 재밌단 생각이 들었다. 나는 이미 이펙티브 자바의 item1. 생성자 대신 정적 팩토리 메서드를 고려하라 부분을 읽고서 숙지한 상태라고 생각하고 있었는데 - ㅋㅋ 리뷰 내용이 정적 팩터리 메서드를 알아보라니, 비슷한 상황으로 한번은 분명 1 - 2주차에 '객체지향의 사실과 오해' 란 책을 읽었는데, 4주 차쯤에 '객체지향의 사실과 오해 책을 한번 읽어보세요!' 같은 리뷰를 받는 것이다. 재밌을 일은 아닌가? 아니 너무 너무 재밌다 -ㅋㅋ 그냥 뭐랄까. 과정을 진행하면서 나..