์ค๋์ Express.js ๋ฅผ ์ฌ์ฉํ ์น์๋ฒ ๊ตฌํ ๋ฐฉ๋ฒ์ ๊ณต๋ถํ์ต๋๋ค. JS ์ธ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํ์ง๋ง ์๋ก์ด ํน์ด ๋ง์ ์์ง ์ต์ํ์ง ์๋ค์ฉ๐ฅฒ ๋ง์ ๋ ๋ณต์ตํด๋ณด๋ฉฐ ์ ๊ฒ์ผ๋ก ๋ง๋ค์ด๋ณด๋ ค๊ณ ํฉ๋๋ค!
Express.js
Express.js๋ JavaScript์์ ์ธ๊ธฐ ์๋ ํ๋ ์์ํฌ์ธ MERN stack(MongoDB, Express, React, Node) ์ค ํ๋๋ก, Node.js ํ๊ฒฝ์์ ์น ์๋ฒ ๋๋ API ์๋ฒ๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ํ๋ ์์ํฌ์ ๋๋ค.
๋ฏธ๋ค์จ์ด๋ ๋ง๊ทธ๋๋ก ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์ ํ๋ก์ธ์ค์ ๊ด์ฌํด์ ํน์ ์ญํ ์ ์ํํฉ๋๋ค.
ํน์ Endpoint๊ฐ ์๋๋ผ ๋ชจ๋ ์์ฒญ์ ๋์ผํ ๋ฏธ๋ค์จ์ด๋ฅผ ์ ์ฉํ๋ ค๋ฉด ๋ฉ์๋ app.use ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด์ธ ๋ฐฐ์ด ๊ฒ๋ค
Lodash Library
ํ์ด๋ถ์ด ๊ฐ๋ฅด์ณ์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ๋ฐ Underbar์์ ํ์ฉํ๋ Underscore์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ๊ณ ํฉ๋๋ค.
// ํฐ๋ฏธ๋์์ lodash ์ค์น ํ
const _ = require('lodash'); // js ํ์ผ ์๋จ์ ๋ณ์ ์ฌ์ฉํด์ lodash ๋ถ๋ฌ์ค๊ธฐ
booking.filter((item) => _.isMatch(item, req.query)) //_.isMatch()๋ lodash Method์ ์ผ์ข
StatesAirline-Server
req.query๋ ๊ฐ์ฒด ํํ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
update: async (req, res) => {
let data;
//TODO:
flights.forEach((item, index) => {
if(item.uuid === req.params.id){
flights[index] = {...item, ...req.body}; //item์ ๋ฐฐ์ ํด์ฃผ๋ฉด ์คํ ์๋จ.
data = flights[index];
}});
return res.status(200).json(data);
}
forEach๋ฅผ ์ฌ์ฉํด์ ๋ฐฐ์ด์ ์์(item)๋ฅผ ๋ค๋ฅธ ์์๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ ์ํด
item = data ๋ก ํด์ฃผ๋ฉด ์๋๊ณ ,
flights[index] = {...item, ...req.body} ์ฒ๋ผ ์ธ๋ฑ์ค๋ฅผ ์ง์ ํด์ค์ ์์๋ฅผ ๋ฐ๊ฟ์ผ ํฉ๋๋ค.
Toy Problem 13_Insertion Sort
Callback ํจ์๊ฐ undefined ๋์ด์์ ๋๋ฅผ ๊ณ ๋ คํด์, ๋งค๊ฐ๋ณ์ ๊ฐ์ ๊ทธ๋๋ก ๋ฆฌํดํด์ฃผ๋ ์ต๋ช ํจ์๋ก ๋ฃ์ด์ฃผ๊ธฐ.
if (!cb) {
cb = (num) => {
return num;
}
}
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL 38: [React] ์ปดํฌ๋ํธ ๋์์ธ (0) | 2021.09.14 |
---|---|
TIL 37: [Web Server] ๊ธฐ์ด (0) | 2021.09.11 |
TIL 35: [Web Server] ๊ธฐ์ด (0) | 2021.09.09 |
TIL27: [์๋ฃ๊ตฌ์กฐ/์๊ณ ๋ฆฌ์ฆ] Graph / Tree / BST (0) | 2021.08.27 |
TIL 26: [์๋ฃ๊ตฌ์กฐ/์๊ณ ๋ฆฌ์ฆ] ์๋ฃ๊ตฌ์กฐ ๊ธฐ์ด (2) | 2021.08.26 |