์ฑ„๋„ํ†ก ์•„์ด์ฝ˜
BEST

์‹œ๋‚˜๋ธŒ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋‹ค์–‘ํ•œ ์ฃผ์ œ๋ฅผ ๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•ด ๋ณด๋ฉฐ ํŠผํŠผํ•œ ์‹ค๋ ฅ์˜ ๊ธฐ๋ฐ˜๊ณผ ์ž์‹ ๊ฐ์„ ์Œ“์•„๋ณด์„ธ์š”.

Thumbnail

์ค‘๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ํ”„๋ ˆ์ž„์›Œํฌ ์—†์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”์–ด ์‹ค๋ ฅ ํ‚ค์šฐ๊ธฐ

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ณ„ ๋” ๊นŠ์ด ์ดํ•ดํ•˜๊ธฐ

Level Up! JS ์‹ค๋ ฅ์˜ ์ฝ”์–ด๋ฅผ ๋‹ค์ ธ๋ณด์„ธ์š”.

๐Ÿ’ก โ€œ๋˜๋Š”๋ฐ, ์ด๊ฒŒ ์™œ ๋˜๋Š” ๊ฑธ๊นŒ์š”?โ€

์šฐ๋ฆฌ๋Š” ๋Š˜ ์ˆ˜๋งŽ์€ ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ด ์›น ๊ฐœ๋ฐœ์„ ํ•ด์š”. ๊ทธ๋Ÿฐ๋ฐ ์ •ํ™•ํžˆ ๋ญ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€ ์ดํ•ด ์•ˆ ๋  ๋•Œ๊ฐ€ ๋งŽ์•„์š”. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JavaScript) ์ƒํƒœ๊ณ„๋Š” ๋„ˆ๋ฌด ๋‹ค์–‘ํ•œ ์š”์†Œ๋กœ ๋ณต์žกํ•˜๊ฒŒ ์–ฝํ˜€ ์žˆ๊ณ , ์–ด๋–ป๊ฒŒ ์‹คํƒ€๋ž˜๋ฅผ ํ’€์ง€ ๋ชจ๋ฅด๊ฒ ๊ฑฐ๋“ ์š”.

์‹œ๋‚˜๋ธŒ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ฃผ๋‹ˆ์–ด์—์„œ ๋ฏธ๋“œ ๋ ˆ๋ฒจ๋กœ, ๋ฏธ๋“œ ๋ ˆ๋ฒจ์—์„œ ์‹œ๋‹ˆ์–ด๋กœ ๋ ˆ๋ฒจ ์—… ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐœํŒ์„ ๋งˆ๋ จํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

โ€œ์›น ๊ฐœ๋ฐœ์€ ๋„ˆ๋ฌด ๋ณต์žกํ•ด์š”โ€

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

โ€œํ•  ์ˆ˜๋Š” ์žˆ๋Š”๋ฐ, ์ž์‹ ๊ฐ์ด ์—†์–ด์š”โ€

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

โ€œ๊ฐœ๋ฐœ ์‹ค๋ ฅ ๋ ˆ๋ฒจ ์—…์„ ํ•˜๊ณ  ์‹ถ์–ด์š”โ€

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

โ€œ์ƒˆ๋กœ์šด ๊ฒƒ๋“ค์ด ๋„ˆ๋ฌด ๋น ๋ฅด๊ฒŒ ๋งŽ์ด ๋‚˜์™€์š”โ€

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

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

๐Ÿ™Œ๐Ÿป ์•ˆ๋…•ํ•˜์„ธ์š”, ์ด์€์žฌ์ž…๋‹ˆ๋‹ค.

Daum, Kakao, Algolia ๋“ฑ์˜ ํšŒ์‚ฌ๋ฅผ ๊ฑฐ์น˜๋ฉฐ ์ฃผ๋กœ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ์—…๋ฌด๋ฅผ ํ•ด์™”์–ด์š”. ํ˜„์žฌ Storyblok์—์„œ ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž๋กœ ๊ทผ๋ฌดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œ ์Šคํƒ€ํŠธ์—…์—์„œ ๊ธธ๊ฒŒ ๊ทผ๋ฌดํ•˜๋‹ค ์–ด๋А ์ˆœ๊ฐ„ ๋ˆˆ์„ ๋– ๋ณด๋‹ˆ ๋„ˆ๋ฌด ๋งŽ์€ ๊ฒŒ ๋ณ€ํ•ด ์žˆ์—ˆ๋”๋ผ๊ณ ์š”. ์ œ๊ฐ€ 2014๋…„์—์„œ 2017๋…„ ๋ง๊นŒ์ง€ AngularJS๋ฅผ ์ผ๋Š”๋ฐ, 2018๋…„์ด ๋˜์–ด์„œ์•ผ ๊ทธ๊ฐ„ ๋†“์ณค๋˜ ์ˆ˜๋งŽ์€ ๊ฒƒ๋“ค์„ ๊ณต๋ถ€ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์–ด์š”. ES6, React, Babel, ...์—์„œ ์‹œ์ž‘ํ•ด ์ •๋ง ๋์ด ์—†์—ˆ์–ด์š”.

2019๋…„ ํ”„๋ž‘์Šค๋กœ ์ด์‚ฌํ•˜์—ฌ Algolia๋ผ๋Š” ํšŒ์‚ฌ์— ์ž…์‚ฌํ•œ ๊ฑด, ์ €์—๊ฒŒ ๋‹ค์–‘ํ•œ ๊ฐœ๋…๋“ค์„ ๊นŠ์ด ์žˆ๊ฒŒ ์ดํ•ดํ•˜๋ฉฐ ์ผํ•  ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ธฐํšŒ์˜€์–ด์š”. ์ง์ ‘ ๋ถ€๋”ชํžˆ๊ณ  ์ฃผ๋ณ€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ฌผ์–ด๋ณด๊ธฐ๋„ ํ•˜๋ฉฐ ์ „์ฒด์ ์ธ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋‚˜๊ฐ”์–ด์š”. ํ•œ์ฐธ ์‹œ๊ฐ„์ด ์ง€๋‚˜๊ณ , ์ด๋Ÿฐ ๋‚ด์šฉ๋“ค์ด ์ž˜ ์ •๋ฆฌ๋œ ์ปจํ…์ธ ๊ฐ€ ์žˆ์—ˆ์œผ๋ฉด ์–ผ๋งˆ๋‚˜ ์ข‹์•˜์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ๊ฒฐ๊ตญ์—” ๊ฐ•์˜๋กœ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋„ค์š”.


๐Ÿ“– ์ปจํ…์ธ  ๋ชฉ๋ก (์ด 13์‹œ๊ฐ„ 16๋ถ„)

1. DOM API์˜ ๊ธฐ๋ณธ

๊ธฐ๋ณธ์ ์ธ DOM API๋ฅผ ๋ฐฐ์šฐ๊ณ  ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ ์—†์ด ์–ด๋–ป๊ฒŒ HTML์„ ๊ตฌ์„ฑํ•˜๊ณ  ์ด๋ฒคํŠธ๋ฅผ ๋ถ™์ด๋Š”์ง€ ์—ฐ์Šตํ•ด ๋ด…๋‹ˆ๋‹ค. (1h 3m)

  • innerHTML
  • createElement
  • appendChild
  • addEventListener

2. ์‡ผํ•‘๋ชฐ ๋งŒ๋“ค๊ธฐ

์‡ผํ•‘๋ชฐ ์ƒํ’ˆ ๋ฆฌ์ŠคํŠธ์™€ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋ถ€๋ถ„์„ ๊ตฌํ˜„ํ•ด ๋ด…๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” DOM API๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋ฉฐ ๋™์ ์ธ ์ธํ„ฐ๋ž™์…˜์„ ๊ตฌํ˜„ํ•ด์š”. ์ƒํ’ˆ์„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋„ฃ์—ˆ๋‹ค ๋บ๋‹ค ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฐ™์€ ๋ฐ์ดํ„ฐ(๋‹ด๊ธด ์ˆ˜๋Ÿ‰)๋ฅผ ํ™”๋ฉด ์—ฌ๊ธฐ์ €๊ธฐ(์ƒํ’ˆ ๋ฆฌ์ŠคํŠธ์™€ ์žฅ๋ฐ”๊ตฌ๋‹ˆ)์— ๋™์‹œ์— ์ž˜ ์—…๋ฐ์ดํŠธํ•˜๋„๋ก ๊ฐœ๋ฐœํ•˜๋ฉฐ, ์ด ๊ณผ์ •์—์„œ ๋ชจ๋˜ ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์™œ ํ•„์š”ํ•œ์ง€ ์ฒด๊ฐํ•ด ๋ด…๋‹ˆ๋‹ค. (1h 20m)

๋‹ค์Œ์œผ๋กœ ๊ตฌํ˜„ํ•œ ์‡ผํ•‘๋ชฐ ์ƒํ’ˆ ๋ฆฌ์ŠคํŠธ์™€ ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์กฐ๊ธˆ ๋” ๊ด€๋ฆฌํ•˜๊ธฐ ์ข‹๊ฒŒ, ๋””์ž์ธ, ์˜๋ฏธ, ์—ญํ• ์„ ๊ณ ๋ คํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ์ชผ๊ฐœ๋ฉฐ ๋ฆฌํŒฉํ† ๋งํ•ด๋ด…๋‹ˆ๋‹ค. (52m)

๋งˆ์ง€๋ง‰์œผ๋กœ DOM element๋ฅผ ์ผ์ผ์ด ์ฐพ์•„ ์ˆ˜๋Ÿ‰์„ ์—…๋ฐ์ดํŠธํ•˜๋˜ ๋ฐฉ์‹ ๋Œ€์‹ , ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๊ทธ์— ๋งž๊ฒŒ reactiveํ•˜๊ฒŒ DOM์ด ์ €์ ˆ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋„๋ก ๊ตฌํ˜„ํ•ด ๋ด…๋‹ˆ๋‹ค. (52m)

3. ์›น์„œ๋ฒ„ ๊ธฐ์ดˆ

Express(์ต์Šคํ”„๋ ˆ์Šค)๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด๋ฉฐ ์›น ์„œ๋ฒ„์˜ ๊ธฐ์ดˆ๋ฅผ ๋ฐฐ์›๋‹ˆ๋‹ค. ์š”์ฆ˜ Vercel์ด๋‚˜ Netlify์—์„œ ์ œ๊ณตํ•ด ์ฃผ๋Š” Serverless Function์ด ์‰ฝ๊ณ  ํŽธํ•œ๋ฐ์š”. ๊ทธ๋Ÿฐ ๊ฒŒ ์žˆ๊ธฐ ์ „์—๋Š” ์–ด๋–ป๊ฒŒ ๋ฐฑ์—”๋“œ๋ฅผ ๊ตฌ์„ฑํ–ˆ๋Š”์ง€ Express๋ฅผ ํ†ตํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  vite๋กœ ๋„์šด ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ Express ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ Œ๋”๋งํ•ด๋ณด๊ณ , ๊ทธ๋Ÿฌ๋Š” ๊ณผ์ •์—์„œ ๊ฒช๋Š” CORS๋ผ๋Š” ์ด์Šˆ์— ๋Œ€ํ•ด์„œ๋„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. (45m)

4. Array ๋ฉ”์†Œ๋“œ

๋‹ค์–‘ํ•œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ๋Œ€ํ‘œ์ ์ธ Array methods์ธ filter, map, reduce ๋ฅผ ์—ฐ์Šตํ•ด ๋ด…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•์€ ์ˆ™์ง€ํ•˜์…จ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ์ฒด๋ ฅ ๋‹จ๋ จ ๋А๋‚Œ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. (1h 18m)

5. npm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ์ดˆ

npm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์–ด๋–ค ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ณ , CommonJS์™€ ES Module์— ์–ฝํžŒ ๋ณต์žกํ•œ ์ด์Šˆ๋ฅผ ์ฒœ์ฒœํžˆ ์ดํ•ดํ•ด ๋ด…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž‘์—…ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ npm์— ์ง์ ‘ ๋ฐฐํฌํ•ด ๋ด…๋‹ˆ๋‹ค. (27m)

6. mini query ๋งŒ๋“ค๊ธฐ

jQuery(์ œ์ด์ฟผ๋ฆฌ)์˜ ์•„์ฃผ ์ž‘์€ subset์„ ๋งŒ๋“ค์–ด๋ด…๋‹ˆ๋‹ค. yarn workspace๋ฅผ ํ†ตํ•ด monorepo๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํžˆ๊ณ , ๊ทธ ์•ˆ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์˜ˆ์ œ ์•ฑ, ๋ฌธ์„œ ์‚ฌ์ดํŠธ๊นŒ์ง€ ์ž‘์—…ํ•ด ๋ด„์œผ๋กœ์จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ „๋ฐ˜์ ์ธ ์›Œํฌํ”Œ๋กœ๋ฅผ ์ฒดํ—˜ํ•ด ๋ด…๋‹ˆ๋‹ค.

vitest๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ unit test(์œ ๋‹› ํ…Œ์ŠคํŠธ, ๋‹จ์œ„ ํ…Œ์ŠคํŠธ)๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ธฐ๋„ ํ•˜๋ฉฐ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฑฐ์น˜๋ฉด์„œ ์ƒ๊ธฐ๋Š” ์ƒํ™ฉ์—์„œ์˜ ์–ด๋ ค์›€์„ ์ฒดํ—˜ํ•˜๊ณ , Tree-shake ์— ๋Œ€ํ•ด์„œ๋„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. (1h 7m)

7. ์˜ํ™” ์ •๋ณด ์‚ฌ์ดํŠธ

์˜ํ™” ๊ฒ€์ƒ‰ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ด…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฌผ์€ ์•„์ฃผ ๊ฐ„๋‹จํ•˜์ง€๋งŒ, ์ด ์—ํ”ผ์†Œ๋“œ์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฐœ๋…๋“ค์„ ๋‹ค๋ฃจ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์˜ History API๋ฅผ ๋ฐฐ์šฐ๊ณ , ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ React Router์™€ ๊ฐ™์€ Client-Side Routing์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ด…๋‹ˆ๋‹ค. (45m)

์ด์–ด์„œ Server-Side Rendering(์„œ๋ฒ„์‚ฌ์ด๋“œ ๋ Œ๋”๋ง)์„ Express ์„œ๋ฒ„๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๊ณ , ํด๋ผ์ด์–ธํŠธ์—์„œ ์ด๋ฅผ Hydrationํ•˜๋Š” ๋ถ€๋ถ„๊นŒ์ง€ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๊นŒ์ง€ ๋งˆ์น˜๊ณ  ๋‚˜๋ฉด Next.js ์˜ SSR + Hydration ์˜ ๊ณผ์ •์„ ๊ฝค ์ƒ์„ธํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (1h 14m)

8. ๋น„๋™๊ธฐ ์—ฐ์Šตํ•˜๊ธฐ

Array ๋ฉ”์†Œ๋“œ ์—ฐ์Šต ์—ํ”ผ์†Œ๋“œ์™€ ๋น„์Šทํ•˜๊ฒŒ ๋น„๋™๊ธฐ๋ฅผ ๋” ์ž˜ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด callback, Promise, async, await์„ ์—ฐ์Šตํ•ด ๋ด…๋‹ˆ๋‹ค. (38m)

9. ์ •์  ๋ธ”๋กœ๊ทธ ๋งŒ๋“ค๊ธฐ

Jekyll, Gatsby, Next.js ๋“ฑ์„ ์จ์„œ ์ •์  ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŽ์ด ๋งŒ๋“œ๋Š”๋ฐ์š”. ๊ทธ๋Ÿฐ ํˆด๋“ค์ด ์–ด๋–ค ์‹์œผ๋กœ ์ •์  ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š”์ง€ ์‚ดํŽด๋ณด๊ณ , ๊ทธ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ‰๋‚ด๋‚ด ๋ด…๋‹ˆ๋‹ค.

์ด ๊ณผ์ •์—์„œ ์•„๋ฌด ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ ํˆด ์—†์ด Node.js๋กœ ์ž‘์„ฑํ•œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋งˆํฌ๋‹ค์šด์œผ๋กœ ์“ฐ์—ฌ์ง„ ํฌ์ŠคํŠธ๋“ค์„ ์ •์  ๋ธ”๋กœ๊ทธ๋กœ ๋นŒ๋“œํ•˜๊ฒŒ ํ•ด์ฃผ๊ณ  Vercel์— ๋ฐฐํฌ๊นŒ์ง€ ํ•ด๋ด…๋‹ˆ๋‹ค. (1h 3m)

10. CLI ๋งŒ๋“ค๊ธฐ

CLI์šฉ npm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ตฌ์กฐ๋Š” ์–ด๋–ค์ง€ ์‚ดํŽด๋ณด๊ณ , ์ง์ ‘ CLI๋ฅผ ์ง์ ‘ ๋งŒ๋“ค๊ณ  npm์— ๋ฐฐํฌํ•ด ๋ด…๋‹ˆ๋‹ค. ๊ทธ ํ›„์—๋Š” npm install -g <package-name>์œผ๋กœ ์„ค์น˜ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (48m)

11. Form ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋งŒ๋“ค๊ธฐ

<form action="/save" method="post">

์˜ˆ์ „์—” ์œ„์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ form์„ ์ž‘์„ฑํ•˜๊ณค ํ–ˆ๋Š”๋ฐ์š”. ์ €๊ฒŒ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๊ฑด์ง€ ์‹ค์ œ ์˜ˆ์ „ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋ด…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ง€๊ธˆ์€ ์™œ ์ €๋ ‡๊ฒŒ ์•ˆ ํ•˜๋Š” ๊ฑด์ง€ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๋˜ ์š”์ฆ˜ ๋งŽ์ด ์“ฐ์ด๋Š” react-hook-form๊ณผ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ด์ ์„ ์ดํ•ดํ•˜๊ณ , ์šฐ๋ฆฌ๋„ ๋น„์Šทํ•œ ๊ฑธ ๋งŒ๋“ค์–ด๋ด…๋‹ˆ๋‹ค. (1h 4m)

๐Ÿ‘ฅ ์ˆ˜๊ฐ•ํ•˜๊ฒŒ ๋˜์‹œ๋ฉด

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

๋ญ๋“  ๋ชฐ๋ผ๋„ ๊ดœ์ฐฎ์€ ๊ณต๊ฐ„์—์„œ ์ž์œ ๋กญ๊ฒŒ ์งˆ๋ฌธํ•˜๊ณ  ํ† ๋ก ํ•˜๋ฉด์„œ ๊ฐ™์ด ๋ฐฐ์›Œ๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ์–ด์š”. ์—ฌ๋Ÿฌ๋ถ„์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž์‹ ๊ฐ ํ–ฅ์ƒ์ด ๊ฒฐ๊ตญ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ชฉํ‘œ๋‹ˆ๊นŒ์š”.


โ“ ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Q. ๊ฐ•์˜์—์„œ Tailwind CSS๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”?

๋”ฑ ํ•œ ์—ํ”ผ์†Œ๋“œ, "์‡ผํ•‘๋ชฐ ๋งŒ๋“ค๊ธฐ"์—์„œ Tailwind CSS๋ฅผ ์‚ฌ์šฉํ•ด ๋””์ž์ธ์„ ํ•ฉ๋‹ˆ๋‹ค. Tailwind CSS๋ฅผ ๋ชจ๋ฅด์‹œ๋ฉด ์ง์ ‘ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ CSS๋ฅผ ์ž‘์„ฑํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค. ํ˜น, ๊ด€์‹ฌ์ด ์žˆ์œผ์‹œ๋ฉด ์ œ๊ฐ€ ๋งŒ๋“  ๋ฌด๋ฃŒ ์˜์ƒ์„ ์ฐธ๊ณ ํ•˜์…”๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

Q. ์ œ๊ฐ€ ๋“ค์–ด๋„ ๋˜๋Š” ์‹ค๋ ฅ์ผ๊นŒ์š”?

์ฝ• ์ง‘์–ด ๋งํ•˜๊ธด ์–ด๋ ต์ง€๋งŒ, ๋‹ค์Œ ํ•ญ๋ชฉ๋“ค์— ํ•ด๋‹น๋˜์‹ ๋‹ค๋ฉด ์ˆ˜๊ฐ•ํ•˜์…”๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • let๊ณผ const์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•œ๋‹ค.
  • import/export๋กœ ๋ชจ๋“ˆ์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค.
  • import์™€ require์˜ ์ฐจ์ด๋ฅผ ์–ด๋А ์ •๋„๋Š” ์•ˆ๋‹ค.
  • const { name, address } = person ์ด ๋ฌธ๋ฒ•์„ ์ดํ•ดํ•œ๋‹ค.
  • React๋‚˜ Vue.js๋ฅผ ์จ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—†์ด ๋ณ€์ˆ˜์— To-Do๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ  ๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ์˜ To-Do ์•ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
  • React๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ useEffect์™€ useMemo๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๋Œ€์ถฉ ์•ˆ๋‹ค.
  • To-Do ์•ฑ์„ ๋งŒ๋“ค๋ผ๊ณ  ํ•˜๋ฉด ๋Œ€์ถฉ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์ชผ๊ฐœ๋ณผ์ง€ ์ƒ์ƒ์ด ๋œ๋‹ค.

Q. ๋‹ค๋ฅธ ๊ฐ•์˜์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅผ๊นŒ์š”?

ํŠน์ • ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฑธ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๊ฐ•์˜๋“ค์ด ๋งŽ์€๋ฐ์š”. ๊ทธ๋Ÿฐ ๊ฐ•์˜์˜ ๊ฒฝ์šฐ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ , ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์„œ๋น„์Šค ๋“ฑ์„ ์กฐํ•ฉํ•ด์„œ ์ ์ฐจ ์Œ“์•„๊ฐ€๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๊ฒƒ๋“ค(What)๊ณผ ๊ทธ๊ฑธ ์–ด๋–ป๊ฒŒ(How) ์กฐํ•ฉํ•˜๋Š”์ง€๋ฅผ ๋ฐฐ์šด๋‹ค๋Š” ์ ์—์„œ ์œ ์šฉํ•˜์ง€๋งŒ, ๊ทธ๋Ÿฐ ๊ฐ•์˜ ํŠน์„ฑ์ƒ Why๊นŒ์ง€ ๋‹ค๋ฃจ๊ธฐ๋Š” ์‰ฝ์ง€ ์•Š์•„์š”.

์‹œ๋‚˜๋ธŒ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ํŠน์ • ์ฃผ์ œ์— ๋Œ€ํ•ด์„œ ์˜ˆ์ „์— ์–ด๋–ป๊ฒŒ ํ•˜๋˜ ๊ฑธ ์ง€๊ธˆ์€ ์™œ ์ด๋ ‡๊ฒŒ ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”์ง€ ๋ณ€์ฒœ์‚ฌ๋ฅผ ๋ฐฐ์šฐ๋ฉด์„œ ๊ฐ ์ ‘๊ทผ๋ฒ•์˜ ์žฅ๋‹จ์ ์„ ์ดํ•ดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋ ˆ์ž„์›Œํฌ๋“ค์ด ์šฐ๋ฆฌ ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ณด๋ฉด์„œ ์™œ ๊ทธ๋Ÿฐ ๊ฑธ ํ•˜๊ฒŒ ๋˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์ฃ .

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

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

Q. ๋ง›๋ณด๊ธฐ ๊ฐ•์˜๊ฐ€ ์žˆ๋‚˜์š”?

์žˆ์Šต๋‹ˆ๋‹ค! ๋ณธ ๊ฐ•์˜๋ฅผ ๋ณด๊ธฐ์— ์•ž์„œ ๋ฏธ๋ฆฌ ๋ณด๋ฉด ์ข‹์„ ๋ฒ•ํ•œ ์ค€๋น„ ์šด๋™ ๊ฐ™์€ ๋‚ด์šฉ๋“ค์„ ์งง์€ ๋ฌด๋ฃŒ ์˜์ƒ์œผ๋กœ ๋งŒ๋“ค์–ด ๋†“์•˜์–ด์š”. ๋งํฌ์—์„œ๋„ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Q. ํ•™์ƒ์ด๋‚˜ ์ทจ์ค€์ƒ ํ• ์ธ์ด ๋˜๋‚˜์š”?

๋„ค ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์ธ์ฆ ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์นœ ํ›„์— ํ• ์ธ์„ ์ œ๊ณตํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.

Q. ๋˜ ๋‹ค๋ฅธ ์งˆ๋ฌธ์ด ์žˆ์–ด์š”!

์ €์—๊ฒŒ ์ด๋ฉ”์ผ, ํ˜น์€ ํŠธ์œ„ํ„ฐ DM์„ ์ฃผ์‹œ๋ฉด ๋‹ต๋ณ€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ”„๋ž‘์Šค์— ์‚ด๊ณ  ์žˆ์–ด ์‹œ์ฐจ ๋•Œ๋ฌธ์— ๋‹ต๋ณ€์ด ์กฐ๊ธˆ ๋Šฆ์„ ์ˆ˜ ์žˆ๋Š” ์  ๋ฏธ๋ฆฌ ์–‘ํ•ด ๋ถ€ํƒ๋“œ๋ ค์š”.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • "๋˜๋Š”๋ฐ, ์ด๊ฒŒ ์™œ ๋˜๋Š” ๊ฑธ๊นŒ์š”?"

  • "์›น ๊ฐœ๋ฐœ์€ ๋„ˆ๋ฌด ๋ณต์žกํ•ด์š”"

  • "ํ•  ์ˆ˜๋Š” ์žˆ๋Š”๋ฐ, ์ž์‹ ๊ฐ์ด ์—†์–ด์š”"

  • "๊ฐœ๋ฐœ ์‹ค๋ ฅ์„ ๋ ˆ๋ฒจ ์—… ํ•˜๊ณ  ์‹ถ์–ด์š”."

  • "์ƒˆ๋กœ์šด ๊ฒƒ๋“ค์ด ๋„ˆ๋ฌด ๋น ๋ฅด๊ฒŒ ๋งŽ์ด ๋‚˜์™€์š”."

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ž…๋ฌธ์ž๋ฅผ ์œ„ํ•œ ๊ฐ•์ขŒ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ฃผ๋‹ˆ์–ด์—์„œ ์ค‘๋‹ˆ์–ด๋กœ, ์ค‘๋‹ˆ์–ด์—์„œ ์‹œ๋‹ˆ์–ด๋กœ ๊ฐ€๊ธฐ ์œ„ํ•œ ์ฝ”์–ด ์šด๋™์„ ์œ„ํ•œ ๊ฐ•์ขŒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”
์ด์€์žฌ์ž…๋‹ˆ๋‹ค.

560

๋ช…

์ˆ˜๊ฐ•์ƒ

22

๊ฐœ

์ˆ˜๊ฐ•ํ‰

15

๊ฐœ

๋‹ต๋ณ€

5.0

์ 

๊ฐ•์˜ ํ‰์ 

2

๊ฐœ

๊ฐ•์˜

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

์ข€ ๋” ๊ฐœ๋ฐœ ๊ด€๋ จ ์–˜๊ธธ ํ•˜์ž๋ฉด, 2022๋…„ 11์›”๋ถ€ํ„ฐ Storyblok ์ด๋ผ๋Š” Headless CMS ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ณณ์—์„œ ๊ฐœ๋ฐœ์ž ์œ ์ €๋“ค์„ ์œ„ํ•œ extension platform ์„ ๋งŒ๋“ค๊ณ  ์žˆ์–ด์š”.

2019๋…„์— Algolia ๋ผ๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜์˜ ๊ฒ€์ƒ‰ ์†”๋ฃจ์…˜ ํšŒ์‚ฌ์— ์ž…์‚ฌํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋ž‘์Šค๋กœ ์ด์ฃผํ–ˆ์–ด์š”. ๊ทธ ํšŒ์‚ฌ์—์„œ InstantSearch ๋ผ๋Š” ์˜คํ”ˆ์†Œ์Šค UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“œ๋Š” ์ผ์„ ํ–ˆ์–ด์š”. Vanilla JavaScript, React, Vue.js, Angular ์ด ๋„ค ๊ฐ€์ง€ ๋ฒ„์ „์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ณตํ†ต ๋กœ์ง์„ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ๊ฐ flavor ๋Š” ์ตœ์†Œํ•œ์˜ wrapper ์ด๋„๋ก ํ•˜๋Š” ์ž‘์—…์— ์‹œ๊ฐ„์„ ๊ฐ€์žฅ ๋งŽ์ด ์ผ์–ด์š”. ๊ทธ ์™ธ์—๋„ ์—…๋ฌด์ ์œผ๋กœ ์—ฌ๋Ÿฌ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ–ˆ์–ด์š”.

๊ทธ์ „์—๋Š” ํ•œ ์Šคํƒ€ํŠธ์—…์—์„œ ํ•œ๊ตญ๊ณผ ์‹ฑ๊ฐ€ํด์—์„œ ํ’€์Šคํƒ์œผ๋กœ 3๋…„ ์ •๋„ ์ผํ–ˆ๊ณ , ๊ทธ ์ „์—๋Š” ์นด์นด์˜ค์™€ ๋‹ค์Œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์—์„œ 4-5๋…„๊ฐ„ ์ฃผ๋กœ ํ”„๋ก ํŠธ์—”๋“œ ์—…๋ฌด๋ฅผ ํ–ˆ์–ด์š”.

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

118๊ฐœ โˆ™ (19์‹œ๊ฐ„ 56๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

21๊ฐœ

5.0

21๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • damyo

    โˆ™

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

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

    • ์ด์€์žฌ
      ์ง€์‹๊ณต์œ ์ž

      ์™€ ๊ทธ๋Ÿฐ ๋А๋‚Œ ๋ฐ›์œผ์…จ๋‹ค๋‹ˆ ๋„ˆ๋ฌด ๊ธฐ์˜๋„ค์š”. ์ง„์งœ ๊ฐ•์˜ ๊ธฐํšํ•˜๋˜ ์‹œ์ ๋ถ€ํ„ฐ "์ฐจ๊ทผ ์ฐจ๊ทผ" ํ•œ ์ฃผ์ œ์”ฉ ๋ฐฐ์›Œ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ๊ทธ๋Ÿฐ ๋А๋‚Œ ๋ฐ›์œผ์…จ๋‹ค๋‹ˆ ๋„ˆ๋ฌด ํ–‰๋ณตํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ๋„๊ตฌ๋ผ๋˜๊ฐ€ ํ˜‘์—… ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ๋„ ๋ณด๋„ˆ์Šค ์—ํ”ผ์†Œ๋“œ ํ•œ๋ฒˆ ๊ณ ๋ฏผํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ˜Š

  • evanjin

    โˆ™

    ์ˆ˜๊ฐ•ํ‰ 9

    โˆ™

    ํ‰๊ท  ํ‰์  4.9

    5

    14% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๊นŠ์€ ์ธ์‚ฌ์ดํŠธ์—์„œ ๋‚˜์˜ค๋Š” ๊ฐ•์˜! ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค :)

    • ์ด์€์žฌ
      ์ง€์‹๊ณต์œ ์ž

      ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค evanjin ๋‹˜ ๐Ÿ˜Š

  • Gichul Roh

    โˆ™

    ์ˆ˜๊ฐ•ํ‰ 14

    โˆ™

    ํ‰๊ท  ํ‰์  4.7

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๊ฐ•์˜์ž๊ฐ€ ์ฝ”๋“œ์งœ๋Š” ์ฒ ํ•™์ž ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ด๋ž€๊ฒŒ ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด ์žฌ๋ฐŒ๋Š” ์ผ์ธ๋ฐ, ๋‹ค์‹œ๊ธˆ ๊ทธ ์žฌ๋ฏธ๋ฅผ ์ฐพ๊ฒŒ ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—” ๊ฐ•์˜๊ฐ€ ๋‹จ๊ฐ€๊ฐ€ ์ข€ ์žˆ์–ด์„œ ๋ง์„ค์˜€์—ˆ๋Š”๋ฐ, ๋๊นŒ์ง€ 1์ฐจ ์™„๊ฐ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘์„ธ๋ฒˆ์€ ๋ด์•ผํ•  ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ์•ฑ์„ ๋งŒ๋“œ๋Š” ๊ฐ•์˜๋Š” ๋งŽ์€๋ฐ Node ํ™˜๊ฒฝ์ด๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ ๊ฐ•์˜์–ด์„œ ๋•๋ถ„์— ๊ด€๋ จ ๊ฐœ๋ฐœํ™˜๊ฒฝ๋“ค์˜ ์ดํ•ด๋„๊ฐ€ ๋†’์•„์กŒ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ฐ•์˜๋„ ๊ธฐ๋Œ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฉ€๋ฆฌ์„œ ๊ฑด์Šนํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋์œผ๋กœ ์„น์…˜12 ์ •์ ๋ธ”๋กœ๊ทธ ๋งŒ๋“ค๊ธฐ Deployment ์˜์ƒ์— 1๋ถ„ ๋‚จ์ง“ blackout ๋‚˜๋Š” ๋ถ€๋ถ„ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ด์€์žฌ
      ์ง€์‹๊ณต์œ ์ž

      ๋„ˆ๋ฌด ์ข‹์€ ํ‰๊ฐ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜Š ๋ง์”€ํ•˜์‹  ์˜์ƒ์— ๊ธด ๊ณต๋ฐฑ์ด ์žˆ์—ˆ๋„ค์š”. ๋•๋ถ„์— ์ œ๊ฑฐ ํ›„ ๋‹ค์‹œ ์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

  • ์ดํ˜„์ง€

    โˆ™

    ์ˆ˜๊ฐ•ํ‰ 2

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    97% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    3๋…„์ฐจ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค! ๊ฐ•์ขŒ๋ฅผ ํƒ์ƒ‰ํ•˜๋‹ค๊ฐ€ ๋งˆ์Œ์ด ๊ฐ€์„œ ๋ฐ”๋กœ ๊ตฌ๋งค ํ›„ ๋“ค์–ด๋ดค๋Š”๋ฐ ๋„ˆ๋ฌด ์ข‹์•˜์Šต๋‹ˆ๋‹คใ…Žใ…Ž ํšŒ์‚ฌ์—์„œ๋Š” ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์œ„์ฃผ๋กœ ํ•˜๋‹ค๋ณด๋‹ˆ ํ”„๋กœ์ ํŠธ ์…‹์—…์ด๋‚˜ ์ฝ”์–ด JS ๊ฐœ๋…์„ ์ ‘ํ•˜๊ธฐ ์–ด๋ ค์› ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ๋‹ค์–‘ํ•˜๋ฉด์„œ ํ•„์ˆ˜์ ์ธ ์ง€์‹๋“ค์„ ๋‹ค๋ค„์ฃผ์…”์„œ ๋„ˆ๋ฌด ์œ ์ตํ•˜๊ณ  ์ข‹์•˜์Šต๋‹ˆ๋‹ค. JS๋ฅผ ์ด์šฉํ•˜์—ฌ, React ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๊ฒŒ ํ•˜๊ธฐ, SSR ์ง์ ‘ ๊ตฌํ˜„ํ•˜์‹  ๊ฒƒ๋„ ์ธ์ƒ๊นŠ์—ˆ๊ณ , ๊ทธ ์™ธ์—๋„ ๋ฒˆ๋“ค๋Ÿฌ๋‚˜ ๋ชจ๋“ˆ ๊ฐœ๋…๋„ ๋‹ค๋ค„์ฃผ์…”์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๊ณ ๊ธฐ๋ฅผ ์ฃผ๋Š”๊ฒŒ ์•„๋‹Œ, ๊ณ ๊ธฐ ์žก๋Š” ๋ฐฉ์‹์„ ์•Œ๋ ค์ฃผ๋Š” ๊ฐ•์ขŒ์ธ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹คใ…Žใ…Ž ๊ฐ•์ขŒ๋ฅผ ๋“ค์œผ๋ฉด์„œ ์ˆ˜์—… ๊ตฌ์„ฑ์— ๋Œ€ํ•ด ๋งŽ์€ ๊ณ ๋ฏผ์„ ํ•˜์‹ ๊ฒŒ ๋А๊ปด์กŒ์Šต๋‹ˆ๋‹ค. ํ‹ˆํ‹ˆํžˆ ๋ณต์Šตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค~!

    • ์ด์€์žฌ
      ์ง€์‹๊ณต์œ ์ž

      ์ข‹์€ ๋ง์”€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ๐Ÿ˜Š ์ €๋„ ๊ณ ๊ธฐ๊ฐ€ ์•„๋‹Œ ๊ณ ๊ธฐ ์žก๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฌ๋Š”๋ฐ ์ดˆ์ ์„ ์ตœ๋Œ€ํ•œ ๋‘ฌ๋ดค๋Š”๋ฐ์š”, ๊ทธ๋ ‡๊ฒŒ ๋А๋ผ์…จ๋‹ค๋‹ˆ ๋„ˆ๋ฌด ๊ธฐ์˜๋„ค์š”. ์งˆ๋ฌธ ์ƒ๊ธฐ์‹œ๋ฉด ์–ธ์ œ๋“  ๋‚จ๊ฒจ์ฃผ์„ธ์š”. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

  • miho2582

    โˆ™

    ์ˆ˜๊ฐ•ํ‰ 4

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    58% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ํ‰์†Œ ๊ฐ•์‚ฌ๋‹˜์˜ SNS๊ณ„์ •์„ ์—ผํƒํ•˜๊ธธ ์ข‹์•„ํ•˜๋Š”๋ฐ ๊ฐ•์˜๋ฅผ ์†Œ๊ฐœํ•˜์…”์„œ ๋ƒ‰ํผ ์ปค๋ฆฌํ˜๋Ÿผ๋ถ€ํ„ฐ ์ฝ์–ด๋ดค์–ด์š”. ๋งˆ์นจ ์ทจ์ค€์„ ํ•˜๋ฉฐ ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋˜ ์‹œ๊ธฐ์˜€๋Š”๋ฐ, ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ์•„์ง๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹ค๋ ฅ์ด ์ถฉ๋ถ„ํ•˜์ง€ ๋ชปํ•˜๊ตฌ๋‚˜! ๋ผ๋Š” ์ƒ๊ฐ์„ ๋งŽ์ด ํ–ˆ๊ฑฐ๋“ ์š”. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ & ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ธ์‚ฌ์ดํŠธ, ๊ทธ๋ฆฌ๊ณ  TDD๋‚˜ npm ๋ฐฐํฌ ๋“ฑ ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๊ธฐ์—” ๋ถ€๋‹ด๋˜๋Š” ๊ฐœ๋…์„ ์•Œ๋ ค์ฃผ๋Š” ๊ฐ•์˜์˜€์–ด์š”. FE ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋ง‰์—ฐํ•˜๊ฒŒ ์•Œ๊ณ ๋Š” ์žˆ์ง€๋งŒ ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด ํž˜๋“  ๊ฐœ๋…์„ ๊ฐ•์‚ฌ๋‹˜๊ณผ ํ•จ๊ป˜ ๋”ฐ๋ผ๊ฐ€๋‹ˆ๊นŒ ๋ถ€๋‹ด์„ ๋œ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜์–ด์š”. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋น ๋ฅด๊ฒŒ ๋ฆฌ์•กํŠธ๋กœ ๋„˜์–ด๊ฐ”๊ฑฐ๋‚˜, ๋ฆฌ์•กํŠธ๋กœ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ๋ง‰ํžˆ๋Š” ๋ถ€๋ถ„์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ถ”์ฒœํ•˜๊ณ  ์‹ถ์€ ๊ฐ•์˜์˜ˆ์š”. ์ด ๊ฐ•์˜๋Š” ์ทจ์ค€ํ•˜๋Š” ์ง€๊ธˆ๋„ ์œ ์šฉํ•˜์ง€๋งŒ 1๋…„์ „... ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋งˆ๊ตฌ ๊ฐˆ๋งํ–ˆ๋˜ ์‹œ๊ธฐ์˜ ์ €์—๊ฒŒ ๋ณด์—ฌ์คฌ๋‹ค๋ฉด ๋ฐ•์ˆ˜๋ฅผ ์น˜๋ฉด์„œ ๋ดค์„ ๊ฐ•์˜๋ผ๊ณ  ์ƒ๊ฐํ•ด์š”. ๋””์Šค์ฝ”๋“œ๊ฐ€ ๋”ฐ๋กœ ๊ฐœ์„ค๋˜์–ด์„œ ์ˆ˜๊ฐ•์ž๋“ค์„ ๊ด€๋ฆฌํ•ด์ฃผ์‹œ๋Š” ์ ๊ณผ, ์ทจ์ค€์ƒ ํ• ์ธ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•ด์ฃผ์‹œ๋Š” ์ ๊นŒ์ง€ ์—ฌ๋Ÿฌ๋ชจ๋กœ ์‚ฌ๋ ค ๊นŠ์€ ๊ฐ•์‚ฌ๋ถ„์ด์„ธ์š”! ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค! (๊ทธ๋ฆฌ๊ณ  ์˜์ƒ ์†์—์„œ ์ž ๊น ๋‚˜์˜ค๋Š” ๊ณ ์–‘์ด๋„ ๊ท€์—ฌ์›Œ์š”. โ˜บ๏ธ)

    • ์ด์€์žฌ
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š”. ๋„์›€์ด ๋˜์—ˆ๋‹ค๋‹ˆ ์ •๋ง ๋‹คํ–‰์ด์—์š” ๐Ÿฅน ์ข‹์€ ๋ง์”€ ๋„ˆ๋ฌด ๊ฐ์‚ฌํ•˜๊ณ  ์ทจ์ค€๋„ ์ž˜ ๋˜์‹œ๊ธธ ์‘์›ํ•ฉ๋‹ˆ๋‹ค!

๋น„์Šทํ•œ ๊ฐ•์˜

๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

์—ฐ๊ด€ ๋กœ๋“œ๋งต

๊ฐ•์˜๊ฐ€ ํฌํ•จ๋œ ๋กœ๋“œ๋งต์œผ๋กœ ํ•™์Šตํ•ด ๋ณด์„ธ์š”!

์›” โ‚ฉ19,866

5๊ฐœ์›” ํ• ๋ถ€ ์‹œ

30%

โ‚ฉ141,900

โ‚ฉ99,330