
๋ฐ์ดํฐ JSON ๐
JSON (JavaScript Object Notation)
- ๊ฒฝ๋์ DATA ๊ตํ ํ์์ด๋ค.
- ์ฐ๋ฆฌ๊ฐ ๋ณด๋ ํ์๊ฐ์ ๋๋ ์ฑ๋ค์ ์ฑ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋ด๋ถ๋ ์ ๋ถ ์น์ฌ์ดํธ๋ค (์น์ฑ์ด๋ผ ํจ)
- ์์๋ JSON์ ์ฌ์ฉํ๋ ์ถ์ธ์ด๋ค.
{
"apple" : {
"name" : "๊น์ฌ๊ณผ", "password" : "1111"
}
}
JSON ๊ฒ์ฆ ์ฌ์ดํธ ๐
jsonlint.com/ -> ์ฝ๋ ๋ถํ๋๊ณ Vaildate JSON ํด๋ฆญ
๊ฒฐ๊ณผ์ฐฝ์ Vaild JSON ๋จ๋ฉด ๊ฒ์ฆ๋ ์ฝ๋๋ค.
app.get('/list', (req, res) => {
fs.readFile(__dirname) // ํ์ฌ ๊ฒฝ๋ก๋ผ๋ ๋ป์ด๋ค.
});
put : ์๋ณ์๊ฐ ์์ ๊ฒฝ์ฐ POST์ ๋์ผํ๊ฒ ์ฌ์ฉ๋๋,
์๋ณ์๊ฐ ์์ ๊ฒฝ์ฐ ํด๋น ์๋ณ์์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝ ํ ๋ ์ฌ์ฉํฉ๋๋ค.
DB ์์ ์ฌ์ดํธ ์์๋ณด๊ธฐ
DB-Engines Ranking
Popularity ranking of database management systems.
db-engines.com
-------------------------------------------------------------------------------------------
์ฟ ํค ๐
โCookie ์ฟ ํค๋ ?
์น์๋ฒ๊ฐ ์น๋ธ๋ผ์ฐ์ ์๊ฒ ๋ณด๋ด์ด ์ ์ฅํ๋ค๊ฐ ์๋ฒ์ ๋ถ๊ฐ์ ์ธ ์์ฒญ์ด ์์ ๋,
๋ค์ ์๋ฒ๋ก ๋ณด๋ด์ฃผ๋ ๋ฌธ์์ด ์ ๋ณด์ด๋ค.
์นํ์ด์ง ๋ฐฉ๋ฌธ ์ ๋ฐฉ๋ฌธ๊ธฐ๋ก ๋ฑ ๋ธ๋ผ์ฐ์ ์์์ ์ ๋ณด๋ค์ด ์ ์ฅ๋ ํ ์คํธ ํ์ผ์ด๋ค.
โcookie-parser ๋ชจ๋ : ์์ฒญ ๋ ์ฟ ํค๋ฅผ ์ฝ๊ฒ ์ถ์ถ ํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ชจ๋์ ๋๋ค.
express(req)๊ฐ์ฒด์ cookies ์์ฑ์ด ๋ถ์ฌ๋ฉ๋๋ค.
>> npm install cookie-parser
res.cookie('ํค', '๊ฐ', {
์ต์
});
โ์ฟ ํค ์์ฑ ์ต์
maxAge : ๋ง๋ฃ ์๊ฐ์ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ค์ ํ๋ค.
expires : ๋ง๋ฃ ๋ ์ง๋ฅผ GMT ์๊ฐ ์ผ๋ก ์ค์ ํ๋ค.
path : cookie์ ๊ฒฝ๋ก์ด๋ค. ๊ธฐ๋ณธ "/"
โ์ฟ ํค ์ญ์
res.clearCookie('ํค', {path: '๊ฒฝ๋ก'});
path : cookie์ ๊ฒฝ๋ก, ๊ธฐ๋ณธ "/" << ์ด ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ์ฟ ํค๋ฅผ ์ญ์ ํ ์ ์๋ค.
์ธ์ ๐
>> npm install express-session
express ํ๋ ์์ํฌ์์ ์ธ์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ํ์ํ ๋ฏธ๋ค์จ์ด ๋ชจ๋์ด๋ค.
app.use(session({
์ธ์ ๋ชจ๋์ ์ต์
}));
์ธ์ ๋ชจ๋์ ์ต์
secret : ์ฟ ํค๋ฅผ ์์๋ก ๋ณ์กฐํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ๊ฐ์ ๋๋ค. ์ด ๊ฐ์ ํตํ์ฌ ์ธ์ ์ ์ํธํํ์ฌ ์ ์ฅํฉ๋๋ค.
resave : ์ธ์ ์ ์ธ์ ๋ ์ ์ฅํ ์ง ์ ํ๋ ๊ฐ์ ๋๋ค. ์ด ๊ฐ์ false๋ก ํ๋ ๊ฒ์ ๊ถ์ฅํ๊ณ ํ์์ ๋ฐ๋ผ true๋ก ์ค์
saveUninitialized : ์ธ์ ์ด ์ ์ฅ๋๊ธฐ ์ ์ uninitialized ์ํ๋ก ๋ฏธ๋ฆฌ ๋ง๋ค์ด ์ ์ฅํฉ๋๋ค.
์ธ์ ์ด๊ธฐ ์ค์
sess = req.session; // ์ด๋ฐ์์ผ๋ก ์ธ์ ๋ณ์๋ฅผ ๋ง๋ญ๋๋ค.
sess.userid = 'apple'; // ์ด๋ ๊ฒ ํ๋ฉด ์ธ์ ๋ณ์๊ฐ ๋ง๋ค์ด์ง๋๋ค.
์ธ์ userid ๋ณ์๊ฐ 'apple', ๊ธ๊น ์์ด๋๊ฐ์ apple๋ก ์ ํ๊ฒ์
์ธ์ ๋ณ์ ์ฌ์ฉ
console.log(sess.userid);
์ธ์ ์ ๊ฑฐ
req.session.destroy(()=> {
์ ๊ฑฐ ํ ์ธ์
});
* destroy() ๋ฉ์๋์์๋ ์ธ์ ์ ์ ๊ทผ ํ ์ ์์ต๋๋ค.