항해99 에서는 면접
과 사전 테스트
을 보았는데, 커리큘럼 시작과 동시에 첫 번째 프로젝트를 하게 되었습니다.
약간 낯선 게더타운이라는 환경에서 화면 상으로 만난 팀원 분들과 2022-07-11
부터 2022-07-14
까지 진행되었습니다.
항해 에서 Flask 를 이용한 SSR 서버
를 몇 가지 요구사항과 함께 전달받아 구현하게 되었습니다.
SSR 이란?
서버 사이드 랜더링으로 별도의 문법이 적용되는 탬플릿 엔진
(PUG, Jinja2)
을 사용하며, 서버 측 에서 해당 템플릿을 요청에 맞는 HTML 로 랜더링(변환) 하는 기법을 의미합니다.
프로젝트 진행 과정에서 가장 걱정이 되었던 것은 저
였습니다.
과거에 잘못된 방식의 코드 리뷰
를 간섭의 방식으로 했던 적이 있었고 이를 크게 반성한 경험이 있습니다.
그 이후로 어떻게 팀 프로젝트 에서 포지셔닝을 해야 하는 가를 많이 찾아보고 고려하게 되었습니다.
모 개발자 채널에서 봤던 꼭 한 번에 한 가지씩만 전달하자 라는 내용을 되새겼습니다.
그래서 개발을 처음 시작했을 때, 1 주일 차의 마음을 가지자 라고 마인드를 가다듬었습니다.
마임드 셋과는 조금 반대되는 내용인데, 특정한 부분들은 확실하게 알려드리고 싶었습니다.
첫 프로젝트에 적은 기능이 들어가더라도, 다른 팀원분들에게 첫 협업
이라는 특수성에서 다음의 내용을 알려드리고자 했습니다.
Git 에 대해서 처음으로 배웠던 당시에 적었던 메뉴얼을 개선시켜 작성하였습니다.
사실 환경 변수 파일인 .env
를 호출 해서 이를 사용하는 방법은 너무나 간단했습니다.
단, 이 파일을 .gitignore 처리 했어야 했기 떄문에, env.md
에 추가된 환경 변수 명을 적고 공유하는 식으로 전파하게 되었습니다.
저희는 MongoDB Atlas 를
로컬
과운영
환경에서 모두 사용하되, 배포 시에는다른 데이터베이스
를 사용하는 방법을 선택했기 때문입니다.
사실 개발을 처음 배웠을 때, 가장 부족한 것은 실력 보다는 경험이라고 생각합니다.
물론, 저도 너무나 부족하지만...
개발을 하다보면 어느 순간부터, 어떤 상황에서 저번에 겪었던 상황과 유사한데? 이것도 이건가? 라는 감이 오기 시작했습니다.
특히, 라이브러리의 버전 이슈에 따라서 메서드
의 유무/형태 와 인코딩/호환성
등이 달라지는 것은 한 번 겪기 전에는 쉽게 예상하기 힘든 문제일 것입니다.
해당 문제들을 마주했을 떄, 화면 공유
를 하고 최대한 문제를 공유하여 이를 해결했습니다.
그 결과 기능 미구현 항목 제외하고 모든 치명적인 에러를 수정해냈습니다.
짧은 4일 간의 기간이었지만,
생각보다 많은 에러가 발생했고 이를 해결할 수 있었습니다.
JS 가 아닌 Python 으로 개발을 진행하면서 생각보다 새로운 기분도 들었습니다.
생애 첫 개발임에도 빠르게 적응하고 팀에 기여해주시는 팀원 분들을 보면서, 저도 더 최선을 다해야 겠다고 생각했습니다.