CS공부

조영래·2022년 10월 19일
0

Javascript 동작 원리

동기 : 동시에 발생하는

  • 순차적으로 실행, 어떤 작업이 수행중이라면 뒤의 작업은 대기한다.
  • 요청을 보냈다면, 응답을 받아야 다음 동작이 이루어진다.
  • 블로킹(작업중단)이 발생한다.

비동기 : 동시에 발생하지 않는

  • 순차적으로 실행, 어떤 작업이 수행중이라면 뒤의 작업은 대기한다.
  • 요청을 보냈다면, 응답을 받아야 다음 동작이 이루어진다.
  • 블로킹(작업중단)이 발생한다.

var, let, const 차이점

var - 재선언 o, 재할당 o
let - 재선언 x, 재할당 o
const - 재선언 x, 재할당 x (Immutable)

호이스팅(Hoisting)의 차이
:호이스팅은(Hoisting) var선언문이나 function 선언문 등을 해당 스코프의 선두, 맨 위로 옮긴 것처럼 동작하는 특성

변수가 선언될 때 선언 단계 > 초기화 단계 > 할당 단계 에 걸쳐 생성
var : Hoisting되어 해당 스코프의 선두에서 선언 단계와 초기화 단계가 실행
let : Hoisting되어 선두에서 실행될때 선언 단계까지만 실행이 됨
(할당 단계는 var, let 둘 다 할당이 되있을때 실행이된다.


var : functional-scope 로 호이스팅됨
(functional-scope : 함수 몸체에 선언한 변수는 해당 함수 몸체 안에서만 접근할 수 있다)
const, let : block-scope 로 호이스팅됨
(block-scope : 주어진 코드 블록({}) 안에서만 사용이 가능하며 밖에서는 접근할 수 없다)
:var는 함수 스코프이기 때문에 hi 변수지역 변수에 등록되지만, let과 const는 블록 스코프이기 때문에 전역 변수에 등록되지 않는다.

REST API

REST한 방식으로 데이터를 상호교환하게 설계된 API
HTTP를 잘사용하기위해, URI와 HTTP메소드를 사용해서, URL로 어떤 자원에 접근할 것인지, 메소드로 어떤 행위를 할것인지 표현하여 설계된 API

RESTful API

REST의 6가지 규칙을 잘 지켜서 설계된 API를 RESTful API

Express 와 NestJS 차이점

Express : 웹 서버를 빠르게 구현하기 위해 개발 시 구조에 대한 자유도가 높다.
하지만 규모가 큰 프로젝트의 경우 많은 개발자가 필요하다, 그러다 보면 많은 개발자의 개성, 편의에 따라 수많은 종류가 생기고 통일성을 해치게 되어 문제가 생긴다.
가볍고 간편하고 빠르게 비교적 간단한 웹을 위한 서버를 만들기 좋다.


NestJs : nestjs는 controller, service, module 이 각각 역할을 가지고 있다. 또 특정한 디자인 패턴들이 있는 구조이다 그래서 제한이 생기지만 통일성이 생겨났다.
통일성 있고 거대한 프로젝트를 만들기 좋다, 구조를 크게 고민하지 않아도 된다.

참조

profile
난될놈이야

0개의 댓글