일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- webhook
- reflection
- springboot
- 토비의 봄
- 챗봇
- Controller
- ngrok
- DtoToEntity
- linebot
- java
- getOrCreate
- annotation
- NullPointerException
- static dispatch
- Optional
- line messaging api
- Visitor pattern
- enum
- Modelmapper
- mapping
- visitor proxy pattern
- double dispatch
- EntityToDto
- Dynamic dispatch
- spring
- Today
- Total
목록2019/06 (3)
database by narae :p
트랜잭션 격리 수준 애플리케이션에서 여러 트랜잭션이 동시에 같은 데이터를 대상으로 작업을 수행할 때 여러 트랜잭션이 다른 트랜잭션과 어떻게 격리되어야 하는지 분명하게 지정해야 한다. READ UNCOMMITTED 트랜잭션 A가 특정 컬럼 데이터를 변경하고 있는 중에(커밋되지 않은 상태) 다른 트랜잭션 B가 read하면 트랜잭션 A가 변경한 데이터(커밋되지 않은 데이터)를 읽어온다. DIRTY READ : 트랜잭션 B가 읽어온 데이터를 사용하는데, 트랜잭션 A가 변경한 데이터를 롤백하면 데이터 정합성에 문제가 발생한다. READ COMMITTED 트랜잭션 A가 특정 컬럼 데이터를 변경하고 있는 중에(커밋되지 않은 상태) 다른 트랜잭션 B가 read하면 트랜잭션 A가 변경하기 전 데이터(커밋된 데이터)를 읽..
영속성 컨텍스트 => 엔티티를 영구 저장하는 환경 => 엔티티 매니저로 엔티티를 저장하거나 조회하면, 엔티티 매니저는 영속성 컨텍스트에 인티티를 보관하고 관리한다. 영속성 컨텍스트의 특징 ⁃ 식별자 값 : 영속성 컨텍스트는 엔티티를 식별자 값(@Id)으로 구분한다. 따라서, 영속 상태는 식별자 값이 반드시 있어야 한다. ⁃ 데이터베이스 저장 : JPA는 보통 트랜잭션을 커밋하는 순간 영속성 컨텍스트에 새로 저장된 엔티티를 데이터베이스에 반영한다. 이를 flush라고 한다. ⁃ 장점 : 1차 캐시, 동일성 보장, 트랜잭션을 지원하는 쓰기 지연, 변경 감지, 지연 로딩 엔티티 생명주기 비영속 (new/transient) : 영속성 컨텍스트와 관계 없는 상태 영속 (managed) : 영속성 컨텍스트에 저장된..
챗봇은 입력받은 메시지에 대한 기능을 수행하고 답장을 보내며 사용자와 대화합니다. 저는 이번에 스프링 부트로 가계부 챗봇을 개발하며, 명령어에 대한 요청을 처리하는 '챗봇 컨트롤러'를 만들게 되었습니다. LINE Messaging API에는 @LineMessageHandler라는 어노테이션이 있어, 해당 어노테이션을 붙인 클래스에서 채팅방에서 일어나는 Event에 대해 다음과 같이 EventMapping을 하여 기능을 수행할 수 있게 합니다. 이렇게 해서 사용자에게 메시지가 들어오는 MessageEvent를 처리할 수 있습니다. 챗봇을 개발하던 초기에 저는 메시지에 맞게 기능을 처리하기 위해 MessageHandler의 handleTextContent 라는 메서드에 다음과 같은 코드를 작성했습니다. 이 ..