본문 바로가기

Node.js 개발 시작하기

by 식 2018. 3. 14.

튜토리얼은 여기저기 다 나와있으니..

사람들 많이 쓰는거랑 경험담 위주로 쓰겠다


1. Framework - Express

node.js용 프레임워크: https://www.slant.co/topics/389/~best-node-js-web-frameworks


부동의 Express

선택의 여지가 없었다. 라이브러리나 커뮤니티가 많으니 트러블슈팅이 준다(샘플소스보고 구조 베끼기 좋았다)

RESTful API를 뽑아내면서 cms와 서버 작업을 해야 하는 상황을 고려했다


Meteor - 풀스택으로 지원해줘서 생산성에 좋다고 한다..

프론트엔드는 분리해서 vue.js로 갈 예정이었고

실시간으로 동기식으로 가는 프로젝트가 아니라 필요한 기능에 비해 무겁다고 생각해서 배제


Sails - 사실 가장 써보고 싶었던건 프레임워크

터미널에서 salils lift로 배띄우는거 간지.. 최신버전은 구름도 나온다.. @_@

프레임워크에서 MVC패턴 지원해주고 초기단계에서 많은 부분들이 쓰기 쉽도록 자동화 되있는 부분이 많다

반면 장점 커스터마이징이 어렵다는데 안써봐서 모르겠고 그냥 안전성과 속도 문제로 포기

미친듯이 할거 업데이트될때마다 생각하면 어쩔수가 없다..

2년만 있다가 써야지..


https://github.com/sahat/hackathon-starter

이런걸로 시작하는 것도 나쁘진 않은거 같긴한데..

뭔가 덕지덕지 붙이고 시작하는건 맘에 안들고

다음에 정말 급한일 있으면 써야겠다..


2. 데이터베이스 - PostgresSQL

node.js용 dbms: https://www.slant.co/topics/179/~best-databases-to-use-for-node-js-applications

postgreSQL 써봤는데 이렇게 순위가 높을줄이야..

기본키 auto increment도 안될 버전쓸때 테이블마다 시퀀스 걸어줘서 개빡쳤던 악몽이 떠오ㄹㅡㄴ다..

이것저것 찾아봤는데 배운게 도둑질이라고 그냥 난 mysql로 가련다...


3. IDE - VS Code

node.js용 ide: https://www.slant.co/topics/46/~best-ides-for-node-js


VS Code가 가볍고 있어야할 기능들이 다 있어서 1등 먹음

당연한 말이겠지만 기능적으로는 돈내고 하는 WebStorm이 좋다

특히 auto complete, code refactoring, deployment가 확실히 압도적으로 지원이 잘됨..

하지만 node.js도 nodemon이나 debugging 다 지원해주면서 빠른속도로 다양하게 지원중인 상황

로컬에서 돌리고 있고 시작단계라 프로젝트 규모 커지고 갈아탈까 생각도 하고 있다


4. 기타

  • Design Pattern: MVC(싱글턴이랑 이것밖에 모른다)
    Model: Sequelize 활용

  • API Design, Convention: 구글 가이드 기반
    https://cloud.google.com/apis/design/
    https://google.github.io/styleguide/jsguide.html

    status 코드는 너무 많아서 5개만 줄임
    200: success
    400: bad request
    401: unauthorized
    404: not found
    500: internal server error

당분간 이렇게 정해놓고 몇년은 신규프로젝트는 쭉 이걸로 해먹어야지..

반응형