본문 바로가기

Programming

node.js로 블로그 만들기 <<1>>

 이때까지 C, C++, Python을 이용해 많은 코딩을 해 왔지만 웹 코딩은 안해봤습니다.

 웹 특성상 코드 수정을 안해도 환경에 따라 결과가 다르게 나오는것과 같은 제 머리속 논리와는 다르게 나오는 문제 때문에 이때까지 정을 못 붙이고 있었지요...

 근데 개발을 하다보니 역시 사람들에게 보여줄 수 있는건 웹이고 최근에는 웹을 통해 많은 것들을 할 수 있기 때문에 웹 공부를 하기로 했습니다.

 그리고 JS도 공부해 볼겸 Node.js의 Express 엔진과 Jade, Mysql을 이용해 만들기로 하였습니다.(OS 환경은 제 맥북인 OSX 요세미티입니다)

git은 동아리 서버를 사용하고 있고, 주소는 http://yobi.newheart.kr/yumere/NodeBlog 입니다.


1. Node.js

 Node.js는 확장성 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼이다. Node.js는 작성언어로 자바스크립트를 활용하여 Non-blocking IO와 단일 쓰레드 이벤트 루프를 통한 높은 처리 성능을 갖고 있다.

 Node.js는 내장 HTTP 서버 라이브러리를 포함하고 있어 웹서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통한 웹 서버의 동장에 있어 더 많은 통제를 가능케 한다.(출처: 위키백과)


    • Express Engine
 node.js는 여러 종류의 웹 프레임 웍을 제공합니다. 그 중 많이 사용되는 프레임 웍인 Express가 있습니다.
Express는
        • 강력한 라우팅
        • 리다이렉션 헬퍼
        • 동적 뷰 헬퍼
        • 애플리케이션 레벨 뷰 옵션
        • 컨텐츠 니고시에이션
        • 애플리케이션 마운트
        • 고성능에 초첨
        • 뷰 그리기 및 파셜 지원
        • 설정 기반 구성
        • 세션기반의 플래시 알림
        • Connect 모듈 내장
        • 전용 명령어 지원으로 신송한 애플리케이션 생성
        • 높은 테스트 범위
등의 특징을 갖고 있습니다.

    • Jade - template engine
 jade는 node.js 뷰 템플릿 엔진으로 웹 프레임워크인 Express에서 사용할 수 있으며 HTML 태그보다 상당히 심플한 형태의 마크업을 작성하면 자동으로 HTML을 생성해 주는 역할을 하고 있습니다. Express에서 view engine을 jade로 설정해 주거나, 파일명.jade를 사용하면 jade 템플릿 엔진을 사용할 수 있습니다.

2. Node.js, Express, Jade 설치(Mac OSX 기준입니다)
 node.js 설치는 매우 간단합니다. http://nodejs.org/ 에 접속해 아래 그림과 같이 INSTALL을 눌러주시거나, Mac의 패키지 관리자인 brew를 이용해 brew install node 명령어를 입력하면 설치할 수 있습니다.


 Express의 경우 http://expressjs.com/ 사이트에서 설명과 API 등을 자세히 볼 수 있습니다.(영문입니다.)

 블로그로 만들고자 하는 폴더를 생성하고, npm을 통해 패키지를 init을 한 후 express를 설치합니다.

    • mkdir myapp
    • cd myapp
    • npm init
    • npm install express --save

 위와 같이 설치를 진행하면 아래 그림과 같이 node_modules 폴더 내에 express가 생긴것을 볼 수 있습니다.




 마찬가지로 jade 또한 npm install jade 명령을 통해 설치하면 되고, node_modules 폴더내에 존재하게 됩니다.


3. 간단하게 Test

 간단하게 index.js를 만들고 express를 이용해 접속하면 hello world를 출력하면 서버를 만들어 보도록 하겠습니다.

 myapp 폴더내에 index.js 파일을 만들고 아래 그림과 같이 코드를 작성합니다.



 이 후 node index.js 명령어를 실행하면 express가 실행이 되고 브라우저를 이용해 http://localhost:3000 으로 접속하면 정상적으로 실행되는 것을 확인할 수 있습니다.