무엇을 공부했나요?
Two scoops of Django 12장 폼 패턴들, 13장 템플릿의 모범적인 이용을 살펴 보았다. 참고로 최근 한글판(1.8 기준)과, 최근 영문판(1.11 기준)이 장의 순서가 다르다.
지난 스터디 부터 스터디룰을 바꿔서 요약을 공유하는 시간을 줄이기로 하였다. (모두들 열심히 공부해 온것을 가정하는 것이다…) 그래서 희진님과 성권님의 요약에 대한 공유가 빠르게 진행 되었다.
처음은 중간에 조인 하신 희진님의 첫번째 요약시간 이었다. 지난 시간에는 폼에 대해서 간단히 알아 보았고, 이번에는 폼의 여러가지 패턴에 대해서 배워 보았다. 데이터를 깨끗하게 유지하기 위해서는 모든 입력에 대해서 적절하게 폼을 사용해야 한다. 당시에 조금 귀찮아서 유효성 검사를 제대로 하지 않은것이 이제 와서 데이터 분석을 힘들게 만들고 있다. 역시 한번 몸이 고생하고 나면 배움의 가치가 느껴진다.
다음은 인턴을 마치고 학교로 돌아가는 성권님의 마지막 요약시간 이었다. 고답(고구마 답답이)라는 별명을 회사에서는 불렸었는데 왠지 모르게 요약의 공유일 뿐인데도 답답함이 느껴졌다. 13장에서는 템플릿의 관리가 편하고 간결하게 유지하기 위한 여러가지 방법들에 대해서 배울 수 있었다. 8퍼센트에서는 IUEditor를 사용해서 Djagno Template을 바로 생성하고 있고, 최근에는 React 기반으로 프론트앤드를 변경하고 있기 때문에 템플릿에 대해서는 많은 고민을 해 보지는 않았다. 하지만 이번 스터디를 통해 보다 적절한 디렉토리 구조와 추가로 활용할 수 있는 템플릿 태그들을 알게 되었다.
남홍님이 심화 시간에 여러가지 주제들을 다뤄 주셨다.(남홍님은 항상 전하고 싶은 이야기가 많으신 것 같다.)
안전(Safe) 메소드와 멱등(Idempotent) 메소드
동일한 요청을 여러번 했을 때 한번 한것과 결론이 같은 경우를 멱등하다고 한다. HTTP Method 중 OPTIONS, GET, HEAD, PUT, DELETE 가 이에 해당이 된다. 왜 FETCH는 해당이 되지 않는 지에 대해서 잠깐 논의가 있었고, PATCH가 append와 같은 식으로도 사용될 수 있기 때문에 멱등하지 않다는 것을 알게 되었다.
Form Validation 코드를 함께 살펴보기
사용하는 라이브러리의 코드를 직접 살펴 보는것이 이해를 높이는데 가장 좋다는것은 알고 있지만 사실 쉽게 손이 가지는 않는다. 하지만 남홍님의 가이드를 따라 코드를 함께 읽어 보면서 각각의 Form Validation의 스텝별 의미를 파악할 수 있었다.
Django Debug Toolbar
최근에 디버깅을 하시면서 속도 개선을 했던 노하우를 공유 해주셨다. N+1 쿼리 문제를 찾고 해결하는 과정을 알려주셨다.
어땠나요?
스터디를 마치고는 잠깐 꿈(?) 이야기를 나눴다. 그 꿈이 무엇인고 하니, 이 스터디가 끝나고 나면 어떤 스터디를 하고 싶냐는 것이었다. 마치 이제 중간고사를 막 쳤는데 방학 계획을 세우는 것과 비슷하다고 할 수 있겠다. 프론트앤드, 기본적인 CS, 데이터 분석 등등 여러가지 꿈들이 나왔다. 다들 막 서점에서 책을 사서 나온 때 처럼 즐거워 보였다. 나 또한 이미 책의 지식이 다 내것이 된 것 처럼 잠시 즐거운 상상에 빠졌었다.
그리고 함께 했던 미주님이 마지막으로 참여하는 자리였다. 미주님의 경우 비전공자로 최근에 프론트앤드 공부를 시작하셨기에 백엔드 개발의 경험이 없다보니 베스트 프랙티스를 다루는 이 책과 스터디가 조금 맞지 않으셨던 것 같다. 적절한 분들을 모시는것이 서로에게 도움이 된다는 것을 알게 되었다. 다음에 프론트앤드 스터디를 하게 되면 다시 연락을 드려 봐야겠다. 건승하시길 바란다.