(2022.01.03)
node.js 공부를 시작해보려고 한다.
일단은 node.js 교과서라는 책을 바탕으로 하여 구글링하면서 공부할 계획이다.
공부해둔거 기록하고, 나중에 보면 쉽게 떠오르도록 적어두는 것이라 자세하게 적지 않으려고한다. (사실 조금 귀찮기도...)
공식 홈페이지에 따르면, 노드는 자바 스크립트 런타임이라고 정의되어있다.
노드를 통해서 다양한 자바스크립트 애플리케이션을 실행할 수 있지만, 노드는 서버 애플리케이션을 실행하는데 가장 많이 사용한다.
Node.js는 이벤트 기반, 논 블로킹, 싱글 스레드 모델이다.
1. 이벤트 기반 모델
이벤트가 발생하면 이벤트 리스너에 등록해둔 함수(콜백함수)를 실행한다.
호출 스택, 백그라운드, 테스트 큐를 돌면서 노드가 종료될 때까지 이벤트 처리를 위해서 작업을 반복하는 이벤트 루프 개념이 등장한다.
2. 논 블로킹
non-blocking: 이전 작업이 완료될 때까지 대기하지 않고, 다음 작업을 수행
blocking: 이전 작업이 끝나야만 다음 작업을 수행
(non-blocking이 비동기, blocking이 동기와 유사하다)
3. 싱글 스레드
식당을 예로 들면, 점원 한 명이 손님들을 받는 다고 생각할 수 있다.
싱글스레드와 논 블로킹이 합쳐진 모델이 바로 node.js가 채택하고 있는 형태이다. 점원 한 명이 혼자서 많은 일을 수행한다.
역시 책으로 공부하니까 지루하다
개념만 머리에 우겨넣는 느낌
맥에서 node.js 를 설치하는 방법은 꽤나 간단했다 (근데 나는 node.js 사이트에서 다운한듯... 다운하고나서 homebrew로 설치하는 게 좋다는 글을 본 것 같음 ^^)
1. homebrew 설치
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. node 설치
$ brew install node
'개발 공부 > node.js' 카테고리의 다른 글
[node.js] express 로 서버 구축하기 (MAC) (0) | 2022.01.03 |
---|---|
[node.js] 1. http로 서버구축 (0) | 2022.01.03 |