본문 바로가기

세계정복의주인장

(1188)
7-1 웹프레임워크 express 시작! Express 는 노드기반의 웹 개발 프레임워크입니다. 앞써 node의 기본 http 모듈 만으로도 기초적인 웹은 제작 가능합니다. 단순히 몇페이지의 웹이라면 말이죠. 프레임워크의 쓰임새는 반복되는 작업의 최소화라고 생각합니다. 웹개발에선 반복되는 작업이 무수하게 많습니다. 그작업을 조금이라도 줄이기 위해선 우린 프레임워크를 써야하죠. 이번장은 간단하게 express 의 간단한 화면 띄우기로 부터 ejs , jade까지 외부모듈을 사용한 웹 개발 프레임워크입니다.  express 의 공식 홈페이지는 http://expressjs.com 입니다. 가이드라인과 API들을 둘러보시면 더욱 좋습니다.  1. 먼저 express 를 설치 합니다. 제가 설치한 버전은 express@4.21.2 버전이군요. sudo..
4-2 npm 을 이용해서 모듈 의존 관리하기 npm 을 통해서 java의 maven 같이 모듈의 의존성 관리를 할수 있습니다. 그것도 엄청 간단합니다.  1. 먼저 npm init 를 통하여 의존성 관리를 할 package.json 파일을 만들어야 합니다. 원하는 이름 버전 설명 라이센스 정책 등을 물어보지만 이름만 써준후 엔터로 다 넘기셔도 됩니다.  npm init 2. 해당 폴더에 package.json 파일이 생성된것을 보실수 있습니다.    3. 이제 모듈하나를 설치해 보겠습니다. 다른점이 있다면 -g 옵션으로 글로벌로 설치합니다. sudo npm install -g request   4. 모듈이 설치된후 package.json 파일을 열어보면 dependencies 목록이 생성되었으며 방금 설치한 모듈명과 버전이 기록된 것을 확인할수 있..
4-1 npm 란? npm 기초 명령어 Node Packaged Modules 의 약자가 npm 입니다.  Node.js에서 사용되는 모듈을 패키지로 모아놓은 곳입니다.필요한 모듈이 있다면 npm 을 통해서 간편하게 다운받을수 있습니다. npm 의 경우 node.js 설치시 자동으로 설치 됩니다.  저의 경우 npm 버전은 9.8.0  입니다. 버전 확인을 원하시면 npm -v 명령어를 하면 됩니다. npm -v 2. npm -h 명령어를 하시면 npm 에 사용되고 있는 명령어들와 설명을 볼수 있습니다. npm -h  3. 해당 커맨드의 설명을 보시고 싶으시면 npm 커맨트 -h 를 하시면 됩니다. 아래는 npm install -h 를 실행하여 install 커맨드의 설명화면을 출력하였습니다. npm install -h   4, 가장 많이 쓰..
3-4 stream Stream은 데이터의 읽기 및 쓰기를 효율적으로 처리하기 위한 추상화된 인터페이스입니다. 대규모 데이터를 메모리에 한 번에 로드하지 않고, 조각(chunk) 단위로 처리할 수 있도록 돕습니다.주요 스트림 타입Readable: 데이터 소스로부터 데이터를 읽는 스트림Writable: 데이터를 목적지로 쓰는 스트림Duplex: 읽기와 쓰기를 동시에 수행하는 스트림 (예: TCP 소켓)Transform: 입력 데이터를 처리하여 출력으로 변환하는 스트림 (예: 압축, 암호화) 1. Readable Stream (파일 읽기)const fs = require('fs');const readableStream = fs.createReadStream('input.txt', { encoding: 'utf8', highWa..
3-3 node.js fs (파일시스템) 이 포스팅의 예제는 node.js v20.5.0 입니다. 먼저 fs는 file system의 약자입니다.  api 문서 링크 : http://nodejs.org/api/fs.html상당히 많은 함수를 포함하고 있는 파일시스테 모듈이지만 모듈의 반절은 권한관련입니다(node.js 의 개발자가 지독한 유닉스 개발자로 알려져 있습니다. 디버깅모듈이 콘솔로 된것만으로도 알수 있겠지요?)많이 쓰는 모듈 몇가지 예제입니다. 1. 파일 확인const fs = require('fs');fs.access('test1.txt', fs.constants.F_OK, (err) => { console.log(err ? "no exists!" : "it's there");});fs.exists() 파일이 존재 하는지 확인합..
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 파일을 생성후..