본문 바로가기
Project History/- Seoul Dev Competition

서울 열린데이터광장 공공데이터 활용 웹 개발 - 5주차 정리

by Yoojacha 2023. 5. 15.
  • 프론트앤드 CRUD 구현 2가지 진행 중
  • 필터링 기능 추가 구현
  • 폰트 최적화 및 빌드 에러 해결

폰트 최적화에 대한 구현은 좀 더 브라우저의 동작에 대해서 알게 될 수 있었습니다. 제가 폰트 관련해서 글을 작성한 것이 있으니 참고하시면 좋습니다!

  • spring 스케줄러 설정
  • fastapi에서 모델 업데이트 기능, 데이터 분석 데이터 설정 추가

fastapi를 선택한 것은 매우 잘한 선택이었습니다. django를 선택했었으면, 설정에 시간을 더 들여야 했을 뿐만 아니라, 추가적인 학습이 들어가야 했어서, 각자 할 일이 바쁜 와중에 인공지능용 백엔드가 흐지부지 됐을 가능성이 있었습니다.

  • 인프라 구조 다시 정립

처음으로 체계적인 협업과 배포를 준비하다보니, nginx에 대한 확신이 없었고, nginx를 리버스 프록시로 두어서 프론트엔드와 백엔드 서버를 중계해주는 역할을 하게 만드는 것이 가능할까? 라는 불안이 있었는데, nginx를 공부하고 스터디원들에게 학습 공유를 하면서 자신감을 얻었습니다.

  • JWT를 사용한 비식별화 유저 정보 사용

공공데이터를 활용한 웹 개발이고, 팀원의 유저 로그인, 회원가입을 구현하는 것에 대한 부담을 느껴서 개인화된 정보를 뿌려주지 못하는 아쉬움이 있었습니다. 이를 극복하기 위해서 작년에 express.js를 하면서 사용해본 JWT를 사용하면 어떨까 해서 제안을 했습니다. 비식별화된 유저 정보를 설문조사 하듯이 받으면 법적인 문제에 대한 부담을 덜고, JWT가 쿠키에 저장 되었을 때 노출이 되더라도, 민감한 정보가 아니기 때문에 보안에 대한 부담을 덜 수 있다는 판단이 들었습니다. 또한 백엔드 팀원이 걱정한 구현에 대한 어려움도 제가 로직에 대해서 가이드를 주어서 진행하도록 했습니다.

  • 검색, 조회 테이블 추가

JWT 안에 비식별화된 유저 정보를 담고, 요청 헤더에 그 정보를 계속 주게 되면, 비식별화된 유저 정보와 함께 조회 정보와 검색 정보를 따로 테이블에 정리하여 이를 시각화하는 방안에 대해서 큰 그림을 그렸습니다. 어떻게 보면 공공데이터가 단순하다는 점을 극복하기 위해서 시각화및 추천시스템에 사용하여 UX를 개선하려 했습니다.

  • 추천시스템 구현 및 fastapi로 데이터 응답하기 성공하기

TF-IDF Vectorizer를 통해 교육정보의 텍스트 유사도를 도출하여 선택한 게시글, 검색한 단어와의 유사도를 판단하여 상위 5개를 노출시켜주는 것을 통해 UX를 개선하려 했습니다.

 

댓글