๐Ÿธminzzi
Minzzi์•ผ
๐Ÿธminzzi
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (132)
    • ์˜ค๋ฅ˜ํ•ด๊ฒฐ (14)
    • FE (36)
      • Next.js (17)
      • React (4)
      • React Native (0)
      • TypeScript (1)
      • JavaScript (14)
    • BE (0)
      • Nest.js (0)
    • ๋ฐ๋ธŒ์ฝ”์Šค (7)
    • ์›น ํ”„๋กœ์ ํŠธ (5)
    • CS (28)
      • Algorithm (5)
      • Python (4)
      • C++ (2)
      • Operating System (4)
      • Computer Networking (3)
      • Data Structure (1)
      • Machine Learning (3)
      • Tip (6)
    • Github (4)
    • Flutter (3)
      • ํ”„๋กœ์ ํŠธ (3)
    • Private (3)
      • ํšŒ๊ณ  (7)
      • ๋ฉด์ ‘ (17)
    • ๊ฐœ๋ฐœ๋„์„œ (7)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์˜ค๋ธ”์™„
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ์‹คํ–‰์ปจํƒ์ŠคํŠธ
  • ํž™์˜์—ญ
  • ํ˜ธ์ด์ŠคํŒ…
  • next.js
  • ์›์‹œํƒ€์ž…
  • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
  • react
  • ๋ฉด์ ‘
  • layout shift
  • reflow
  • SSR
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ์ด๋ฒคํŠธ๋ฃจํ”„
  • ๋ชจ๋˜๋ฆฌ์•กํŠธ๋”ฅ๋‹ค์ด๋ธŒ
  • ๋ ‰์‹œ์ปฌ
  • ์ด๋ฏธ์ง€ ์ตœ์ ํ™”
  • ์ฝœ์Šคํƒ
  • ์‹คํ–‰์ปจํ…์ŠคํŠธ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๐Ÿธminzzi
์›น ํ”„๋กœ์ ํŠธ

FE ํ”„๋กœ์ ํŠธ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ๊ณ ๋ฏผ(feat. FSD ์•„ํ‚คํ…์ฒ˜)

FE ํ”„๋กœ์ ํŠธ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ๊ณ ๋ฏผ(feat. FSD ์•„ํ‚คํ…์ฒ˜)
์›น ํ”„๋กœ์ ํŠธ

FE ํ”„๋กœ์ ํŠธ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ๊ณ ๋ฏผ(feat. FSD ์•„ํ‚คํ…์ฒ˜)

2024. 9. 6. 03:59

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ตœ์ข… ํ”„๋กœ์ ํŠธ์—์„œ ํ”„๋ก ํŠธ์—”๋“œ ํด๋”๊ตฌ์กฐ์— ๋Œ€ํ•œ ๋…ผ์˜๋ฅผ ๊ฑฐ์ณ FSD ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ๋‚ด์šฉ์„ ๊ณต์œ ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.
FSD ์•„ํ‚คํ…์ฒ˜๋Š” ์–ด๋–ค ๊ตฌ์กฐ์ธ์ง€ ์‚ดํŽด๋ณด๋ฉฐ ์ด์ „์— ์‚ฌ์šฉํ•˜๋˜ ๋ฐฉ์‹๊ณผ FSD ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋ฅผ ๋น„๊ตํ•˜์—ฌ ์ข‹์€ ์ ์„ ์‚ดํŽด๋ณด๊ณ  ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ–ˆ์„ ๋•Œ ์–ป๊ฒŒ๋˜๋Š” ์ด์  ๋˜ํ•œ ์ƒ๊ฐํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.
 
FSD ๊ณต์‹ํŽ˜์ด์ง€ : https://feature-sliced.design/

Welcome | Feature-Sliced Design

Architectural methodology for frontend projects

feature-sliced.design

๊ณต์‹๋ฌธ์„œ์— ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋“ค์˜ ๊นƒํ—ˆ๋ธŒ ์ฃผ์†Œ๊ฐ€ ์žˆ๋‹ค. ๋ ˆํผ๋Ÿฐ์Šค๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

FSD(FeatureSliced Design) Architecture

FSD(๊ธฐ๋Šฅ ๋ถ„ํ•  ์„ค๊ณ„)๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Layers, Slices, Segments๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

https://feature-sliced.design/

Layers

๋ชจ๋“  FSD ํ”„๋กœ์ ํŠธ์—์„œ Layers๋Š” ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ๋‹ค. ์ด 7๊ฐœ์˜ Layer๊ฐ€ ์กด์žฌํ•˜๊ณ , ๋ชจ๋“  ๋ ˆ์ด์–ด๋ฅผ ๋‹ค ์‚ฌ์šฉํ•  ํ•„์š”๋Š” ์—†๋‹ค. 

  • app : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์ด ์ดˆ๊ธฐํ™” ๋˜๋Š” ๊ณณ์ด๋‹ค. ํ”„๋กœ๋ฐ”์ด๋”, ๋ผ์šฐํ„ฐ, ์ „์—ญ ์Šคํƒ€์ผ, ์ „์—ญ ํƒ€์ž… ์„ ์–ธ ๋“ฑ์ด ์ •์˜๋œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ง„์ž…์  ์—ญํ• ์„ ํ•œ๋‹ค.
  • processes : ๋”์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์ง€๋งŒ, ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์— ๊ฑธ์ณ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. 
  • pages : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŽ˜์ด์ง€๊ฐ€ ํฌํ•จ๋œ๋‹ค.
  • widgets : ํŽ˜์ด์ง€์— ์‚ฌ์šฉ๋˜๋Š” ๋…๋ฆฝ์ ์ธ UI ์ปดํฌ๋„ŒํŠธ์ด๋‹ค.
  • features : ์‚ฌ์šฉ์ž์—๊ฒŒ ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ€์น˜๋ฅผ ๊ฐ€์ ธ๋‹ค์ฃผ๋Š” ์ž‘์—…์ธ ์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค๋‚˜ ๊ธฐ๋Šฅ์„ ๋‹ค๋ฃฌ๋‹ค.
  • entities : ๋น„์ฆˆ๋‹ˆ์Šค ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์„ ํƒ์  ๋ ˆ์ด์–ด์ด๋‹ค.
  • shared : ํŠน์ • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ์ข…์†๋˜์ง€ ์•Š๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ์™€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. UIํ‚คํŠธ, axios ์„ค์ •, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ •, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ฌถ์ด์ง€ ์•Š๋Š” ํ—ฌํผ ๋“ฑ์ด ํฌํ•จ๋œ๋‹ค.

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

https://dev.to/m_midas/feature-sliced-design-the-best-frontend-architecture-4noj

Slices

Layers์˜ ํ•˜์œ„๋กœ Slices ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด Slices์˜ ๋ชฉํ‘œ๋Š” ์ฝ”๋“œ๋ฅผ ๊ฐ’ ๋ณ„๋กœ ๊ทธ๋ฃนํ™” ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. Layers์—์„œ๋Š” ๊ฐ Layer๋งˆ๋‹ค ์ด๋ฆ„์ด ์กด์žฌํ–ˆ๋Š”๋ฐ Slices์™€ Segments๋Š” ํŠน์ •ํ•œ ์ด๋ฆ„์ด ์—†๋‹ค. ํŒ€์—์„œ ๋ชฉ์ ์— ๋ถ€ํ•ฉํ•œ ์ด๋ฆ„์„ ๋ถ™์ด๋ฉด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. Slice๋Š” ๊ฐ Layer์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•˜๋ฉฐ Slice์—์„œ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ๋“ค์€ ์ง์ ‘์ ์ธ ๊ณต์œ ๋ฅผ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ด์ƒ์ ์ด๋ผ๊ณ  ํ•œ๋‹ค. 
(์ง์ ‘์ ์ธ ๊ณต์œ ๋ผ ํ•จ์€ ์ฝ”๋“œ๋‚ด export๋ฅผ ๋งํ•˜๋Š” ๊ฑด๊ฐ€?(ํ™•์‹ค์น˜์•Š์Œ) -> ๊ทธ๋ž˜์„œ ๋’ค์— ๋‚˜์˜ค๋Š” Public API๊ฐ€ ๋‚˜์˜ค๋Š”๊ฑด๊ฐ€ ์‹ถ๋‹ค.)

FSD ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด app๊ณผ shared ๋ ˆ์ด์–ด๋Š” Slices๋ฅผ ๊ฐ€์ง€์ง€ ์•Š๊ณ  ๋ฐ”๋กœ Segments๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค๊ณ  ๋‚˜์™€์žˆ๋‹ค.

Segments

๊ฐ Slices๋Š” Segments๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. Segment์˜ ๋ชฉ์ ์— ๋”ฐ๋ผ Slice ๋‚ด์˜ ์ฝ”๋“œ๋ฅผ ๋‚˜๋ˆ„๊ฒŒ ๋œ๋‹ค. Segments๋“ค์˜ ์ด๋ฆ„ ๋˜ํ•œ ์ œํ•œ๋˜์–ด ์žˆ์ง€๋Š” ์•Š์ง€๋งŒ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์“ฐ์ด๋Š” ์ด๋ฆ„๋“ค์ด ์žˆ๋‹ค.

  • ui : UI ํ‘œ์‹œ์™€ ๊ด€๋ จ๋œ ๊ฒƒ - UI ๊ตฌ์„ฑ์š”์†Œ, ๋‚ ์งœ ํฌ๋งทํ„ฐ, ์Šคํƒ€์ผ ๋“ฑ
  • api : ๋ฐฑ์—”๋“œ ์ธํ„ฐ๋ž™์…˜ - ์š”์ฒญ ํ•จ์ˆ˜, ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋“ฑ
  • model : ๋ฐ์ดํ„ฐ ๋ชจ๋ธ - ์Šคํ‚ค๋งˆ, ์ธํ„ฐํŽ˜์ด์Šค, ์Šคํ† ์–ด, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋“ฑ
  • lib : ํ•ด๋‹น Slice์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฝ”๋“œ
  • config - configuration ํŒŒ์ผ๊ณผ feature flags

Public API (Barrel export)

Slice์™€ Segment์—๋Š” Public API๊ฐ€ ์žˆ๋‹ค. ์ด๋Š” index.js, index.ts๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ์ด ํŒŒ์ผ์„ ํ†ตํ•ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ ์™ธ๋ถ€๋กœ export ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. Public API์— ๋Œ€ํ•œ ๊ทœ์น™์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • app slice์™€ segment๋Š” public API์˜ index ํŒŒ์ผ์— ์ •์˜๋œ slice ๊ธฐ๋Šฅ๊ณผ ์ปดํฌ๋„ŒํŠธ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.
  • public API์— ์ •์˜๋˜์ง€ ์•Š์€ slice ๋˜๋Š” segment์˜ ๋‚ด๋ถ€ ๋ถ€๋ถ„์€ ๊ฒฉ๋ฆฌ๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜๋ฉฐ slice ๋˜๋Š” segment ๋‚ด๋ถ€์—์„œ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
https://dev.to/m_midas/feature-sliced-design-the-best-frontend-architecture-4noj

Barrel export๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด importํ• ๋•Œ import { Button, Title, Textfield } from ๊ฒฝ๋กœ/index.ts ์œผ๋กœ ๊น”๋”ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹๋‹ค.


์ด์ „์— ์‚ฌ์šฉํ•œ ๋ฐฉ์‹ vs FSD

์ด์ „์—๋Š” ๊ธฐ๋Šฅ๋ณ„๋กœ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ฝ”๋“œ์˜ ์—ญํ• ์— ๋”ฐ๋ผ์„œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌ๋ถ„ํ–ˆ์—ˆ๋Š”๋ฐ, ๋”ฐ๋ผ์„œ api, assets, components, pages, store, utils, style ๋“ฑ์˜ ํด๋”๋ฅผ ์ตœ์ƒ์œ„๋กœ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌ์„ฑํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ์‹์€ ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌํ•˜๊ธฐ์—๋Š” ๋ณต์žกํ•œ ๊ตฌ์กฐ์˜€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํŠน์ • ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๋•Œ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์–ด๋””์—๋‹ค๊ฐ€ ๋ฐฐ์น˜ํ•ด์•ผํ•˜๋Š” ์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ํ•„์š”ํ•˜๋‹ค.
 
FSD๋Š” ์ด๋Ÿฌํ•œ ๊ณ ๋ฏผ์—์„œ ๋ฒ—์–ด๋‚˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๊ธฐ๋Šฅ๋‹จ์œ„๋กœ ๊ตฌ์กฐ๊ฐ€ ๋‚˜๋‰˜์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ช…ํ™•ํ•˜๊ฒŒ ์ฝ”๋“œ๊ฐ€ ๊ตฌ๋ถ„์ด ๋œ๋‹ค. ๋˜ํ•œ ๋ ˆ์ด์–ด์—์„œ๋Š” ๊ณ„์ธต๊ตฌ์กฐ๊ฐ€ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด, ์ƒ์†์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์„ฑ์€ ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ์— ์žฅ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋˜ํ•œ FSD ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉด ๋ฆฐํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ข€ ๋” FSD์— ๋งž๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค.
 
ํ•˜์ง€๋งŒ ์ƒˆ๋กœ์šด ๋ฐฉ์‹์˜ ์•„ํ‚คํ…์ฒ˜์ด๋‹ค๋ณด๋‹ˆ, ์šฐ๋ฆฌํŒ€์˜ ๊ฒฝ์šฐ 8๋ช…์˜ ํŒ€์›์ด ์ด ๋ฐฉ์‹์˜ ๊ตฌ์กฐ์— ์นœํ•ด์ง€๊ธฐ์—๋Š” ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด์ˆ˜๋„ ์žˆ๊ณ , ๊ฐœ๋ฐœํ•˜๋ฉด์„œ๋„ ์ ์‘ํ•˜๊ธฐ์—๋Š” ์‰ฝ์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™๋‹ค. ํ•ด๋‹น ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ชจ๋“  ํŒ€์›์ด ๋™์ผํ•œ ์ดํ•ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด์งˆ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.
 

๋”๋ณด๊ธฐ
https://feature-sliced.design/
 

Welcome | Feature-Sliced Design

Architectural methodology for frontend projects

feature-sliced.design

https://dev.to/m_midas/feature-sliced-design-the-best-frontend-architecture-4noj

 

Feature-Sliced Design: The Best Frontend Architecture

Introduction Frontend developers often face a problem related to application architecture....

dev.to

https://emewjin.github.io/feature-sliced-design/#%EB%93%A4%EC%96%B4%EA%B0%80%EB%A9%B0

 

(๋ฒˆ์—ญ) ๊ธฐ๋Šฅ ๋ถ„ํ•  ์„ค๊ณ„ - ์ตœ๊ณ ์˜ ํ”„๋ŸฐํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜

๊ธฐ๋Šฅ ๋ถ„ํ•  ์„ค๊ณ„(Feature-Sliced Design, FSD) ์•„ํ‚คํ…์ฒ˜์˜ ๊ฐœ๋…๊ณผ ์ด ์•„ํ‚คํ…์ฒ˜ ๋ฐฉ๋ฒ•๋ก ์ด ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ด์•ผ๊ธฐํ•˜๊ณ , FSD๋ฅผ ๊ธฐ์กด ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๋ชจ๋“ˆ์‹ ์•„ํ‚คํ…์ฒ˜์™€ ๋น„๊ตํ•œ ๋’ค ์žฅ๋‹จ์ ์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

emewjin.github.io

https://developers.hyundaimotorgroup.com/blog/399

 

๊ธฐ๋Šฅ ๋ถ„ํ•  ์„ค๊ณ„(FSD)๋ฅผ ์ด์šฉํ•œ FE ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ

FE ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ์ฒซ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์—์„œ ๊ฐ€์žฅ ๊ณ ๋ฏผ๋˜๋Š” ํด๋” ๊ตฌ์กฐ์— ๋Œ€ํ•ด ๊ณ ๋ฏผ์— ๋„์›€์ด ๋˜๊ณ ์ž ๊ธฐ๋Šฅ ๋ถ„ํ•  ์„ค๊ณ„(FSD) ๊ฐœ๋…์„ ์†Œ๊ฐœ ํ•ฉ๋‹ˆ๋‹ค. ๊ผญ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘์ด ์•„๋‹ˆ๋ผ, ํด๋” ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ์‹ถ์€

developers.hyundaimotorgroup.com

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'์›น ํ”„๋กœ์ ํŠธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Frontend ์ด๋ฏธ์ง€ ์ตœ์ ํ™”ํ•˜๊ธฐ  (4) 2024.11.14
AWS ํ”„๋ฆฌํ‹ฐ์–ด ์ ์šฉ ๋ฒ”์œ„  (0) 2024.09.13
[React] sitemap์œผ๋กœ SEO ์ž‘์—…ํ•˜๊ธฐ  (2) 2024.06.15
[Crop] ํ”„๋กœ์ ํŠธ ํŒ€์ŠคํŽ˜์ด์Šค ์ƒ์„ฑ!  (0) 2024.05.21
  • FSD(FeatureSliced Design) Architecture
  • Layers
  • Slices
  • Segments
  • Public API (Barrel export)
  • ์ด์ „์— ์‚ฌ์šฉํ•œ ๋ฐฉ์‹ vs FSD
'์›น ํ”„๋กœ์ ํŠธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Frontend ์ด๋ฏธ์ง€ ์ตœ์ ํ™”ํ•˜๊ธฐ
  • AWS ํ”„๋ฆฌํ‹ฐ์–ด ์ ์šฉ ๋ฒ”์œ„
  • [React] sitemap์œผ๋กœ SEO ์ž‘์—…ํ•˜๊ธฐ
  • [Crop] ํ”„๋กœ์ ํŠธ ํŒ€์ŠคํŽ˜์ด์Šค ์ƒ์„ฑ!
๐Ÿธminzzi
๐Ÿธminzzi

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.