본문 바로가기
2. 우당탕탕 개발자/2-1. 공부기록

11Feb2020 TIL

by Little Monkey 2020. 2. 12.
반응형

REST API (웹서버를 만드는데 사용되는 제약 모음)

 

: Rest APIs use URIs (Uniform Resource Identifiers) to adderess resources.

<- 이름을 명확하게 잘 지어야 한다!

 

- resource 특징 마다 이름을 붙이는 규칙

document - 단수N

collection - 복수N ; users 나 devices 처럼 새로운 것을 여러개 생성하는 것

store - 복수 N, playlists나 carts 처럼 하나의 store 안에서 리소스를 추가/삭제 하는 것

controller - Verb 동사 사용. 주로 실행 기능이 들어간 것들

 

- 일관성 (⭐️⭐️⭐️⭐️⭐️)

(URI 끝에 /를 붙이지 말기, 가독성을 높이기 위해 -를 사용, URI에 소문자)

- CRUD 기능 이름은 URI에 사용하지 말기

- filter가 필요하면 query component 사용

 

참고자료 : https://deview.kr/2017/schedule/212

 

 


 

CommonJS

  • 모든 모듈은 독립적이라 실행 영역이 있어야 한다.
  • 모듈의 정의는 전역객체은 exports 를 이용한다
  • 모듈의 사용은 require 함수를 이용한다.

 

module.exports = _______

exports = ________ (module.exports의 단축 용어 지만, 직접적으로 값을 할당하면 안된다)

 

 

 


복습 

  • 서버는 둥둥떠다니는 돛단배와 같다. 
  • 노드는 자바스크립트로 만든 프로그램을 실행할 수 있는 환경인 런타임이다. 자바스크립트는 웹 브라우저에서만 실행할 수 있는 언어였다. 구글이 V8엔진을 이용하여 크롬을 출시하였고, 자바엔지니어 런타임인 V8을 이용해 노드를 만들었다. 이 때 libuv 라이브러리를 사용하여, 이벤트 기반의 논블로킹 I/O model 을 구현할 수 있었다. 

 

이벤트 기반? 이벤트 발생했을 때, 미리 정해진 작업 수행하는 것. 

이벤트 루프? 여러 이벤트가 동시에 발생했을 때, 어떤 순서로 이벤트를 처리할 것인지.

 

논블로킹 : 이벤트 루프 / 콜스택 / 태스크 큐를 이용

setTimeout()은 코드를 논브로킹으로 만들기 위해 사용한다. 태스크 큐로 보내 콜스텍이 비워질 때까지 기다린 후 이벤트 루프를 통해 콜스택에서 실행이 된다.

 

  • 노드는 자바스크립트의 특징과 동일하게 한번에 하나의 요청을 처리하는 싱글 스레드다.
  • I/O 작업이 많은 서버일 때 적합. (실시간 채팅 앱 등) <-> 비디오 이미지 처리

미들웨어에서 next() : 다음 미들 웨어를 실행하라는 뜻.

해당 next()가 없으면 다음에 적힌 미들웨어를 실행할 수 없으니 중요함!!

 

 


 

비구조화 할당

특정한 객체에 자주 쓰는 변수를 정의하고, 그 변수의 이름 자체를 글로벌에 저장하는 것.

const app = {
  status {
    code : 200,
    PORT : 3000
  }, 
  get : function () => {}
};

방법 1.

let code = app.status.code
let get = app.get

방법 2.

let {get, status : {code}} = app

 

 


 

 

다음에 찾아봐야할 것

 

  • async 과 await / try catch
  • process.env : 시스템의 환경 변수. 즉, 서비스의 중요한 키를 저장하는 공간.
반응형

'2. 우당탕탕 개발자 > 2-1. 공부기록' 카테고리의 다른 글

18Feb2020 TIL  (0) 2020.02.19
16Feb2020 TIL  (0) 2020.02.17
09Feb2020 TIL  (0) 2020.02.09
06Feb2020 TIL  (0) 2020.02.06
02Feb2020 TIL  (0) 2020.02.03

댓글