2023-04-06
하루 늦었지만 적어보고자 한다. 사실 최종 발표 전날이라 잠도 안 자고 코딩했다. 도중에 잔버그가 자주 터져 시간을 자주 잡아먹혔지만 어찌저찌 해결할 수 있었다. 하지만 잠을 안 자는데 익숙하지 않아 중간부터 정말 피곤했다. 새벽 3시까지 개발을 어느 정도 마치고 AWS EC2에 올리기 위한 세팅 후 발표 준비에 들어갔다. 발표는 필자가 맡았다. 필자가 프로젝트의 전반적인 구성을 거의 파악했기에 발표에 자신이 있었다.
02:00
블루반의 발표 시간이다. 오전에 2시간쯤 자고오니 기분이 훨씬 낫다. 무사히 발표를 마치고 피드백도 나쁜 소리는 듣지 않았다. 시연 도중 버그가 생겨서 큰일나나 싶었지만.. 다행이다. 첫 미니 프로젝트는 거의 성공적으로 마무리한 것 같다.
15:00
한끼도 한먹고 코딩하느라 발표를 마친 후 배가 고파졌다. 라면 먹으러 나왔다. 여기 떡만두라면이 진짜 싸고 맛있다.
18:00
첫 미니 프로젝트를 마친겸 정글러들을 위한 회식 자리가 마련되었다. 4일만에 술을 마시니 스트레스가 풀린다. 평소 이야기해보지 못한 블루반 내의 다른 팀원과도 이야기를 나누며 즐겁게 회식을 보냈다.
flask에서 jwt를 처리하는데 어떤 라이브러리를 쓸지 고민스러웠다. pyjwt와 flask_jwt_extended. flask_jwt_extended가 라이브러리가 문서가 읽기 쉽고 자료가 많아서 선택했다.
가장 어려웠던 것은 JWT이다. 로그인 상태를 유지하기 위해 JWT를 쿠키에 저장하고 이를 다시 읽어서 사용자를 인지하는 과정이 어려웠다. @jwt_required()를 써서 토큰의 유효성 검사를 하면 편하지만, 이는 ajax에 헤더값으로 토큰을 더해서 쏴야했기에 복잡해졌다. 그래서 간단하게 @jwt_required()를 쓰지않고 쿠키에 저장된 토큰을 꺼내서 decode해서 사용자를 인지하는 방법을 사용했다. 또한 로그아웃한 사용자의 토큰을 블락처리하여 토큰 재사용을 불가능하게 했다.
로그인한 상태에서 로그인 페이지로 돌아가려할시, 쿠키에 로그인 정보가 남아있어 메인페이지로 리다이렉션하게했다.
jinja를 완전히 처음 접해서 flask 서버에서 html로 데이터를 넘겨줄때 많이 헤맸다.
AWS EC2 설정하는데에 조금 헤맸다. 입학시험때 경험이 있었지만 키파일에 대해 권환 이슈가 있어서 ssh 접속을 하지 못한 일이 있었다.
tailwindcss