0. 시작하며 프로젝트에서 SSE(Server Sent Event) 방식의 알림을 구현을 담당했습니다. 이때발생한 에러와 트러블 슈팅을 기록하려합니다. 1. 알림 구현 방식 후보군 1-1 Short Polling 클라이언트가 서버에 요청을 보내어 새로운 정보가 있는지 확인하는 방식입니다. 서버는 즉시 응답을 보내며 사용가능한 데이터가 있다면 보내줍니다. 일정 시간 혹은 동작후, 클라이언트는 다시 서버에 요청을 보내게됩니다. 이 방법은 쉽고 빠르게 구현될 수 있지만 필요치 않은 클라이언트의 요청이 많이 생길 수 있습니다. 이는 트래픽과 서버의 부담이될 수 있는 요인입니다. 1-2 Long Polling Short Polling에서 조금 더 개선된 방식입니다. 마찬가지로 클라이언트가 서버에 요청을 보내어 사..
0. 시작하며 이전 프로젝트에 검색 로직을 JPQL로 개발했었습니다. 이를 JPQL로 구현하니 코드가 매우 복잡하고 길어졌고 실무에서 많이 사용한다는 Querydsl을 사용하여 리팩토링하여 기록하려 합니다. 1. JPQL이란? Java Persistence Query Language 로서 이를 기반으로 JPA의 하이버네이트가 SQL문으로 변환하여 사용하게됩니다. 기본 JPA 메서드 보다 섬세한 쿼리를 사용할때 사용하게됩니다. 문자열로 작성됩니다. 특징 (장점) 별칭 엔티티의 별칭을 필수적으로 명시해야합니다.(as 생략 가능) 대소문자 구분 엔티티와 그 속성은 대소문자를 구분하여 작성해야합니다. 하지만 SELECT, FROM, WHERE등의 JPQL문법은 구분하지 않습니다. 엔티티 이름 JPQL에서 사용되..
JPA 이름 규칙 Repository에서 이름규칙을 이용해 쿼리를 이용할 수 있습니다. 개발 편의성이 좋지만 잘 알고 사용하기위해 정리해 두려고합니다. 이는 공식문서에 잘 나와 있습니다. https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html find...By 가장 많이 사용하는 단건 조회 키워드입니다. 복수는 Collection, Page 조회 가능 exists...By 조회 유무를 boolean타입으로 반환합니다. counts...By 검색 결과 총 record 수를 반환합니다. ...First... 결과값 수를 제한합니다. (First, Top) //조회할 record가 1개인 경우 별도의 인자 설정 ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.