본문 바로가기

Node.js

(55)
3-2 node.js 기본 모듈 리스트 node.js 설치시 기본으로 제공되는 모듈리스트 입니다.모듈 이름 클릭시 새창으로 API 도큐먼트가 열립니다.   assert 단정문 모듈 Buffers 바이너리 데이터의 옥텟 스트림(8비트 데이터) 모듈 Child Processes 자식 프로세스 생성및  관리 모듈 Cluster 멀티코어처리 모듈 Console 콘솔 모듈 Crypto 암호화 모듈   DNS 도메인 네임 서버 모듈 Domain(폐지 예정) Events 이벤트 관련 모듈 File System  파일시스템(읽고/쓰고) 모듈 Globals 글로벌 객체 모듈  HTTP HTTP 서버와 클라이언트 기능 모듈 HTTPS HTTPS 서버와 클라이언트 기능 모듈 Net 비동기 네트워크 통신 기능 모듈 OS 운영체제 정보를 제공 모듈 Path 파일의 ..
3-1 node.js 전역 객체 node.js에서 제공하는 객체들로 선언 없이 어디서 든지 사용할수 있는 객체들입니다.  1.  global 전역객체 지정하기 global.someting = 1;console.log("someting : " + someting);전역객체 선언 입니다. global.객체이름 을 사용하여 node 실행시 어디서든지 접근 가능합니다.   2. console 객체 console.log("print");console.time('100-elements');for (var i = 0; i  Node.js 콘솔 관련된 기능을 다루는 객체 입니다.log() - 출력을 한다.time(label) - 시간 측정을 시작.timeEnd(label) - 시간 측정을 종료 후 출력.  3. process 객체// process...
2-2 간단한 서버 실행시키기 http://nodejs.org 에 나와 있는 간단한 서버 소스 입니다. const { createServer } = require('node:http');const hostname = '127.0.0.1';const port = 3000;const server = createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World');});server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`);}); webserver.js 파일을 생성후..
2-1 hello node.js! console 출력 1. js 파일을 만듭니다. 이름은 Hello_node.js 로 했습니다. 2. 만든 js파일을 더블 클릭하여 편집 모드에서 아래의 코드를 넣어줍니다.   console.log("Hello node.js!");  3-1. node.js 의 실행 방법은 터미널에서 node 실행파일명 입니다.실행시 문자열이 찍힌걸 확인할수 있습니다.$ node Hello_node.js 3-2. webstorm 사용시 다음과 같습니다. 우측 상단의 RUN 버튼을 눌러주시면 됩니다.
1-3 node.js의 단점! 좋은점이 있다면 단점이 있는법! 1. 싱글 스레드 모델의 한계Node.js는 싱글 스레드, 이벤트 기반 모델을 사용합니다. 비동기 처리를 통해 고성능을 발휘하지만, CPU 집약적인 작업(예: 복잡한 계산이나 대규모 데이터 처리)에 적합하지 않습니다.하나의 스레드에서 모든 작업이 처리되므로, 오래 걸리는 작업은 이벤트 루프를 막아 다른 요청 처리에 지장을 줄 수 있습니다.2. 비성숙한 라이브러리Node.js의 npm 에코시스템에는 수많은 패키지가 있지만, 일부는 잘 관리되지 않거나 품질이 낮을 수 있습니다.유지보수가 중단된 라이브러리를 사용하는 경우 보안 및 안정성 문제로 이어질 수 있습니다. (서비스가 멈출수도 있습니다!!)3. 콜백 지옥초기 Node.js 코드에서는 콜백 패턴을 많이 사용하므로 코드가 ..
1-2 node.js의 특징. event-driven, non-blocking I/O , 단일 스레드 node.js의 특징인 event-driven, non-blocking I/O , 단일 스레드 에 대한 간략한 설명입니다.  1. event-drivenevent-driven은 사용자가 이벤트를 발생시켰을때, 즉 데이터를 전송 했을때에만 작동합니다. 대부분의 웹서버는 사용자가 이벤트를 발생하기까지 기다립니다. 이벤트가 발생하기까지 자원(대기 시간 및 메모리)을 계속 소비하게 됩니다. 하지만 event-driven는 이벤트에만 웹서버가 연결해주기 때문에 자원을 최소화 시킬수 있습니다.    2. non-blocking I/Oblocking I/O(동기식 I/O) 은 쓰기/읽기 이벤트가 발생하면 이벤트가 끝날때까지 해당 모듈을 점유하게 됩니다. 즉 다른 일을 못하게 되지요. 또한 메모리버퍼에 데이터를 차지하..
혹시 node.js 에서 서버로 파일 업로드가 되지 않는다면?! events.js:72 throw er; // Unhandled 'error' event 기존에 잘 되던 소스들이 갑자기 안되거나 위의 에러가 나면서 파일 업로드가 안된다면 express 버전 문제일 가능성이 있습니다.4.5.x 버전으로 올라오면서 핸들링쪽이 많이 바뀌어서 기존의 소스들이 전혀 먹지를 않습니다. (네..이걸로 몇시간 삽질을..) 결국 3.x대로 내리니 정상적으로 돌아가네요...ㅜㅡㅜ
yeoman 설치 및 webapp 생성 예제 (먼저 node.js 와 ruby 가 설치 되었다고 가정합니다.)1. yeoman 설치 $(sudo) npm install -g yeoman$(sudo) npm install -g generator-webapp 2.webapp 생성$mkdir (폴더) $yo webapp$grunt$grunt server 자세한건 동영상을 보시면 됩니다~