all is well!!

1. Node.js ๋ณธ๋ฌธ

Node.js(express.js) + noSQL(mongoDB)

1. Node.js

tnqlscho 95 2023. 5. 24. 00:03

๐Ÿ‘€ Node.js๋ž€?

1. JavaScript์šฉ ํ˜ธ์ŠคํŠธ ํ™˜๊ฒฝ์œผ๋กœ Chrome V8 JavaScript ์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ ๋ธŒ๋ผ์šฐ์ € ์™ธ๋ถ€์—์„œ JS๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” JavaScript ๋Ÿฐํƒ€์ž„์ด๋‹ค.

2. ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ JavaScript ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š”๊ฒƒ์€ ์•„๋‹ˆ์—ฌ์„œ node.js๋Š” DOM๊ณผ๋Š” ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์—†๋‹ค.

3. PHP, Java๋‚˜ ASP.net ๋Œ€์‹  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

4. ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ• ๋•Œ Node.js๋กœ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰์€ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ๋ชจ๋“  ๋ฏธ๋“ค์›จ์–ด๋ฅผ ๋“ฑ๋กํ•˜๊ธฐ ์œ„ํ•ด ํ•œ๋ฒˆ ์‹คํ–‰ํ•œ๋‹ค.

5. JavaScript ํ™˜๊ฒฝ์ด์—ฌ์„œ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ๋ฐฐ์šธ ํ•„์š” ์—†์ด ์„œ๋ฒ„์ธก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ์ด ํฐ ์žฅ์ ์ด๋‹ค.

 

 

Node.js - web server ex)

// Node.js http ๋ชจ๋“ˆ์„ ํฌํ•จํ•œ๋‹ค.
const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  // ์‘๋‹ตํ•˜๋Š”๋ฐ ์„ฑ๊ณตํ•˜๋ฉด 200์ด ๋œจ๊ฒŒ๋” ์„ค์ •
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

// listen์€ ์„œ๋ฒ„์˜ ๋Œ€๊ธฐ์ƒํƒœ (TCP/IP ํ†ต์‹ ์˜ ๊ณผ์ •์ค‘์— ์žˆ๋Š” ํ•จ์ˆ˜)
server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

//server.jsํŒŒ์ผ์— ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•˜๊ณ  ํ„ฐ๋ฏธ๋„์— node server.js๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

createServer() : ์ƒˆ๋กœ์šด http ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ.

 

1. ์„œ๋ฒ„๋Š” ์ง€์ •๋œ port ๋ฐ host ์ด๋ฆ„์—์„œ ์ˆ˜์‹  ๋Œ€๊ธฐํ•˜๋‹ค๊ฐ€ ์ค€๋น„๊ฐ€๋˜๋ฉด callbackํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์„œ๋ฒ„๊ฐ€ ์‹คํ–‰ ์ค‘์ธ๊ฒƒ์„ ์•Œ๋ ค์ค€๋‹ค.

2. ์ƒˆ๋กœ์šด ์š”์ฒญ์ด ์ˆ˜์‹ ๋ ๋•Œ๋งˆ๋‹ค request ์ด๋ฒคํŠธ ํ˜ธ์ถœํ•ด http ํ˜ธ์ถœ์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ•„์ˆ˜์ ์ธ ๋‘ ๊ฐ์ฒด request(http.IncomingMessage ๊ฐ์ฒด)์™€ response(http.ServerResponse ๊ฐ์ฒด)๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

 

 

 


* ์ฐธ๊ณ 

https://nodejs.dev/en/learn/

https://www.udemy.com/course/react-nodejs-express-mongodb-mern/learn/lecture/33745704#overview

 

 

 

 

'Node.js(express.js) + noSQL(mongoDB)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

5. mongoose  (0) 2023.06.06
4. SQL? noSQL?  (0) 2023.05.29
3. mongoDB Atlas ์„ค์ •  (0) 2023.05.27
2. Express.js  (0) 2023.05.25
Comments