본문 바로가기

JavaScript/Node.js

[책] 디자인 패턴 바이블 정리 - 3 3장 - 콜백과 이벤트 callback과 EventEmitter는 노드 비동기적 기반의 큰 두 갈래이다. 자세한 내용은 따로 정리해야 할 것 같다. 연습문제가 4개 있는데 그걸 해보고 올려야겠다. 더보기
[책] 디자인 패턴 바이블 정리 - 2 2장 - 모듈 시스템 모듈은 주요 애플리케이션들을 구조화하기 위한 부품. 코드베이스를 개별적으로 개발 가능하고 테스트 가능한 작은 유닛으로 나누게 해줌. 1. 모듈의 필요성 - 구조적 관리 가능, 코드 재사용, 은닉성, 종속성 관리 2. JS와 Node.js의 모듈 시스템 - Node.js는 브라우저가 아닌 환경에서 JS 모듈 시스템을 제공할 수 있도록 고안된 CommonJS의 명세를 구현하게 되었다. - 2015년에 ECMAScript Modules를 위한 공식적인 제안이 나오게 되었다. Node.js는 버전 13.2부터 ESM에 대한 안정적인 지원을 한다. 3. 모듈 시스템과 패턴 - JS는 네임스페이스가 없다. 내부 애플리케이션 코드나 종속성 라이브러리가 기능을 노출시키는 동시에 스코프를 오염시킬 .. 더보기
[책] 디자인 패턴 바이블 정리 - 1 1장 - Node.js 플랫폼 1. Node.js의 철학 - 경량 코어 최소한의 기능 세트를 가지고, 코어의 바깥부분에 사용자 전용 모듈 생태계를 두었다. 안정적 + 느리게 진화하는 것 대신 커뮤니티에게 폭 넓은 해결책을 실험할 수 있는 자유를 주어서 빠르게 성장했다. - 경량 모듈 프로그램 코드를 구성하는 기본적인 수단. 각 패키지가 자신이 필요로 하는 버전의 종속성 패키지들을 갖도록 한다. - 작은 외부 인터페이스 확장보다는 사용되기 위해서 만들어졌다. (모듈 내부 접근을 제한한다) -> 그럼 모듈을 확장하고 싶다면 어떻게 해야할까? 2. Node.js는 어떻게 작동하는가 - Reactor 패턴 - I/O는 느리다. - 블로킹 I/O I/O 요청 함수는 작업이 완료될 때까지 스레드의 실행을 차단한다... 더보기
process.EventEmitter()가 동작 하지 않는다. process.EventEmitter() 는 deprecated 되었으므로, const EventEmitter = require('events') 를 한 다음, 사용하려고 했던 곳에 new EventEmitter()를 사용하면 된다.(process. 이거 없이) 윤인성의 Node.js 책을 보다가 예제가 안되길래 찾아보니까 이런 내용이 있어서 포스팅 하게 되었다. 더보기