무엇을 공부했나요?
Two scoops of Django 11장 장고 폼의 기초에 대해 알아보았습니다. 문수님께서 11장의 자료를 요약하였고, 호성님께서 심화자료를 준비하셨습니다. 스터디중 다루었던 이야기들은 아래와 같습니다.
- 장고 폼은 입력데이터의 유효성을 검사하는데 최상의 도구다. 입력되는 데이터에 대해서 일일이 유효성 검사 코드를 만들지 않고, 장고에서 제공하는 검증된 데이터 테스트 프레임워크를 이용하자.
- 모델 폼을 적극적으로 이용하자.
- 데이터를 변경하는 HTTP폼은 언제나 CSRF 보안을 이용해야 한다. 장고의 CsrfViewMiddleware를 활용하여 일일이 손으로 csrf_protect를 뷰에 데코레이팅 하지 않아도 된다.
- Form.add_error()를 활용하여 폼에 에러를 추가할 수 있다.
- 폼은 장고 프로젝트에서 주된 유효성 검사 도구이며 중요한 방어수단이기도 하다. 폼이 유효성 검사를 하는 처리 절차를 이해함으로써 코드 품질을 한 단계 올릴 수 있다.
호성님의 심화 시간에는 CSRF(Cross-site request forgery)에 대해서 이야기했습니다. csrf 공격이 어째서 위험한 것인지를 예를 들어서 설명해주셔서 막연했던 개념을 좀 더 구체화 시킬 수 있었습니다. 또한, 장고에서는 어떤 방식으로 csrf 공격을 방어하는지 csrf.py 파일 코드 통해서 살펴보았습니다. 그동안 습관적으로 입력했던 csrf 관련 코드가 어떤 역할을 하는지에 대해서 알게 되니, 별도의 설정 없이도 CSRF 대응이 가능하도록 구현된 장고의 편리함을 다시 한번 느낄 수 있었습니다.
스터디 중간 회고
스터디를 시작한 지 약 2달이 지났습니다. 총 35장으로 구성되어 있는 Two scoops of Django 책의 11장을 공부했으니 약 1/3 정도가 진행되었네요. 오늘은 스터디를 마치고 그동안의 시간이 어땠는지 회고하는 자리를 가졌습니다.
좋았던 점
- 중간에 그만두지 않고 아직까지 스터디를 하고 있다!
- 경험이 많은 시니어 개발자 분들에게 질문할 수 있다. 주니어에게는 도움이 많이 되지만 시니어 분들은 어떻게 생각하실지 모르겠다. (이 의견에 호성님께서는 그래도 이 시간이 있어서 공부할 수 있다고 대답해 주셨습니다.)
- 프론트엔드를 공부하는 학생으로서 백엔드에 대해서도 간접적으로 접할 수 있어서 좋다. (저희 스터디에는 프론트엔드 개발을 공부하고 계시는 미주님이 계십니다.)
- 과거에는 장고를 사용했지만, 지금은 더 이상 업무에서 사용하고 있지 않다. 이 스터디를 통해서 장고에 대한 감을 잃지 않을 수 있었다.
- 스터디에서 배운 내용을 개인 프로젝트에 적용할 수 있다.
- 신입 개발자로서 작은 일을 처리하는 경우가 많다. 스터디를 통해서 나중에 큰 일을 하게될 때 필요한 내용을 공부할 수 있어서 좋다.
- 평소 업무 습관에 대해서 반성하게 되었고, 장고 소스코드를 직접 열어서 살펴보는 습관이 생겼다.
아쉬운 점
- 스터디 진행 속도가 느린 것 같다. 책의 모든 내용을 자세하게 살펴보기 보다 중요한 부분에 집중해서 속도를 높였으면 좋겠다. (앞으로는 책 요약은 10분 내외로 줄이고 심화학습에 좀 더 시간을 할애하기로 했습니다.)
- 배경지식과 경험이 있다면 좀 더 얻을 수 있는게 많을 것 같다. 예습을 열심히 했을 때 만족도가 높았다.
- 팀 프로젝트를 적극적으로 진행하지 못해서 아쉽다.
- 이에 대해서는 조별로 프로젝트를 나누기 보다 스터디원 전체가 참여하는 프로젝트를 진행하기로 했습니다. 이왕이면 스터디에 관련된(예: 스터디 관리 서비스 등) 프로젝트를 진행하면 더 동기부여가 될 것 같다는 의견이 있었습니다.
어땠나요?
오늘은 두숟갈 스터디 8번째 모임이면서 신입개발자로 8퍼센트에 출근하는 첫번째 날입니다. 스터디에 참여하면서 8퍼센트 개발팀 같은 곳에서 일할 수 있다면 좋겠다는 생각을 했습니다. 겉으로 보이는 회사의 이미지도 중요하지만, 실제로 어떤 동료들과 함께 일하게 되느냐가 회사생활의 만족도에 크게 영향을 미친다고 생각합니다. 그런 점에서 스터디를 통해서 서로를 미리 경험할 수 있었던 것은 저에게도 그리고 회사에게도 좋은 기회가 되었다고 생각합니다. 아직은 모르는 것이 많은 신입개발자이지만 앞으로 꾸준히 성장해서 동료들에게 도움이 될 수 있었으면 좋겠습니다!