성장 목표
- Docker를 이용한 CI, CD 구축해보기!
- 테스트 커버리지를 높이자!
기술적 고민거리
단어 자동완성
- 자동완성, 초성 검색, 오타 수정 기능, 중간 단어 매칭
- Trie 자료구조를 사용하여 자동완성
ex) 필름을 입력하면 필름 바이 스티브, 필름 바이 에디, 필름 바이 밥을 보여줌
- 초성 검색
자모 분리를 사용한다면 ㅍㄹ이라고 쳐도 3개를 보여줄 수 있음.
ex) 필름이라는 단어를 ㅍ피필ㄹ르름으로 저장한다.
- 오타 보장
레벤 슈타인 알고리즘을 사용하면, 입력한 문자열이 어느정도 유사한지 나타낼 수 있음
레벤 슈타인 알고리즘에서 더욱 발전된 알고리즘 : Damerau-Levenshtein distance
ex) 필람 -> 필름으로 보정
- 중간 단어 매칭?
ex) 홀리데이가 있을 때, 리데를 검색하면 홀리데이를 반환
- 자소 분리
- 자소 분리하는 라이브러리를 만들지 않고 직접 만들어보기
채팅에서 기술적 도전을 만들기
단순한 채팅에서 어떠한 기술적 도전을 만들어 낼 수 있을까?
- 처음에는 채팅에서 기술적 도전할 것이 있을까? 생각했다. 왜냐햐면 websocket을 연결 후 서버에서 던져주는 데이터를 클라이언트 화면에 렌더링 시키면 끝이라고 생각했기 때문이다.