Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

node.js Mac OS에서 설치

OpenSource/node.js 2014.05.01 23:51
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

ㅎㅎㅎ 본격적으로 개발을 하기 위해서 Mac Pro 레티나를 질렀습니다! 예~~~


장난 아니네요 정말...이런 신세계가...ㅠ.ㅠ...


뭔가를 개발 하나 해봐야겠다는 의욕이 넘처나네요^0^


자! 맥북에서의 첫 포스팅입니다! ㅎㅎㅎ


ㄱㄱ~


우선! nodejs site로 가셔서 다운을 받도록 합니다. 패키지로 받으시면 됩니다. 바이너리 아닙니다~

다운로드(Download)를 꾹~눌러줍니다.


그리고나서 Mac에 맞는 패키지를 다운 받습니다.

.pkg 를 받으시면 됩니다~^0^good~


그리고나서 다운받아진 녀석을 클릭하여 다음다음 신공으로 셋팅 해줍니다^0^


설치가 완료되면 아래와 같습니다.


version 확인



npm도 자동으로 깔린다..와우!!


자! npm이 있으니! forever와 express등을 셋팅 해주시면 됩니다.


1) forever

더보기


2) express

더보기

  

그리고...express를 못찾는다..


이와 같이 $ npm install -g express-generator 를 깔아준다.


그런 뒤...


express simpleWeb으로 express 구조의 프로젝트를 만든다.

그런 뒤...express와 연관된 아이들을 깔아준다.

 create : .

   create : ./package.json

   create : ./app.js

   create : ./public

   create : ./public/javascripts

   create : ./public/images

   create : ./public/stylesheets

   create : ./public/stylesheets/style.css

   create : ./routes

   create : ./routes/index.js

   create : ./routes/users.js

   create : ./views

   create : ./views/index.jade

   create : ./views/layout.jade

   create : ./views/error.jade

   create : ./bin

   create : ./bin/www


   install dependencies:

     $ cd . && npm install    <--- 요녀석을 실행 시켜준다. cd 로 해당 프로젝트로 들어간 뒤 npm install로 디펜던시 걸려있는것들을 깔아준다.


   run the app:               <-- 실행은 다음과 같다..음...책과 다르다...그리고 소스 내용 또한 달라졌다...

                                  음....creaetServer()등을 사용 할 수 있었는데...음... 없다고 나온다..ㅋㅋ;;

     $ DEBUG=my-application ./bin/www


node app.js를 실행 시켜주면...동작하지 않는다..-_-;;;

위와 같이...1) DEBUG=simpleWeb  2) bin으로 가서 www를 node www로 실행 시켜 주면 된다..ㅎㅎㅎ

기본적으로 생성되는 소스가 조금 달라진 것 같다..음...


    - END -


acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

[tip.] Nodejs 개발 들어가기 전 정리!!

OpenSource/node.js 2014.04.21 09:57
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

 

<< 1번째 >>

Node 설치가 완료 되었으면

노드 REPL(Read Eval Print-Loop)을 사용 할 수 있다.

웹브라우저의 자바스크립트 콘솔과 유사하게 명령어를 입력하면 바로 실행해 결과를 출력해주는 도구이다.


usage : 커맨드라인에서 파라미터 없이  node라는 명령어를 입력하면 다음과 같이 REPL이 시작된다.

$ node

> 1

1


> var msg= "acet"

undefined

> msg

'acet'




<< 2번째 >>

node의 모듈화를 이해하려면 require()와 module.exports를 알아야 한다.

무슨 말인가하면~ 웹브라우저에서는 HTML의 <script>태그로 필요한 자바스크립트 파일을 불러오고, 로딩된 자바스크립트는 서로 참조하거나 호출 할 수 있다. 하지만 노드는 HTML 파일없이 자바스크립트 파일만 존재하기 때문에서로 참조하고 호출하기 위한 방법이 필요하다.

이를 위해 require()와 module.exports를 사용한다.(CommosJS의 모듈 표준)


"노드에서는 하나의 자바스크립트 파일이 하나의 모듈이 된다."

"자바스크립트 파일에서 정의한 객체는 모두 외부에서는 접근할 수없고 내부에서만 접근할 수 있는 

  지역 범위로 정의 된다."


그래서 외부에서의 접근을 허용해야 하는 객체는 명시적으로 지정해야한다.

함수나 변수를 module.exports에 할당하면 외부에서 접근할 수 있다.

모듈을 사용하는 파일에서는 require()로 다른 자바스크립트 파일을 불러와 module.exports로 허용된 

변수나 함수를 사용한다.


require의 사용법을 알아보자.

노드는 많은 기본모듈을 제공을 하며, 이 기본 모듈은 다음처럼 require()로 불러온다.

var filesystem = require('fs');

var util = require('util');


fs는 파일시스템 관련 기본 모듈이고, util은 유틸리티 함수를 제공하는 기본모듈이다.

즉, 기본모듈인 fs.js와 util.js를 변수에 담고, 그 변수로 각 모듈의 함수를 사용하게 되어진다.


module.exports는 다음 세 가지 방법이 모두 가능하다.

  1) exprots = {};

  2) exports = something = {};

  3) module.exports = {};


ex) require()와 module.exports에 대한 예제 이다.

  // user_module.js

  var ace = module.exports={};


  // demo.js

  var usermodule = require('./user_module');


  require('./user_module')로 user_module.js를 불러와 usermodule 변수에 할당하면 ace 변수와 같은 객체를   참조한다.


tip)

require()를 사용할 때 주의할 점은 require()로 불러진 파일은 노드 app내에 캐싱된다는 점이다.





<< 3번째 >>

익스프레스에 대해서 알아보자.

익스프레스 : TJ할로웨이척이 만든 오픈소스 경량 웹 프레임워크이다.

app.js             : express의 메인 파일로 웹 서버 생성, 라우팅 등을 모두 app.js에서 한다.

package.json : 프로젝트의 정보를 담고 있는 npm의 설정 파일이다. 

routes/           : 라우팅 관련 함수, 즉 URL에 따라 호출될 함수를 모아두는 디렉토리다. 라우팅에 있는 파일들을 

                         app.js에서 불러와 웹 서버에 라우팅을 연결한다.

public/            : css, javascript, image등의 정적 파일을 모아두는 디렉토리. 기본적으로 style.css가 

                         생성돼 있다.

views/             : 뷰 파일이 위치하는 디렉토리이다. 자바라면 JSP 파일이 위치하는 디렉토리와 같고, 뷰템플릿에 

                          따라 관련 파일이 저장되어진다.(.jade, .ejs 등)


라우팅은 app.get(), app.post(), app.put() 등의 함수를 사용 한다.

요 정도만 정리를 하고 개발을 하면서 필요한 것들은 사용해보면서 정리 해보도록 하겠습니다.^-^

node.js 트레이닝 ㄱㄱㄱ~~








acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

npm(node package manager)

OpenSource/node.js 2014.02.08 16:44
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


 

120page / 아웃사이더님 노드제이에스 프로그래밍 책을 기반으로 합니다.

npm (node package manager)

node 0.6.3 이후 부터 포함 되어있다고 합니다.

[root@localhost ~]# npm -v

1.3.24



[root@localhost ~]# npm


Usage: npm <command>


where <command> is one of:

    add-user, adduser, apihelp, author, bin, bugs, c, cache,

    completion, config, ddp, dedupe, deprecate, docs, edit,

    explore, faq, find, find-dupes, get, help, help-search,

    home, i, info, init, install, isntall, issues, la, link,

    list, ll, ln, login, ls, outdated, owner, pack, prefix,

    prune, publish, r, rb, rebuild, remove, repo, restart, rm,

    root, run-script, s, se, search, set, show, shrinkwrap,

    star, stars, start, stop, submodule, tag, test, tst, un,

    uninstall, unlink, unpublish, unstar, up, update, v,

    version, view, whoami


npm <cmd> -h     quick help on <cmd>

npm -l           display full usage info

npm faq          commonly asked questions

npm help <term>  search for help on <term>

npm help npm     involved overview


Specify configs in the ini-formatted file:

    /root/.npmrc

or on the command line via: npm <command> --key value

Config info can be viewed via: npm help config


npm@1.3.24 /home/acetaeha/nodejs/0.10.25/lib/node_modules/npm


말그대로 노드에서 사용하는 api 같은 것들이라고 보면 된다.
C언어에서의 lib 같은 것들!

 

주옥같은 핵심 3가지!

1) npm은 노드의 확장 모듈을 관리! 

2) npm은 확장 모듈을 글로벌과 로컬로 나눠 설치 한다.

   커맨드라인에서 명령어로 사용하는 확장 모듈은 글로벌로 설치하고, npm install 모듈명 -g 명령어를 사용!

3) 소스에서 require()로 사용하는 확장 모듈은 로컬로 설치하고 npm install 모듈명 명령어를 사용한다.

 

다음 시간에는 사용을 해보도록 하자^^

                       - END -



acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

NODE.JS 프로그래밍 - 3.13 TCP를 이용한 채팅 에제 실습

OpenSource/node.js 2014.02.06 20:57
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


NODE.JS 프로그래밍 - 3.13 TCP를 이용한 채팅 에제 실습 - 111page


<< Server - 서버를 기동 >>

[root@localhost nodejs]# node tcp-chat.js

TCP Chatting Server Start....


<< Client - telnet으로 접속하여 채팅을 합니다. >>

[acetaeha@localhost ~]$ telnet localhost 8000

Trying ::1...

telnet: connect to address ::1: Connection refused

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

127.0.0.1 님의 말 : hi~bro.

hi~~How are u? ^-^

127.0.0.1 님의 말 : I'm ok zzzz Bye~~

ok Seeya~~~ 



 [root@localhost ~]# telnet localhost 8000

Trying ::1...

telnet: connect to address ::1: Connection refused

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

hi~bro.

127.0.0.1 님의 말 : hi~~How are u? ^-^

I'm ok zzzz Bye~~

127.0.0.1 님의 말 : ok Seeya~~~





<< 참고 동영상 >> 

유후~유투브를 사용하게 되었네요 ㅎㅎ 고화질로 설정해 보시면 됩니다.



4장, npm을 이용한 의존성 확장 모듈 관리..기대된다...+ㅁ+/

3장 실습을 하는데....telnet이 깔려있지 않아서...삽질했다...ㅋㅋㅋㅋㅋ

telnet 설치에는 Server와 Client 두개가 필요하다..ㅠㅠ

참조 : 

2014/02/06 - [OS/Linux&Unix] - 리눅스 - telnet 설치 및 사용하기


<< 예제 소스 : tcp-chat.js >>


 var net = require('net')

      , sockets=[];


 var server = net.createServer(function(socket){

    sockets.push(socket);


   socket.on('data', function(data){

     for(var i = 0; i < sockets.length; i++){

        if(sockets[i] !== socket){

           sockets[i].write(socket.remoteAddress + ' 님의 말 : ' + data);

        }

     }

   });


   socket.on('end', function(){

      var i = sockets.indexOf(socket);

      sockets.splice(i,1);

   });


 });


 server.listen(8000);


 console.log('TCP Chatting Server Start....');



            - END -

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

node.js 시작하기

OpenSource/node.js 2014.01.29 00:56
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T


title : node.js  시작하기

 

index

1. node.js 소스

2. 노드 란?

 

본 글은 node.js 프로그래밍, 아웃사이더님의 책으로 작성이 되어졌음을 알려드립니다.

학습을 목적으로 한 글 입니다.


<< node.js 소스 >>

1) 소스 : https://github.com/outsideris/node.js-programming


<< 노드 란? >>

노드는 자바스크립트로 네트워크 애플리케이션을 작성 할 수 있는 플랫폼이다.

즉, 서버사이드 자바스크립트라고 할 수 있다.


<< 참고 사이트 >>

http://hosang.tistory.com/entry/Linux-에서-Nodejs-설치하기


acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

node.js 프로그래밍

Life of AceT/Good book 2014.01.29 00:24
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

오늘은 아웃사이더님의 node.js 프로그래밍이라는 책을 강남 교보문고에서 구입하였다.
지하철에서 읽는데 쭉쭉 읽히는게 재미있을 것 같다. ㅎㅎㅎ 열공 해보자~아자아자!
Push server 를 알아야해서 관심이 가게 된 node.js 친해지자긔~~ㅋㅋㅋ

TIP
책의 내용을 따라 하되 주의해야할 사항이 있다. 아래를 참고하자.
아웃사이더님 블로그에서 퍼왔다..다시 가기 귀찮....ㅋㅋㅋ;;

더보기


                              - END -

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바