첫 주가 마무리 되었다.
바쁜 미니 프로젝트 4일과 비교적 널널한 기초 프로그래밍 주차 중 이틀을 소화한 상황이다.
프로젝트 기간 중에는 프론트와 백엔드 양쪽 코드를 모두 작성하고 버그 잡아내고 하면서 정신이 없었다. 가장 크게 배운 점은 TIL에서도 계속 언급했던 협업 관련 부분이다. 머리로만 알고 있던 협업의 어려움을 처음으로 제대로 느꼈던 경험이었고, 앞으로 이를 양분삼아 더욱 성장할 것이다.
기초 프로그래밍은 캠프 직전에 미리 예습하고 왔던 자바 언어에 좀 더 익숙해지는 과정이라고 받아들이고 있다. 파이썬과 비교할 수 없을 정도로 작성자가 불편하지만, 분명한 장점이 있다고 생각하고, 앞으로 주특기 배우고 프로젝트 할 때 도움될 것이라고 믿으면서 공부하고 있다.
아래는 이번주 키워드이다.
1. JWT
- 사용자 인증 방식으로서, 세션과 다르게 클라이언트 쪽에 중요한 정보가 담긴 토큰이 저장되어 있고, 사용자가 본인임을 증명해야 할 때 서버에게 전송하여 인증만 받는 서버의 부담이 적은 방식이다.
- 프로젝트할 때 맡았던 부분이다. 전에 개인적으로 공부했었던 것을 복습하고, 이전 기수들이 작성한 코드를 참고하여 큰 무리없이 구현했다.
- 다만 사용했던 PyJWT 모듈이 좀 가볍다고 생각하는데, refresh_token을 모듈 자체적으로 지원하지 않는다고 봤기 때문이다.
- 스스로 refresh token을 구현해서 적용해보려 했는데, 시간이 부족할까봐 접어두고 다음 작업들을 이어나갔다.
2. API
- 본 프로젝트에서 API는 프론트와 백이 통신할 때 사용한 인터페이스이다. 서버쪽에서 구현해 놓으면 프론트에서 요청하여 원하는 데이터를 받거나 저장할 수 있다.
- AJAX로 통신: jinja만으로는 구현하기 어려운 기능에 사용했던 것 같다
- SSR - jinja2: ajax의 번거로운 통신 과정을 거치지 않고 바로 서버의 언어로 넘겨줄 수 있어서 가독성과 편리함을 가진다고 생각했다
- 예전에 간단하게 배웠었던 동적 페이지 라우팅을 플라스크에서 구현해보기도 하면서 더 완성도 있는 결과를 만들었다고 생각한다.