ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 140402 NodeJS
    WEB/NodeJS 2014. 4. 2. 17:28
    반응형

     * 개발 팁

     - Nodejs는 한달씩 걸리는 다른 언어들에 비해서 학습곡선이 적음. 2주면 됨

     - IT 3개월 차이 -> 3년 차이

     - 다른 언어를 공부하면 내가 잘하는 언어의 단점이 보임 !! 꾸준히 고웁해야한다.

     - 기획자의 생각/디자이너와의 협업/클라이언트의 니즈 파악

       -> 주변지식을 늘리면

       ↓ 내 지식/경험이 늘어남



     * NodeJS

     - V8엔진 향상될수록 NodeJS 엔진도 빨라짐

     - 싱글쓰레드 : 이벤트가 발생할 때마다 처리

     - Blocking("하나만" 처리, 다른게 읽고 있으면 다른게 와도 중지를 못함), 

       비동기 Non-Blocking I/O : java.io(io: input output) : Block이 일어나지 않고 "동시"에 읽고 쓸 수 있음

     - TCP : Transfer Control Protocol 전송을 컨트롤 하는 프로토콜

     - 장점 : 사용자 1명 당 "콜백"을 등록 -> 싱글쓰레드/이벤트 방식으로 처리 -> 속도 빨라짐

              객체(자바스크립트의 프로토타입)보다는 함수 위주 

              객체 위주로 묶으면 편하지만, 상속/다형성 등은 그렇게 많이 쓰지 않음

       단점 : 하나 잘못되면 다 같이 다운 됨

     - 


     . JS / JAVA

     . JS

     - function divide(a,b){

    return a/b;

    }

     . JAVA

     - public double divide(int a, int b){

    double c = (double)a/(double)b;

    return c;


      * Javascript


     var 안붙이면 전역변수됨.



     * AJAX

    <script>

    var xhr;

    // 객체를 얻어옴

    function getXMLHttpRequest(){

    // 지원하면

    if(window.getXMLHttpRequest){ // IE7 이상, 모든 브라우저

    return new XMLHttpRequest();

    } else {

    return new ActiveXObject("Microsoft.XMLHTTP"); // 옛날 브라우저들


    }

    }

    function sendProcess(){

    debug.value="";

    xhr = getXMLHttpRequest(); //상태가 변할 때마다 콜백 함수를 등록

    xhr.onreadystatechange = viewData; // 콜백함수 이름

    xhr.open("GET", "http://localhost:1337", true); // get, 비동기 방식

    xhr.send(null);

    }

    function viewData(){ // 4번 호출 됨

    // console.log("viewData 호출됨");

    var debug = document.getElementById("debug");

    switch(xhr.readyState) {

    case 1:

    debug.value += "1. Loading\n";

    break;

    case 2:

    debug.value += "2. Loaded\n";

    break;

    case 3:

    debug.value += "3. Interactive\n";

    break;

    case 4:

    debug.value += "4. Completed\n";

    if( xhr.status == 200 ){

    debug.value += "서버 응답 성공!!!";

    }else{

    debug.value += shr.status + ":" + xhr.statusText;

    }

    break;

    }

    }

    </script>

     ------------------------------- server.js

    var http = require('http');

    http.createServer(function(req, res){

    res.writeHead(200, {'Content-Type': 'text/plain'});

    res.end('Hello World\n');

    }).listen(1337, '127.0.0.1');

    console.log('Server running at http://127.0.0.1:1337/');



    Nodejs -> http 서버 띄움 


    0. 크롬의 크로스도메인 문제 해결해야 됨 : 크롬 속성 -> 대상 -> ...chrome.exe" --disable-web-security 추가

    1. cmd 창에서 node server.js 실행

    2. ajax01.html 실행시키면 ajax 실행 됨

    3. 

    아래 처럼 뜸.

    1. Loading

    2. Loaded

    3. Interactive

    4. Completed

    서버 응답 성공!!!


    반응형

    'WEB > NodeJS' 카테고리의 다른 글

    20140414 아마존 서버 생성 / GCM  (2) 2014.04.14
    20140411 Socket  (0) 2014.04.11
    20140407 mysql nodejs게시판  (0) 2014.04.07
    140404 Mysql, Nodejs  (0) 2014.04.04
    20140403 서버설명/NodeJS  (0) 2014.04.03
Designed by Tistory.