목록백엔드/Node (9)
wintertreey 님의 블로그

프로젝트 생성하기. npm init -y npm i expressnpm i --save-dev nodemonnpm i corsnpm i mariadb db와 연동하기위해 mariadb도 설치해주었다. 시작! db 연동작업을 위해, db.mjs파일을 하나 만들어준다.import mariadb from 'mariadb';const pool = mariadb.createPool({ host:'127.0.0.1', user:'root', password:'123', database:'test', connectionLimit:5});export default pool; 포트번호, 파일경로등 세팅작업import express from "express";import path from "p..

c:\work2\node_ex>mkdir login-sessioncd login-session >npm init -y>npm i express>npm i ejs>npm i --save-dev nodemon>npm i express-session>npm i body-parser body-parser먼저 Parser는 무엇을 의미하는가?가지고 있는 데이터를 내가 원하는 형태의 데이터로 ‘가공'하는 과정을 parsing 이라 하며 그 과정을 수행하는 모듈 혹은 메소드를 parser 라 일컫는다.단순히 말하자면 내가 모르는 언어를 내가 원하는 언어의 구조로 바꿔주는 일종의 구문 해석기라고 말할 수도 있다.여기서 기억해야 할 것은 parser는 구문 해석을 할 뿐 번역을 하진 않는다. 번역의 역할은 compil..

c:\work2\node_ex>mkdir nodeserver1>cd nodeserver1 >npm init>npm i express>npm i --save-dev nodemon>npm i cors 다음은 폴더를 생성하고, 프로젝트를 생성시 설치한 모듈이다. express: Node.js에서 서버를 쉽게 구축할 수 있도록 도와주는 웹 프레임워크입니다. 간단한 라우팅, 미들웨어, 요청 처리 등을 지원합니다.nodemon: 개발 중에 파일 변경 시 자동으로 서버를 재시작해주는 도구입니다. 코드 변경 사항을 즉시 반영할 수 있어 개발이 용이합니다.cors: Cross-Origin Resource Sharing의 약자로, 서로 다른 출처(도메인) 간의 자원 공유를 허용하도록 서버를 설정하는 미들웨어입니다. 웹 애..

넘길정보가 담긴 파일import express from "express";import path from "path";import { fileURLToPath } from "url";import cors from "cors";const __filename = fileURLToPath(import.meta.url); //import.meta.url : 현재 파일의 경로const __dirname = path.dirname(__filename);const app = express();app.use(cors()); // cors 미들웨어 등록app.use(express.json()); //express.json 미들웨어. json 파싱용.app.set("port", process.env.PORT || 3000)..

경로세팅하기//환경변수 PORT가 존재하면 그 값을 사용하고, 아니면 3000사용하겠다는 의미.app.set('port', process.env.PORT || 3000);// 현재 폴더를 지정 : __dirname을 ECM(ECMAScript Module)환경에서 사용하기const __filename = fileURLToPath(import.meta.url); //현재 실행중인 파일경로const __dirname = path.dirname(__filename); //현재 실행 중인 폴더 경로 라우팅처리app.get(요청, 라우칭처리)app.get('/', function(req, res){ res.send('아우넘졸리다 으악❄️❄️');});app.get('/java', function(req, r..

http 모듈http모듈은 Node.js에서 가장 기본적이고 중요한 웹 모듈입니다. 웹서버와 클라이언트 생성등 관련된 모든 기능을 담당합니다. import http from 'http'; //웹 관련 모듈http.createServer((req, res) => { res.writeHead(200, {'Content-Type':'text/html;charset=utf-8'}); res.write('환영합니다. 노드 서버 세상에 오신것을'); res.write('반가워요'); res.end('Hello~'); //응답종료 //res.write('헬로헬로');}).listen(8080, () => { console.log('서버 서비스중...');}); 터미널에서 서버를 켜고..

Event 모듈Node.js 에선 Event를 매우 많이 사용하고, 이 때문에 다른 비슷한 기술들보다 훨씬 빠른 속도를 자랑합니다.Node.js 기반으로 만들어진 서버가 가동되면, 변수들을 initialize 하고, 함수를 선언하고 이벤트가 일어날때까지 기다립니다.이벤트 위주 (Event-Driven) 어플리케이션에서는, 이벤트를 대기하는 메인 루프가 있습니다.그리고 이벤트가 감지되었을시 Callback함수를 호출합니다. 이벤트가 콜백과 비슷해 보일 수 도 있습니다.차이점은, 콜백함수는 비동기식 함수에서 결과를 반환할때 호출되지만,이벤트핸들링은 옵저버 패턴에 의해 작동됩니다. 이벤트를 대기하는 (EventListeners) 함수들이 옵저버 역할을 합니다.옵저버들이 이벤트를 기다리다가, 이벤트가 실행되..

Node File System 모듈파일시스템 모듈이란, 파일 처리와 관련된 작업을 하는 모듈로 보통 FileSystem을 줄여서 fs 모듈이라고 줄여 부릅니다.노드에서 가장 많이 쓰이고 중요한 모듈 중 하나입니다. fs 모듈에는 대부분의 메소드들이 동기/비동기로 나뉘는데, Sync라는 이름이 붙어있는 메소드가 동기방식을 사용한다고 보면 됩니다.동기적 읽기 방식을 사용하면 파일을 읽으면서 다른 작업을 동시에 할 수 없습니다.하지만 비동기적으로 읽으면 파일을 읽으면서 다른 작업도 동시에 수행할 수 있고, 파일을 다 읽으면 매개변수 callback으로 전달한 함수가 호출됩니다.주로 비동기적 형식을 많이 사용하지만, 서버 시작 시 세팅 파일을 읽는 작업과 같이 동기적 형식이 더 적절한 경우도 있습니다. 동..