스파르타 내일배움캠프 WIL 5주차 회고

Kim Dae Hyun·2021년 10월 17일
0

TIL

목록 보기
35/93

📌 2차 프로젝트

2차 프로젝트도 목표로 한 대부분의 기능을 구현 완료했다.
내가 이번 2차 프로젝트에서 구현한 부분은 크게 5가지이다.

  • 카카오톡 로그인 구현
  • 카테고리별 법안목록 조회하기
  • 날짜별 의정활동 API를 이용한 어제의 국회활동 확인하기
  • AWS Elasticbeanstalk에 배포하기
  • Github Action 을 이용한 자동 배포 프로세스 만들기

카카오톡 로그인

이번 프로젝트 기능구현에 있어서 가장 잘 접근했다고 판단되는 부분이다.
어떤 API, 라이브러리를 사용하기 전에 너무 지나치지 않은 개념공부는 해당 기술을 더 잘 사용할 수 있게 해준다. 이번에 카카오톡 로그인을 구현할 때 사실 너무나도 자료가 많기 때문에 그냥 그대로 가져다 써도 되는 정도였다.

소셜 로그인의 경우 많은 종류가 있지만 내부적인 원리와 사용법이 거의 비슷하다는 것을 확인하고 앞으로의 토이프로젝트에서 자연스럽게 사용할 수 있도록 Oauth2 개념을 선행하고 직접 공식문서를 보며 구현했다.

덕분에 Oauth2에 대한 개념이 제대로 잡혔고 Access token 방식의 API 호출 흐름도 완전히 이해했다.


카테고리별 법안목록 조회하기

법안을 카테고리별로 볼 수 있다면 너무 좋겠다!! 라는 생각에 신나게 구현을 시작했다.
일단 법안을 카테고리별로 나누는 것이 필요한데 법안의 제목을 사용하기로 했다.
발의법안이라는 성격상 제목에 직접적으로 카테고리를 드러낸다고 판단됐기 때문이다.
추가로 제목 하나에 내가 주관적으로 같은 카테고리라 생각된 목록을 추가해서 카테고리별로 일관성 있찌만 다양한 데이터를 볼 수 있게 했다.

구현방식은 스케줄러를 이용했고 매일 새벽 3시에 API로부터 받아온 데이터 중 3개월 치를 카테고리별로 DB에 저장시켰다. 지금은 모든 데이터를 지우고 추가하는데 이 부분은 앞 뒤로 필요한 만큼만 가져오고 삭제할 수 있도록 개선해야 한다.

1차 프로젝트에서 스케줄러를 한 번 사용해보니 막히는 부분에서 빠르게 스케줄러라는 솔루션을 생각해낼 수 있었다.


날짜별 의정활동 API를 이용한 어제의 국회활동 확인하기

이 부분 또한 발의법안을 조금 더 편하게 볼 수 있도록 하기 위해 만든 기능이다.
다른 기능과 다른 것은 Jinja2 템플릿을 이용한 SSR을 사용했다는 것이다.
새로운 외부 API를 사용했는데 전혀 거리낌 없었다. 익숙해졌나보다 ㅎ


AWS Elasticbeanstalk에 배포하기

팀원들에게 미안한 부분이다..
팀장이 AWS 배포를 책임져야 해서 일찍이 배포 준비를 시작했다. 어찌어찌 배포를 성공했는데... 프로젝트에 불편함 초래했다..
개발환경과 배포환경을 전혀 고려하지 않은 채로 배포를 해버려서 팀원들은 main 브랜치에서 코드를 가져와서 배포환경으로 다시 맞추고 해야 테스트 개발해야 하는 번거로움을 겪어야 했다. 그나마 우리 프로젝트는 규모가 작아서 가능했던 것이지 규모가 조금이라도 커지면 불가능했을 것 같다. 배포환경과 개발환경을 왜 잘 나눠야 하는지 몸소 배웠다.. 😭


Github Action 을 이용한 자동 배포 프로세스 만들기

튜터님이 강의에서 사용한 스크립트를 그대로 사용해서 여려움은 없었다.
(환경변수, DB, url 등을 제대로 설정해주지 않아서 고생하긴 했다...)
1차 프로젝트 때 EC2에 직접 FTP를 사용해서 파일을 올리고 서버를 구동시켰는데 이거 정말 귀찮은 작업이었다. 로컬에서 파일을 수정하면 서버를 내리고 FTP로 올리고 다시 서버를 올려줘야 하는데 이건 진짜 별로였다..

Github Action.. 너무 좋다.. 잘 짜놓은 스크립트 열 개발자 부럽지 않을 것 같다.



이번주도 크게 후회없는 한 주였다.

지나치지 않게 프로젝트 목표를 설정해서 개인적인 공부도 병행할 수 있었다.
취업전선에 뛰어들 때까지 진짜 얼마남지 않았다.. 지금처럼 포트폴리오는 포트폴리오 대로!! CS, 알고리즘 공부도 미루지 말자 ..!!!

profile
좀 더 천천히 까먹기 위해 기록합니다. 🧐

0개의 댓글