항해99

[항해99] TIL 사전과제 스터디 D-25

crab. 2022. 6. 17. 21:53

본격 프로젝트 시작

  • 우선 HTML부터 어떻게 만들지 설계하기로 했다.
  • 솔직히 쉬울줄알았는데 사실상 HTML을 이해한다는게 프론트엔드를 다 이해한다는 것과 마찬가지였다.
  • 우선 내가 맡은 부분은 index페이지와 작성버튼을 눌렀을때 create하는 부분이었는데 메인페이지에는 DB에서 받은 정보들을 렌더링할때마다 받아와야 했다.
  • 예전 첫 프로젝트때도 그리고 지금도 이 부분이 상당히 의문이었는데 항해99의 커리큘럼에서 그 답을 찾았다.
  • 답은 jinja2 였다.

jinja2

  • jinja는 SSR(server side rendering)을 flask진영에서 하게 해주는 기능이다.
  • 서버사이드 렌더링이란 쉽게 말해 렌더링을 클라이언트쪽에서 하는것이 아닌 말 그대로 서버쪽에서 하게 한다는 것이다.
  • 이 기능과 라우터 기능을 이용하면 html페이지는 hero.html하나만 만들어 기본폼만 정해놓으면 서버쪽에서 라우팅되는 url에 따라 아이언맨 페이지, 슈퍼맨 페이지, 배트맨 페이지등 여러 페이지들을 만들 수 있다.
  • 나는 이 기능으로 SSR을 작게나마 처음 구현해봤는데 정말 정말 신세계였다…
  • 지금까지 나는 진짜 겉핥기 식으로 웹을 만들고 있었구나 생각이 들었다.
  • 아는게 점점 늘어날 수록 서비스를 다시 만들어보고 싶고 리팩토링하고싶다는 생각이 계속든다.
  • 좋은 징조인것 같다.

또한 cookie도 알아야한다.

  • 물론 위의 jinja나 cookie도 프론트는 여기까지만 알아도 돼요 하는 부분이 있을 수도 있지만
  • 그래도 나는 확실히 알아야 백엔드와의 협업에서 대화가 훨신 원활할거라 믿기에 쿠키도 깊숙히 공부해보기로했다.
  • 하지만 쿠키는 뭔가 개인적으로는 더 이해하기 힘든 개념이었고
  • 세션과 JWT도 공부해야 정말 좀 그럴싸하게 이해했다 말할 수 있을 것 같아 다음에 다시 공부하기로 결정했다.
  • 요즘 계속 압축해서 비교적 가파른 성장을 하고 있는것 같다
  • 사실 그럴 수 밖에 없는게 요즘 배우는 것들은 다 처음 듣고 익히고 사용하는 것이니 배우는 족족 그대로 전부 다 온전히 내 지식이 되는 것이다
  • 그래서 빠르게 우선 골조만 만들어 두고 그게 끝나면 천천히 시멘트를 부으며 단단하게 다듬는 시간을 가져야겠다.
  • 요근래에는 지식이 느는게 나 자신에게도 보여서 기분이 좋다!