2025๋…„ 1์›” 15์ผ
Architecture

๐Ÿ—๏ธ ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ - Turborepo๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋…ธ๋ ˆํฌ ๊ตฌ์ถ•

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

Frontend
Architecture
Turborepo
Monorepo
React
Next.js
Amorepacific
Vercel
AX
๐Ÿ—๏ธ ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ - Turborepo๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋…ธ๋ ˆํฌ ๊ตฌ์ถ•

๐Ÿ“… ๊ธ€ ๊ฐœ์š”

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

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

๐Ÿ’ก ์ด ๊ธ€์—์„œ ๋‹ค๋ฃฐ ๋‚ด์šฉ

  • ์„œ๋น„์Šค ๋‹ค์–‘ํ™”์— ๋”ฐ๋ฅธ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ ๊ณ ๋ฏผ
  • Turborepo ๊ธฐ๋ฐ˜ ๋ชจ๋…ธ๋ ˆํฌ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
  • ๋‚ด๋ถ€/์™ธ์ฃผ ๊ฐœ๋ฐœํŒ€ ๊ฐ„ ํ˜‘์—… ์ตœ์ ํ™” ์ „๋žต
  • ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ์–ป๋Š” ํšจ๊ณผ์™€ ๊ณ ๋„ํ™” ๋ฐฉํ–ฅ

๐ŸŽฏ ์„œ๋น„์Šค ๋‹ค์–‘ํ™”์™€ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ

์„œ๋น„์Šค๊ฐ€ ๋‹ค์–‘ํ•ด์งˆ์ˆ˜๋ก ํ›Œ๋ฅญํ•œ ๊ฐœ๋ฐœ์ž๋Š” ํ”„๋กœ์ ํŠธ ๊ฐ„ ๊ด€๋ฆฌ์™€ ๋‚ด๋ถ€/์™ธ์ฃผ ๊ฐœ๋ฐœ์ž ๊ฐ„ ํšจ์œจ์ ์ธ ์†Œํ†ต์˜ ๋น„์šฉ์„ ์ตœ์ ํ™”ํ•˜๊ณ ์ž ๋…ธ๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๋ชฉํ‘œ:

  • โšก ๋น ๋ฅธ ์•„์›ƒํ’‹์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ ํ™˜๊ฒฝ
  • ๐Ÿค ๋‚ด๋ถ€/์™ธ์ฃผ ๊ฐœ๋ฐœ์ž๊ฐ„์˜ ์ดํ•ด ๊ด€๊ณ„ ๋ฐ ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ
  • ๐Ÿ›ก๏ธ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์„œ๋น„์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์•„ํ‚คํ…์ฒ˜

๐Ÿ” ์ฃผ์š” ๊ณ ๋ ค์‚ฌํ•ญ

์•„๋ชจ๋ ˆํผ์‹œํ”ฝ์—๋Š” ์•„๋ชจ๋ ˆ๋ชฐ/์•„๋ชจ๋ ˆ์Šคํ† ์–ด/์Šคํ‚จ๋…ธํŠธ ๋“ฑ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๊ฐ€ ๋ณตํ•ฉ์ ์œผ๋กœ ์กด์žฌํ•˜๋ฉฐ ์ด๋Š” ๊ฐ๊ฐ์˜ ํ”„๋กœ์ ํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Š ํ•ต์‹ฌ ๊ณ ๋ ค์‚ฌํ•ญ 7๊ฐ€์ง€

  1. โšก ๋นŒ๋“œ ์†๋„์˜ ์ตœ์ ํ™”

    • ํ”„๋กœ์ ํŠธ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋นŒ๋“œ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ
  2. ๐Ÿ›ก๏ธ ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค

    • ํ•œ ์„œ๋น„์Šค์˜ ์น˜๋ช…์  ์˜ค๋ฅ˜๊ฐ€ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋„๋ก ๊ฒฉ๋ฆฌ
  3. ๐Ÿ“ฆ ๊ณตํ†ต ๊ด€๋ฆฌ

    • ์ธ์ฆ, ๋กœ๊ทธ ๋“ฑ์˜ ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฒด๊ณ„์  ๊ด€๋ฆฌ
  4. ๐Ÿ”€ ๋ฉ€ํ‹ฐ ์„œ๋น„์Šค์˜ ํšจ์œจ์ ์ธ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

    • ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ
  5. ๐Ÿ‘ฅ ๋‚ด๋ถ€/์™ธ์ฃผ ๊ฐœ๋ฐœํŒ€ ๊ฐ„ ์ƒ์‚ฐ์„ฑ ๋ฐ ์ฝ”๋“œํ’ˆ์งˆ ๊ด€๋ฆฌ

    • ์ฝ”๋“œ ๋ฆฌ๋ทฐ์™€ ๊ด€๋ฆฌ ํฌ์ธํŠธ ์ตœ์ ํ™”
  6. ๐ŸŒ… ํ”„๋กœ๋•ํŠธ ์„ ์…‹

    • ์‹ ๊ทœ ์„œ๋น„์Šค์˜ ๋น ๋ฅธ ๋„์ž…๊ณผ ๊ณ ๊ฐ ๊ฒ€์ฆ์„ ํ†ตํ•œ ๋น ๋ฅธ ์„ ์…‹
  7. ๐Ÿ”— ์„œ๋น„์Šค ๊ฐ„ ์˜์กด๋„ ์ตœ์†Œํ™”

    • ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ ์–ป๋Š” ์ด์ ๋ณด๋‹ค ์„œ๋น„์Šค๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๊ณตํ†ต์˜ ์˜ํ–ฅ๋„ ์ฒดํฌ ๋ฆฌ์Šคํฌ๊ฐ€ ๋” ํฌ๋‹ค๊ณ  ํŒ๋‹จ

๐ŸŽฏ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ์›์น™

๋‚ด๋ถ€ ๊ฐœ๋ฐœํŒ€๊ณผ ์™ธ์ฃผ ๊ฐœ๋ฐœํŒ€์˜ ์—ญํ•  ๋ถ„๋‹ด:

  • ๋‚ด๋ถ€ ๊ฐœ๋ฐœํŒ€: ์ฝ”์–ด ๋ฐ ํ•ต์‹ฌ ์„œ๋น„์Šค ๊ฐœ๋ฐœ/์šด์˜
  • ์™ธ์ฃผ ๊ฐœ๋ฐœํŒ€: ๊ฐ€๋ฒผ์šด ์‹ ๊ทœ ์„œ๋น„์Šค ์ง€์†์  ๊ฐœ๋ฐœ/์šด์˜

ํ•ต์‹ฌ ์„ค๊ณ„ ์›์น™:

  • ์ฝ”์–ด์— ํ•ด๋‹นํ•˜๋Š” ํŒจํ‚ค์ง€์—์„œ ๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๋“ค๋กœ ์˜์กด์„ฑ์„ ์ฃผ์ž…
  • ํŒจํ‚ค์ง€๋Š” ํ•„ํžˆ ๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๋“ค์˜ configuration์„ ์ •ํ˜•ํ™”ํ•˜์—ฌ ํ•„์š”ํ•œ ๊ฒฐ๊ณผ๊ฐ’์„ ์„œ๋น„์Šค๋“ค์—๊ฒŒ ์ฃผ์ž…

๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ

Turborepo๋ฅผ ํ™œ์šฉํ•œ ๋ชจ๋…ธ๋ ˆํฌ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค:

์•„๋ชจ๋ ˆํผ์‹œํ”ฝ ํ”„๋ก ํŠธ์—”๋“œ Turborepo ๋ชจ๋…ธ๋ ˆํฌ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ๋„ - Core Packages, Services, Shared ๋ชจ๋“ˆ ๊ตฌ์„ฑ

๐Ÿ“ฆ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ

  • Core Packages: ์ธ์ฆ, ๋กœ๊ทธ ๋“ฑ ๊ณตํ†ต ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ•ต์‹ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • Services: ์•„๋ชจ๋ ˆ๋ชฐ, ์•„๋ชจ๋ ˆ์Šคํ† ์–ด, ์Šคํ‚จ๋…ธํŠธ ๋“ฑ ๊ฐ๊ฐ์˜ ๋…๋ฆฝ์ ์ธ ์„œ๋น„์Šค
  • Shared: ๊ณตํ†ต ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฐ ์ปดํฌ๋„ŒํŠธ

๐Ÿ›๏ธ ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌ์„ฑ

์•„๋ชจ๋ ˆํผ์‹œํ”ฝ ํ”„๋ก ํŠธ์—”๋“œ ์ „๋ฐ˜์— ํ™œ์šฉ ๊ฐ€๋Šฅํ•œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 10๊ฐœ ์ด์ƒ์„ ์„ค๊ณ„ ๋ฐ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค:

๐Ÿ“ฆ ๋„๋ฉ”์ธ๋ณ„ ํŒจํ‚ค์ง€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ „๋žต
  • @amoremall, @amorestore ๋“ฑ: ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ๋ณ„ ํŒจํ‚ค์ง€
  • @support: ๋ฒ”์šฉ ๊ณตํ†ต ํŒจํ‚ค์ง€

์ด๋ฅผ ํ†ตํ•ด ๋„๋ฉ”์ธ๋ณ„ ํŠนํ™” ๊ธฐ๋Šฅ๊ณผ ๋ฒ”์šฉ ๊ธฐ๋Šฅ์„ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽจ ์ฃผ์š” ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

@amoremall/ui-framework

  • Radix UI + Motion ๊ธฐ๋ฐ˜ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋””์ž์ธ ์‹œ์Šคํ…œ
  • ์ผ๊ด€๋œ UI/UX ์ œ๊ณต ๋ฐ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ

@amoremall/native-bridge

  • Android/iOS WebView ๋ธŒ๋ฆฟ์ง€ ํ†ตํ•ฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • 201๊ฐœ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋กœ ์•ˆ์ •์„ฑ ํ™•๋ณด
  • 5๊ฐ€์ง€ ํ†ต์‹  ํŒจํ„ด ํ‘œ์ค€ํ™”

@amoremall/eslint-config, @amoremall/typescript-config

  • ์•„๋ชจ๋ ˆ๋ชฐ ๋‚ด ๊ณตํ†ต ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ • ํŒจํ‚ค์ง€ ํ‘œ์ค€ํ™”
  • ์ฝ”๋“œ ํ’ˆ์งˆ ์ผ๊ด€์„ฑ ๋ฐ ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜ ํ–ฅ์ƒ
๐Ÿ”„ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ

Changesets ๊ธฐ๋ฐ˜ ์‹œ๋ฉ˜ํ‹ฑ ๋ฒ„์ €๋‹

  • ์•ˆ์ •์ ์ธ ํŒจํ‚ค์ง€ ๋ฐฐํฌ ๋ฐ ์˜์กด์„ฑ ๊ด€๋ฆฌ ์ž๋™ํ™”
  • ํŒจํ‚ค์ง€ ๋ฒ„์ „ ํžˆ์Šคํ† ๋ฆฌ ์ž๋™ ์ถ”์ 
  • ๋ณ€๊ฒฝ ๋กœ๊ทธ ์ž๋™ ์ƒ์„ฑ์œผ๋กœ ํˆฌ๋ช…ํ•œ ๋ฆด๋ฆฌ์ฆˆ ๊ด€๋ฆฌ

์‚ฌ๋‚ด ์ €์žฅ์†Œ(Nexus) ํ†ตํ•ฉ

  • ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒจํ‚ค์ง• ๋ฐ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•
  • ๋‚ด๋ถ€ ์‹œ์Šคํ…œ ๊ฐ„ ์ฝ”์–ด ๋ชจ๋“ˆ ์žฌ์‚ฌ์šฉ์„ฑ ๊ทน๋Œ€ํ™”

ํŠธ๋ฆฌ์…ฐ์ดํ‚น ์ง€์› ESM/CJS ๋“€์–ผ ํŒจํ‚ค์ง€

  • ๋ฒˆ๋“ค ํฌ๊ธฐ ์ตœ์ ํ™” ๋ฐ ๋ฒ”์šฉ์„ฑ ํ™•๋ณด
  • ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ์˜ ํ˜ธํ™˜์„ฑ ๋ณด์žฅ

๐Ÿ’Ž ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ์–ป๋Š” ํšจ๊ณผ

Turborepo ๋ชจ๋…ธ๋ ˆํฌ ์•„ํ‚คํ…์ฒ˜ ํšจ๊ณผ - ๋นŒ๋“œ ์†๋„ ๊ฐœ์„ , ์„œ๋น„์Šค ๋…๋ฆฝ์„ฑ, ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ, AI ์ž๋™ํ™”

โšก 1. ๋น ๋ฅธ ๋นŒ๋“œ ์†๋„

ํ•ต์‹ฌ ๊ฐ€์น˜: Turborepo์˜ ์บ์‹ฑ์„ ํ†ตํ•œ ๋นŒ๋“œ ์†๋„ ์ตœ์ ํ™”

  • ๐Ÿš€ ์บ์‹ฑ์„ ํ†ตํ•œ ๋น ๋ฅธ ๋นŒ๋“œ ์†๋„: ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์€ ์žฌ๋นŒ๋“œํ•˜์ง€ ์•Š์Œ
  • โฑ๏ธ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ: ๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„๋กœ ๊ฐœ๋ฐœ ์†๋„ ๊ฐœ์„ 
  • ๐Ÿ“Š ์‹ค์ œ ์„ฑ๋Šฅ ๊ฐœ์„ : AMORE STORE์˜ ๊ฒฝ์šฐ 9.4์ดˆ์—์„œ AMORE MALL์€ ์บ์‹œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ 80ms๋กœ ์•ฝ 117๋ฐฐ ๋นจ๋ผ์ง

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

๐Ÿ›ก๏ธ 2. ์„œ๋น„์Šค ๊ฐ„ ๋…๋ฆฝ์„ฑ

ํ•ต์‹ฌ ๊ฐ€์น˜: ์„œ๋น„์Šค ๊ฐ„ ์˜์กด์„ฑ ์ œ๊ฑฐ๋กœ ์•ˆ์ •์„ฑ ํ™•๋ณด

  • ๐Ÿ”’ ๋…๋ฆฝ์ ์ธ ์„œ๋น„์Šค ์šด์˜: ํ•œ ์„œ๋น„์Šค์˜ ์˜ค๋ฅ˜๊ฐ€ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ์˜ํ–ฅ ์—†์Œ
  • ๐ŸŽฏ ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต: ๊ฐ ์„œ๋น„์Šค์˜ ๋…๋ฆฝ์ ์ธ ๋ฐฐํฌ ๋ฐ ์šด์˜

๐ŸŽจ 3. ๊ฐœ๋ฐœ ์ž์œ ๋„

ํ•ต์‹ฌ ๊ฐ€์น˜: ์„œ๋น„์Šค๋ณ„ ์ตœ์ ์˜ ๊ธฐ์ˆ  ์Šคํƒ ์„ ํƒ ๊ฐ€๋Šฅ

  • ๐Ÿ”ง ์ž์œ ๋กœ์šด ์–ธ์–ด ํ™œ์šฉ: ๊ฐ ์„œ๋น„์Šค์— ๋งž๋Š” ์ตœ์ ์˜ ๊ธฐ์ˆ  ์„ ํƒ
  • ๐ŸŽช ์„œ๋น„์Šค ๋‚ด ์ž์œ ๋„: ์„œ๋น„์Šค๋ณ„ ํŠน์„ฑ์— ๋งž๋Š” ๊ฐœ๋ฐœ ๋ฐฉ์‹ ์ ์šฉ

๐Ÿ‘ฅ 4. ํšจ์œจ์ ์ธ ํ˜‘์—…

ํ•ต์‹ฌ ๊ฐ€์น˜: ๋‚ด๋ถ€/์™ธ์ฃผ ๊ฐœ๋ฐœํŒ€ ๊ฐ„ ํšจ์œจ์ ์ธ ํ˜‘์—… ๊ตฌ์กฐ

  • ๐Ÿ“š ๋น ๋ฅธ ํ•™์Šต: ์™ธ์ฃผ ๊ฐœ๋ฐœํŒ€์ด ๋‚ด๋ถ€ ๊ฐœ๋ฐœํŒ€์˜ ์ฃผ์š” ์„œ๋น„์Šค ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ๋น ๋ฅธ ํ•™์Šต ๊ฐ€๋Šฅ
  • ๐Ÿ” ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ตœ์ ํ™”: ์ฝ”์–ด๋Š” ๋‚ด๋ถ€ ๊ฐœ๋ฐœํŒ€์—์„œ ๊ด€๋ฆฌํ•˜์—ฌ ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ

๐Ÿ“ฆ 5. ์ฒด๊ณ„์ ์ธ ์ฝ”์–ด ๊ด€๋ฆฌ

ํ•ต์‹ฌ ๊ฐ€์น˜: ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•œ ์ฝ”์–ด ๊ด€๋ฆฌ

  • ๐Ÿ” ์ธ์ฆ, ๋กœ๊ทธ ๋“ฑ ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ: ์‹ ๊ทœ ์™ธ์ฃผ ๊ฐœ๋ฐœํŒ€๋„ ๋น ๋ฅธ ๋„์ž… ๊ฐ€๋Šฅ
  • ๐Ÿ“Š ์ฒด๊ณ„์ ์ธ ๋กœ๊ทธ ๊ด€๋ฆฌ: ํ†ต์ผ๋œ ๋กœ๊ทธ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
  • ๐Ÿท๏ธ ๋ฒ„์ „ ๊ด€๋ฆฌ: Changesets ๊ธฐ๋ฐ˜ ์‹œ๋ฉ˜ํ‹ฑ ๋ฒ„์ €๋‹์œผ๋กœ ์•ˆ์ •์ ์ธ ํŒจํ‚ค์ง€ ๋ฐฐํฌ ๋ฐ ์˜์กด์„ฑ ๊ด€๋ฆฌ ์ž๋™ํ™”
  • ๐Ÿข ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘์•™ ๊ด€๋ฆฌ: ๋‚ด๋ถ€/์™ธ์ฃผํŒ€ ์ฝ”๋“œ ํ’ˆ์งˆ ํ‘œ์ค€ํ™” ๋ฐ ์ผ๊ด€์„ฑ ํ™•๋ณด
  • ๐Ÿ“ฆ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ: 10๊ฐœ ์ด์ƒ์˜ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ตฌ์ถ•

๐ŸŒ… 6. ๋น ๋ฅธ ํ”„๋กœ๋•ํŠธ ์„ ์…‹

ํ•ต์‹ฌ ๊ฐ€์น˜: ์‹ ๊ทœ ์„œ๋น„์Šค์˜ ๋น ๋ฅธ ๊ฐœ๋ฐœ๊ณผ ์„ ์…‹

  • โšก ๋น ๋ฅธ ์‹ ๊ทœ ์„œ๋น„์Šค ๊ตฌ์ถ•: ์ฝ”์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ™œ์šฉ์œผ๋กœ ๊ฐœ๋ฐœ ์‹œ๊ฐ„ ๋‹จ์ถ•
  • ๐ŸŽฏ ํšจ์œจ์ ์ธ ์„ ์…‹: ์™ธ์ฃผ ๊ฐœ๋ฐœํŒ€์€ ์‹ ๊ทœ ์„œ๋น„์Šค๋งŒ ๊ฐœ๋ฐœํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๋น ๋ฅธ ํ”„๋กœ๋•ํŠธ ์„ ์…‹ ๊ฐ€๋Šฅ

๐ŸŽฏ 7. ์ฝ”๋“œ ํ’ˆ์งˆ ๋ฐ ์•ˆ์ •์„ฑ

ํ•ต์‹ฌ ๊ฐ€์น˜: ์ฃผ์š” ์„œ๋น„์Šค์™€ ์ฝ”์–ด์˜ ์•ˆ์ •์  ์šด์˜

  • โœ… ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ: ์ฃผ์š” ์„œ๋น„์Šค์™€ ์ฝ”์–ด๋Š” ๋‚ด๋ถ€ ๊ฐœ๋ฐœํŒ€์—์„œ ๊ฐœ๋ฐœ/์šด์˜
  • ๐Ÿ›ก๏ธ ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค: ์ฒด๊ณ„์ ์ธ ๊ด€๋ฆฌ๋กœ ์•ˆ์ •์„ฑ ํ™•๋ณด

๐Ÿค– 8. AI ๊ธฐ๋ฐ˜ ์ž๋™ํ™” ๋ฐ Agent Skills

ํ•ต์‹ฌ ๊ฐ€์น˜: AI๋ฅผ ํ™œ์šฉํ•œ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™” ๋ฐ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ

๐ŸŽจ ๋””์ž์ธ ์ž๋™ํ™”
  • Figma MCP ํ™œ์šฉ: ๋””์ž์ธ ์ž๋™ ์ƒ์„ฑ์œผ๋กœ ์ผ๊ด€์„ฑ ์žˆ๋Š” UI/UX ๊ตฌํ˜„
  • ๋””์ž์ธ-์ฝ”๋“œ ๊ฐ„๊ฒฉ ๋‹จ์ถ•: ๋””์ž์ธ ์‹œ์Šคํ…œ๊ณผ ์ฝ”๋“œ ๊ฐ„ ์ž๋™ ๋™๊ธฐํ™”
๐Ÿ“ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™”
  • AI ๊ธฐ๋ฐ˜ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ž๋™ ์ƒ์„ฑ: ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ํšจ์œจ์„ฑ ํ–ฅ์ƒ
  • AI ๊ธฐ๋ฐ˜ Merge Request ์ž๋™ ์ƒ์„ฑ: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™”
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ž๋™ํ™”: AI Agent Skills๋ฅผ ํ†ตํ•œ ์ฝ”๋“œ ํ’ˆ์งˆ ๊ฒ€์ฆ ๋ฐ ๊ฐœ์„  ์ œ์•ˆ
๐Ÿง  AI Agent Skills ์ ์šฉ

AI Agent๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์Šคํ‚ฌ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค:

  • ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ๊ฒ€์ฆ: ์•„๋ชจ๋ ˆํผ์‹œํ”ฝ์˜ ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ž๋™ ๊ฒ€์ฆ
  • ์ž๋™ ๋ฆฌํŒฉํ† ๋ง ์ œ์•ˆ: ์ฝ”๋“œ ํ’ˆ์งˆ ๊ฐœ์„ ์„ ์œ„ํ•œ ์ž๋™ ์ œ์•ˆ
  • ๋ฌธ์„œ ์ž๋™ ์ƒ์„ฑ: ์ฝ”๋“œ ๊ธฐ๋ฐ˜ API ๋ฌธ์„œ ๋ฐ ๊ฐ€์ด๋“œ ์ž๋™ ์ƒ์„ฑ
  • ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ƒ์„ฑ: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž๋™ ์ƒ์„ฑ

์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž์˜ ๋ฐ˜๋ณต ์ž‘์—…์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ฝ”๋“œ ํ’ˆ์งˆ๊ณผ ์ผ๊ด€์„ฑ์„ ์ž๋™์œผ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿš€ ์•„ํ‚คํ…์ฒ˜ ๊ณ ๋„ํ™”

์•ž์œผ๋กœ์˜ ์•„ํ‚คํ…์ฒ˜ ๊ณ ๋„ํ™”๋ฅผ ์œ„ํ•œ ๊ณ„ํš์ž…๋‹ˆ๋‹ค:

๐Ÿ“š 1. ๋ฌธ์„œํ™”๋ฅผ ํ†ตํ•œ ๊ด€๋ฆฌ

ํ•ต์‹ฌ ๊ฐ€์น˜: Docusaurus๋ฅผ ํ™œ์šฉํ•œ ์ฒด๊ณ„์ ์ธ ๋ฌธ์„œํ™”

  • ๐Ÿ“– Docusaurus.io ํ™œ์šฉ: ๋ฌธ์„œํ™”๋ฅผ ํ†ตํ•ด ์•„ํ‚คํ…์ฒ˜์™€ ์ฝ”๋“œ ๊ด€๋ฆฌ
  • ๐Ÿค– AI ๋”ฅ๋Ÿฌ๋‹: ๊ตฌ์„ฑํ•œ ๋ฌธ์„œ&์ฝ”๋“œ๋ฅผ AI๋ฅผ ํ†ตํ•ด ๋”ฅ๋Ÿฌ๋‹์‹œ์ผœ ์•„๋ชจ๋ ˆํผ์‹œํ”ฝ์˜ ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ๊ตฌ์ถ•

๐Ÿ“ฆ 2. ๋ฒ„์ „ ๊ด€๋ฆฌ

ํ•ต์‹ฌ ๊ฐ€์น˜: ํŒจํ‚ค์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฒด๊ณ„์  ๋ฒ„์ „ ๊ด€๋ฆฌ

  • ๐Ÿท๏ธ ํŒจํ‚ค์ง€ ๋ฒ„์ „ ๊ด€๋ฆฌ: ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฒ„์ „ ๊ด€๋ฆฌํ•˜์—ฌ ์•„๋ชจ๋ ˆํผ์‹œํ”ฝ ์„œ๋น„์Šค๋“ค์— ๋‹ค์–‘ํ•˜๊ฒŒ ํ™œ์šฉ
  • ๐Ÿ”„ ์ฒด๊ณ„์ ์ธ ์—…๋ฐ์ดํŠธ: ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•œ ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค ์šด์˜

๐Ÿ”— 3. ์ž๋™ํ™”

ํ•ต์‹ฌ ๊ฐ€์น˜: Webhook ์—ฐ๊ณ„๋ฅผ ํ†ตํ•œ ์ž๋™ํ™”

  • ๐Ÿš€ ๋ฐฐํฌ ์ž๋™ํ™”: Webhook ์—ฐ๊ณ„๋ฅผ ํ†ตํ•œ ์ž๋™ ๋ฐฐํฌ
  • ๐Ÿšจ ์žฅ์•  ์•Œ๋ฆผ: ์žฅ์•  ๋ฐœ์ƒ ์‹œ ์ž๋™ ์•Œ๋ฆผ
  • ๐Ÿ”€ MR ์ž๋™ํ™”: Merge Request ๊ด€๋ จ ์ž๋™ํ™”

๐Ÿ’ญ ๊ธฐ์ˆ ๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค์˜ ๊ท ํ˜•

์š”์ฆ˜ ๋“ค์–ด ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์‚ฌ์ด์—์„œ ๊ท ํ˜•์„ ์ฐพ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค:

  • ๊ธฐ์ˆ  ๊ธฐ๋ฐ˜: ํ›Œ๋ฅญํ•œ ์ˆ˜์ค€์˜ ์ฝ”๋“œ/์‹œ์Šคํ…œ
  • ๋น„์ฆˆ๋‹ˆ์Šค ๊ธฐ๋ฐ˜: ์ ๋‹นํ•œ ์ˆ˜์ค€์˜ ๋น ๋ฅธ ์‹œ์Šคํ…œ ์•„์›ƒํ’‹

๐Ÿ’ญ ํ•ต์‹ฌ ๊ณ ๋ฏผ: ์ €์šธ์„ ์–ด๋А ๊ณณ์— ๋‘์–ด์•ผ ๊ธฐ์ˆ ๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์ž˜ ์กฐ์œจํ•˜๊ณ  ๊ฐœ๋ฐœ์ž์™€ ํ˜„์—…, ๋ชจ๋‘๊ฐ€ ๋งŒ์กฑํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊นŒ?

๋‹ค๊ฐ๋ฉด์—์„œ ๋ฐ”๋ผ๋ณด๊ณ  ๊ณ ๋ฏผํ•˜๋ฉฐ, ์ตœ์ ์˜ ๊ท ํ˜•์ ์„ ์ฐพ์•„๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽ‰ ๋งˆ๋ฌด๋ฆฌ

์ง€๊ธˆ๊นŒ์ง€ ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์„ค๊ณ„ํ•˜๋ฉฐ ๊ณ ๋ฏผํ•ด์™”๋˜ ์ ๋“ค์„ ๊ณต์œ ํ•ด ๋“œ๋ ธ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ์•ˆ์ •์„ฑ๊ณผ ๋ชจ๋‹ˆํ„ฐ๋ง์— ๊ด€์‹ฌ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด, DATADOG LIVE SEOUL 2024 ์—ฐ์‚ฌ ํšŒ๊ณ  ๊ธ€๋„ ์ฐธ๊ณ ํ•ด๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์•„๋ชจ๋ ˆ๋ชฐ์˜ ๋กœ๊ทธ ๋ถ„์„ ๋„๊ตฌ ๋„์ž… ์ „๋žต๊ณผ ์•ˆ์ •ํ™” ๊ณผ์ •์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿš€ ํ–ฅํ›„ ๊ณ„ํš

์•„์ง์€ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰ ์ค‘์ด๋ผ ์‹œํ–‰์ฐฉ์˜ค์˜ ์—ฐ์†์ด์ง€๋งŒ, ์™„์„ฑ ์ดํ›„ ๊ฐ๊ด€์  ์ž…์ฆ์„ ํ†ตํ•ด ํ›„๊ธฐ ๊ณต์œ  ๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ถ€์กฑํ•œ ๊ธ€์ด์ง€๋งŒ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ข‹์€ ๊ฐœ์„ ์ ๊ณผ ๋ณด์™„์ ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ์–ธ์ œ๋“  ์˜๊ฒฌ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.


๐Ÿ™ ๊ฐ์‚ฌ์˜ ๋ง์”€

์ด ๊ธ€์„ ์ฝ์œผ์‹œ๋Š” ๋ถ„๋“ค๊ป˜์„œ๋„ ์œ„ ๊ธ€์ด ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ”— ๊ด€๋ จ ๋งํฌ

๐Ÿ“

LinkedIn ์›๋ณธ ํฌ์ŠคํŠธ

ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์˜ ์ƒ์„ธํ•œ ์ธ์‚ฌ์ดํŠธ์™€ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜์„ธ์š”

ํฌ์ŠคํŠธ ๋ณด๊ธฐ โ†’
โšก

Turborepo ๊ณต์‹ ์›น์‚ฌ์ดํŠธ

๊ณ ์„ฑ๋Šฅ ๋นŒ๋“œ ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ฒดํ—˜ํ•ด๋ณด์„ธ์š”

์›น์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ โ†’
๐Ÿ“š

Turborepo ์ฐธ๊ณ  ์ž๋ฃŒ

Why Turborepo will be the first big trend of 2022

๊ธ€ ๋ณด๊ธฐ โ†’

๐Ÿท๏ธ ํƒœ๊ทธ

#frontend_architecture

#turborepo

#monorepo

#amorepacific

#react

#nextjs

#architecture

#frontend

#vercel

#ax