스프링 공부/ChatUniv 2

[ChatUniv] KOMORAN을 이용한 자연어 처리

질문에 대한 명사들의 통계를 내기 위한, 자연어 처리 라이브러리들을 보고있었다. 이걸 통계로 적용시키고, 각 문자열에서 단어들만을 파싱하기 위한 외부 라이브러리를 디깅하던 중, 두 가지 라이브러리가 눈에 들어왔다. mecab과 KOMORAN이라는 친구였다. 물론 요즘 부스트캠프를 통해 js를 하루종일 만지다 보니 mecab을 적용시켜보는 것은 아주 수월했다 (솔직히 오픈소스에 대한 접근, 활용성은 자바보단 js가 더 편한 느낌도 든다.) 그래서, 둘 다 시도를 해보고, 프로젝트 내부에 코드를 적용시킬 수 있는 KOMORAN을 최종적으로 선택했다. 그렇다면, KOMORAN을 어떻게 쓸까? 2가지 순서가 존재한다. build.gradle에 해당 리포지토리 등록, 의존성 주입 코드 적용 해당 순서대로 정리를 ..

[ChatUniv] No Offset?이게 왜 좋을까?

페이징을 최적화 시키기 위한 방법이 무엇일까를 이야기하게 되었다. 근데, 이전에 페이징을 왜 최적화 시켜야할까? 라는 생각이 들었다. 우리는 JPA에서 offset, limit를 이용해 페이징을 만들 수 있고, 이를 통해 우리가 데이터베이스에서 모든 데이터를 리스트로 받아오고 연산할 필요가 없는데? 이에 대한 내용은, 실제 offset limit을 어떻게 두는지에 따라 달라진다. 우리가 어떤 쿼리를 쓸까? 실제 pageable를 이용하면 어떤 방식의 쿼리가 나올까? 두 개의 다른 프로젝트의 코드지만, 비교를 위해 가져왔다. @Override public Page searchMessage(MessageSearchRequestDto messageSearchRequestDto) { Pageable pageab..