2020-01-18

박동건·2020년 1월 18일
0

TIL(2020)

목록 보기
10/49

Today I Learn...

  • 페어프로그래밍
  • 서버 배운 것 정리 + α

1. Node js (server)

  • Route handler

    • 콜백은 next('route')를 호출하여 나머지 라우트 콜백을 우회할 수도 있다.
      이러한 메커니즘을 이용하면 라우트에 대한 사전 조건을 지정한 후, 현재의 라우트를 계속할 이유가 없는 경우에는 제어를 후속 라우터에 전달할 수 있다.

    • app.get('/example/b', function (req, res, next) {
        console.log('the response will be sent by the next function ...');
        next(); //--> 다음 function 을 실행
      }, function (req, res) {
        res.send('Hello from B!');
      });

2. Express

  • app.route() 를 이용하면 라우트 경로에 대하여 체인 가능한 라우트 핸들러를 작성할 수 있다.

  • app.route('/book')
     .get(function(req, res) {
       res.send('Get a random book');
     })
     .post(function(req, res) {
       res.send('Add a book');
     })
  • 미들웨어 작성
    스크린샷, 2020-01-18 17-33-23.png

  • 미들웨어 함수 로드

    	* 함수를 지정하여 ``app.use()`` 를 호출한다.
    	* 
    var requestTime = function (req, res, next) {
    req.requestTime = Date.now();
    next();
    };
    
    app.use(requestTime);
    
    app.get('/', function (req, res) {
      var responseText = 'Hello World!';
      responseText += 'Requested at: ' + req.requestTime + '';
      res.send(responseText);
    });
    • 미들웨어의 로드 순서는 중요하며, 먼저 로드되는 미들웨어 함수가 먼저 실행된다.

3. 구조 분해 할당(비구조화 할당)

  • 배열 구조 분해

  • 기본 변수 할당

       var foo = [1,2,3];
    
       var [one, two, three] = foo;
    
       console.log(one)   // 1
       console.log(two)   // 2
       console.log(three) // 3
  • 변수 값 교환하기 (신기함😀😀😀)

    • 하나의 구조 분해 표현식만으로 두 변수의 값을 교환할 수 있다.
      구조 분해 할당 없이 두 값을 교환하려면 임시 변수가 필요하다. (temp라는 변수를 만들어서 교환했었다.)

    •  var a = 1;
       var b = 3;
      
       [a, b] = [b, a];
       console.log(a); // 3
       console.log(b); // 1
  • 객체 구조 분해

    • 기본 할당
      var o = {p: 42, q: true};
      var {p, q} = o;
    
      console.log(p); // 42
      console.log(q); // true
    • const { method, url } = request;
      
        // 위의 경우에 request.method의 값을 method에 넣는다고 생각
        // 그러면 앞으로 method로 request.method 와 똑같은 역할을 수행함

4. 자주쓰는 http 상태코드

  • 주관적으로 정리함
상태코드이름의미
200OK주로 GET에 사용
201Create주로 POST에 사용
204No contents요청은 성공했으나 제공할 컨텐츠 없음
403Fobidden접근금지. 권한 밖의 접근을 시도함
404Not Found요청한 URL에 해당 리소스 존재하지 않음
profile
박레고의 개발 블로그

0개의 댓글