soleu / JSP_Thory

0 stars 0 forks source link

Node.js #6

Open soleu opened 3 years ago

soleu commented 3 years ago

Node.js

soleu commented 3 years ago

특징 : non-blocking I/o와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있음. 클라이언트 요청을 이벤트 큐안에 배치. 이벤트 루프라는 컴포넌트를 가지는데 이것이 싱글 스레드를 사용.

싱글 스레드 기반 비동기 서버. - 하나의 스레드만을 사용해서 여러 클라이언트로부터 오는 요청을 처리. (단, IO작업이 있을 경우 비동기 IO방식으로 IO요청을 던져놓고, 다시 돌아와서 다른 작업을 하다가 IO작업이 끝나면 이벤트를 받아서 처리하는 구조.)-> IO작업시 기다리지 않기 떄문에, 하나의 스레드가 다른 요청을 받아서 작업을 처리할 수 있는 구조가 됨. -> 이 요청을 받아서 처리하는 스레드를 이벤트 루프 스레드 싱글 스레드 : 장점 : 점점 더 많은 동시에 발생하는 클라이언트의 요청을 처리하는 것이 쉽다. 동시에 발생하는 클라이언트의 요청이 증가할 때, 이벤트 루프를 이용하기 때문에 많은 스레드를 이용하지 않는다. 멀티 스레드 방식보다 스레드를 덜 이용하기 때문에 메모리 또는 자원 소모가 작다.

soleu commented 3 years ago
soleu commented 3 years ago

10가지 기능 :

  1. 기본 매개 변수 (Default Parameters)
  2. 템플릿 리터럴 (Template Literals) : 문자열 안에 변수를 넣을 수 있음 백틱을 이용
  3. 멀티 라인 문자열 (Multi-line Strings)
  4. 비구조화 할당 (Destructuring Assignment) : 객체와 배열로부터 프로퍼티를 쉽게 꺼낼수 있는 문법
  5. 향상된 객체 리터럴 (Enhanced Object Literals)
  6. 화살표 함수 (Arrow Functions) : 람다식 표현식을 간결하게.
  7. Promises : 비동기에서 성공과 실패를 분리해서 메서드를 수행한다. fulfilled -> resolove() 실행, rejected -> reject() 실행 중간에 에러 -> promise.catch
  8. 블록 범위 생성자 Let 및 Const (Block-Scoped Constructs Let and Const)
  9. 클래스 (Classes) : 호이스팅 안됨.
  10. 모듈 (Modules) : ● 호이스팅 :함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것