구직을 하려고 공고를 살펴보니 내 생각보다 백엔드 프레임워크는 치열한 삼파전을 치르는 중이었다. 특히 Nodejs의 파이가 꽤 높다고 느껴졌는데 이전 프로젝트로 express를 살짝 경험해봤어서 그런가 파이썬보다 조금 더 흥미가 갔다. 그래서 집에 있는 Python+Django 책으로 쟝고를 살짝 찍어먹어보고 Nodejs로 간단한 포트폴리오를 만들어보기로 했다.
참고한 서적은 Do it! 파이썬 웹 개발의 정석 이고 2~3년 전쯤에 파이썬에 흥미를 가져 사뒀던 책이다. 그 뒤로 (실제로 업무에 써야하는) Spring을 공부하느라 책을 펼쳐볼 기회가 없었지만...😅 비록 몇 년전 책이긴 해도 clone 해볼 예제 프로젝트도 있고 ORM도 가볍게 다뤄볼 수 있는 것 같아서 일단 시작을 했다. 아주 간단하게만 사용해본 거라 일주일 정도의 시간을 두고 진행했던 것 같다.
Clone project
🏠 https://github.com/devwuu/python-study/tree/main/django-study
Nodejs를 선택한 이유는 총 2가지였는데 (1) express를 간단하게나마 사용해본 적이 있다 (2) javascript가 python 보다 익숙하다. 이 두 가지였다. 물론 이번 기회에 typescript를 사용해볼 계획이었어서 typescript 따로 공부해야 하긴 하지만 아예 새로운 언어인 건 아니었기 때문에 자주 사용하는 기본적인 문법 위주로 익히고 포트폴리오를 만들면서 조금 더 익숙해져보기로 했다.
Clone project
🏠 https://github.com/devwuu/node-study
Side Project
🏠 https://github.com/devwuu/dailyday
가장 많은 시간을 들인 고민이었다. 사용 경험이 있고 커뮤니티가 큰 건 express였다. 반면 nestjs는 거의 처음부터 익혀야 했다. 그럼에도 불구하고 nestjs를 선택한 이유는 (1) 구조가 친숙하다 (2) express에 비해 틀이 어느정도 정해져있다. 이 두 가지 때문이었다. 가장 눈에 띄게는 데코레이터 문법부터 DI, IoC, 등등 nestjs의 구조가 spring과 상당히 유사하다는 건 Nestjs를 사용해본 사람이라면 모두 공감할 수 있을 것이라 생각한다. 또, express의 상당한 자유도는 그 자체로 이점이 되기도 하지만 주니어 개발자인 내겐 많은 고민거리를 주었다.(물론 구글링해보면 많은 훌륭한 개발자분들이 고민해서 정해진 규격이 있겠지만...) 그래서 Nodejs를 시작하는 단계의 나는 우선 비즈니스 로직 자체에 집중할 수 있는 Nestjs를 선택하기로 했다.
비즈니스 로직이 복잡한 프로젝트는 아니어서 어지간한 문제 상황은 공식 문서와 구글링으로 해결이 되고 있다. 그럼에도 불구하고 처음 사용해보는 프레임워크이다보니 별 것 아닌 문제도 어렵게 느껴지는 경향이 있는 것 같다. 프로젝트를 완성할 때 쯤이면 지금보다 많이 능숙해져있었으면 좋겠다... 😂😂😂 혹시 또 블로그에 남길만한 이슈가 생기면 추가로 포스팅 하기로 했다... 😂😂😂