- 조사모아(Josa-moa) 오픈소스 개발일기(3)
지난 개발일기에서 보완할 부분들을 적어놨는데, 정리하자면 아래와 같다.
(영문자 조사 처리에는 이 자료를 많이 참고하였다.)
- 불필요 및 중복되는 코드 제거 → 메서드 setJosa() 생성
- 패키지 구조 간략화 → Builder 패턴, Constant 클래스 등 제거
- 한글 및 숫자 조사 처리 완료
- 영문자 및 특수문자 조사 처리 완료
아래는 프로젝트를 마무리 하며 작성한 readme, 우리가 개발한 라이브러리에 대한 소개이다.
- 조사모아(josa-moa)란?
문자열 종성의 받침에 따라 조사를 붙여주는 한국어 조사 처리 라이브러리이다.
setJosa()라는 메서드를 사용하여 받침이 있는 경우 앞 글자를, 받침이 없는 경우 뒷 글자를 반환한다.
<!-- repository 추가 -->
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<!-- 의존성 추가 -->
<dependency>
<groupId>com.github.josa-moa</groupId>
<artifactId>josa-moa</artifactId>
<version>1.0.2</version>
</dependency>
- 한글 조사 처리
Josamoa josamoa = new Josamoa();
josamoa.setJosa("영철", "은는"); // 영철은
josamoa.setJosa("철수", "은는"); // 철수는
josamoa.setJosa("장갑", "을를"); // 장갑을
josamoa.setJosa("모자", "을를"); // 모자를
- 숫자 조사 처리
// 0 1 2 3 4 5 6 7 8 9 (영 일 이 삼 사 오 육 칠 팔 구)
josamoa.setJosa("사람1", "은는"); // 사람1은 > 사람일은
josamoa.setJosa("사람3", "은는"); // 사람3은 > 사람삼은
josamoa.setJosa("사람2", "은는"); // 사람2는 > 사람이는
josamoa.setJosa("사람4", "은는"); // 사람4는 > 사람사는
- 영문자 조사 처리
// 3글자 미만일 경우 한 글자씩 읽는다.
josamoa.setJosa("L", "은는"); // L은 > 엘은
josamoa.setJosa("ai", "은는"); // ai는 > 에이아이는
// b와 c는 앞문자가 모음일 경우 받침을 갖는다.
josamoa.setJosa("lib", "은는"); // lib은 > 립은
josamoa.setJosa("basic", "은는"); // basic은 > 베이직은
// p는 앞문자가 받침문자(l, m, n)가 아닐 경우 받침을 갖는다.
josamoa.setJosa("cap", "은는"); // cap은 > 캡은
josamoa.setJosa("help", "은는"); // help는 > 헬프는
// e는 앞문자가 받침문자(l, m, n)일 경우 받침을 갖는다.
josamoa.setJosa("smile", "은는"); // smile은 > 스마일은
josamoa.setJosa("juice", "은는"); // help는 > 헬프는
// k는 앞문자가 'c'인 경우 받침을 갖는다.
josamoa.setJosa("kick", "은는"); // kick은 > 킥은
josamoa.setJosa("shock", "은는"); // shock는 > 쇼크는
// g는 앞문자가 'n'인 경우 받침을 갖는다.
josamoa.setJosa("long", "은는"); // long은 > 롱은
josamoa.setJosa("log", "은는"); // log는 > 로그는
- 특수문자 조사 처리
// ! ? , . ~ ' " ; : { } [ ] ( ) < > 는 무시
josamoa.setJosa("조사!", "은는"); // 조사!는 > 조사는
josamoa.setJosa("모양?", "은는"); // 모양?은 > 모양은
// @ # % & * 등은 받침없음으로 처리
josamoa.setJosa("이@@", "은는"); // 이@@는
josamoa.setJosa("인★", "은는"); // 인★는
이로써 약 한 달 간 진행된 사이드 프로젝트의 막을 내렸다.
처음 말했듯이 이번 프로젝트의 목적은 Github 프로세스 활용과 JitPack을 사용한 오픈소스 배포🚀
두 개의 목적 모두 달성하고 많은 성장이 있었다 생각이 되어 매우 뿌듯한 마음..💞
✨ 함께 참여해준 덜린과 갱브로에게 감사의 말을 전합니다 ✨
- 조사모아는 아직 끝나지 않았다.