노드는 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임입니다. 노드는 이벤트 기반, 논블로킹 I/O 모델을 사용해서 가볍고 효율적입니다.그럼 런타임이 뭘까요? 런타임은 특정 언어로 만든 프로그램을 실행하기 위한 환경을 말합니다. 즉, 자바스크립트를 컴퓨터에서
노드에서 모듈을 만드는 방법은 두 가지입니다. module.exportsexports 객체add.jsmodule.exports = add를 로드할 때는 {}가 필요없지만 module.exports = { add }를 로드할 때는 {}를 써줘야합니다.아래와 같이 모듈을
node.js가 가진 내장 모듈에 대해서 알아보겠습니다. os 모듈은 컴퓨터 운영체제의 정보를 가져옵니다. 여러가지 메소드들이 있는데 다 외우진 말고 필요할 때마다 검색해서 활용해보죠.os.arch() : 프로세서 아키텍처 정보입니다.os.platform(): 프로세서
자! 모듈에 대한 공부는 어느정도 했으니 node.js를 사용해서 웹 서버를 만들어보죠. 웹 서버를 만들기 위해서 http모듈을 사용할 것 입니다.end 메서드를 사용할 때 인자가 있으면 그 인자를 마지막 데이터로 보내고 응답을 종료합니다.on 메서드로 각각 liste
https 모듈은 웹 서버에 SSL 암호를 추가합니다. GET, POST와 같은 메소드로 데이터를 주고 받을 때 이를 암호화하여 다른 사람이 요청, 응답을 해킹하더라도 데이터를 확인할 수 없습니다. 요즘 http로 서버를 구축하면 브라우저에서 안전하지 않다는 경고문구가
cluster 모듈을 활용하면 싱글스레드인 노드가 CPU 코어를 모두 사용해여 작업을 병렬적으로 처리하도록 해줍니다. 이를 이용하면 요청을 분산시켜 서버가 오버로드 되지 않도록 할 수 있습니다. 물론 성능또한 어느정도 개선되겠죠? (이게 그 유명한 클러스터링 이라고 합
익스프레스 프레임워크를 사용해서 웹 서버를 구축해봅시다. 익스프레스는 많은 의존성 패키들을 사용하기 때문에 조금 어려울 수 있지만 express-generator를 이용하면 package.json과 기본 폴더구조까지 잡아줍니다.express-generator는 콘솔 명