프로그래밍/Node
-
Blocking vs Non-Blocking프로그래밍/Node 2021. 7. 20. 13:31
Node를 공부하면서, 중요한 개념인 이벤트 루프를 공부 해 보고자 한다. 내가 선택한 방법은 무식하지만 그냥 node doc문서를 다 해석하는 것. Node.js에서 blocking 과 non-blocking의 차이점을 살펴보자. 이번 개요에서 이벤트 루프 및 libuv를 참조하지만 해당 주제에 대한 사전 지식이 필요하지는 않다. 이 글을 읽는 독자에게는 Javascript언어 및 Node.js 콜백 패턴에 대한 기본적인 이해가 있다고 가정한다. "I/O"는 주로 libuv가 지원하는 시스템의 디스크 및 네트워크와의 상호 작용을 나타낸다. Blocking Blocking은 Node.js 프로세스에서 추가적인 Javascript 실행이 non-Javascript 작업이 완료될 떄까지 기다려야 하는 경우이..
-
이벤트 루프?프로그래밍/Node 2021. 7. 4. 17:11
Node를 공부하면서, 중요한 개념인 이벤트 루프를 공부 해 보고자 한다. 내가 선택한 방법은 무식하지만 그냥 node doc문서를 다 해석하는 것. 1. 이벤트 루프는 무엇인가? 자바스크립트가 싱글 스레드임에도, Node가 non-blocking I/O 동작을 수행하도록 도와주는 프로그래밍 구조체 이다. 대부분의 최신 커널이 멀티 스레드이므로, 백그라운드에서 실행되는 여러 작업을 실행할 수 있다. 하나의 작업이 완료가 되면, 커널은 Node에게 알려준다. Node에게 알려 준 callback은 poll 큐에 추가 되고, 결국에는 실행 된다. 뒤에서 좀 더 자세하게 설명하겠다. 2. 이벤트 루프 설명 Node.js가 시작되면 이벤트 루프를 초기화하고 제공된 입력 스크립트를 처리 (또는이 문서에서 다루지 ..
-
Node.js - 비동기 중심 모델프로그래밍/Node 2021. 6. 26. 15:16
비동기 중심 모델 싱글스레드 기반 Node를 처음 공부할 때, 맨 처음 들었던 Node의 2가지 속성이다. Node를 공부할 때마다 맨날 나오는 용어들이라서, 이제는 이 용어들을 듣는 것이 익숙했지만, 항상 마음속에는 두 가지의 질문 있었다. 1. 사용자들의 요청을 처리하는 쓰레드가 많으면 많을 수록 좋은 거 아닌감???? Node는 왜 Single-Thread기반인 거야??? 2. 도대체 비동기 중심이 뭐야??? 이러한, 궁금증들이 있었지만, 너무나도 게을렀던 나는 그것에 대한 답을 이제서야 찾아 보았다. Multi-Thread의 한계 Multi-Thread 방식은 서버의 요청 처리를 쓰레드에서 처리하도록 하여 병렬처리를 가능하도록 하는 방식이다. 쓰레드는 서버 CPU 자원을 시분할 형태로 나누어 가지..
-
NodeJs란프로그래밍/Node 2021. 5. 14. 00:44
1. NodeJs란? - 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경이다 - 클라이언트 외부에서 웹 애플리케이션을 실행하기 위한 오픈소스, *크로스 플랫폼이다. - Node.js는 비동기 식 이벤트 중심 모델을 사용하므로 *데이터 집약적인 애플리케이션에 적합하다. 2. NodeJs의 장점 - 일반적으로 빠르다. - 통합된 프로그래밍 언어 데이터 유형을 제공한다.(javascript 기반) - 모든 것이 비동기 적이다. - 좋은 동시성을 생성한다. 3. 작동 방식 1. 클라이언트는 웹 응용 프로그램과 상호 작용하기 위해 웹 서버에 요청을 보낸다. 요청은 Non-Blocking 또는 Blocking 일 수 있다. 2. Node.js는 들어오는 요청을 검색하여 이벤트 큐에 추가할 수 있다...
-
Node-passport프로그래밍/Node 2021. 3. 10. 17:25
목적 Node 기본 강의에서 passport package를 소개 하였는데, 뭔 내용인지 하나도 모르겠더라.. 그래서 직접 해당 doc문서를 보면서 정리를 하였다. 이 글을 작성하면서도 이 모듈을 제대로 이해를 못해서 (너무어려움) 반복해서 정리한 내용을 보고자 한다. 영어 독해 실력도 키우기 위해 영어로 포스팅한다. Passport is authentication middleware for Node.js www.passportjs.org/ Authenticate Authenticating requests is as simple as calling passport.authenticate() and specifying which strategy to employ. By default, if authenti..