일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ES6
- Java8
- 객체지향생활체조원칙
- 달리기를말할때내가하고싶은이야기
- a-d
- spring5receipe
- spring configuration
- es5
- 생각
- JPA
- 클린코드
- 일급함수
- 람다
- 프레디케이트
- 나만재밌는이야기
- 동작파라미터화
- 발음공부
- 잡담
- 영속성컨텍스트
- 다시보기연습
- 영속성
- 일빵빵알파벳파닉스
- gulp
- 모던자바인액션
- 제대로알기
- 스프링구성
- 엔티티매핑
- 메서드참조
- 스프링5레시피
- 1월의독서
- Today
- Total
목록전체 글 (17)
notepad
(작성중) 스프링 5 레시피 책을 읽고 공부한 내용을 간단하게 정리. 1. Configuration > 레시피 2-1 ~ 2-12 IOC 컨테이너? (ApplicationContext, BeanFactory) - 객체의 생성, 생명주기 관리 등 객체에 대한 제어권을 컨테이너가 관리, 기능을 제공 - 객체의 생성을 책임지고 의존성을 관리 - POJO의 생성, 초기화, 서비스, 소멸에 대한 권한을 가진다(생명주기) IOC 컨테이너에 스프링 빈의 등록 POJO 객체를 빈으로 등록 시 컴포넌트 스캔의 대상이 되며 IOC에서 생성, 관리된다. @Configuration, @Bean 두 애노테이션을 함께 사용 초기 세팅 및 외부의 라이브러리를 빈으로 등록할 때 주로 사용한다 대상 빈을 return해준다. @Comp..

무라카미 하루키 달리기 회고록 앞 부분에도 좋은 문장이 많았는데, 중간부터 마음에 드는 구절을 체크해 놓았다. 무언갈 매일 꾸준히 해 나가는 것, 지구력을 위해 체력을 꾸준히 다져 가는 것. 어떤 장기 레이스에 아무런 성취감이 없는 것. 생각했던 것 만큼의 결과가 아닌 것. - 그런 때에도 꾸준히 계속 해나가는 것. 이런 태도에 대한 이야기가 참 좋았다. 나는 아직까지도 10키로 마라톤 경험 밖에 없지만, 러너라고 말하기엔 부끄러운. 거기다 달리기를 멈춘지 2년은 더 되가는 것 같지만. 이런 저런 무라카미 하루키의 생각과 경험들에 공감이 되어 재밌기도 하고, 안도감이 들기도 하고 (그 과정에서의 생각들이 비슷하단 느낌이 들어서) 나도 다시 매일 꾸준히 달리고, 또 이런 시기가 지나가면 마라톤에도 다시 예..
클래스를 조작하는 기술 / 클래스의 정보를 분석하고 조작하는 기술 스프링 DI는 어떻게 동작할까? bookRepository 인스턴스는 어떻게 null이 아닌걸까? 스프링은 어떻게 BookService 인스턴스에 BookRepository 인스턴스를 넣어준 것일까? 리플렉션 API을 사용하여 정보를 참조하는 방법 클래스 정보 조회 Class (Java Platform SE 8 ) //클래스 로딩이 끝나면 클래스 타입의 인스턴스를 만들에서 힙에 저장한다 //인스턴스는 클래스를 로딩만 해도 인스턴스가 만들어진다. Class bookClass = Book.class; //타입으로 가져올 때 Book book = new Book(); //인스턴스로 가져올 때 Class aClass1 = Class.forName..
https://www.inflearn.com/course/the-java-code-manipulation JDK, JVM, JRE JVM - 자바가상머신, 컴파일된 자바 바이트코드를 OS에 특화된 코드로 변환하여 실행한다. 클래스를 읽고, 메모리에 올리고, 실행하고. JVM 자체는 플랫폼에 종속적이다. JRE = JVM + Library : 실행에 필요한 것만 포함되어있다 JDK = JRE + devtools Java11 부터는 JDK만 제공한다 JVM 구조 (크게 4영역) 클래스 로더 시스템 메모리 실행엔진 네이티브 메소드 인터페이스(JNI), 네이티브 메소드 라이브러리 클래스 로더 시스템(3영역) 바이트코드를 읽고 메모리에 저장 로딩 : 클래스를 읽어오는 과정 링크 : 레퍼런스를 연결하는 과정 초기화..
인프런 - 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 엔티티 클래스 개발 다대다 관계는 사용하지 않는다. 일대다, 다대다 관계로 풀어낸다. @OneToMany - @ManyToOne 일대다, 다대일 양방향 관계에서의 연관관계 주인 정하기 외래키가 있는 쪽(다 쪽)을 연관 관계 주인으로 정한다 1:N 관계 예 - 회원(1):주문(N) 인 경우 ... @Entity class Member { //Member가 One, Order가 Many이다 //연관관계 One쪽에 mappedBy를 추가해준다. 추가되는 값은 Many 쪽에 선언된 필드명이다 @OneToMany(mappedBy = "member") private List orders = new ArrayList(); } @Entity @Ta..
인프런 - 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 API 개발 기본 API는 항상 DTO로 변환하여 값을 반환한다. 엔티티가 변해도 API 스펙이 변하지 않도록한다. (엔티티 직접 사용 X) DTO를 배열로 바로 반환하지 않게 래핑 후 반환한다 수정용 DTO는 등록에 비해 데이터가 제한적이기 때문에 별도로 가져가는게 좋다 커맨드와 쿼리를 분리하자 API 개발 고급 - 지연 로딩과 조회 성능 최적화 V3 toOne관계인 경우 fetch join 으로 최적화한다 기본으로 LAZY를 깔고 필요할 경우 fetch join으로 객체 그래프를 탐색해서 묶어서 한방에 가져오면 대부분의 성능 문제가 해결된다 API 개발 고급 - 컬렉션 조회 최적화 엔티티 조회 - DTO변환 ( V3.1) 지..