티스토리 뷰
지난 한주동안에는 중간발표를 위한 뷰 페이지를 보여주기위해 thymeleaf를 사용했고,
redis를 적용해 로그인시 발급하는 refresh토큰을 mysql db에 저장하는 대신 인메모리 식으로 저장하게 바꿨다.

jpql, querydsl을 사용한 검색 버튼을 구분하였다.
코드는 match against를 사용!
@Query(value = "SELECT * FROM books WHERE MATCH(title) AGAINST(:word in boolean mode) LIMIT :size OFFSET :page", nativeQuery = true)
List<Books> searchTitleFullText(@Param("word") String word, @Param("size") int size, @Param("page") int page);
자연어 검색, 정확도 검색 모드
public MySQL8DialectCustom(){
super();
registerFunction(
"match",
new SQLFunctionTemplate(StandardBasicTypes.DOUBLE, "match(?1) against (?2 in boolean mode)")
);
registerFunction(
"match2",
new SQLFunctionTemplate(StandardBasicTypes.DOUBLE, "match(?1) against (?2 in natural language mode)")
);
}
방언 추가하는 부분에 있어 변수?를 추가하는 부분에 있어 하는법을 몰라서 애먹었다.
NumberTemplate booleanTemplate= Expressions.numberTemplate(Double.class,
"function('match',{0},{1})", bookEq(field), word);
NumberTemplate booleanTemplate2= Expressions.numberTemplate(Double.class,
"function('match2',{0},{1})", bookEq(field), word);

중간발표후 멘토님께 질문 + 피드백내용
1. 카카오톡 Aouth 최신화
2. AOP 커스텀 코드 칭찬
3. elasticsearch : 루신과 엘라스틱서치의 인덱싱 차이 학습
4. slow query가 발생하면 slack메세지 발생하는 기능 구현
5. back office(slow query 발생 시 알람 발생, 조회 시 log시스템(es로) 구현) 기능 추가
6. 책 요약 데이터 삽입 후 내용으로 검색 기능 추가
7. MySql에서 도서관 별로 장서가 몇 장인지 확인 기능 추가(후순위로 생각) 8. count 최적화: pk가 있다면 pk의 최댓값을 불러와 count 하는 방법(JPQL 한 줄 추가)
다음주부터 피드백 받은 내용들을 어느부분부터 적용할지 고민하고 새로 써볼지 고민해보는 주가될거같다.


공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- backoffice
- badrequest
- java
- DTO
- DI
- 풀텍스트
- 항해99
- python
- .jks
- instance
- ssl
- 환경세팅
- EC2
- 알고리즘
- wil
- 코드해석
- joinfetch
- JWT토큰
- ajax
- IOC
- JPA
- method
- JPQL
- POI
- EntitiyManagerFactory
- querydsl
- Spring
- 협업
- this
- 김영한
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함