ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1장 - 환경구성 ( Node.js, MongoDB ) 설치
    MeanStack (deprecated) 2016. 6. 4. 00:19




    1. Node.js 설치 


    최근 MeanStack에 관련된 책과 강의를 보며 구글링을 해보았지만 국내에서는 많은 자료를 찾기 힘들었다.


    그래서 복습도 할 강의와 책을 통해 배웠던 내용을 조금 더 알기 쉽게 풀어서 내용을 적으려고 한다.


    이번 MeanStack 의 최종점은 간단한 SNS Web applicaiton을 만드는 것 이 최종목표이고 , 


    추후 Angular.js 2 를 활용한 application 도 같이 만들 것 이다. 



    MeanStack 을 처음 접하는 사람도 쉽게 따라 올 수 있고, 나중에 내가 봐도 '아' 하면 '어' 하고 나올 수 있도록


    처음부터 끝까지 최대한 쉽게 풀어보려고 한다. (사실 본인도 초보라 설명을 디테일하게 하지 못 한다...)




    먼저 작업환경 구성을 위해 Node.js 를 설치 해보자.


    (참고로 Windows 환경에서 작업하였다. 만약 Linux 환경이라면 


     https://nodejs.org/en/download/package-manager/   <-- 여기를 참조하자.)




    https://nodejs.org/ko/     <--  노드 홈페이지 






    접속하면 다음과 같은 화면이 나온다.  


    현재 Node 의 최신버전은 v6.2.1 인데 , 보통 여기서 결정장애가 있는 사람은 현재버전을 받을려다가 


    옆에 안정적, 신뢰도 높음 이라는 걸 보고 뭘 받아야 되지? 하고 고민할 수 도 있다.


    저 문구에 홀리면 안된다.  




    (현대인 대다수가 겪고 있는 질병 결정장애)




    Javascript 의 라이브러리 또는 프레임워크는 오픈소스가 대부분이라 업데이트가 무지하게 (짜증나게) 자주 되고


    그에 따라 소소하게 계속 바뀌는 부분이 많다.  


    어짜피 결국 업데이트 하게 될 건데 굳이 안정적이라고 예전 버전을 받을 필요는 없다.   


    과감하게 최신 기능이 들어있는 현재 버전을 다운로드 하자.   





     (.....그냥 평범한 SETUP 화면이다.)


                              


    SETUP 을 마치고 나면 바로 Node.js 를 사용할 수 있다 !! 


    예전에는 윈도우 환경변수에 Node.js 경로를 따로 추가시켜야 했지만 이제는 자동으로 추가 시켜준다. 


    정말 편하고 좋은 세상이다. 





    2. Node.js 실행 



    설치한 기념으로 Node.js 를 실행해보자. 


    기본적으로 Node.js는 command prompt , 즉 커맨드 입력창에서 실행을 한다. 



    윈도우의 cmd 창을 열고 , node 라고 입력 후에 엔터를 치자. 


    그런 후에 console.log('first')  를 치고 엔터를 처보자. 






    위 스샷처럼 나와야 정상이다.


    한번 더 확인하기 위해 메모장을 열고 console.log('first start'); 를 적고 first.js 로 저장하자. 

    (메모장에서는 모든파일로 바꾸고 저장해야 한다.)


    해당 파일이 있는 경로에서 node first.js 를 적고 엔터를 치자. 





    위 화면처럼 console.log 가 제대로 출력된다면 설치가 완벽하게 된 것이다.






    3. MongoDB 설치 



    일단 Node.js 의 설치를 확인했으니 다음은 우리의 DB를 담당 할 든든한 서포터 MongoDB 를 설치 해보자. 


    https://www.mongodb.com/download-center?jmp=nav#community  <-- MongoDB 다운로드 페이지 




       

    접속하면 위와 같은 화면이 나오고 OS별로 다운로드 받을 수 있다. 


    다운로드 받고 설치를 하자. 




    (여기서 또 머뭇 거리면 안된다. Complete 을 고르자.)



    설치를 했으면 가장 먼저 사용하기 쉽게 윈도우 환경변수에 등록을 하자.


    내 컴퓨터 -> 속성 -> 고급 시스템 설정 -> 고급 -> 환경변수 -> 시스템변수 -> Path 편집 클릭 


    -> 마지막 부분에 MongoDB를 설치한 폴더의 경로를 적어주자. 

       (기본 경로라면 C:\Program Files\MongoDB\Server\3.2\bin 가 될 것이다.)






    4. MongoDB 실행



    환경 변수를 설정 하였다면 이제 MonogDB를 Test 해 볼 시간이다. 


    cmd 창을 열고 mongod 를 입력해보자. 




    실행하면 위 화면과 같이 에러와 함께 실행이 되지 않을 것 이다.  당연한 결과이다. 


    MongoDB를 실행 하기 위해서는 데이터 폴더를 만들거나 경로를 지정해 주어야 한다. 


    데이터 폴더를 만들기 위한 명령어는 md data\db 이다. 


    해당 명령어를 입력하면 현재 위치에 data 폴더가 생성 될 것이다.  


    이제 다시 mongod 를 실행하면 에러없이 정상적으로 실행이 될 것이다. 






    위 화면과 같이 데이터 폴더는 C:\data\db 를 사용하고 포트는 27017 을 사용하는 mongodb 가 구동 되었다. 


    또 다른 손쉬운 방법은 데이터 폴더를 만들지 않아도 mongod --dbpath=(사용할 데이터 폴더경로)  를 이용하면


    mogodDB 에서 자동으로 해당폴더에 데이터 폴더를 생성하면서 실행이 된다.




    mongod 구동에 성공했다면 이제 몽고 쉘을 사용해보자 . 직접 db를 조작해 보는 것 이다. 


    이번에는 간단한 명령어만 사용해 볼 것이다.




    먼저 mongod 를 구동 시킨 뒤  cmd 창을 하나 더 켜서 mongo 를 적고 실행을 해보자.




    위와 같이 몽고디비 명령창이 나타날 것 이다. 


    먼저 use first 라고 입력하고 실행 하면 switched to db first 라는 문구가 뜰 것이다.


    mongodb는 따로 db를 만드는 명령이 없어도 use 커맨드를 이용한다면 자동으로 merge 가 된다. 

    (db 가 있다면 해당 db로 바뀌고 없다면 자동으로 생성한다.)




    또는 mongo 를 실행 할 때 인수로 db 명을 같이 주는 방법도 있다.  (ex : mongo db명 )


    이번엔 show dbs 명령어를 실행해보자. 


    show dbs 명령어는 해당 db에 다큐먼트가 1개라도 저장된 모든 가용 데이터 베이스의 목록을 보여준다. 

    (처음에는 local 만 존재 할 것이다.)




    mongoDB 에서는 기존 관계형데이터베이스 에서 사용하는 테이블과 유사한 개념으로 collection 이라는 것 을 


    사용한다.  collection 도 따로 생성할 필요 없이 첫 데이터를 넣을 때 자동으로 생성이 된다. 




    그럼 collection 에 데이터를 넣어보자. 


    mongo 명령창에서 db.test.insert ({ "title" : "First data" , "user" : "king}) 을 입력해보자. 


    mongoDB 는 JSON 의 이진 바이너리 형식인 BSON 을 사용하기 때문에 입력할 때 JSON 형식으로 


    입력을 한다.





    위 화면처럼 insert 되었다는 확인 메시지가 나오고  


    바로 이어서 db.test.find() 라는 명령어를 실행하면 방금 넣었던 데이터가 나올 것 이다. 


    db.test.find() 명령어는 관계형 데이터 베이스에서 select * from test 와 같다고 보면 된다.  


    db.collection이름.명령어  형식으로 기본적인 질의를 실행 한다는 것을 기억하자. 


    데이터의 있는 "_id" 항목은 unique key  즉 , RDBMS의 primary key 와 같은 개념이다. 


    유일하게 각 데이터를 식별하는 항목이고, 데이터를 넣을 때 자동으로 생성이 된다. 




    이번엔 show collections 명령어를 실행 하여 보자. 


    현재 db에서 사용가능한 collection 목록이 나올 것이다.  현재 데이터를 넣은 test 가 나와야 정상이다. 




    마지막으로 db.test.drop() 을 실행 해보자 . 




    drop() 명령어는 해당 collection 을 삭제하는 명령어이다. 


    실행하면 성공적으로 실행되었다는 true 메시지가 나오며 해당 collection 이 삭제 된다. 


    show collections 명령어를 실행해보면 test collection 이 삭제 된 것을 알 수 있다. 




    이번엔 간단한 mongoDB 의 맛만 보았고 나머지 CRUD 작업은 web service 를 직접 만들면서 차근차근 


    배울 것 이다. 



    작업을 위한 Tool은 현재 본인은 sublimeText3 포터블 버전을 사용 중 인데 , Tool 은 개발자의 취향이므로 


    어떤 것을 사용해도 무방하다. 여러 Tool 을 설치하여 써보고 마음에 드는 것을 사용하자. 


    보통 sublimetext , atom , webstrom 등을 많이 사용한다.  




    다음엔 mean stack 개발을 위한 간단한 tool 설정과 node.js 서버를 설정하고 실행해본다. 





    (끝)











    댓글