Skip to content

TWIL 3기 회고

도입

2021년 11월 03일 수요일부터 2021년 11월 24일 수요일까지 총 4회에 걸쳐 TWIL 3기를 진행했다. 11월 한 달 동안 백신 접종으로 인한 컨디션 하락이나 인턴 준비 등 여러가지 핑계를 되며 결국 나는 한 편 밖에 글을 못 썼다.

작성했던 글과 그에 대한 피드백, 그리고 이를 바탕으로 4기 때 작성하려는 글에 대한 이야기를 하기 이전에 우선 운영에 대한 이야기를 먼저 해야할 것 같다.

정보

TWIL(This Week I Learned)은 TIL(Today I Learned)을 바탕으로 만들어진 개발일지 공유 스터디로 이름에서 알 수 있듯 매주 한 편의 개발일지를 작성하고 공유하는 스터디다.

더 자세한 내용은 깃헙 블로그를 통해 확인할 수 있다.

스터디 운영

이번 3기 때는 스터디 운영이 조금 엉망이었던 것 같다. 2기 때와 플랫폼과 운영 방식도 조금 변경되어서 어수선했던 부분도 존재했으며 무엇보다 여러모로 신경을 많이 못썼다. 개발일지 스터디이기 때문에 글을 작성하는 것 자체가 스터디원끼리 상당한 동기부여가 될 텐데 글을 거의 못 썼기 때문에 운영이 엉망이라고 판단했다.

2기 때와 바뀐 점은 크게 두 가지이다.

  • 티스토리(Tistory)에서 깃헙 블로그(GitHub Blog)로의 전환
  • 신규 멤버 영입 및 동일 직군 스터디원의 글에만 진행된 피드백

깃헙 블로그 전환

기존 티스토리 블로그에서 깃헙 블로그로 전환한 가장 큰 이유는 코드 삽입 때문이다. 마크다운 문법을 통해 글을 작성하는 깃헙 블로그는 코드 삽입이 매우 간단한데 티스토리는 직관적이지도 않을 뿐더러 여러모로 불편한 점이 존재했기 때문이다.

마크다운을 활용한 블로그 플랫폼을 구축하기 위해 고민했던 프레임워크 또는 라이브러리는 GatsbyJS, Jekyll, Docusaurus, MkDocs다. 그 중에서 MkDocs를 선택한 가장 큰 이유는 파이썬 언어 기반의 Jinja2 템플릿을 사용하기 때문이었다. 파이썬이 가장 내게 익숙한 언어였고 그래서 후에 변경하고 싶은 부분을 변경할 때 학습 곡선이 낮아 빠르게 적용할 수 있을 것이라 판단했기 때문이었다.

문제는 스터디원 중 파이썬을 사용하지 않는 사람들이었다. 배포는 깃헙 액션(GitHub Actions)을 통해 자동화 중이긴 하지만 작성한 글에 대한 로컬 테스트를 원할 때 pyproject.toml 파일에 작성된 파이썬 패키지를 설치하고 mkdocs serve 명령어 등을 활용하여 진행해야 하는 데 이 과정이 파이썬을 한 번도 사용해보지 않은 스터디원 입장에서는 익숙하지 않을 수 있기 때문이다.

우선은 관련 진행 방법을 구체적으로 정리해서 작성해 놓는 게 임시 방편이 될 것 같고 MkDocs의 경우 npm 또한 제공 중이라서 해당 방법을 찾아 추후에 추가해야 할 것 같다.

동일 직군끼리만 진행된 피드백

해당 스터디가 결국 본인 인생에서 가장 주요한 일이 아니기 때문에 모든 스터디원이 개인 공부나 업무, 더 나아가 약속 등의 개인 일정 등의 여러 다양한 일들과 병행해야 한다. 그래서 팀원이 한 명 증가하자 본인 글 작성 외에도 나머지 3명의 모든 글을 읽고 일일이 댓글을 달기가 쉽지 않았다. 더욱이 다른 직군의 글 같은 경우 TWIL이 추구하는 글의 방향성에 맞추어 이해하기 쉽게 쓰더라도 기본적인 개념이 없어서 시간이 오래 걸리기도 한다.

결론적으로 해당 스터디를 통해 본인의 글 쓰는 습관을 만들고 괜찮은 개발 관련 글을 써보는 연습을 하는 게 우선이기 때문에 본인이 현재 공부 중인 분야와 연관된 사람의 글을 피드백하는 게 덜 부담스럽고 더 효율적일 것이라 판단했다. 다른 직군 스터디원의 글의 경우 선택적으로 피드백하기로 했다.

조금 더 본인 글과 본인이 일하는 분야에 집중할 수 있는 장점이 생겼지만 더 다양한 시야나 지식을 얻지 못한다는 단점은 물론 정기 모임 시간 때 타 직군 스터디원은 어떤 글을 썼는 지 알지 못하기 때문에 이전처럼 많은 대화를 하지 못한다는 단점도 명확히 존재했다.

작성 글

이번 3기 때는 [ 공식 문서로 배우는 FastAPI & SQLModel ] 04. REST, RESTful API, 그리고 요청 바디를 통한 게시글 작성이란 글을 작성했다.

지난 2기까지 FastAPI를 배우기 이전 기본적인 웹 지식을 익혔는데 이번에는 그 중에서도 API 만들기 위해 필요한 지식인 REST에 관한 부분을 간략하게 다루고 실제로 데이터베이스가 있다는 가정 하에 간단한 엔드포인트를 만들었다.

문제는 글의 독자 대상을 처음 웹 개발을 배우는 파이썬 입문자인데 이론적인 부분에 관한 설명이 너무 길다는 것이었다. 무엇인가 만들면서 개발의 재미를 느낄 수 있는데 글 자체에 자세한 설명이 꽤 많아서 부담스러울 것 같다는 피드백을 받았다. REST 같은 필요한 개념의 경우 간단하게 설명하고 넘어가고 추가적인 설명을 다른 페이지에 따로 작성하여 링크를 거는 것도 하나의 방법일 것 같다는 피드백도 함께 받았다.

한편으로는 처음 해당 개념을 익히는 사람 입장에서 어쨌든 관련된 개념을 자세하게 적어주는 것이 더 좋다는 의견도 있었다. 아무래도 그 중간의 적정선을 잘 찾는 게 관건일 것 같다.

목표

4기 때는 작성하던 글에 이어서 본격적인 FastAPI 웹 애플리케이션 개발을 진행하려 한다. 다만 기존 SQLModel로 진행하려던 ORM 부분이 버전 업데이트가 많이 느려서 SQLAlchemy로 진행하려고 한다.

4회 분량의 글을 쓴다고 가정했을 때 ORM 및 데이터베이스에 대한 설명을 기점으로 기본적인 게시글 CRUD 기능을 만들고 테스트해 볼 수 있을 것 같다. 이후 더 큰 애플리케이션을 만들기 위해 폴더 구조를 나누는 방법이나 미들웨어 등을 설명해볼 예정이다.

결론

어쨌든 습관을 들이는 게 가장 큰 목표였기 때문에 4기 때는 놓치지 말고 글을 꾸준하게 써봐야겠다! 피드백을 고치는 것도 중요하지만 본질적인 목적을 잊지 말자.