개발하면서 한글 문자를 초성, 중성, 종성으로 분리해야할 필요가 생겼는데요. 구글링하면서 알게된 내용을 정리해보려해요. 우선 한글은 유니코드라는 글로벌하게 약속된 체계에 의해 고유한 식별값이 부여되어 있는데요. '가' 라는 글자는 44032 이고, '힣' 이라는 글자는 55203 으로 할당되어 있어요. 그런데 이 식별값이 그냥 부여된 게 아니라는 것이 중요한 포인트입니다. 바로 완전한글 결합공식 에 의해 생성된 식별값이였던거죠!!! (초성 인덱스 * 21 + 중성 인덱스) * 28 + 종성 인덱스 + 0xAC00 0xAC00(44032) 은 유니코드 체계에서 한글이 시작되는 지점으로 '가' 를 나타내요. 위 공식에 쓰이는 초성, 중성, 종성 배열은 아래와 같아요. 초성 배열(19개)"ㄱ", "ㄲ", ..
전체 글
공부한 내용을 나의 언어로 정리하자Levenshtein Distance 는 두 문자열간의 형태적 유사도를 계산하는 알고리즘이예요. 별명은 Edit Distance 로 편집 거리 알고리즘이라고도 불려요. 소련의 수학자인 Vladimir Levenshtein 이 1965년도에 고안한 알고리즘이라고 합니다. https://en.wikipedia.org/wiki/Levenshtein_distance Levenshtein distance - WikipediaFrom Wikipedia, the free encyclopedia Jump to navigation Jump to search Computer science metric for string similarity In information theory, linguistics, and comput..
1. 업무 1) 성형앱 플랫폼 검색엔진 개발(23.12.13 ~ 24.01.12, 1개월)회사에 이직하고 처음 맡게된 프로젝트였는데 검색엔진쪽을 개발하시던 분이 급히 다른 프로젝트로 옮겨야하는 상황때문에 내가 그 분의 업무를 이어받아 개발하게 되었다. 검색엔진은 엘라스틱 서치(ElasticSearch)를 사용하고 있었고, 쿠버네티스에 ELK(ElasticSearch - LogStash - Kibana) 스택을 구축하여 개발하고 있었다. 그래서 나는 ELK 구축을 해보지는 못했고, SpringBoot에서 ElasticSearch 라이브러리를 이용하여 데이터를 검색하는 로직을 개발했다. 이번 프로젝트에서는 이미 구축된 환경에서 개발했지만 다음 프로젝트에서는 ELK 스택을 직접 구축해보고 싶다. 2) T..