bwbw-kim

영어 문자열 Tokenizing 개선하기: 대문자 분리로 검색 정확도 높이기

영어 tokenizing 영어 Tokenizing 요청이 들어왔다. 사실 엄청 큰건 아니고 우리 파트에서 정기적으로 올리는 글이 있는데 제목이 DevLetter 이다. 이때 대문자 기준으로 하나씩 띄워져서 검색을 하고 싶은데 실제 Indexing 을 devletter 로 들어가 있으니까 검색이 잘 되지 않았다. Regex 로 해결하기 물론 돌...

ExecutorService로 Spring에서 병렬 처리와 스레드 수 제한하기

번역 API 측에서온 요청 (Thread 개수 제한) 번역 API 에서 요청사항이 들어왔다. 아쉽게도 자원문제 때문에 무한정 호출을 하지는 말고 병렬로 최대 5개의 Request 만 보내달라는 요청이었다. 그러니까 10명이 동시에 “안녕하세요” 를 영어로 번역해달라고 요청하면 5명 먼저 해주고 나머지 5명은 그 뒤에 순서대로 처리해 달라는 것이었다...

버튼 클릭으로 실시간 번역! 웹 페이지에 글로벌 번역 서비스 추가하기

페이지 번역 서비스를 만들자 Q&A 플랫폼의 글로벌화를 앞두고 기존에 한국인들만 사용하던 서비스를 번역하여 많은 사람들이 읽을 수 있도록 하는 작업이 꼭 필요해졌다! 나는 그냥 번역 API만 있으면 금방 해결이 될 줄 알았지 하지만 아니였어.. 사내에는 utrans 라고 번역 을 해주는 서비스가 있다. 처음에는 게시글의 적당한 위치에 tr...

Facade 패턴으로 코드 복잡도 줄이기: 간단한 인터페이스로 복잡한 작업 처리

Facade Pattern 이 뭘까? Facade 패턴은 사용자가 아주 간단한 인터페이스만로 사용해서 복잡한 동작을 사용하게 할때 유용한 패턴이다! 예를 들어 어떤 비행기가 있다고 했을때 사용자는 단순히 fly 과 같은 간단한 인터페이스를 실행하는것 만으로 비행기를 날릴수 있지만 사실 그 안에는 engine, door, wheel 과 같은 친구들을...

Gulp를 활용한 CSS 및 JS 최적화: 용량 줄이기와 로딩 속도 향상

css, js 용량이 크다 물론 그 까닭은 코드가 불필요하게 길거나, 로직이 별로거나 할 수도 있지만 오늘은 그 자체의 용량에 집중을 해 보기로 했다! css, js 는 웹페이지가 로딩이 될때 그 파일이 있는 server 로 부터 요청을 해서 가져와서 사용하는 방식이다. 따라서 어쩔 수 없이 css, js자체의 용량에 따라 웹페이지가 로드되는 시간...

Elastic Search 에서 한글 초성 검색 지원: 초성, 중성, 종성 분리로 검색 개선하기

나의 욕심으로 한글 초성 검색 기능을 넣었다. 사실 노래방처럼 빠르게 검색해야하는 상황이 아니라면 초성으로 검색하는 일은 별로 없겠지만! 오로지 나의 욕심으로 한글 초성 검색 기능을 넣어 보았다. 이 기회로 어떻게 한글이 인코딩 되어있는지도 공부 할 겸 말이다! 초성 중성 종성으로 이루어진 한글 한글은 초성 중성 종성으로 이루어져있다. 각각 1개...

한글 검색 개선하기: TwitterKoreanProcessor를 이용한 Token화 방법

한글 검색이 잘 되지 않는다! Elastic Search 를 도입했더니 영어는 정말 검색을 잘해주지만 아쉽게도 한글은 검색이 잘 안된다. 그 이유는 바로 한글에는 조사가 너무나도 많기 때문이다! “I Like Kimbap” 이라는 영어문장과 “나는 김밥을 좋아한다” 라는 한글은 다르다. 영어는 딱딱 의미 별로 띄어쓰기가 되어있는 반면 한글을 그렇...

숨겨진 이미지 찾기 이벤트에서 사용자 Cheating 방지하기: SHA-256으로 안전하게!

복주머니 이벤트를 열었다 설날을 맞이 하여 사이트에서 복주머니 이벤트를 열었다. 사이트 곳곳에 복주머니 이미지를 꽁꽁 숨겨두고 그 이미지를 누르면 복주머니가 하나씩 하나씩 쌓이는 이벤트이다! 실제로 데모로 내부적으로 진행해 보았을때도 사람들의 반응이 어마무시하게 좋았고 성공적인 이벤트가 될거 같았다! 처음 개발 계획은 다음과 같았다. <i...

© 병욱. Some rights reserved.