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

[node.js] Express , node api 참고 사이트 및 약간의 소스분석!

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



express api에 대해 내용이 있다. 내용들이 많이 달라진 듯 하다..헐~

http://expressjs.com/4x/api.html


node는 요 사이트!

http://nodejs.org/api/


소스를 분석 해보자!

아웃사이더님 책 소스 분석 내용..express site의 api를 가도...사라진 것들이 많이 보인다..킁;

참고사항



<< express로 만들어진 소스!! >>

var express = require('express');          // express module를 express variable에 대입!

var path = require('path');                // path module!!

var favicon = require('static-favicon');   // favicon!!

var logger = require('morgan');            // morgan!!

var cookieParser = require('cookie-parser'); // cookie-parser!!

var bodyParser = require('body-parser');      // body-parser..!!


var routes = require('./routes/index');    // 경로를 잡아준다! index.js와 users.js의 경로!!

var users = require('./routes/users');


var app = express();        


// view engine setup

app.set('views', path.join(__dirname, 'views'));

app.set('view engine', 'jade');


app.use(favicon());

app.use(logger('dev'));

app.use(bodyParser.json());

app.use(bodyParser.urlencoded());

app.use(cookieParser());

app.use(express.static(path.join(__dirname, 'public')));


app.use('/', routes);

app.use('/users', users);


/// catch 404 and forwarding to error handler

app.use(function(req, res, next) {

    var err = new Error('Not Found');

    err.status = 404;

    next(err);

});


/// error handlers


// development error handler

// will print stacktrace

if (app.get('env') === 'development') {

    app.use(function(err, req, res, next) {

        res.status(err.status || 500);

        res.render('error', {

            message: err.message,

            error: err

        });

    });

}


// production error handler

// no stacktraces leaked to user

app.use(function(err, req, res, next) {

    res.status(err.status || 500);

    res.render('error', {

        message: err.message,

        error: {}

    });

});



module.exports = app;


음...다양한 방식이 있는 것 같다. 스타일에 맞게!! 하면 될 듯 싶다^-^

단, express는 변덕쟁이인듯 싶다..http에 있던 createServer()등을 사용하지 못하니 말이다..책의 예제가 안돌아간다..OTL...


- END -

설정

트랙백

댓글

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

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을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

ㅠ ㅠ 이런..

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

curl http://npmjs.org/install.sh | sh 이 먹히질 않아서...

curl 좀 설치해서 사용하려고 하는데...

sudo -i 옵션이 안먹히네요......OTL 




server : CentOS


step 1. http://curl.haxx.se/download.html 로 가셔서 다운을 받습니다.

CentOS는 패키지가 없으므로..아래에서 다운을 받아서!! 처리하면 되겠습니당~




리눅스에 업로드를 하신 뒤에

압축을 풀어줍니다 살포시~

tar xvfz curl-7.36.0.tar.gz


아래의 명령어를 쳐줍니다.

$ ./configure

$ make

$ make install


root 권한을 얻어서..다시 정리하도록 하겠습니다..ㅠ ㅠ 


- END -



설정

트랙백

댓글

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

[node.js] subModule version up 시 문제

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

 

subModule version up 시 문제가 발생!!


express라는 녀셕을 npm install express를 통해 상위 버전을 가져와서 셋팅 하였더니..

소스상에서 app.configure()해주는 부분에 파라미터가 달랐다..


기존은 파리미터가 2개, 새로 받은 것은 3개..


// as-is source

app.configure('development', function(){

  app.use(express.errorHandler());

});



// ERROR 

$ node logViewer.js

error: Caught exception: TypeError: Object function (req, res, next) {

    app.handle(req, res, next);

  } has no method 'configure'



소스상의 코드에 영향을 주었다.


   - END -



'OpenSource > node.js' 카테고리의 다른 글

node.js Mac OS에서 설치  (0) 2014.05.01
ㅠ ㅠ 이런..  (0) 2014.04.30
[node.js] subModule version up 시 문제  (0) 2014.04.21
[ERROR] Error: Cannot find module './lib/process'  (0) 2014.04.21
[tip.] Nodejs 개발 들어가기 전 정리!!  (0) 2014.04.21
node.js 셋팅(리눅스 ver)  (0) 2014.04.17

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

설정

트랙백

댓글

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

[ERROR] Error: Cannot find module './lib/process'

OpenSource/node.js 2014.04.21 21:16
[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 오류

아래의 오류내역은 퍼왔습니다. 내용은 동일!
참고 사이트 : http://stackoverflow.com/questions/9878375/error-cannot-find-module-lib-socket-io
$ node server.js

node.js:237
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module './lib/socket.io'
    at Function._resolveFilename (module.js:333:15)
    at Function._load (module.js:280:25)
    at Module.require (module.js:357:17)
    at require (module.js:373:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/socket.io/index.js:8:18)
    at Module._compile (module.js:444:26)
    at Object..js (module.js:462:10)
    at Module.load (module.js:351:32)
    at Function._load (module.js:309:12)
    at Module.require (module.js:357:17)
위와 같은 오류가 발생했다..

서버에 셋팅되어진 node와 로컬에 있는 노드가 달라서 오류가 나는거 같아서..node만 새로 셋팅 했더니

정삭 작동 하였다~


p.s npm으로 가져온 subModule하고는 전혀 상관 없었다.


- END -


'OpenSource > node.js' 카테고리의 다른 글

ㅠ ㅠ 이런..  (0) 2014.04.30
[node.js] subModule version up 시 문제  (0) 2014.04.21
[ERROR] Error: Cannot find module './lib/process'  (0) 2014.04.21
[tip.] Nodejs 개발 들어가기 전 정리!!  (0) 2014.04.21
node.js 셋팅(리눅스 ver)  (0) 2014.04.17
windows] express 셋팅  (0) 2014.04.17

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을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

node.js 셋팅(리눅스 ver)

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



환경 : Linux 64bit


http://nodejs.org/download/

로 접속하시면 아래의 내용이 나옵니다. 상황에 맞게 다운로드를 받되 소스 코드를 받으세요~





Windows Installer (.msi)
32-bit64-bit
Windows Binary (.exe)32-bit64-bit
Mac OS X Installer (.pkg)Universal
Mac OS X Binaries (.tar.gz)32-bit64-bit
Linux Binaries (.tar.gz)32-bit64-bit
SunOS Binaries (.tar.gz)32-bit64-bit
Source Codenode-v0.10.26.tar.gz

Note: Python 2.6 or 2.7 is required to build from source tarballs.


위의 노트 에서와 같이 Python이 필요 합니다...

Index of /ftp/python/2.7.5/


../
Python-2.7.5.tar.bz2                               12-May-2013 03:46            12147710
Python-2.7.5.tar.bz2.asc                           12-May-2013 03:43                 198
Python-2.7.5.tar.xz                                12-May-2013 03:48            10252148
Python-2.7.5.tar.xz.asc                            12-May-2013 03:43                 198
Python-2.7.5.tgz                                   12-May-2013 03:51            14492759
Python-2.7.5.tgz.asc                               12-May-2013 03:43                 198
python-2.7.5-macosx10.3.dmg                        16-May-2013 01:48            20395084
python-2.7.5-macosx10.3.dmg.asc                    16-May-2013 02:00                 487
python-2.7.5-macosx10.6.dmg                        13-May-2013 20:24            19979778
python-2.7.5-macosx10.6.dmg.asc                    13-May-2013 20:47                 487
python-2.7.5-pdb.zip                               15-May-2013 20:54            18236482
python-2.7.5-pdb.zip.asc                           15-May-2013 20:57                 203
python-2.7.5.amd64-pdb.zip                         15-May-2013 20:56            17556546
python-2.7.5.amd64-pdb.zip.asc                     15-May-2013 20:58                 203
python-2.7.5.amd64.msi                             15-May-2013 20:56            16617472
python-2.7.5.amd64.msi.asc                         15-May-2013 20:58                 203
python-2.7.5.msi                                   15-May-2013 20:54            16228352
python-2.7.5.msi.asc                               15-May-2013 20:57                 203
python275.chm                                      15-May-2013 20:50             5997097
python275.chm.asc                                  23-Jul-2013 12:14                 203

<< PYTHON SETTING >>

 ./configure --prefix /home/nodejs/svc0/python


make


make test


--prefix /home/nodejs/svc0/python

python]$ ls

make instal

python]$ ls

bin  include  lib  share


<< NODE SETTING >>

python export

$ export PATH=/home/nodejs/svc0/python/bin:$PATH


 ./configure --prefix /home/nodejs/svc0/node.js

{ 'target_defaults': { 'cflags': [],

                       'default_configuration': 'Release',

                       'defines': [],

                       'include_dirs': [],

                       'libraries': []},

  'variables': { 'clang': 0,

                 'gcc_version': 41,

                 'host_arch': 'x64',

                 'node_install_npm': 'true',

                 'node_prefix': '/home/nodejs/svc0/node.js',

                 'node_shared_cares': 'false',

                 'node_shared_http_parser': 'false',

                 'node_shared_libuv': 'false',

                 'node_shared_openssl': 'false',

                 'node_shared_v8': 'false',

                 'node_shared_zlib': 'false',

                 'node_tag': '',

                 'node_unsafe_optimizations': 0,

                 'node_use_dtrace': 'false',

                 'node_use_etw': 'false',

                 'node_use_openssl': 'true',

                 'node_use_perfctr': 'false',

                 'node_use_systemtap': 'false',

                 'python': '/home/nodejs/svc0/python/bin/python',

                 'target_arch': 'x64',

                 'v8_enable_gdbjit': 0,

                 'v8_no_strict_aliasing': 1,

                 'v8_use_snapshot': 'true'}}

creating  ./config.gypi

creating  ./config.mk


$ make


$ maek test


<< error >>


=== release test-net-pingpong ===
Path: simple/test-net-pingpong
/home/nodejs/tools/node-v0.10.26/test/tmp/test.sock
server listening on /home/nodejs/tools/node-v0.10.26/test/tmp/test.sock undefined
server listening on 12346 undefined
events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EAFNOSUPPORT
    at errnoException (net.js:904:11)
    at Server._listen2 (net.js:1023:19)
    at listen (net.js:1064:10)
    at net.js:1146:9
    at dns.js:72:18
    at process._tickCallback (node.js:415:13)
    at Function.Module.runMain (module.js:499:11)
    at startup (node.js:119:16)

    at node.js:902:3



$ make install


 ./configure --prefix /home/nodejs/svc0/node.js

로 정해준 /home/nodejs/svc0/node.js에 가보면 아래와 같이 bin include lib share등이 

install되어진 것을 확인 할 수 있다.


node.js]$ ls

bin  include  lib  share


Python과 Node의 셋팅이 끝이 났다면...  .bash_profile의 PATH에 추가하여준다.

PATH=$PATH:$HOME/bin:/home/nodejs/svc0/python:/home/nodejs/svc0/node.js/bin

export PATH


적용하기 위해서는 . .bash_profile  or source .bash_profile 등이 되겠다.


아...자꾸 날아가서...ㅠㅠ

npm 버전은??

$npm -v

1.4.3


npm install buffer-writer

npm install date-utils

npm install error

npm install express

npm install forever -g

npm install jade

npm install socket.io


위의 형식으로..아래의 서브모듈들을 설치 하였다.


byline     easy-pipe  file       tail        uptime

commander  express    socket.io  underscore  winston


Module Dependency

각 모듈에 들어가보면..

ex) /home/nodejs/svc0/subModule/node_modules/socket.io

package.json 라는 파일이 있으며 이 파일에서 dependencies를 확인하여 보면 된다.


"dependencies": {

    "socket.io-client": "0.9.16",

    "policyfile": "0.0.4",

    "base64id": "0.1.0",

    "redis": "0.7.3"

  },








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

설정

트랙백

댓글

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

windows] express 셋팅

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



HTTP 기본 모듈로 웹서버를 작성 했지만 HTTP모듈은 로우레벨 API만 제공하므로 사용하기 편리하지 않다.

그래서 노드에도 웹 프레임워크가 있다.

그중 인기 있는 것이 바로 "express" 이다.


익스프레스 : http://expressjs.com/

                  TJ Holowaychuk 이 만든 오픈소스 경량 웹 프레임워크


환경 : window 7

         node (window ver) 설치 된 상태



설치 : 


cmd 커맨트 창을 열고 C:\Program Files\nodejs 가 있는 곳으로 간다.(npm이 있는 곳이다.)

아래와 같이 npm install -g or npm install -g express 명령어로 설치를 한다.

 

C:\Program Files\nodejs>npm install -g express

npm http GET https://registry.npmjs.org/express

npm http 200 https://registry.npmjs.org/express

npm http GET https://registry.npmjs.org/express/-/express-4.0.0.tgz

npm http 200 https://registry.npmjs.org/express/-/express-4.0.0.tgz

npm http GET https://registry.npmjs.org/parseurl/1.0.1

npm http GET https://registry.npmjs.org/accepts/1.0.0

npm http GET https://registry.npmjs.org/type-is/1.0.0

npm http GET https://registry.npmjs.org/range-parser/1.0.0

npm http GET https://registry.npmjs.org/cookie/0.1.0

npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1

npm http GET https://registry.npmjs.org/fresh/0.2.2

npm http GET https://registry.npmjs.org/methods/0.1.0

npm http GET https://registry.npmjs.org/send/0.2.0

npm http GET https://registry.npmjs.org/cookie-signature/1.0.3

npm http GET https://registry.npmjs.org/merge-descriptors/0.0.2

npm http GET https://registry.npmjs.org/utils-merge/1.0.0

npm http GET https://registry.npmjs.org/escape-html/1.0.1

npm http GET https://registry.npmjs.org/qs/0.6.6

npm http GET https://registry.npmjs.org/serve-static/1.0.1

npm http GET https://registry.npmjs.org/path-to-regexp/0.1.2

npm http GET https://registry.npmjs.org/debug

npm http 200 https://registry.npmjs.org/parseurl/1.0.1

npm http 200 https://registry.npmjs.org/range-parser/1.0.0

npm http 200 https://registry.npmjs.org/type-is/1.0.0

npm http 200 https://registry.npmjs.org/accepts/1.0.0

npm http 200 https://registry.npmjs.org/cookie/0.1.0

npm http GET https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz

npm http GET https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz

npm http GET https://registry.npmjs.org/accepts/-/accepts-1.0.0.tgz

npm http GET https://registry.npmjs.org/type-is/-/type-is-1.0.0.tgz

npm http GET https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz

npm http 200 https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz

npm http 200 https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz

npm http 200 https://registry.npmjs.org/accepts/-/accepts-1.0.0.tgz

npm http 200 https://registry.npmjs.org/fresh/0.2.2

npm http 200 https://registry.npmjs.org/type-is/-/type-is-1.0.0.tgz

npm http 200 https://registry.npmjs.org/methods/0.1.0

npm http 200 https://registry.npmjs.org/buffer-crc32/0.2.1

npm http 200 https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz

npm http 200 https://registry.npmjs.org/send/0.2.0

npm http GET https://registry.npmjs.org/methods/-/methods-0.1.0.tgz

npm http GET https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz

npm http GET https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz

npm http GET https://registry.npmjs.org/send/-/send-0.2.0.tgz

npm http 200 https://registry.npmjs.org/cookie-signature/1.0.3

npm http GET https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.

3.tgz

npm http 200 https://registry.npmjs.org/merge-descriptors/0.0.2

npm http 200 https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz

npm http 200 https://registry.npmjs.org/escape-html/1.0.1

npm http 200 https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz

npm http 200 https://registry.npmjs.org/qs/0.6.6

npm http 200 https://registry.npmjs.org/methods/-/methods-0.1.0.tgz

npm http 200 https://registry.npmjs.org/send/-/send-0.2.0.tgz

npm http GET https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-

0.2.tgz

npm http GET https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz

npm http GET https://registry.npmjs.org/qs/-/qs-0.6.6.tgz

npm http 200 https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.

3.tgz

npm http 200 https://registry.npmjs.org/utils-merge/1.0.0

npm http 200 https://registry.npmjs.org/serve-static/1.0.1

npm http GET https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz

npm http GET https://registry.npmjs.org/serve-static/-/serve-static-1.0.1.tgz

npm http 200 https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-

0.2.tgz

npm http 200 https://registry.npmjs.org/debug

npm http 200 https://registry.npmjs.org/qs/-/qs-0.6.6.tgz

npm http 200 https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz

npm http GET https://registry.npmjs.org/debug/-/debug-0.8.0.tgz

npm http 200 https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz

npm http 200 https://registry.npmjs.org/path-to-regexp/0.1.2

npm http 200 https://registry.npmjs.org/serve-static/-/serve-static-1.0.1.tgz

npm http GET https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.2.

z

npm http 200 https://registry.npmjs.org/debug/-/debug-0.8.0.tgz

npm http 200 https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.2.

z

npm http GET https://registry.npmjs.org/mime

npm http GET https://registry.npmjs.org/send/0.1.4

npm http GET https://registry.npmjs.org/mime

npm http GET https://registry.npmjs.org/negotiator

npm http 200 https://registry.npmjs.org/send/0.1.4

npm http GET https://registry.npmjs.org/send/-/send-0.1.4.tgz

npm http 200 https://registry.npmjs.org/mime

npm http GET https://registry.npmjs.org/mime/-/mime-1.2.11.tgz

npm http 200 https://registry.npmjs.org/mime

npm http 200 https://registry.npmjs.org/send/-/send-0.1.4.tgz

npm http 200 https://registry.npmjs.org/negotiator

npm http 200 https://registry.npmjs.org/mime/-/mime-1.2.11.tgz

npm http GET https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz

npm http 200 https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz

npm http GET https://registry.npmjs.org/fresh/0.2.0

npm http GET https://registry.npmjs.org/range-parser/0.0.4

npm http 200 https://registry.npmjs.org/range-parser/0.0.4

npm http GET https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz

npm http 200 https://registry.npmjs.org/fresh/0.2.0

npm http GET https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz

npm http 200 https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz

npm http 200 https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz

express@4.0.0 C:\Users\acet\AppData\Roaming\npm\node_modules\express

├── parseurl@1.0.1

├── methods@0.1.0

├── utils-merge@1.0.0

├── merge-descriptors@0.0.2

├── escape-html@1.0.1

├── debug@0.8.0

├── cookie-signature@1.0.3

├── fresh@0.2.2

├── qs@0.6.6

├── range-parser@1.0.0

├── buffer-crc32@0.2.1

├── path-to-regexp@0.1.2

├── cookie@0.1.0

├── send@0.2.0 (mime@1.2.11)

├── type-is@1.0.0 (mime@1.2.11)

├── accepts@1.0.0 (mime@1.2.11, negotiator@0.3.0)

└── serve-static@1.0.1 (send@0.1.4)


                    --- 설치 완료 ---

설치완료 후 커맨드라인에서 express 명령어를 사용 할 수 있다.
express [옵션] [경로]

help : express -h


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을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

티스토리 툴바