위 사이트는 블로그 에 글을 포스팅 할때 제목이나 태그를 어떤 것을 넣어야 할지 고민 하는 분들에게 도움을 주기위해 개발된 앱이다. 각종SNS (인스타, 페이스북, 트위터) 등에도 사용이 가능 하므로 범용적으로 쓰시길 바란다.
# 앱 사용 방법
왼쪽 텍스트 박스에 포스팅할 문장을 입력하고 문장 분석 버튼을 클릭 하면
오른쪽 문장결과에 주요 단어 및 구절, 문장 을 리스트업 해준다. 결과 내용을 보고 마음에 드는 키워드들을 선택 하면 끝.
# 앱을 개발 하게 된 배경
한창 파이썬을 이용한 NLP(자연어처리) 와 딥러닝에 관심 있을때 이 알고리즘을 발견 하게 되었고 어떻게 사용 할 수 있을지 아이디어가 떠오르지 않아 한동안 방치 해두었다.
최근에 리엑트를 이용한 프론트 개발을 하다가 우연찮게 두개를 접목할 수 있는 방법이 생겨나 이 앱이 탄생 하게 되었다.
약 한달간 개발 과정이 아래 캡처 에 영상으로 저장 되어 있다. (* 추후 유튜브 영상으로 만들예정)
# 기술 스택
- 알고리즘
: 가중치 그래프 알고리즘을 이용해 핵심이 되는 문장을 선별 하였다 가중치는 자카드 지수 가 높을수록 가중치를 많이 주었다. (* 자카드 지수라는 건 두 집합의 유사도 측정에 이용 되는 방법으로 연관이 많이 되어 있는 문장일 수록 최대치1에 가깝다.)
- 프론트
react
- 백엔드
rest api 기존 Flask -> FastAPi 로 대체
서버배포
서버 비용을 아낄려고 Heroku 로(Platform as Service) 배포할 예정이였지만 여러 문제로 결국엔 실패 하였다. 이 앱은 프론트단 과 백엔드 단 두개가 올라가야 하는데 백엔드 부분에 형태소 분석 이 필요 하여 konlpy 패키지 사용이 불가피 하다 보니 그로인해 파이썬과 자바 둘다 설치가 필요하고 구성 복잡도가 올라가게된다. Docker로 배포 하면 될거 같아 보여서 컨테이너를 만드는데 까진 성공 하였지만 헤로쿠 자체내에 오류가 또 발생하여 더이상 지체 할수 없어 결국 AWS LightSail 에 배포
# 그래프 알고리즘 설명
https://m.blog.naver.com/occidere/220923695595
# 자카드 지수
https://ko.wikipedia.org/wiki/자카드_지수
# 개발 하면서 느낀점
SSL, Domain구입 및 연결, FastApi, Docker 개념및 사용법 지식 습득 하였지만 웹보안 이나 마케팅 (SEO) 지식이 부족한 걸 느꼇다.
'Dev Story' 카테고리의 다른 글
꾸준히 한다는 것 그것에 대한 고찰 (0) | 2021.11.13 |
---|