๊ฐœ๋ฐœ๊ตฌ๋ฆฌ๐Ÿธ

์˜ˆ์™ธ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ๊ณ ์ฐฐ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿธ ์˜ค๋Š˜์€ ์ œ๊ฐ€ ์ผํ•˜๋ฉด์„œ ๊ณ ๋ฏผํ•˜๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๊ธฐ๋ก์„ ๋‚จ๊ฒจ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๋ฏธ๋ž˜์— ๋” ๋‚˜์€ ํ•ด๋‹ต์„ ์ฐพ์€ ์ œ๊ฐ€ ๊ณผ๊ฑฐ์˜ ์ €๋ฅผ ๊ธฐ์–ตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•ด ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ƒ๊ฐ์„ ๊ธฐ๋กํ•ด ๋†จ๊ธฐ ๋•Œ๋ฌธ์— ์˜ˆ์™ธ์˜ ๊ตฌ์กฐ ๋ฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ „๋žต ๋“ฑ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ธฐ์–ต์ด ์•ˆ๋‚˜๊ฑฐ๋‚˜ ์•Œ๊ณ ์žˆ๋”๋ผ๋„ ๊ธฐ...

๋…ธ๋“œ ํ•™์Šต 18์ผ์ฐจ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿธ ์ด๋ฒˆ์—” passport ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ํ–ˆ๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•„์„œ ๋‚˜์ค‘์— ๋‹ค์‹œ ๋ด๋„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ต๋„ค์š” ํŠนํžˆ๋‚˜ ์ž๋ฐ”๋ฅผ ํ˜„์—…์—์„œ ์‚ฌ์šฉ ์ค‘์ธ ์ €๋Š” ํ•จ์ˆ˜ ๋‚ด์— return ์—†์ด ๋ฏธ๋“ค์›จ์–ด ๋‚ด์˜ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ˜ธ์ถœ๋ถ€๋กœ ๊ฐ’์„ ์ „๋‹ฌํ•ด์ฃผ๋Š” ๊ฒƒ ๊ฐ™์€ ๋ถ€๋ถ„์ด ์ดํ•ด๊ฐ€ ์•ˆ๋˜์–ด์„œ ๋งŽ์ด ํ˜ผ๋™์ด ์™”์Šต๋‹ˆ๋‹ค. passport pa...

๋…ธ๋“œ ํ•™์Šต 17์ผ์ฐจ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿธ ์˜ค๋Š˜์€ ์‹œํ€„๋ผ์ด์ฆˆ ๋ชจ๋ธ ์ƒ์„ฑ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ์ƒ์„ฑ ๋ชจ๋ธ์€ ์„ค์ •ํ•˜๊ธฐ ๋‚˜๋ฆ„์ด์ง€๋งŒ ๊ธฐ๋ณธ์ ์ธ ์„ค์ •์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. const Sequelize = require('sequelize'); class {๋ชจ๋ธ๋ช…} extends Sequelize.Model { static initiate(sequelize){ {๋ชจ๋ธ๋ช…}....

๋…ธ๋“œ ํ•™์Šต 16์ผ์ฐจ

์˜ค๋Š˜์€ Node.js์— MongoDB๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์—ฐ๊ฒฐํ•ด๋ดค์Šต๋‹ˆ๋‹ค. MongoDB ํ˜„์žฌ NoSQL ์ค‘ ๊ฐ€์žฅ ๋†’์€ ์ ์œ ์œจ์„ ์ฐจ์ง€ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž…๋‹ˆ๋‹ค. NoSQL์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ณด๋‹ค ์œ ์—ฐํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. SQL๊ณผ NoSQL ๋น„๊ต ย  SQL NoSQL ...

MongoDB ์„ค์น˜

๋ชฉ์ฐจ MongoDB ์„ค์น˜ MongoDB Shell ์„ค์น˜ MongoDB ์‹คํ–‰ MongoDB Shell ์‹คํ–‰ํ–‰ ๊ณ„์ • ์ƒ์„ฑ ๊ณ„์ • ๋กœ๊ทธ์ธ MongoDB ์„ค์น˜ https://www.mongodb.com/try/download/community ์œ„ ๋งํฌ์—์„œ OS์— ๋งž๋Š” ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œ ํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜ ๊ณผ์ • ์ค‘ MongoDB ...

๋…ธ๋“œ ํ•™์Šต 15์ผ์ฐจ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿธ ๊ด€๊ณ„ ์ฟผ๋ฆฌ SQL์˜ JOIN์˜ ์—ญํ• ์„ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‹œํ€„๋ผ์ด์ฆˆ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. include ์‹œํ€„๋ผ์ด์ฆˆ์˜ ์กฐํšŒ ๊ธฐ๋Šฅ์— include ๋ฅผ ํ†ตํ•ด JOIN ๊ณผ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. const user = await User.findOne({ include:[ { ...

๋…ธ๋“œ ํ•™์Šต 14์ผ์ฐจ

์‹œํ€„๋ผ์ด์ฆˆ ์ฟผ๋ฆฌ ํ•จ์ˆ˜ ์ •๋ฆฌ ์ƒ์„ฑ Model.create() ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ. await ๊ตฌ๋ฌธ์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€์ˆ˜๋กœ ์ €์žฅ ๊ฐ€๋Šฅ. ์˜ˆ์‹œ) const user = await User.create( { username: 'alice123', isAdmin: true, }, { fields: ['username'] }, )...

๋…ธ๋“œ ํ•™์Šต 13์ผ์ฐจ

๋ชฉ์ฐจ ์‹œํ€„๋ผ์ด์ฆˆ ์„ค์น˜๋ฐฉ๋ฒ• ์‹คํ–‰ ํ™˜๊ฒฝ ์„ค์ • ๊ด€๊ณ„ ์ •์˜ ์‹œํ€„๋ผ์ด์ฆˆ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•์œผ๋กœ DB ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋•๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ORM(Object-Relational Mapping) ์„ค์น˜ ๋ฐฉ๋ฒ• npm i sequelize sequelize-cli ์—ฌ๊ธฐ์„œ sequelize ๋Š” ์‹œํ€„๋ผ์ด์ฆˆ ๋ชจ๋“ˆ์˜ ๋ณธ์ฒด๊ณ  sequeliz...

๋…ธ๋“œ ํ•™์Šต 12์ผ์ฐจ

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿธ ํ…œํ”Œ๋ฆฟ ์—”์ง„ ๋„Œ์ ์Šค (nunjucks) ๋„Œ์ ์Šค ์„ค์น˜ ๋ฐ ํ™˜๊ฒฝ ์„ธํŒ… ๋‹ค์Œ์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. npm i nun nunjucks ์„ค์น˜ํ•œ ๋„Œ์ ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด app.js ์—์„œ ๋ช…์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ... const express = require('express'); const nunjucks = require('...

์ธ๊ธฐ ํƒœ๊ทธ