๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐ŸŒŒ | WEB DEV115

[NodeJS+Express] 4. MongoDB ํƒ‘์žฌํ•ด์ฃผ๊ธฐ ์ง€๊ธˆ๊นŒ์ง€ ์„ธํŒ…ํ•œ ์„œ๋ฒ„์— DB๋ฅผ ๋‹ฌ์•„๋ณด์ž! 1. DB ํ†บ์•„๋ณด๊ธฐ 0) DB๊ฐ€ ํ•„์š”ํ•œ ์ด์œ  ์›น ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ค‘์š”ํ•œ ๊ฒƒ ์ค‘ ํ•˜๋‚˜๋Š” ์‚ฌ์šฉ์ž๋“ค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด DataBase(DB)์ด๋‹ค! ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ด์šฉํ•ด ๋น ๋ฅธ ๋ฐ์ดํ„ฐ์˜ ์ž…์ถœ๋ ฅ๊ณผ ๋Œ€์šฉ๋Ÿ‰ ๋ณด๊ด€์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. 1) DB์˜ ์ข…๋ฅ˜ DB์˜ ์ข…๋ฅ˜์—๋Š” ๊ณ„์ธตํ˜•, ๋„คํŠธ์›Œํฌํ˜•, ๊ด€๊ณ„ํ˜•, ๊ฐ์ฒด์ง€ํ–ฅ, ๋น„๊ด€๊ณ„ํ˜•์ด ์žˆ๋‹ค. ์ด์ค‘ ์ตœ๊ทผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ด€๊ณ„ํ˜•๊ณผ ๋น„๊ด€๊ณ„ํ˜•์ด๋‹ค. ์ด ๋‘˜์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด์ž. - ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‰ฝ๊ฒŒ ์ด๊ฒƒ์„ ์„ค๋ช…ํ•˜๋ฉด ์—‘์…€๊ณผ ๋น„์Šทํ•˜๋‹ค. ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ํ–‰์”ฉ ์ฐจ๋ก€๋กœ ๋ณด๊ด€ํ•œ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” DBMS(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์‹œ์Šคํ…œ)๋ฅผ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค. ex) MySQL, Oracle, SQL.. 2023. 9. 24.
[NodeJS+Express] 3.์ •์ ํŒŒ์ผ ๋„ฃ์–ด์ฃผ๊ธฐ (cssํŒŒ์ผ ๋“ฑ๋ก) & Bootstrap ์ด์šฉํ•˜๊ธฐ ์ด์ œ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋””์ž์ธ ํ•ด๋ณด์ž. 1. ์ •์ ํŒŒ์ผ ์‚ฝ์ž…ํ•˜๊ธฐ 1) css ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ css ํŒŒ์ผ๊ณผ ๊ฐ™์€ ์ •์ ํŒŒ์ผ์€ ๋ณดํ†ต public ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๊ด€๋ฆฌํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์œ„์ฒ˜๋Ÿผ public/main.css ๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค. 2) public ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„œ๋ฒ„์— ๋“ฑ๋กํ•˜๊ธฐ app.use(express.static(__dirname + '/public')) public ํด๋”์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„œ๋ฒ„์— ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋“ฑ๋กํ•ด์ค€๋‹ค. (์˜คํƒ€์ฃผ์˜) 3) htmlํŒŒ์ผ์— ๋„ฃ์–ด์ฃผ๊ธฐ html ํŒŒ์ผ์˜ header์— ์œ„ ํƒœ๊ทธ๋ฅผ ์‚ฝ์ž…ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 4) ํ™•์ธํ•ด๋ณด๊ธฐ /* main.css */ .square{ width: 100px; height: 100px; background: #4cb1ff; } 2. Bootstrap ์ด.. 2023. 9. 23.
[NodeJS+Express] nodemon์œผ๋กœ ์ž๋™ํ™”ํ•˜๊ธฐ ์ง€๊ธˆ๊ป ์•„๋ž˜์˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด node server.js ์ด ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๊ท€์ฐฎ์€ ์ ์€ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ๋’ค ์ ์šฉ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ctrl+c๋กœ ์‹คํ–‰์„ ์ข…๋ฃŒํ•˜๊ณ  ๋‹ค์‹œ ์žฌ์‹œ์ž‘์„ ํ•ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•ด์ฃผ๋Š” ์•„์ฃผ ์ฐฉํ•œ ์นœ๊ตฌ๊ฐ€ ์žˆ๋‹ค! 1. nodemon ์„ค์น˜ํ•˜๊ธฐ npm install -g nodemon ์œ„ ๋ช…๋ น์–ด๋กœ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ์ž˜ ์ ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž. 2. ํ™•์ธํ•˜๊ธฐ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•ด๋ณด์ž. nodemon server.js ์ด์ œ server.js๋ฅผ ์ˆ˜์ •ํ•ด๋ณด์ž! app.get('/news', (request, response) => { response.send('์˜ค๋Š˜์˜ ๋‰ด์Šค...') }) ์œ„ ์ฝ”๋“œ๋ฅผ ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•ด์ค€๋’ค ์ €์žฅํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ์ž๋™์œผ๋กœ ์žฌ์‹œ์ž‘ ํ•ด์ฃผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. htmlํŒŒ์ผ๋„ ์ˆ˜์ •ํ•ด๋ณด๋ฉด.. 2023. 9. 23.
[NodeJS+Express] 2.์ƒˆ๋กœ์šด ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ //server.js const express = require('express') const app = express() //PORT ์—ด๊ธฐ app.listen(8080, ()=>{ console.log('http://localhost:8080 ์—์„œ ์„œ๋ฒ„ ์‹คํ–‰์ค‘!'); }) //root์—์„œ GET์š”์ฒญ(์ ‘์†)์‹œ ๋ Œ๋”๋งํ•  ๋‚ด์šฉ app.get('/', (req, res)=>{ res.send("HELLO!!"); }) ์ €๋ฒˆ ํฌ์ŠคํŠธ์—์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค. ๋‹จ ํ•œ๊ฐœ์˜ ํŽ˜์ด์ง€๋งŒ ์ œ์ž‘ํ•˜์˜€๋Š”๋ฐ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? 1. ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€ ๋งŒ๋“œ๋ ค๋ฉด? ํŽ˜์ด์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๊นŒ? ์šฐ๋ฆฌ๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด๊ณ  ์‚ฌ์ดํŠธ์— ์ ‘์†ํ• ๋•Œ URL์„ ์ด์šฉํ•œ๋‹ค. ์ด์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ดํŽด๋ณด์ž. 1) URL URL์˜ .. 2023. 9. 23.
[NodeJS+Express] 1. NodeJS, Express ์„ธํŒ… ์‚ฌ์ „์— ํ•„์š”ํ•œ ๊ฒƒ๋“ค - node LTS ๋ฒ„์ „, ์ฝ”๋“œ์—๋””ํ„ฐ ๋“ฑ - ๊ฐ„๋‹จํ•œ Express๋ฅผ ์ด์šฉํ•˜๋Š” NodeJS ์„œ๋ฒ„ ์„ธํŒ… ์ˆœ์„œ 1. ์ž‘์—…ํ•  ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ ํ›„ ํ•ด๋‹น ๊ฒฝ๋กœ ์ ‘์† 2. js ํŒŒ์ผ ์ƒ์„ฑ ex) server.js 3. ํ•ด๋‹น ๊ฒฝ๋กœ์—์„œ ํ„ฐ๋ฏธ๋„ ์˜คํ”ˆ ํ›„ package.json ํŒŒ์ผ ์ƒ์„ฑ npm init -y package.json ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ์ด๋•Œ -y ์˜ต์…˜์€ default๊ฐ’์œผ๋กœ ์„ค์ •๋œ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ๋œป์ด๋‹ค. 4. express ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ npm install express express๋ฅผ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž! 5. ์„œ๋ฒ„ ์ฝ”๋“œ ์ž‘์„ฑ const express = require('express') const app = express() //PORT ์—ด๊ธฐ app.listen(.. 2023. 9. 22.
[NodeJS] 2. ๋…ธ๋“œ์˜ ํŠน์„ฑ ๋…ธ๋“œ์˜ 4๊ฐ€์ง€ ํŠน์„ฑ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž! 1. ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ Node.JS๋Š” ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜์ด๋‹ค. ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์‚ฌ์ „์— ์ง€์ •ํ•ด๋†“์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. - ์ด๋ฒคํŠธ ์˜ˆ์‹œ : ํด๋ฆญ, ๋งˆ์šฐ์Šค์˜ค๋ฒ„, ์Šคํฌ๋กค, get, post ๋“ฑ ์ด๋•Œ ์ด ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์ด๋‹ค. ๋˜ํ•œ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€ํ•œ ๊ฒฝ์šฐ ์‹คํ–‰๋  ํ•จ์ˆ˜๊ฐ€ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์ด๋‹ค. [์ด๋ฒคํŠธ] 1) ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ์— ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ๋“ฑ๋ก 2) ์‹œ์Šคํ…œ์—์„œ ์ด๋ฒคํŠธ ๋ฐœ์ƒ -> ๋ฆฌ์Šค๋„ˆ์—์„œ ๊ฐ์ง€ 3) ๋“ฑ๋ก๋œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‚ฌ์‹ค ์ด ๊ฐœ๋…์€ ๊ฑฐ์˜ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์˜ ๋™์ž‘์›๋ฆฌ์— ์ ์šฉ๋˜๋Š” ๊ฐœ๋…์ด๋‹ค. 2. ๋…ผ๋ธ”๋กœํ‚น I/O NodeJS๋Š” ๋ธ”๋กœํ‚น์ด๋ฉด์„œ ๋™๊ธฐ / ๋…ผ๋ธ”๋กœํ‚น์ด๋ฉด์„œ ๋น„๋™๊ธฐ ์ด๋‹ค. (์šฐ์„ , ์ด๋ ‡๊ฒŒ ๋‘˜์”ฉ ์ง์ง€์–ด์„œ ์•Œ๊ณ ์žˆ์ž.) - ๋™๊ธฐ : ์ฝ”๋“œ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋™์ž‘ - ๋น„๋™.. 2023. 9. 17.
[NodeJS] 1. ๋…ธ๋“œ์˜ ์ •์˜ NodeJS์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž! 1. ์ •์˜ ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์—์„œ ์ •์˜ํ•˜๋Š” ๊ฒƒ์€ ํฌ๋กฌV8 JS์—”์ง„์œผ๋กœ ๋นŒ๋“œ๋œ JS ๋Ÿฐํƒ€์ž„ ์ด๋‹ค. (๋Ÿฐํƒ€์ž„ = ์‹คํ–‰๊ธฐ / ์ฆ‰, nodeJS๋Š” JS ์‹คํ–‰๊ธฐ) - NodeJS๊ฐ€ ์—†์—ˆ์„ ๋•Œ JS๋Š” ์–ด๋–ป๊ฒŒ ์‹คํ–‰์ด ๋˜์—ˆ์„๊นŒ? ์˜ ํ˜•์‹์œผ๋กœ html ์•ˆ์— ๋„ฃ์–ด์•ผํ–ˆ๋‹ค. (์Šคํฌ๋ฆฝํŠธ์— ์ข…์†๋จ!) ๋”ฐ๋ผ์„œ ๊ทธ ์†๋„๊ฐ€ ๋Š๋ฆด ์ˆ˜ ๋ฐ–์— ์—†์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ํฌ๋กฌ ๊ธฐ๋ฐ˜์˜ NodeJs๊ฐ€ ๋“ฑ์žฅํ•œ ์ดํ›„ ๋‹น์‹œ ๊ธฐ์ค€ ๊ต‰์žฅํžˆ ๋น ๋ฅธ ์†๋„๋กœ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ด์ง€๊ฒŒ ๋˜์—ˆ๋‹ค. - ๋…ธ๋“œ๋Š” ์„œ๋ฒ„์ธ๊ฐ€? ์—„๋ฐ€ํžˆ๋Š” ํ‹€๋ฆฐ ๋ง์ด์ง€๋งŒ NodeJS๋กœ ์„œ๋ฒ„์—ญํ• ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. JS (์–ธ์–ด) / NodeJS (๋Ÿฐํƒ€์ž„) 2. ๋Ÿฐํƒ€์ž„ ๋Ÿฐํƒ€์ž„์ด๋ž€ ํŠน์ • ์–ธ์–ด๋กœ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์„ ๋งํ•œ๋‹ค. JS์˜ NodeJS์™ธ ๋‹ค๋ฅธ ๋Ÿฐํƒ€์ž„ ์˜ˆ.. 2023. 9. 15.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (34)_ prototype (ํŠน์ง• ๋ฐ constructor์™€์˜ ์ฐจ์ด) JS์˜ prototype์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. 0. ์ƒ์†(inheritance) ๊ฐ์ฒด์ง€ํ–ฅ์˜ ๊ฐœ๋… ์ค‘ ํ•˜๋‚˜์ธ ์ƒ์†์€ ๊ฐ„๋‹จํžˆ ํ‘œํ˜„ํ•˜๋ฉด ๋ถ€๋ชจ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์ž์‹ ๊ฐ์ฒด๊ฐ€ ๋ฌผ๋ ค๋ฐ›๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. JS์—์„œ ์ด๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด ๋ช‡๊ฐ€์ง€ ์žˆ๋Š”๋ฐ ์ฒซ๋ฒˆ์งธ๋Š” ์ €๋ฒˆ์‹œ๊ฐ„์— ๋‹ค๋ฃจ์—ˆ๋˜ constructor ๋ฌธ๋ฒ•์ด๋‹ค. 2023.08.08 - [๐ŸŒŒ | WEB DEV/Vanilla JS] - JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (33)_ constructor ๋ฌธ๋ฒ• ๊ทธ๋ฆฌ๊ณ  ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ด prototype์ด๋‹ค. 1. prototype ๋ชจ๋“  ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋“ค์€ prototype์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๋‹ค. function Student(name, code){ this.name = name; this.code = code; } console.log(Student.prot.. 2023. 8. 11.
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ• (33)_ constructor ๋ฌธ๋ฒ• JS์˜ Object๋ฅผ ์ƒ์„ฑํ•˜๋Š” constructor ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. 0. Object์˜ ๋ณต์‚ฌ ๋ฌธ์ œ Object๋Š” Reference ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ณต์‚ฌ๋ฅผ ํ• ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์ด ๋‹จ์ˆœํ•˜๊ฒŒ ์ง„ํ–‰ํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ์ž˜๋ชป๋œ ๊ฐ์ฒด ๋ณต์‚ฌ ์˜ˆ์‹œ let obj1 = {name: "Kassid"}; let obj2 = obj1; ์ด๋ ‡๊ฒŒ ๋ณต์‚ฌ๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๊ฐ’ ์ž์ฒด์˜ ๋ณต์‚ฌ๊ฐ€ ์•„๋‹Œ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ „ํ•œ ๋ณต์‚ฌ๋ผ๊ณ  ํ•  ์ˆ˜ ์—†๋‹ค. 1. constructor ๋ฌธ๋ฒ• constructor๋Š” ์œ„์˜ object๋ฅผ ์ƒ์„ฑ๊ธฐ๊ณ„๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด ์œ„์˜ ๋ณต์‚ฌ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด์„œ ๋น„์Šทํ•œ ๊ฐ์ฒด๋ฅผ ์†์‰ฝ๊ฒŒ ์–‘์‚ฐํ•ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ๋ฒ• function ์ƒ์‚ฐ๊ธฐ๊ณ„๋ช…(){ this.์†์„ฑ = ...; .... 2023. 8. 8.
๋ฐ˜์‘ํ˜•