Reactive-Streams는 무엇인가 ? Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure. → Reactive Streams란 Non-blocking Back pressure를 이용한 비동기 데이터 처리 표준입니다. → 여기서 중요한 점은 Back pressure와 표준이라는 점입니다. Reactive-Streams 배경 Netflix, Pivotal, Lightbend의 개발자들이 개발하기 시작, Netflix는 RxJava, Pivotal은 Project Reactor, LIghtbend는 Akka 를 개발하였습니다. 세 회사 ..
Bean 생명 주기 콜백 Bean은 Bean Scope에 따라 생성되고, 소멸됩니다. 목적에 따라 Bean이 생성될 때와 소멸되기 직전에 특정한 로직을 수행하여야 하는 일이 있을 수 있습니다. 그렇기 때문에 Spring은 다양한 방법으로 Bean의 생명 주기에 대한 콜백을 지정할 수 있는 방법을 크게 3가지 제공합니다. 1. 인터페이스 사용 Spring에서 초창기에 제공했던 방법으로 아래와 같은 단점을 가지고 있으므로 지금은 추천되지 않는 방법입니다. Bean이 생성되고 Bean 기본 설정이 끝난 후 호출될 콜백을 설정하고 싶다면 InitializingBean 인터페이스, Bean이 소멸되기 직전에 호출될 콜백을 설정하고 싶다면 DisposableBean 인터페이스를 상속받아 메서드를 구현하시면 됩니다...
연관관계(Relationship) 엔티티는 독립적으로 존재하기도 하지만, 다른 엔티티와 협력과 상호작용을 위하여 직접적인 참조를 하는 경우도 있는데, 이때 그러한 참조 관계를 연관관계라고 합니다. 여기서 직접적인 참조는 다른 엔티티를 메서드의 인자로서 참조하는 것이 아닌, 멤버 필드로 가지며 해당 필드를 통하여 참조를 하는 경우를 말합니다. 전자의 경우는 간접 참조라고 하겠습니다. 연관관계 := 다른 엔티티와의 협력과 상호작용을 위한 직접적인 참조 이러한 연관관계는 방향, 다중성, 주인의 3가지 요소로 구성됩니다. 각 요소에 대해서 살펴보도록 하겠습니다. 방향(Direction) 참조는 방향이 존재합니다. 만약 A라는 엔티티가 B라는 엔티티를 직접 참조한다면 참조의 방향은 A에서 B 쪽으로 단방향이라고 ..
이전 이야기 이전에는 우리가 작성한 객체를 엔티티로 식별되도록 JPA에게 알려주는 방법인 @Entity 애너테이션, 그리고 해당 엔티티가 매핑되는 테이블의 기본 키와 필드를 매핑하여주는 @Id 애너테이션, 엔티티가 매핑되는 테이블의 정보를 명시하는 @Table 애너테이션에 대해서 알아보았습니다. 필드와 칼럼 매핑 기본 키가 아닌 다른 필드들이 테이블의 칼럼과 매핑을 위해서 어떻게 JPA에게 정보를 제공할 수 있는지, JPA는 어떠한 방법을 제공하는지에 대해서 알아보도록 하겠습니다. 애너테이션 설명 @Column 필드와 칼럼을 매핑합니다. @Enumerated Enum 타입의 필드와 칼럼을 매핑합니다. @Temporal 날짜 타입의 필드를 칼럼과 매핑합니다. - java.util.Date 또는 java.u..
JPA의 역할 서로 다른 기반을 가진 두 시스템이 결합하기 위해서는 중간 다리 역할이 필요하며, JPA가 바로 그 역할이며, 존재의 이유라고 했습니다. 그러한 역할을 하기 위해서는 JPA는 양쪽 시스템에 대한 정보가 필요하며, 그 정보를 바탕으로 서로 다른 유형들을 적절하게 변환할 수 있게 됩니다. 여기서 말하는 정보는 객체의 필드의 타입(정수형, 실수형, 날짜형, ...), 테이블의 기본 키(PK), 인덱스 등이 존재한다면 해당 칼럼과 매핑될 객체의 필드를 말합니다. 엔티티(Entity)란 ? JPA는 엔티티라는 단위로 테이블을 식별하고 관리합니다. 엔티티는 대단한 것이 아니라 우리가 작성해야 하는 비즈니스 로직을 구현한 객체라고 생각하면 됩니다. 객체의 인스턴스는 테이블의 로우로 저장되는 것이죠. 우..
- Total
- Today
- Yesterday
- 프로그래머스
- JPA
- BFS
- 코딩인터뷰
- 오늘의집
- dsu
- 문자열
- set
- 회고
- 스택
- k8s
- 연결리스트
- 알고리즘
- Java
- 해쉬
- dfs
- sql
- TDD
- 정렬
- dp
- 탐욕법
- 코드 스니펫
- 스트림
- 쓰레드
- 구현
- 카카오
- kotlin
- Uber
- 비트연산
- 우선순위큐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |