기본 콘텐츠로 건너뛰기

요즘 Node에 대해 공부 중이다.

요즘 Node에 대해 공부 중이다.

예전부터 조금씩 익혀오긴 했지만 본격적으로 Node 서버에 대해 샘플 프로그램을 작성해 보고 있다. 일반적으로 Mean(MongoDB + Express + angular.js+ NodeJS) 스택을 사용하는데, angular.js 가 익숙하지 못해 MongoDB + Express + Nodejs 까지만 적용해 봤다. 처음 시작할 때는 Javascript 에 대해서 익숙하고 Django를 하다보니 서버쪽도 많이 해봤고, cassandra 로 개발을 해봤기에 NoSQL 경험도 있기에 쉽게 생각했는데......

누군가 나처럼 Django에서 NodeJS 를 공부하는 사람들을 위해 몇가지 기록을 남긴다.

Django 로 개발할 때는 Eclipse + PyDev 를 주력으로 사용했는데, Node 의 경우 Eclipse 가 편하지 않았다. 세팅 환경 잡기도 어려웠다. 물론 내가 제대로된 가이드를 찾지 못해서가 원인 일 수도 있다. 어째든 vscode 로 환경을 설정했는데, 크게 불편하지는 않았다. (물론 난 vscode 로 파이썬을 개발하기도 한다. )

Django 를 주력으로 사용했던 사람이다 보니 뭔가 맨바닥에서 부터 시작한다는 느낌이 드는 것 같았다. Django 의 경우 UserModel 을 기본적으로 제공하는데 Express의 경우 그런게 따로 없다. 그래도 라이브러리가 있는데 Passport.js(http://www.passportjs.org/) 가 가장 많이 사용하는 것 같았다. 그리고 local에서 mongoDB 까지 User 를 생성하려면 아무래도 passport + passport-local + passport-local-mongoose 를 이용하는게 편하다. https://github.com/saintedlama/passport-local-mongoose 에 있는 test 내용을 잘 참고해서 환경을 구축하는게 좋은 것 같다.

Express 템플릿 엔진은 jade 와 ejs 가 있는데 HTML 에 익숙한 사람이라면 ejs 가 더 편하다. Jade 의 경우 기존 HTML 형태가 아니라 새로운 형태로 만들어야 한다. (물론 ejs 도 몇가지 자체 문법이 있다. )

내 경우, Bootstrap 템플릿을 이용해서 HTML 쪽을 구현하는 편이데, HTML 을 수시로 Copy & Paste 하는데 익숙하다보니 내가 개발하는 속도 상에서 너무 차이가 나서 ejs 를 사용했다. (물론 angular.js 를 사용한다면 딱히 템플릿엔진이 필요 할 수 없을 것 같다. )

MongoDB의 경우 모델링 개념 잡는데 조금 어려움을 겪었고, 그리고 그 데이터를 Query 하는데 더 많은 어려움을 겪었다. 모델링보다 Query 구문 만드는게 더 어렵다. 물론 Query 하나하나는 그렇게 까지 어렵지 않은데(물론 오타같은 것은 눈에 안 익어서 고치는게 오래걸린다... 이것 내 머리와 손의 문제다.... 그리고 에러 문구에 익숙해지는 것도 신기술을 배울 때 어쩔 수 없기 겪어야 하는 절차겠지....) 최적화해서 한 방에 Query 짜는 것은 기능을 모두 알지 못해 오래 걸리고 있다. 뭐, 이건 SQL 쪽에서 Query 최적화와 마찬가지니 계속 익혀나가는 수 밖에 없을 것 같다.

어느정도 샘플이 작성된다면 Git 에 올리도록 하겠다.

from http://yiunsr.tistory.com/755 by ccl(S) rewrite - 2020-03-06 19:54:53

댓글

이 블로그의 인기 게시물

[Debugging] AngularJS2 - Can't bind to 'ngModel' since it isn't a...

[Debugging] AngularJS2 - Can't bind to 'ngModel' since it isn't a... - 좋아요 하이 .. !! Angular2 로 개발을 하다가 아래와 같은 에러를 만났다. 흠 .. 이게 뭘까 열심히 구글링을 해봤다. 간단한 내용이다. 모듈을 추가해주기만 하면 된다. app.module.ts를 열어보자. 여기에다가 FormsModule 과 ReactiveFormsModule을 추가해주면 문제가 해결된다 ! 다들 즐거운 코딩하자. from http://devkingdom.tistory.com/106 by ccl(A) rewrite - 2020-03-18 00:54:15

[aws] deploy Angular app with s3 | AWS S3로 angular 앱 배포하기

[aws] deploy Angular app with s3 | AWS S3로 angular 앱 배포하기 angular project를 빌드한다 ng build --prod 그러면 dist 폴더가 생긴다. dist 폴더 안에 있는 아이들을 사용한다. 아마존 s3 콘솔로 이동 https://s3.console.aws.amazon.com/s3/home?region=ap-northeast-2 새로운 Bucket 을 생성한다(Create bucket). 버킷 이름은 고유하게 짓는다. 버킷 생성후 properties tab > static website hosting을 클릭한다. index document는 index.html은 쓴다. properties > static website hosting Permission tab 에서 권한을 수정한다. overview tab 에서 필요한 파일 업로드 dist 폴더 안에 있는 파일들을 업로드 한다. bucket policy 설정 properties > static website hosting > endpoint 클릭하면 서버에 올라간 앱을 확인 할 수 있다 일단 angular 앱을 올리긴 했는데.. 이걸로는 아무것도 할 수 었다. django로 만든 서버를 올리고 database를 연결하고 그것을 지금 이 angular 앱과 연결해야한다. 아직 어떻게 해야 할지는 모르겠음 계속 삽질 중. 그래도 angular app 하나 올라갔는데 재밌네 from http://paigeblog.tistory.com/18 by ccl(A) rewrite - 2020-03-25 16:20:22

Angular2 시작하기

Angular2 시작하기 Angular2 시작하기 1. NodeJS 설치 - https://nodejs.org/ko/ NodeJS 공식 홈페이지 접속하여 Node를 다운 후 설치. 2. NPM 을 통한 Angular-Cli 설치 Window Command 를 통하여 npm install -g @angular/cli 명령어를 실행한다. 위와 같이 정상적으로 angular-cli 가 설치되었다면 Project 가 위치할 폴더를 생성. 참고 사이트 : https://cli.angular.io/ 3. Angular-cli 를 통한 Angular Project 생성. Window Command 를 통한 ng new [폴더명] 위와 같이 Angular 기본 프로젝트가 생성됨. 해당 프로젝트로 폴더로 이동하여 ng serve 명령어 실행 Node 를 통해 Angular 프로젝트 실행. http://localhost:4200 접속하게되면 위와같이 Angular 프로젝트 실행된다. 앞으로 Angular2 의 개념들을 포스팅하면서 Spring-Boot , Spring Project의 Angular-cli 를 이용하여 ng build 하여 포팅하는 글을 올리겠습니다. from http://overclassbysin.tistory.com/3 by ccl(A) rewrite - 2020-03-07 07:55:13