2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

node.js + express 설치 및 실행방법 feat. npm



express는 node.js 용 프레임워크다. 보통은 node.js 와 express를 함께 설치한다.
  1. node.js 홈페이지->다운로드 메뉴로 들어가서 사용 중인 운영체제를 선택해서 파일을 다운받은 후, 각 운영체제에 맞게끔 설치한다.
    031.png
  2. 설정은 기본설정으로 계속 진행시켜도 됨..도중에 옵션을 고르는 화면에 npm 패키지도 들어있으니 설치를 할 것.
    image
  3. 설치가 끝나면 콘솔 혹은 커멘드라인(윈도우는 실행->cmd 입력)에서 설치가 잘 되었는지 확인하기 위해서 node.js와 npm 버전을 찍어본다.
    1. node --version
    2. npm --version
  4. 다음과 같이 Express 를 설치하기 위해서 프로젝트용 폴더를 만든 후, npm init 명령어를 사용하여 package.json 파일을 만들어서 초기화를 한다. 초기화 할 때 명칭이나 제작자 정보 등을 입력하라고 나오는데 그냥 엔터를 치면 된다.
    $ mkdir new_project
    $ cd new_project/
    $ npm init
    # 실문 나올 때 그냥 엔터 계속 치면 됨..ㅋ
    
    $ ls
    package.json
    
    
  5. package.json 파일 내용은 다음과 같다.
    
    {
      "name": "new_project",
      "version": "1.0.0",
      "description": "New Project",
      "main": "app.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "Kazuki Nakajima",
      "license": "MIT",
      "dependencies": {
        "express": "^4.13.3"
      }
    }
  6. 프로젝트 폴더에서 다음 명령어를 입력하면 express가 자동으로 인스톨 된다.
    $ npm install express --save
  7. 기본적인 사용방법은 다음과 같다.
    1. 모듈을 로드해서 인스턴스화 한다.
    2. 웹서버용 포트번호를 지정한다.
    3. 애플리케이션 처리를 기술한다.
  8. 프로젝트 폴더에 있는 app.js 를 에디터에서 열고 다음과 같이 편집한다.

    app.js
    /* 1. express모듈을 로드해서 인스턴스화 한 후 핸들러 생성*/
    var express = require("express");
    var app = express();
    
    /* 2. listen()메소드를 실행해서 3000번 포트를 대기상태로 만듦*/
    var server = app.listen(3000, function(){
        console.log("Node.js is listening to PORT:" + server.address().port);
    });
    
    /* 3. 애플리케이션 처리를 기술하는 부분 */
    
    // 샘플데이터
    var photoList = [
        {
            id: "001",
            name: "photo001.jpg",
            type: "jpg",
            dataUrl: "http://localhost:3000/data/photo001.jpg"
        },{
            id: "002",
            name: "photo002.jpg",
            type: "jpg",
            dataUrl: "http://localhost:3000/data/photo002.jpg"
        }
    ]
    
    // 샘플데이터를 가져오기 위한 API
    app.get("/api/photo/list", function(req, res, next){
        res.json(photoList);
    });
  9. 콘솔 혹은 커멘드라인에 node app.js 명령어를 입력해서 실행시킨다.
    $ node app.js
    Node.js is listening to PORT:3000
  10. 웹 브라우저를 열고 localhost:3000/api/photo/list 로 접속하면 아래와 같은 화면이 뜬다.
    スクリーンショット 2015-12-29 9.26.53.png
  11. 동적인 API를 작성하는 방법 : get방식으로 넘길 때 쿼리스트링의 photoId 에 값이 들어가고 그것을 req.params.photoId 로 받아서 사용이 가능하다. Restful API 를 구현할 때 유용하다.

    app.js
    app.get("/api/photo/:photoId", function(req, res, next){
        var photo;
        for (i = 0; i < photoList.length; i++){
            if (photoList[i].id == req.params.photoId){
                var photo = photoList[i];
            }
        }
        res.json(photo);
    });

댓글

이 블로그의 인기 게시물

[메모] PostgreSQL에서 Insert 하는 경우 자동채번 PK가 중복에러 나는 경우

[C# & LINQ] 랜덤으로 데이터를 한 개 추출하는 방법

[react-native] uuid 생성이 에러가 날 때 대처법