๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

STORAGE/๋‹จ์–ด์žฅ๐Ÿ” 5

๋งˆ์…œ๋ง(marshalling) & ์ง๋ ฌํ™”(serialization) ๋งˆ์…œ๋ง(marshalling)1. marshalling(v. ์กฐ์งํ•˜๋‹ค, ํ†ต์ œํ•˜๋‹ค / n.๊ตฐ ์›์ˆ˜ ๐Ÿ’‚)์˜ ์› ๋œป์€ ์—ฌ๋Ÿฌ ์š”์†Œ(๊ตฐ์ธ)๋ฅผ ๋ชจ์•„์„œ ์กฐ์งํ™”ํ•˜๊ณ  ์งˆ์„œ๋ฅผ ํ†ต์ œ, ์ง€ํœ˜ํ•˜๋Š” ์˜๋ฏธ๋กœ ์ดํ•ด๋œ๋‹ค. 2. ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€, ํ˜น์€ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์—์„œ ๊ฐ์ฒด์˜ ๋ฐ์ดํ„ฐ ํฌ๋งท์„ ๋ณ€ํ™˜, ์ „๋‹ฌ, ์—ญ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •. ์—ญ๋ณ€ํ™˜-์–ธ๋งˆ์…œ๋ง(unmarshalling) ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ƒํƒœ์™€ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๊ฐ™์ด ๋ฉ”๋ชจ๋ฆฌ์— ๊ธฐ๋กํ•œ๋‹ค. ์˜ˆ๋ฌธ๋ธŒ๋ผ์šฐ์ € ์—”์ง„์€ ์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋ Œ๋”๋ง ์—”์ง„ ๊ฐ„์˜ ์ž‘์—…์„ ๋งˆ์ƒฌ๋งํ•ฉ๋‹ˆ๋‹ค. โžœ ๋ธŒ๋ผ์šฐ์ € ์—”์ง„์€ ์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ Œ๋”๋ง ์—”์ง„์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.  ์ง๋ ฌํ™”(serialization)๋งˆ์…œ๋ง์˜ ํ•œ ๋ฐฉ๋ฒ•. ๋ฐ์ดํ„ฐ์˜ ํฌ๋งท์„ ๋ณ€ํ™˜ํ•˜๊ณ , ํ†ต์ œํ•˜๊ณ , ์ „๋‹ฌํ•˜๋Š” ๋งˆ์…œ๋ง.. 2024. 7. 24.
ํ˜ธ์ŠคํŒ…(hosting) ํ˜ธ์ŠคํŒ… 1. ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์„œ๋ฒ„์˜ ์›น ์‚ฌ์ดํŠธ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ. ์˜์–ด๋กœ 'host'๋Š” '์ง‘์ฃผ์ธ'์ด๊ณ , 'hosting'์€ '์ง‘์ฃผ์ธ์ด ๋˜๋Š” ๊ฒƒ'๊ณผ ๊ฐ™์€ ์˜๋ฏธ์ด๋‹ค. 2. ์›น ํ˜ธ์ŠคํŒ…(์„œ๋ฒ„ ํ˜ธ์ŠคํŒ…)์˜ ๊ฒฝ์šฐ, ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ๋žŒ์ด๋‚˜ ํšŒ์‚ฌ๊ฐ€ ์ง‘์ฃผ์ธ์˜ ์—ญํ• ์„ ํ•˜๋ฉฐ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ์˜ ์ผ๋ถ€ ๊ณต๊ฐ„์„ ๋Œ€์—ฌํ•ด ์ฃผ๋Š” ์„œ๋น„์Šค์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์–ธ์ œ๋“ ์ง€ ์ ‘์†ํ•˜์—ฌ ์›น ์‚ฌ์ดํŠธ๋ฅผ ์กฐํšŒํ•˜๊ฑฐ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฌธ ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ์—์„œ Node API์™€ React SPA๋ฅผ ๋ชจ๋‘ ํ˜ธ์ŠคํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โžœ ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ์—์„œ Node API์™€ React SPA๋ฅผ ๋ชจ๋‘ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Firebase ํ˜ธ์ŠคํŒ…์€ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ”„๋กœ๋•์…˜ ๋“ฑ๊ธ‰ ์›น ์ฝ˜ํ…์ธ  ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๋ช…๋ น์–ด ํ•˜๋‚˜๋กœ.. 2024. 4. 5.
์Šคํ‚ค๋งˆ(schema) ์Šคํ‚ค๋งˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ์™€ ๊ทœ์น™(์ œ์•ฝ ์กฐ๊ฑด)์— ๊ด€ํ•œ ์„ค๊ณ„๋„. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€, ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ํ˜•ํƒœ์™€ ๊ด€๊ณ„๋กœ ์ €์žฅ๋˜๋Š”์ง€๋ฅผ ์ •์˜ํ•œ๋‹ค. ์ด๋Š” ํ…Œ์ด๋ธ”/ํ•„๋“œ/๊ด€๊ณ„/์ธ๋ฑ์Šค ๋“ฑ์„ ์ •์˜ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ด๋‹ค. ์˜ˆ๋ฌธ Everything in Mongoose starts with a Schema. Each schema maps to a MongoDB collection and defines the shape of the documents within that collection. โžœ Mongoose์—์„œ ๋ชจ๋“  ๊ฒƒ์€ ์„ค๊ณ„๋„๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์„ค๊ณ„๋„๋Š” MongoDB ์ปฌ๋ ‰์…˜์— ๋งคํ•‘๋˜๋ฉฐ ํ•ด๋‹น ์ปฌ๋ ‰์…˜ ๋‚ด์˜ ๋ฌธ์„œ์˜ ํ˜•ํƒœ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฌธ ์ถœ์ฒ˜: mongoosejs.com/docs/guide.html#.. 2024. 4. 5.
์Šค์บํด๋”ฉ(scaffolding) ์Šค์บํด๋”ฉ(scaffolding) ๋ณธ๋”” '๊ฑด์ถ• ๊ณผ์ •์—์„œ ์ž„์‹œ๋กœ ์„ค์น˜ํ•˜๋Š” ๊ตฌ์กฐ๋ฌผ'์„ ์˜๋ฏธํ•˜๋Š” ๊ฑด์ถ• ์šฉ์–ด๋กœ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ๋Š” ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Create React App(React์šฉ), Vite(React, Vue์šฉ), ํ„ฐํฌ๋ ˆํฌ(๋ชจ๋…ธ๋ ˆํฌ์šฉ) ๋“ฑ์ด ์Šค์บํด๋”ฉ ๋„๊ตฌ์ด๋‹ค. ์ด๋“ค์€ ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋ณธ ์„ธํŒ…๊ณผ ํด๋” ๊ตฌ์กฐ, package.json, ๋ณด์ผ๋Ÿฌ ํ”Œ๋ ˆ์ดํŠธ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ์„ธ์šฐ๊ณ , ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์—…์— ๋น ๋ฅด๊ฒŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š”๋‹ค. ์˜ˆ๋ฌธ ๋ชจ๋…ธ๋ ˆํฌ ์Šค์บํด๋”ฉ ๊ณผ์ •์—์„œ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ๋“ฑ ๊ธฐ๋ณธ์ ์ธ ์„ค์ •์„ ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง„๋‹ค. โžœ ๋ชจ๋…ธ๋ ˆํฌ ์ดˆ๊ธฐ ๋นŒ๋”ฉ ๊ณผ์ •์—์„œ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ๋“ฑ ๊ธฐ๋ณธ์ ์ธ ์„ค์ •์„ ํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง„๋‹ค. vs ํ”„๋ ˆ์ž„์›Œํฌ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์†Œํ”„ํŠธ์›จ.. 2024. 4. 4.
๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์ปดํ“จํ„ฐ ๊ณผํ•™ ๋ถ„์•ผ์—์„œ์˜ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์ด๋ž€ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ถ€ํŒ… ๊ณผ์ •์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๊ฒƒ์€ ์ปดํ“จํ„ฐ๊ฐ€ ์ „์›์„ ์ผค ๋•Œ๋ถ€ํ„ฐ ์šด์˜ ์ฒด์ œ๋ฅผ ๋กœ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•  ๋•Œ๊นŒ์ง€์˜ ์ดˆ๊ธฐํ™” ๋ฐ ์‹œ์ž‘ ๊ณผ์ •, ์ดˆ๊ธฐ ์„ค์ •์„ ๋งํ•œ๋‹ค. ์ฃผ๋กœ ํ•˜๋“œ์›จ์–ด์˜ ์ดˆ๊ธฐํ™”์™€ ์šด์˜ ์ฒด์ œ์˜ ๋กœ๋“œ๋ฅผ ํฌํ•จํ•œ๋‹ค. ์˜ˆ๋ฌธ ๋‹ค์Œ ์Šค๋‹ˆํŽซ์— ํ‘œ์‹œ๋œ ๋Œ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์— ์ธ๋ผ์ธ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋กœ๋”๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ Maps JavaScript API๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. โžœ ๋‹ค์Œ ์Šค๋‹ˆํŽซ์— ํ‘œ์‹œ๋œ ๋Œ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์— ์ธ๋ผ์ธ ์ดˆ๊ธฐ ๋กœ๋”๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ Maps JavaScript API๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. Add other bootstrap parameters as needed, using camel case. โžœ๋‹ค๋ฅธ ์ดˆ๊ธฐ ์†์„ฑ๋“ค์„ ํ•„์š”ํ•œ ๋งŒํผ ๋”ํ•˜๋ผ, ์นด๋ฉœ์ผ€์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ. .. 2024. 4. 3.