๐Ÿ’ซ ๋ชฉ์ 

์บ ํ”„์˜ ๋ฐ˜ํ™˜์ ์„ ๋Œ๋ฉฐ ํฌ์ŠคํŒ…์„ ์ผ์œผ๋‹ˆ ์บ ํ”„์˜ ๋งˆ๋ฌด๋ฆฌ ํšŒ๊ณ ๋ฅผ ์ž˜ ์“ฐ๊ณ  ์บ ํ”„๋ฅผ ๋๋งบ๊ณ  ์‹ถ์—ˆ์ง€๋งŒ, ๋ณตํ•™๊ณผ ํ•จ๊ป˜ 4ํ•™๋…„ ์ƒํ™œ์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜๋ฉด์„œ ๋์„ ๋ณด์ง€ ๋ชปํ–ˆ๋‹ค๐Ÿ˜ญ

๊ทธ๋ ‡๊ฒŒ ๋ฐฉ์น˜ํ–ˆ๋˜ ํšŒ๊ณ ์˜€์ง€๋งŒ ์ด์ œ๋Š” ์ง„์งœ๋กœ ์šฐ์•„ํ•œํ…Œํฌ์บ ํ”„์˜ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ์ง€์–ด ๋ณด๋ ค ํ•œ๋‹ค!ใ…Žใ…Ž

์ผ๋‹จ ์ˆ˜๋ฃŒ์ฆ ์‚ฌ์ง„ ํˆฌ์ฒ™ํ•˜๊ณ  ๊ฐ„๋‹ค~ใ…‹ใ…‹

/assets/woowa-tech-final-0.png

์šฐ์•„ํ•œํ…Œํฌ์บ ํ”„์˜ ๋งˆ์ง€๋ง‰ 2๊ฐœ์˜ ํ”„๋กœ์ ํŠธ

์ผ๋‹จ ๋‚˜๋Š” ๋งค์šฐ๋งค์šฐ ์ธ๋ณต์ด ์ข‹์€ ์‚ฌ๋žŒ์ด๋‹ค. ์ด์ „ ํ”„๋กœ์ ํŠธ์—์„œ๋„ ๊ทธ๋žฌ์ง€๋งŒ ๋งˆ์ง€๋ง‰ ๋‘๊ฐœ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•จ๊ป˜ํ•  ํŒ€์› ๋ช…๋‹จ์„ ๋ณด๊ณ  ๋งค์šฐ ์•ˆ๋„ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ ๋งŽ์ด ๋ฐฐ์šฐ๊ณ  ์ œ๋ฒ• ์™„์„ฑ๋„ ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฌผ๋„ ๋งŒ๋“ค์–ด ๋‚ด๊ฒŒ ๋˜์—ˆ๋‹ค.

์šฐ์•„ํ•œ๊ฐ€๊ณ„๋ถ€(with ๊ฐ‡ํ•ด๋ฏผ)

๊ฒฐ๊ณผ๋ฌผ ๋งํฌ

ํ”„๋กœ์ ํŠธ ๋งํฌ

ํ•ด๋ฏผ์ด(๋‹น์‹œ ํ•ด๋ฏผ๋‹˜)์€ ์ •๋ง ๊ฐ‡ํ•ด๋ฏผ์ด์—ˆ๋‹ค. ์ด๋ฏธ ์บ ํ”„์—์„œ ์–ด๋„ˆ๋” ํด๋ž˜์Šค๋กœ ๋งŽ์€ ์‚ฌ๋žŒ์—๊ฒŒ ์€์ด์„ ๋ฒ ํ‘ธ์‹œ๋Š” ๋ถ„์ด์…จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹ฌ์ง€์–ด ๋””์ž์ธ๊นŒ์ง€ ๋„ˆ๋ฌด ์ž˜ํ•˜๋Š” ์ž์นญํƒ€์นญ ๋งŒ๋Šฅ ํ”„๋ก ํŠธ์—”๋“œ ๋””์ž์ด๋„ˆ์˜€๋‹ค. (ํ•ด๋ฏผ์ด ๋ธ”๋กœ๊ทธ๊ธ€)

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ๋™์•ˆ์— ๋‚˜์™€ ํ•ด๋ฏผ์ด๋Š” ๊ฐœ๋ฐœ์ž, ๊ฐœ๋ฐœ๊ณผ ๋””์ž์ธ์ด ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์ ํŠธ ๋งค๋‹ˆ์ €์™€ ๊ฐ™์€ ๋Š๋‚Œ์œผ๋กœ ํ•จ๊ป˜ ํ”„๋กœ์ ํŠธ๋ฅผ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

ํ•ด๋ฏผ์ด๋Š” ์ข€๋” ๋””์ž์ธ๊ณผ UX์— ์ง‘์ค‘ํ•ด์„œ ์ง„ํ–‰ํ•˜๋Š” ๋™์•ˆ์— ๋‚˜๋Š” ์„  ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  ๋งค์ผ ์•„์นจ์— ์ด์ „ ๋‚  ์ž‘์—…ํ•œ ๊ฒƒ๋“ค์— ๋Œ€ํ•œ ํ•ด๋ฏผ์ด์˜ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์œผ๋ฉฐ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ํ•ด๋ฏผ์ด๊ฐ€ ์ •๋ง ์—ด์‹ฌํžˆ ๋ด์ฃผ๊ณ , ๋‚ด๊ฐ€ ๋ชจ๋ฅด๋˜ ๋ถ€๋ถ„๋“ค์„ ์ž˜ ๊ฐ€๋ฅด์ณ์ค˜์„œ ๊ณ ๋งˆ์› ๋‹ค.

์ด์ „ ํ”„๋กœ์ ํŠธ์™€ ๋‹ฌ๋ฆฌ ๋ฌธ์„œํ™”๋‚˜ ๊ตฌ์กฐ๋ณด๋‹ค๋Š” ์ƒ์‚ฐ์„ฑ์„ ์ถ”๊ตฌํ•˜๋‹ค ๋ณด๋‹ˆ ์ƒ๊ฐ๋ณด๋‹ค ๋น ๋ฅธ ์‹œ์ผ ๋‚ด์— ๋„ˆ๋ฌด ๋ง˜์— ๋“œ๋Š” ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค.(์—ญ์‹œ ๋””์ž์ธ์ด ์ด์˜๋ฉด ๊ฐœ๋ฐœํ•  ๋ง›์ด ๋‚œ๋‹ค.)

๋‚˜๋Š” ๋‚จ์€ ์‹œ๊ฐ„ ๋™์•ˆ ํ•ด๋ฏผ์ด๊ฐ€ ์ฐจํŠธ ์ƒ์„ฑํ•ด์ฃผ๋Š” module์„ ๊ฐœ๋ฐœํ•ด์„œ npm ์˜ฌ๋ฆฐ ๊ฑธ ์ฐธ๊ณ ํ•ด์„œ ์ด์ „ ํ”„๋กœ์ ํŠธ ๋•Œ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ ํ•ด์™”๋˜ ๋‚˜๋งŒ์˜ Custom ORM์„ ๋ชจ๋“ˆํ™”ํ•˜์—ฌ npm์— ๋ฐฐํฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

/assets/woowa-tech-final-1.png

์‚ฌ์‹ค ๋‚˜๋Š” ์ด์ œ ๋ง‰ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ์ž…๋ฌธํ•œ ์‚ฌ๋žŒ์œผ๋กœ์„œ ์ด๋Ÿฐ ํ•ด๋ฏผ์ด๋ž‘ ์ด์•ผ๊ธฐํ•˜๊ณ  ๊ฐ™์€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด ๋„ˆ๋ฌด ์ข‹์€ ๊ธฐํšŒ์˜€๋‹ค. ๊ฐœ๋ฐœ์ ์œผ๋กœ๋„ ๋งŽ์ด ๋ฐฐ์› ์ง€๋งŒ ๊ฐœ๋ฐœ์ž๋ผ๋Š” ํ‹€์—์„œ ์‚ฌ๊ณ ํ•˜๋Š” ๋‚˜์˜ ํ‹€๋„ ๋งŽ์ด ๊นจ์กŒ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ•ด๋ฏผ์ด๋ฅผ ๋”ฐ๋ผ ๋‚˜๋„ ๋””์ž์ธ์— ๊ธฐ์—ฌ ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋งˆ์Œ์— ์บ˜๋ฆฐ๋” ๋ถ€๋ถ„์˜ ๋ชจ๋ฐ”์ผ๋ทฐ๋ฅผ ๋งก์•„์„œ ๋””์ž์ธ์„ ์ง„ํ–‰ํ•ด๋ดค๋‹ค ใ…Žใ…Ž

/assets/woowa-tech-final-2.png

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ๋™์•ˆ ํ•ญ์ƒ ์—ด๋ฆฐ ๋งˆ์Œ์œผ๋กœ ์‚ฌ๊ณ ํ•˜๊ณ  ๊ผผ๊ผผํ•˜๊ฒŒ ๋‚ด ์ฝ”๋“œ๋ฅผ ๋ด์ฃผ๋Š” ํ•ด๋ฏผ์ดํ•œํ…Œ ๋งŽ์ด ๊ณ ๋งˆ์› ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌด์—‡๋ณด๋‹ค ์žก๋‹ดํ•˜๋ฉด์„œ ํ•ด๋ฏผ์ด ์ƒ๊ฐ์„ ๋งŽ์ด ๋“ฃ๊ณ  ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ ˆ์ œ๊ฐ€ ์•ˆ๋˜์„œ ์‚ญ์ œํ•˜๊ธด ํ–ˆ์ง€๋งŒ ์นดํŠธ๋„ ๋„ˆ๋ฌด ์žฌ๋ฐŒ์—ˆ๋‹ค ใ…Žใ…Ž

์šฐ์•„ํ•œ๋น„๋งˆํŠธ(with ๊ฐ‡๋™์šฑ, ๊ฐ‡๊ด€ํ˜•)

๊ฒฐ๊ณผ๋ฌผ ๋งํฌ(Mobile Web)

ํ”„๋กœ์ ํŠธ ๋งํฌ

์ด ํ”„๋กœ์ ํŠธ๋Š” ํŒ€์œผ๋กœ์˜ ์‹œ๋„ˆ์ง€๋ฅผ ์ œ๋Œ€๋กœ ๊ฒฝํ—˜ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ์˜€๋‹ค.

๋งˆ์ง€๋ง‰ ํ”„๋กœ์ ํŠธ์—ฌ์„œ ์ž˜ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๊ฒƒ๋„ ์žˆ์—ˆ์ง€๋งŒ ์šฐํ˜• ๊ฐœ๋ฐœ์ž, ๊ธฐํš์ž๋“ค์—๊ฒŒ ๋ฐ๋ชจ๊ฐ€ ์ง„ํ–‰๋  ๊ฑฐ๋ผ๊ณ  ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ๋ถ€๋‹ด์€ ๋ฐฐ๊ฐ€ ๋์—ˆ๋‹ค. ์ด ๊ณผ์ • ์†์—์„œ ๋‚˜์™€ ๊ด€ํ˜•์ด๋Š” ๋ฆฌ์•กํŠธ๋ฅผ ์ฒ˜์Œ ์ž…๋ฌธํ–ˆ๊ณ  ๋ชจ๋‘ ์ž…์‚ฌ ๋ฉด์ ‘์„ ์œ„ํ•œ ์ž์†Œ์„œ๊นŒ์ง€ ์จ์•ผํ–ˆ๊ธฐ์— ์‹œ๊ฐ„์ ์œผ๋กœ๋„ ์‹ฌ์ ์œผ๋กœ๋„ ๋งŽ์ด ์ดˆ์กฐํ–ˆ๋‹ค.

๋„ˆ๋ฌด ์ข‹์€ ๋™์šฑ์ดํ˜•์€ ์šฐ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•  ๋™์•ˆ์— ๋ฆฌ์•กํŠธ์˜ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ์นœ์ ˆํžˆ ์„ค๋ช…๋„ ํ•ด์ค˜์„œ ๋ฆฌ์•กํŠธ๋ฅผ ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ ์ž˜ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คฌ๋‹ค.

๊ณต๋ถ€๋„ ๋ฐ”์ ํ…๋ฐ ๊ด€ํ˜•์ด๋Š” ๋น„๋งˆํŠธ ๋””์ž์ธ์„ Figma๋กœ ์˜ฎ๊ธฐ๊ณ  ๋‹ค๋ฅธ ์„œ๋น„์Šค๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๋””์ž์ธ์„ ๊ฐœ์„ ํ•ด์ฃผ์—ˆ๋‹ค. ๋•๋ถ„์— ์šฐ๋ฆฌ๊ฐ€ ๋งˆํฌ์—…์„ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์–ด๋ ค์›€์„ ์ค„์—ฌ์ฃผ์—ˆ๋‹ค.(์ง„์งœ ์ข‹์€ ์‚ฌ๋žŒ๋“คโ€ฆ๐Ÿ™)

/assets/woowa-tech-final-3.png

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์˜ ํŠน์ง•์€ ์†Œํ†ต๊ณผ ์™„์„ฑ๋„์— ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๊ฐ‘์ž๊ธฐ ์˜จ๋ผ์ธ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋ฉด์„œ ์†Œํ†ต์˜ ์–ด๋ ค์›€์ด ์žˆ์„ ๋ฒ•๋„ ํ–ˆ์ง€๋งŒ ์กฐ๊ธˆ์˜ ์–ด๋ ค์›€์ด ์žˆ๊ฑฐ๋‚˜ ๋…ผ์˜ํ•  ๊ฒŒ ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ google meet์„ ํ‚ค๊ณ  ๋ฐค๋‚ฎ ๊ฐ€๋ฆฌ์ง€ ์•Š๊ณ  ๋Œ€ํ™”ํ–ˆ๋‹ค. ๋ฌผ๋ก  ์žก๋‹ด์œผ๋กœ ์ƒ๊ฐ๋ณด๋‹ค ์‹œ๊ฐ„์ด ๋งŽ์ด ํ˜๋Ÿฌ๊ฐˆ ๋•Œ๋„ ์žˆ์—ˆ์ง€๋งŒ ํ•ญ์ƒ ์„œ๋กœ๊ฐ€ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ๋“ค์— ๋Œ€ํ•ด ์•Œ๊ณ  ๊ฐ™์ด ๊ณ ๋ฏผํ–ˆ๋‹ค.

/assets/woowa-tech-final-4.png

๊ทธ๋ฆฌ๊ณ  Google meet๊ณผ Github์„ ์ด์šฉํ•ด์„œ ์„œ๋กœ์˜ ์ฝ”๋“œ๋„ ํ™œ๋ฐœํ•˜๊ฒŒ ๋ฆฌ๋ทฐํ•ด์ฃผ์—ˆ๋‹ค. ํŠนํžˆ ๊ด€ํ˜•์ด๊ฐ€ ์ฝ”๋“œ๋ฅผ ๊นŠ๊ฒŒ ๋ด์ฃผ๊ณ  ๋†“์นœ ๋ถ€๋ถ„๋“ค์ด๋‚˜ ๊ฐœ์„ ์ ์„ ์ž˜ ์ฐพ์•„์ฃผ์—ˆ๋‹ค.

/assets/woowa-tech-final-5.png

๊ทธ๋ ‡๊ฒŒ ๋งˆ์ง€๋ง‰๋‚  ๋ฐค๊นŒ์ง€ ์ง€์ƒˆ์šฐ๊ณ  ๋ฐ๋ชจ๋ฅผ ํ•˜๊ณ  ๊ธฐ๋ถ„ ์ข‹๊ฒŒ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ง„์งœ ํ•จ๊ป˜ ๋๊นŒ์ง€ ์ตœ์„ ์„ ๋‹คํ•ด ์ค€ ๋™์šฑ๋ชฌ๊ณผ ๊ด€ํ˜•๋ชฌ์—๊ฒŒ ๊ฐ์‚ฌํ•˜๋‹ค.โค๏ธ

์บ ํ”„์—์„œ ๋‚จ์€ ๊ฒƒ๋“ค

์บ ํ”„์—์„œ ๋ญ๋ฅผ ๋ฐฐ์› ๋ƒ๊ณ  ๋ฌผ์–ด๋ณด๋ฉด ๋ญ๋ฅผ ๋งํ•ด์•ผ ํ• ๊นŒ ๊ณ ๋ฏผ์ด ๋œ๋‹ค. ์ง€๊ธˆ ๋‚˜์—๊ฒŒ ๋– ์˜ค๋ฅด๋Š” ๋‹ค์Œ ๋‘ ๊ฐ€์ง€์ด๋‹ค.

๊ธ์ •์ ์ธ ํ˜‘์—… ๊ฒฝํ—˜๊ณผ ์‚ฌ๋žŒ๋“ค

๋ฌด์—‡๋ณด๋‹ค ์ œ์ผ ๋จผ์ € ๋‚ด ๋จธ๋ฆฌ ์†์— ๋– ์˜ค๋ฅด๋Š” ๊ฑด ๊ธ์ •์ ์ธ ํ˜‘์—… ๊ฒฝํ—˜์ด๋‹ค. ํ˜‘์—…์„ ๊บผ๋ฆฌ๋Š” ๊ฑด ์•„์ง ํ˜‘์—…์„ ํ–ˆ์„ ๋•Œ์˜ ์žฅ์ ์ด๋‚˜ ํ˜‘์—…์— ๋Œ€ํ•œ ์ข‹์€ ๊ธฐ์–ต์ด ์—†์–ด์„œ ๋ผ๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋“ฃ๊ณ  ๋‚˜๋Š” ๋งค์šฐ ๊ณต๊ฐํ–ˆ๋‹ค. ์ด์ „์—๋„ ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ํ˜‘์—… ๊ฒฝํ—˜์ด ์žˆ์—ˆ์ง€๋งŒ ํ˜‘์—…์ด ๋„ˆ๋ฌด ์ข‹๋‹ค๊ณ  ๋Š๋ผ์ง€๋Š” ์•Š์•˜๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ด์ „ ์Šคํƒ€ํŠธ์—…์—์„œ์˜ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ๋„ ๋ฐฐํฌ ํ›„์—์•ผ ๋‚˜์˜ ๋ถ€์กฑํ•จ์—์„œ ํ˜‘์—…์˜ ํ•„์š”์„ฑ์„ ๋Š๊ผˆ์„ ๋ฟ์ด์—ˆ๋‹ค.

์ด๋ฒˆ ์บ ํ”„ ๊ธฐ๊ฐ„ ๋™์•ˆ์— ๋‚˜๋Š” ์šด ์ข‹๊ฒŒ ๋„ˆ๋ฌด ์„ฑ๊ฒฉ๋„ ์ข‹๊ณ  ์‹ค๋ ฅ๋„ ์ข‹์€ ๋ถ„๋“ค๊ณผ ํŒ€์„ ์ด๋ค„ ํ•จ๊ป˜ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•ด๋ดค๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋†’์•„์ง€๋Š” ์™„์„ฑ๋„์™€ ์„ฑ์žฅ์„ ๊ฒฝํ—˜ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

ํŠนํžˆ ๋งˆ์ง€๋ง‰ ํ”„๋กœ์ ํŠธ์—์„œ ํ˜‘์—…์˜ ์žฅ์ ์„ ๋งŽ์ด ๋Š๊ผˆ๋‹ค. ํ˜ผ์ž 3์ฃผ๋™์•ˆ ๊ฐ™์€ ๊ฑธ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด ์ € ํ€„๋ฆฌํ‹ฐ๋Š” ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋‹ค. ๋‚˜ ๊ฐ™์ด ์ €๋Œ์ ์œผ๋กœ ์ฝ”๋”ฉํ•˜๋Š” ์‚ฌ๋žŒ์€ ๋””ํ…Œ์ผ์„ ๋†“์น˜๊ธฐ ๋„ˆ๋ฌด ์‰ฌ์šด๋ฐ, ๋‚ด ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ์ž‘์€ ๋ถ€๋ถ„๋„ ์—ด์‹ฌํžˆ ๋ฆฌ๋ทฐํ•ด์ฃผ๊ณ  ๋””ํ…Œ์ผ์„ ์‚ด๋ฆฌ๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ด์ค€ ๊ด€ํ˜•์ด์™€ ๋™์šฑ์ดํ˜• ๋•์— ๊ฒฐ๊ณผ๋ฌผ์„ ๋„ˆ๋ฌด ์ž˜ ๋งŒ๋“ค์–ด๋ƒˆ๋‹ค.

๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ์ž ์ž˜ ๋ชจ๋ฅด๊ณ  ๋„˜์–ด๊ฐ”๋˜ ๋ถ€๋ถ„๋“ค์— ๋Œ€ํ•ด ํ•จ๊ป˜ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ํŒŒํŠธ๋„ˆ์˜ ์ฝ”๋“œ๋ฅผ ๋ฆฌ๋ทฐํ•˜๋ฉฐ ์ข‹์€ ์ฝ”๋“œ์— ๋Œ€ํ•œ ํžŒํŠธ๋ฅผ ๊ณ„์† ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.(ํŠนํžˆ ํ•ด๋ฏผ์ด ์ง„์งœ ๊ณ ๋ง™๋‹คใ… ใ…‹ใ…‹)

๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—์„œ ๋งŒ๋‚œ ์‚ฌ๋žŒ๋“ค๊ณผ ๋‹ค ๊ธฐ๋ถ„์ข‹๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒŒ ๋˜์„œ ์ข‹์€ ๊ฐœ๋ฐœ ๋•ํ›„ ์นœ๊ตฌ๊ฐ€ ์—ฌ๋Ÿฟ ์ƒ๊ฒจ์„œ ๊ธฐ๋ถ„์ด ์ข‹์•˜๋‹ค. ๋งˆ์ง€๋ง‰ ํšŒ์‹ ์ž๋ฆฌ์—์„œ ์—ฐํ˜ธ๊ฐ€ ํ•ด์ค€ ๊ฐ๋™์ ์ธ ๋ง๋“ค, ํ•ด๋ฏผ์ด ๋ฒ ์ŠคํŠธ ํŒŒํŠธ๋„ˆ ํˆฌํ‘œ 2์œ„(?), ๋งˆ์ง€๋ง‰ ํŒ€์˜ ์ผ€๋ฏธ ๋ชจ๋‘ ๋‚ด๊ฐ€ ํ˜‘์—… ๋ฝ•์— ์ทจํ•˜๊ฒŒ ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ–ˆ๋‹ค.

์•ž์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ˆ„๊ตฐ๊ฐ€์™€ ํ•จ๊ป˜ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์ด ๊ฒฝํ—˜๋“ค ๋•๋ถ„์— ๊ธฐ๋ถ„ ์ข‹๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

๊ณต๋ถ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

์บ ํ”„๋ฅผ ํ†ตํ•ด ์ œ๋Œ€๋กœ ๊ทผ๋ณธ๊นŒ์ง€ ์•Œ๊ณ  ์“ฐ๋Š” ๊ฒƒ์˜ ์ค‘์š”์„ฑ๊ณผ ๊ทธ๋กœ์จ ์˜ค๋Š” ์ž์‹ ๊ฐ์„ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋‚ด๊ฐ€ ์œ ๋… ๊ทธ๋Ÿฐ ์ ์„ ๋งŽ์ด ๋Š๊ผˆ๋˜ ๋ถ€๋ถ„์€ ์•„๋ฌด๋ž˜๋„ Express์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ด์ „ ์Šคํƒ€ํŠธ์—…์—์„œ๋„ ๋ฐฑ์—”๋“œ๋ฅผ Express๋กœ ๊ตฌํ˜„ํ–ˆ๊ณ  ๋‚˜๋งŒ์˜ Express ์‚ฌ์šฉ๋ฒ•๋„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ํ˜ธ๋ˆ…์Šค๋‹˜์ด Express middleware์™€ session์— ๋Œ€ํ•ด์„œ ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์“ฐ๋ผ๊ณ  ํ•˜์…จ๋˜ ๋ง์”€์— ์ฒซ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋๋‚˜๊ณ  ์ฃผ๋ง ๋™์•ˆ ํฌ์ŠคํŒ…์„ ์ ์œผ๋ฉฐ ๊ณต๋ถ€๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์ฐธ ๋‚˜ middleware ์ž˜ ๋ชฐ๋ž๊ตฌ๋‚˜๋ฅผ ๋Š๊ผˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  session๊ณผ cookie๋ฅผ ์ง์ ‘ ๊นŒ๋ณด๊ณ  ํ™•์ธํ•˜๋ฉด์„œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๊ณ , ํŽธํ•˜๊ฒŒ ์“ฐ๊ณ  ์žˆ๋˜ passport๊ฐ€ ์–ด๋–ป๊ฒŒ session์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€๋„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋˜ ์ถ”๊ฐ€์ ์œผ๋กœ Express์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ณด๋ฉด์„œ error handling, routing์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜์–ด ๊ธฐ์กด ๋‚ด ์ฝ”๋“œ์—์„œ Express์˜ ์žฅ์ ์„ ๋” ์ž˜ ์‚ด๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„๋“ค์„ ์ฐพ๊ฒŒ ๋˜์—ˆ๋‹ค.

๋ฟ๋งŒ ์•„๋‹ˆ๋ผ React๊ฐ€ ์•„๋‹Œ ์Œฉ JS๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ์ด์ „์— ์›น ๊ณต๋ถ€๋ฅผ ํ–ˆ๋‹ค๋ฉด ๊นŠ์ด ๋ณด์ง€ ์•Š์•˜์„ Event, DOM, Webpack์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜๊ณ  ์‚ฝ์งˆํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  React๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋‹ˆ React์˜ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค์— ๋งˆ์Œ ๊นŠ์ด ๊ฐ์‚ฌํ•˜๊ฒŒ ๋˜๊ณ  ๊ทธ๊ฒƒ๋“ค์„ ์–ผ์ถ” ์ดํ•ดํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ๋ฐ๊นŒ์ง€ ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€ ์•Š์•˜๋‹ค.(ํ•˜์ง€๋งŒ ์•„์ง ๊ณต๋ถ€ํ•  ๊ฒƒ๋“ค์ด ์‚ฐ๋”๋ฏธ์ด๋‹ค.)

์ด ๊ณผ์ •์—์„œ ์ œ์ผ ๋‹ค์‹œ ๊ทผ๋ณธ์„ ๋ณด๊ณ  ์‹ถ์—ˆ๋˜ ๊ฑด Flutter์˜ ์–ธ์–ด์ธ Dart์ด๋‹ค. ์ด์ „ ๋ช‡ ๋‹ฌ๊ฐ„ ์ •๋ง ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ์บ ํ”„๊ฐ€ ๋๋‚˜๊ณ  ๋ณด๋‹ˆ ๋„ˆ๋ฌด ๋ชจ๋ฅด๊ณ  ์‚ฌ์šฉํ–ˆ๋‹ค๋Š” ์ƒ๊ฐ์— ์•„์‰ฌ์›€์ด ์ปธ๋‹ค. ๊ธฐํšŒ๊ฐ€ ๋œ๋‹ค๋ฉด Flutter๋กœ ๋‚ด ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ๋ฒˆ ์ง„ํ–‰ํ•˜๋ฉด์„œ Dart๋„ ๋‹ค์‹œ ๊ณต๋ถ€ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค.

๋‹ค์‹œ ํฌํ•ญ์œผ๋กœ

์–ด์ฐŒ์–ด์ฐŒ ๋‹ฌ๋ ค์„œ ๊ฐ„์‹ ํžˆ ์บ ํ”„๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ง‰์ƒ ๋๋‚˜๊ณ  ์‚ฌ๋žŒ๋“ค๊ณผ ์—ฌ์šด์„ ๋Š๋‚„ ์ƒˆ๋„ ์—†์ด ๋‚˜๋Š” ๋ฐ”๋กœ ํฌํ•ญ์— ๋‚ด๋ ค์™”๋‹ค. ์•ž์œผ๋กœ ์•ฝ 1๋…„ ๊ฐ„ ํฌํ•ญ์—์„œ ๋‹ค์‹œ ๋Œ€ํ•™ ์ƒํ™œ์„ ํ•ด์•ผํ•˜๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์ ์‘์ด ์‰ฝ์ง€ ์•Š์•„ ์• ๋ฅผ ๋จน๊ณ  ์žˆ๋‹คใ…Žใ…Ž

์Œ ์•ž์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋ ์ง€ ๋ชจ๋ฅด์ง€๋งŒ ๋˜ ์žฌ๋ฐŒ๊ฒŒ ๋‹ฌ๋ ค๋ณด์ž!ใ…Žใ…Ž