์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ์ฝ๋ฉํ ์คํธ
- mongodb
- react
- error
- JS
- ํ์ด์ฌ
- Til
- ๋ชจ๊ฐ์ฝ
- HTML
- Python
- ํ ์ดํ๋ก์ ํธ
- KDT
- javascript
- fe
- ๋ฐฑ์ค
- heapq
- ์ฝ๋ฉ์ ํ
- ๋๋ฆผ์ฝ๋ฉ
- ํ๋ก์ ํธ
- ๊ฐ๋ฐ
- ๊ทธ๋ฆฌ๋
- ํ๋ก ํธ์๋
- ์๊ณ ๋ฆฌ์ฆ
- CSS
- ์ฝ๋ฉ
- ๋ ธ๋ง๋์ฝ๋
- ๊ตญ๋น์ง์
- ํฌ๋กค๋ง
- node.js
- ํ๋ก๊ทธ๋๋จธ์ค
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (141)
๐ฑ โ ๐ณ
๐ DOTENV : ์ค์ํ ์ ๋ณด(์๋ฒ ์ ์ ์ ๋ณด ๋ฑ)์ ์ธ๋ถ ์ฝ๋์์ ํ์ธ์ด ๋ถ๊ฐ๋ฅ ํ๋๋ก ๋์์ฃผ๋ ๋ชจ๋ ๐ ์ค์น npm i dotenv -s ๐ app.js์ ๋ชจ๋ ํธ์ถํ๊ธฐ require('dotenv').config(); ๐ .envํ์ผ์ ์ต์๋จ ํด๋์ ๋ง๋ค๊ธฐ ์ค์ํ ์ ๋ณด๋ฅผ .env ํ์ผ์ ์ ์ฅ (PORT, mongoDB URI ๋ฑ ) ํด๋น ์ ๋ณด๊ฐ ํ์ํ ๊ณณ์์ process.env.์ ์ฅ๋ช ์ผ๋ก ์ฌ์ฉ const uri = process.env.DB_URI; ๐ .env ํ์ผ์ ์ค์ํ ์ ๋ณด์ด๊ธฐ ๋๋ฌธ์ git์ ๋ฑ๋กํ์ง ์์ ! (gitignore์ ๋ฑ๋ก) ๋ฐ๋ผ์, ํด๋น ํ์ผ์ ์ง์ ์ ๋ก๋ ํ๋ฉด์ ์ฌ์ฉ โ ์ฐธ๊ณ , .gitignore์ด ์๋ ๋ ! git๋ ์บ์ฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ก์ปฌ์ ํด๋น ๋ด์ฉ์ด ๋จ์ ์..

๐ Static : ๋ธ๋ผ์ฐ์ ์์ ์ ๊ทผ์ด ๊ฐ๋ฅํ ํด๋์ ์์น๋ฅผ ์ง์ ํด ์ฃผ๋ ์ญํ app.use(express.static('views')); ์์ ๋ฏธ๋ค์จ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ํด๋ ๊ฒฝ๋ก์ ์์์ -> localhost:4000/views ./ ์ ์๋ ๊ฒฝ๋ก -> localhost:4000/views/ ์ ๋์ผํ ์๋ฏธ๋ฅผ ๊ฐ์ง ๋ธ๋ผ์ฐ์ ์์ ์ ๊ทผ ๊ฐ๋ฅํ ๊ธฐ๋ณธ ํด๋๋ฅผ ์ค์ ํ๋ ๋งํผ ๋๋ฌด ๋ง์ ํด๋๋ฅผ ์ ํ๋ ๊ฒ์ ํผํ๋ ํธ์ด ์ข์ ๋ณดํต public ์ด๋ผ๋ ํด๋๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ค์ ํด ๋๊ณ ํด๋น ํด๋๋ง ์ค์ public ํด๋์ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ๋ฑ์ ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ทผ์ด ๊ฐ๋ฅํ ํด๋๋ก์จ ๋ณดํต CSS, ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ฉํ๋ JS, ์ด๋ฏธ์ง ๋ฑ์ ์์น ๐ Express ๊ธฐ๋ณธ ํด๋ ๊ตฌ์กฐ /images = /img /jav..

๐ URL ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ ๋ฐฉ๋ฒ โ req.params ๋ฐ์ url์์ :ํ๋ผ๋ฏธํฐ๋ช ์ ๋ฏธ๋ฆฌ ์ ์ํด ๋๋ฉด ํด๋น ๋ด์ฉ์ req.params ์ ๋ด๊ฒจ์ ์ ๋ฌ๋จ app.get('/:id', (req, res) => { console.log(req.params); res.send(`ID ๋ฒํธ๊ฐ ${req.params.id} ์ธ ํ์ ์ ๋ณด`); }); data ์ฌ๋ฌ ๊ฐ ๋ฐ๊ธฐ๋ ๊ฐ๋ฅ req.params ๋ผ๋ ๊ฐ์ฒด์ ๋ด๊ฒจ์ ์ ๋ฌ์ด ๋์ด์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉ์ด ๊ฐ๋ฅ app.get('/:id/:name/:gender', (req, res) => { console.log(req.params); res.send(req.params); }); โ req.query params ์ ์ฝ์ ์ ์ ์ ๋ ํํ๋ก๋ง ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์์ ๋ง ..
๐ middleware๋? (์ฌ์ ์ ์๋ฏธ) ์๋ก ๋ค๋ฅธ ์ดํ๋ฆฌ์ผ์ด์ (ํ๋ก๊ทธ๋จ)์ด ์๋ก ํต์ ์ ํ๋๋ฐ ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ์ฆ, ์์ชฝ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ์ด๋ฐ์์ ์ญํ ์ ํ๋ ์ํํธ์จ์ด Express: ๋ฒก์๋ ์๋น์ค ๊ตฌ์ฑ์ ์ํ ๋ค์ํ ์ํฉ์ ๋ง๋ ์ฌ๋ฌ๊ฐ์ง ์๋น์ค๋ฅผ ๋ฏธ๋ค์จ์ด ํํ๋ก ์ ๊ณต Express ์์์ ๋ฏธ๋ค์จ์ด๋ ์๋ฒ์ ๋ค์ด์จ ์์ฒญ์ด ๋ค์ด์์ ์๋ต์ผ๋ก ๋๊ฐ ๋ ๊น์ง ๊ฑฐ์น๋ ๋ชจ๋ ํจ์ ๋๋ ๊ธฐ๋ฅ์ ์๋ฏธ ์์ฒญ -> ๋ฏธ๋ค์จ์ด -> ์๋ต โ middleware ์ฌ์ฉํ๊ธฐ Express ์์๋ app.use ๋๋ app.method ํจ์๋ฅผ ์ด์ฉํด์ ๋ฏธ๋ค์จ์ด ์ฌ์ฉ ๊ธฐ์กด์ ํจ์๋ฅผ ์ ์ธํ์ฌ ์ฌ์ฉํ๋ ๊ฒ ์ฒ๋ผ, ์์ ๋ฉ์๋๋ฅผ ์ด์ฉํด์ req, res ์ ๋ํ ์ฒ๋ฆฌ app.use(โ์์ฒญ ์ฃผ์โ, (req, res, next) =>..
๐ Yarn ์ด๋? Facebook์์ ๋ง๋ ๋ ธ๋ ํํค์ง ๊ด๋ฆฌ์ ๋๊ตฌ npm๊ณผ ์ ํํ๊ฒ ๊ฐ์ ์ผ์ ํด์ค(but, ๊ฐ๋ณ๊ณ ๋น ๋ฆ) + React๋ Facebook์์ ๋ง๋ค์ด์ ์ถํ์ ํธ๋ฆฌํจ โ Yarn์ ์ฅ์ ์๋ ํจํค์ง ๋ฐ์ดํฐ๋ฅผ Cache ์ ์ ์ฅํ์ฌ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ ๋ค์ด ๋ฐ์ง ์๊ณ ์ค์น ํฉ๋๋ค -> ์๋๊ฐ ๋ ๋น ๋ฆ ๋๋ค ์์ ์ฑ & ๋ณด์์ฑ Yarn ์ ์ด์ ์ npm์ด ์ ๊ณตํ์ง ์๋ yarn.lock ํ์ผ์ ์ ๊ณต ๊ฐ๋จํ ์ ๋ณด๋ง ํฌํจํ๋ packge.json ์ด ์๋๋ผ ๊ฐ ํจํค์ง์ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๋ถ ํฌํจํ๋ lock ํ์ผ์ ์กด์ฌ๋ ์ด๋ ํ๊ฒฝ์์๋ ๊ฐ์ ํจํค์ง๋ฅผ ์ค์นํ ์ ์๋๋ก ๋ณด์ฅ์ ํด์คฌ๊ธฐ ๋๋ฌธ์ ์์ ์ฑ๊ณผ ๋ณด์์ฑ์ด ๋ฐ์ด๋จ ๋์ค์, npm ๋ pakage-lock.json ์ ๋์ ํ์ฌ ์ด์ ๊ฐ์ ๋ฌธ์ ํด๊ฒฐ ์ง๊ธ..

์๋ฃ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์ ์ผ๋จ MongoDB์ ์ ์ฅํ ํด๋์ ํ์ผ์ ๋ง๋ค์ด์ผ ํจ database/ collection ๋ง๋ค๊ธฐ โผ 1. MongoDB Atlas ๋ฉ์ธ ๋์๋ณด๋์์ Collections ๋ผ๋ ๋ฒํผ ํด๋ฆญ โผ 2. Add my own data ๋ฒํผ ํด๋ฆญ (ํน์ ์ด๋ฏธ ๋ญ๊ฐ ์๋ค๋ฉด create database) 3. database ์ด๋ฆ, collection ์ด๋ฆ์ ์ ํด์ค ๋ค์ ์ ์ฅ database๋ ํ๋์ ํด๋, collection์ ํ๋์ ํ์ผ ๋๋ โ js ํ์ผ์์ db์ ํต์ let db; MongoClient.connect('์ ์URL', { useUnifiedTopology: true }, function (err, client) { if (err) return console.log(err..
๐ MongoDB Atlas ๊ฐ์ ํ ํธ์คํ ๋ฐ๊ธฐ ์ฌ์ดํธ๋ฅผ ์ค์ ๋ฐฐํฌํ ๊ฒ์ด๋ผ๋ฉด ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ๋งค์ฐ ์์ ์ ๋ฐฑ์ ๋ ์์์ ํด์ฃผ๊ณ , ๊ฐ์๊ธฐ ์ฌ๋์ด ํฐ์ง ๋ ์ฉ๋ ๊ฑฑ์ ๋ ์๊ณ , ์ ์ ์๋๋ ๋น ๋ฆ -> ์ด๊ฑธ ๋ฌด๋ฃ๋ก ํธ์คํ ํด์ฃผ๋ ์ฌ์ดํธ๊ฐ MongoDB Atlas ๐ DB ์ ์ํ๋ URL ์ฐพ์์ค๊ธฐ 1. ๋ฉ์ธํ๋ฉด ์ ํ ์ด ๋๋๋ฉด CONNECT๋ผ๋ ์์ ํฐ์ ๋ฒํผ ๋๋ฅด๊ธฐ 2. ๊ฐ์ด๋ฐ Connect Your Application ๋ฒํผ ๋๋ฅด๊ธฐ 3. (1) Choose your driver version ์์ Node.js ์ ํ๋์ด์๋์ง ์ ํ์ธํ๊ธฐ 3. (2) ๋ฐ์ ์ ์ URL(Connection String) ๊ธด๊ฒ ๋จ๋ฉด ๋ณต์ฌํด์ ์ผ๋จ ๋ฉ๋ชจ์ฅ ๊ฐ์ ๊ณณ์ ์ ์ฅํด๋๊ธฐ ์ ์ URL๋ง ์ ์จ์ฃผ๋ฉด DB์ ์ง์ ํต..

๐ CRUD (Create, Read, Update, Delete) Create -> post read -> get update -> put delete -> delete ๐req, res req(uire) : ๋ธ๋ผ์ฐ์ ์์ ๋ค์ด์จ ์์ฒญ res(ponse): ์์ฒญ์ ๋ฐ๋ฅธ ์๋ฒ์ ์๋ต ๐ nodemon ์ฌ์ฉ "scripts": { "server": "nodemon js/main.js", "dev": "nodemon --watch \"./js/*.js\" --exec \"npm run server\"" }, package.json ํ์ผ ์์ sass ์ฒ๋ผ ํน์ ํ์ผ์๊ฒ --watch ๊ฑธ์ด ์ค ์๋ ์์ ๋ณํ๊ฐ ์ผ์ด๋๋ฉด --exec ์ต์ ์ผ๋ก ๋ช ๋ น์ด ์คํ ๊ฐ๋ฅ ๐ HTTPie ์๋ฒ์์ post ์์ฒญ โ ์ฝ๋ ์ ์ฒด..