๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (141)

๐ŸŒฑ โ†’ ๐ŸŒณ

[node.js] Session์œผ๋กœ ๋กœ๊ทธ์ธ ๊ตฌํ˜„ํ•˜๊ธฐ

๐Ÿ“Œ session : ์„œ๋ฒ„์˜ ์ฟ ํ‚ค ๐Ÿ“ HTTP Session ์ด๋ž€? ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•„๋‹Œ ์„œ๋ฒ„์— ์ €์žฅ๋˜๋Š” ์ฟ ํ‚ค ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†ํ•œ ์‹œ์ ๋ถ€ํ„ฐ ์—ฐ๊ฒฐ์„ ๋๋‚ด๋Š” ์‹œ์ ์„ ํ•˜๋‚˜์˜ ์ƒํƒœ๋กœ ๋ณด๊ณ  ์œ ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ•จ -> ๋กœ๊ทธ์ธ ์œ ์ง€ ์„œ๋ฒ„๋Š” ๊ฐ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์„ธ์…˜์„ ๋ฐœํ–‰ํ•˜๊ณ  ์„œ๋ฒ„๋กœ ์ ‘๊ทผ(request)ํ•œ ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋„๊ตฌ๋กœ ์‚ฌ์šฉ ์ฟ ํ‚ค์™€ ๋‹ฌ๋ฆฌ ์ €์žฅ ๋ฐ์ดํ„ฐ์— ์ œํ•œ ์—†์Œ ๋งŒ๋ฃŒ ๊ธฐ๊ฐ„ ์„ค์ •์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ๋ฐ”๋กœ ์‚ญ์ œ ๐Ÿ“HTTP Session์˜ ๋™์ž‘ ๋ฐฉ์‹ ์‚ฌ์šฉ์ž๊ฐ€ ์ตœ์ดˆ๋กœ ์„œ๋ฒ„ ์—ฐ๊ฒฐ์„ ํ•˜๋ฉด ํ•˜๋‚˜์˜ session-id(์ž„์˜์˜ ๊ธด ๋ฌธ์ž์—ด)๊ฐ€ ๋ฐœํ–‰ ๋ฐœํ–‰ ๋œ session-id๋Š” ์„œ๋ฒ„์™€ ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ฟ ํ‚ค ํ˜•ํƒœ๋กœ ์ €์žฅ๋จ ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ฒ„์— ์ ‘๊ทผ ์‹œ, ์ฟ ํ‚ค์— ์ €์žฅ๋œ session-id๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ณ  ..

Server/Node.js 2022. 9. 24. 17:43
[node.js] Cookie - ํŒ์—… ์ฐฝ ํ•˜๋ฃจ๋™์•ˆ ๋ณด์ง€ ์•Š๊ธฐ

๐Ÿ“Œ Cookie : HTTP ์ฟ ํ‚ค๋Š” ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ „์†กํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ JS์˜ ๊ฐ์ฒด์ฒ˜๋Ÿผ key ๊ฐ’๊ณผ, data๊ฐ€ ๋“ค์–ด ์žˆ์Œ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ฟ ํ‚ค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด ๋‘์—ˆ๋‹ค๊ฐ€, ๋™์ผํ•œ ์„œ๋ฒ„์— ๋‹ค์‹œ ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋  ๋•Œ ์ฟ ํ‚ค์— ์ €์žฅ๋œ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์ „์†ก ์„œ๋ฒ„์—์„œ๋Š” ์ฟ ํ‚ค๋ฅผ ํ†ตํ•ด ์š”์ฒญ์ด ์–ด๋–ค ๋ธŒ๋ผ์šฐ์ €์— ๋“ค์–ด์™”๋Š”์ง€(ํ˜น์€ ์š”์ฒญ์ด ๋™์ผํ•œ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋“ค์–ด์™”๋Š”์ง€) ๋“ฑ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Œ ์„œ๋ฒ„์— ์ €์žฅํ•ด์•ผ ํ•  ์ •๋ณด๋ฅผ ๊ด€๋ฆฌ -> ๋กœ๊ทธ์ธ ์ •๋ณด, ์žฅ๋ฐ”๊ตฌ๋‹ˆ, ํŒ์—… ํ•˜๋ฃจ ๋™์•ˆ ์•ˆ ๋ณด๊ธฐ ๋“ฑ ์ค‘์š”ํ•œ ์ •๋ณด(์ด๋ฆ„, ๋ฐ์ดํ„ฐ, ๋งŒ๋ฃŒ์ผ, ๊ฒฝ๋กœ ๋“ฑ)๋Š” ๋กœ์ปฌ์— ๋‚จ๊ฒŒ ๋˜๋ฏ€๋กœ ์ ˆ๋Œ€ ์ €์žฅํ•ด์„œ๋Š” ์•ˆ๋จ โœ… Cookie์˜ ๋™์ž‘ ๋ฐฉ์‹ โœ… ํ”„๋ก ํŠธ์—์„œ ์ฟ ํ‚ค ์‚ฌ์šฉํ•˜๊ธฐ (์‚ฌ์šฉ X, ํŽธ๋ฒ•) document.cookie๋กœ ์‚ฌ์šฉ expires๊ฐ’๊ณผ ๋ธŒ..

Server/Node.js 2022. 9. 24. 15:49
[MongoDB] mongoDB(์ •์˜, ๊ตฌ์กฐ, ํŒจํ‚ค์ง€ ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•)

๐Ÿ“Œ MongoDB(Humongous DB) ์žฅ์  data๋ฅผ ์ต์ˆ™ํ•œ JSON ํ˜•ํƒœ๋กœ ์ฒ˜๋ฆฌ -> ๋น ๋ฅด๊ฒŒ JSON ์ „ํ™˜ ๊ฐ€๋Šฅ DB ๊ตฌ์กฐ์˜ ๋ณ€๊ฒฝ ์šฉ์ด ์ œ์•ฝ์ด ์—†์Œ -> ๋†’์€ ์ˆ˜ํ‰ ํ™•์žฅ์„ฑ, ์Šคํ‚ค๋งˆ ์„ค๊ณ„์˜ ์œ ์—ฐ์„ฑ ๋‹จ์  ํ‘œ์ค€์ด ์—†์Œ(= ์ œ์•ฝ์ด ์—†์Œ) ๋ฐ์ดํ„ฐ๊ฐ€ ๊ตฌ์กฐํ™” ๋˜์–ด์žˆ์ง€ ์•Š์Œ ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ์˜ ์ฟผ๋ฆฌ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ ๋ฐ ์•ˆ์ •์„ฑ์„ DB๊ฐ€ ์•„๋‹Œ APP ๋ ˆ๋ฒจ์—์„œ ๊ด€๋ฆฌํ•ด์ค˜์•ผ ํ•จ -> ๋ฒ„๊ทธ ๋ฐœ์ƒ ํ™•๋ฅ  ๋†’์Œ โœ… MongoDB์˜ ๊ตฌ์กฐ โœ… MongoDB ํŒจํ‚ค์ง€ ์„ค์น˜ mongoDB์šฉ js ํŒŒ์ผ ์ƒ์„ฑ routes/mongo.js ํŒŒ์ผ ์ƒ์„ฑ npm i mongodb ๐Ÿ“ mongo.js ํŒŒ์ผ ์‹คํ–‰ node routes/mongo.js ์•„๋ฌด๋Ÿฐ ๋ฉ”์‹œ์ง€๊ฐ€ ์•ˆ๋œจ๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ ‘์†์ด ๋œ ๊ฒƒ ๐Ÿ“ MongoDB ์ ‘์†์šฉ ํ•จ์ˆ˜ ์ƒ์„ฑ ํด๋ผ์šฐ๋“œ ..

Server/MongoDB 2022. 9. 24. 11:40
[DataBase] DBMS(DataBase Management System)

๐Ÿ“Œ DBMS : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์šด์˜ํ•˜๋Š” SW ๋‹ค์–‘ํ•œ ํ˜•ํƒœ, ์„œ๋น„์Šค๊ฐ€ ์กด์žฌ โœ… SQL (Structured Query Language) ๊ตฌ์กฐ๊ฐ€ ์žˆ๋Š” ์งˆ๋ฌธ์šฉ ์–ธ์–ด SELECT, INSERT, UPDATE, DELETE ๊ฐ™์€ ์–ธ์–ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์–ธ์–ด ๋‹ค์ˆ˜์˜ DBMS๊ฐ€ SQL ๋ฐฉ์‹์„ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— SQL ์„ ๋ฐฐ์šฐ๋ฉด, ๋งŽ์€ DBMS๋ฅผ ๋น„๊ต์  ๋น ๋ฅด๊ฒŒ ์Šต๋“์ด ๊ฐ€๋Šฅ MySQL, SQLite, ORACLE ๋“ฑ์ด SQL ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉ ๐Ÿ“Œ DB์˜ ์ข…๋ฅ˜ ๊ด€๊ณ„ํ˜•(SQL) vs ๋น„๊ด€๊ณ„ํ˜•(NoSQL) โœ… ๊ด€๊ณ„ํ˜•, Relational DBMS(RDBMS) : SQL์„ ์‚ฌ์šฉํ•˜๋Š” DB ํ‚ค์™€ ๊ฐ’์˜ ๊ด€๊ณ„๋ฅผ ํ…Œ์ด๋ธ”ํ™” ์‹œํ‚จ ์›์น™์„ ํ† ๋Œ€๋กœ DB๋ฅผ ๊ตฌ์„ฑ ์ฆ‰, ํ…Œ์ด๋ธ”๋กœ ๊ตฌ์„ฑ๋จ ๋จผ์ € ํ…Œ์ด๋ธ”์ด ๊ตฌ์„ฑ๋˜๊ณ  ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ์— ..

Computer Science 2022. 9. 24. 11:00
[node.js] Front์—์„œ Back์œผ๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก

front์˜ form์œผ๋กœ back์—๊ฒŒ ๋ฐ์ดํ„ฐ ๋ณด๋‚ด๊ธฐ form XMLHttpRequest Jquery Fetch() ๐Ÿ“Œ users.ejs์— form ์ถ”๊ฐ€ ๐Ÿ“form action : ๋ณด๋‚ด๊ณ ์ž ํ•˜๋Š” ์ฃผ์†Œ ๊ฐ’ method: ๋ณด๋‚ด๋Š” method ์„ค์ •(get, post ๋งŒ ๊ฐ€๋Šฅ) input์˜ name ์†์„ฑ์€ ์„œ๋ฒ„์—์„œ ๋ฐ›์„ ๋•Œ ํ•„๋“œ ๊ฐ’์ด ๋จ ๋ฒ„ํŠผ type์œผ๋กœ submit์„ ํ•˜๋ฉด ํ•ด๋‹น ํผ์˜ ๋‚ด์šฉ์„ ์ง€์ •ํ•œ ๋ฐฉ์‹ + ์ฃผ์†Œ๋กœ ์ „๋‹ฌ ์•„์ด๋”” ์ด๋ฆ„ ์ด๋ฉ”์ผ Submit โœ… body-parser ๋ชจ๋“ˆ ์‚ฌ์šฉ : form์—์„œ ์ „์†ก ๋œ, ์ •๋ณด๋ฅผ req.body์— ๋‹ด์—์„œ obj๋กœ ์ „๋‹ฌํ•ด์ฃผ๋Š” ์—ญํ•  body-parser๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ body์— ๋„ฃ์€ ๋‹ค์Œ, ์ธ์ฝ”๋”ฉ์ฒ˜๋ฆฌ๊นŒ์ง€ ํ•ด์ค˜์•ผํ•จ (body-parser๋Š” ์ž๋™์œผ..

Server/Node.js 2022. 9. 24. 10:50