“ ”마일스톤
1
▪ C
▪C
▪ C i
▪ 1
▪ I/ e
▪ ei
2
▪ e i
▪
▪ : i
▪
▪
▪ D
3
▪
▪ J 1
21
23.
1 2 3
▪C
▪ C
▪ C i
▪ 1
▪ I/ e
▪ ei
▪ e i
▪
▪ : i
▪
▪
▪ D
▪
▪ J 1
“ ”마일스톤 성취도
21
24.
“ ”맞춤법 검사서버
21
어떻게 맞춤법 검사를 해야 할까?
9 /
•
•
•
• -
소스를 확인해보니..
모든 오픈소스들이 웹 크롤링 기반으로 동작하는 맞춤법 검사기였다.
아마도 공개된 맞춤법 검사 API가 존재하지 않기 때문…
25.
“ ”맞춤법 검사서버
21
어떻게 맞춤법 검사를 해야 할까?
한정된 시간
압박
고통
부족한 인력
스트레스
다양한 이유로
눈물을 머금고 웹 크롤링 방식을 채택하기로 결정!
26.
“ ”맞춤법 검사서버
21
어떤 검사기를 써야 할까?
: 낮은 정확도, 형태소 분리 기능 미 제공
: 진리의 부산대 맞춤법 검사기, 높은 정확도 및 형태소 분리, But 서버 장애..
: 괜찮은 정확도와 기능 그리고 탄탄한 서버 안정성! 당첨!
27.
“ ”맞춤법 검사서버
21
최소한의 HTTP Request를 위해..
!!
메신저에서 자주 사용되지만
맞춤법 검사할 필요 없는 메시지
EX) 초성어, 영어, 특수문자
: 정규표현식을 통해 필터링!
1. 한글이 없는 메시지
2. 한 음절 이하인 메시지
3. 초성으로만 된 메시지
4. 종단의 특수문자 및 영어 제거
필터링 조건
28.
“ ”맞춤법 검사서버
21
채팅 서버채팅 서버
맞춤법 검사 서버맞춤법 검사 서버
RabbitMQ의 RPC구조(Request-Response)를 이용한 맞춤법 검사 요청
“ ”맞춤법 검사서버
21
채팅 서버채팅 서버
맞춤법 검사 서버맞춤법 검사 서버
맞춤법 검사 서버맞춤법 검사 서버
···
여러 Consumer가 같은 Queue의 메시지를 소비할 경우
Round-Robin 방식으로 메시지 전달
: Consumer의 수평적 확장에 용이!
메시지의 ReplyTo를 보고 Reply Queue에 넣으므로
Producer의 수평적 확장도 끄떡 없다!
31.
“ ”맞춤법 검사서버
21
채팅 서버채팅 서버
맞춤법 검사 서버맞춤법 검사 서버
!
웹 크롤링 방식의 맞춤법 검사
간헐적으로 발생하는 Http Request 에러
에러난 메시지에는 RabbitMQ에 ACK를 보내지 않고
Requeue를 하여 다시 처리되게끔 동작!
※RabbitMQ는 메시지의 ACK 수신 시에만 해당 메시지가 소비되었다고 처리