Skip to content

Commit

Permalink
docs: understanding knowledge, naming page translated into Korean (#762)
Browse files Browse the repository at this point in the history
* docs: understanding knowlege-types, naming page translated into Korean

* docs: lnowledge-types, naming  page feedback

* fix: knownledge-types page text link add
  • Loading branch information
Gaic4o authored Feb 1, 2025
1 parent d11d764 commit 78115d2
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,37 @@ sidebar_label: ํ”„๋กœ์ ํŠธ์˜ ์ง€์‹ ์œ ํ˜•

# ํ”„๋กœ์ ํŠธ์˜ ์ง€์‹ ์œ ํ˜•

์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ์—์„œ ํ•„์š”ํ•œ ์ง€์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์œ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

* **๊ธฐ๋ฐ˜ ์ง€์‹ (Fundamental Knowledge)**
์ปดํ“จํ„ฐ ๊ณผํ•™์˜ ๊ธฐ๋ณธ ์›๋ฆฌ, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋™์ž‘ ์›๋ฆฌ, API ์„ค๊ณ„ ํŒจํ„ด ๋“ฑ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„ ๋ณธ์งˆ์  ๊ฐ€์น˜๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ง€์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

* **๊ธฐ์ˆ  ์Šคํƒ (Technical Stack)**
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ํ”„๋ ˆ์ž„์›Œํฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ  ๋„๊ตฌ๋“ค์— ๋Œ€ํ•œ ์ „๋ฌธ ์ง€์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ์ˆ ์  ๊ธฐ๋ฐ˜์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

* **ํ”„๋กœ์ ํŠธ ๋„๋ฉ”์ธ ์ง€์‹ (Project Domain Knowledge)**
ํŠน์ • ํ”„๋กœ์ ํŠธ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •์‚ฌํ•ญ, ๊ฐœ๋ฐœ ๊ทœ์น™ ๋“ฑ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ๊ณ ์œ ํ•œ ์ง€์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋กœ์ ํŠธ ์™ธ๋ถ€์—์„œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์€ ๋‚ฎ์ง€๋งŒ, ํŒ€์›๋“ค์˜ ํšจ๊ณผ์ ์ธ ํ˜‘์—…์„ ์œ„ํ•ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.
์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ๋‹ค๋ฃจ๊ฒŒ ๋˜๋Š” ์ง€์‹์€ ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

### ๊ธฐ๋ฐ˜ ์ง€์‹ (Fundamental Knowledge)
ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ๋ณธ์ด ๋˜๋Š” ์ง€์‹์œผ๋กœ, ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„ ํฌ๊ฒŒ ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค:
- ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ
- ์ปดํ“จํ„ฐ ๊ณผํ•™์˜ ํ•ต์‹ฌ ๊ฐœ๋…
- ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ธฐ๋ณธ ์›๋ฆฌ

### ๊ธฐ์ˆ  ์Šคํƒ (Technical Stack)
ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์— ์ง์ ‘์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋„๊ตฌ๋“ค์— ๋Œ€ํ•œ ์ง€์‹์ž…๋‹ˆ๋‹ค:
- ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ํ”„๋ ˆ์ž„์›Œํฌ
- ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ฐœ๋ฐœ ๋„๊ตฌ
- ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ๋ฐฐํฌ ๋„๊ตฌ

### ํ”„๋กœ์ ํŠธ ๋„๋ฉ”์ธ ์ง€์‹ (Project Domain Knowledge)
ํŠน์ • ํ”„๋กœ์ ํŠธ์—๋งŒ ํ•ด๋‹นํ•˜๋Š” ๊ณ ์œ ํ•œ ์ง€์‹์ž…๋‹ˆ๋‹ค:
- ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๊ทœ์น™
- ํ”„๋กœ์ ํŠธ๋งŒ์˜ ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •์‚ฌํ•ญ
- ํŒ€ ๋‚ด ๊ฐœ๋ฐœ ๊ทœ์น™๊ณผ ๊ด€๋ก€

:::note

**Feature-Sliced Design**์€ "ํ”„๋กœ์ ํŠธ ๋„๋ฉ”์ธ ์ง€์‹"์— ๋Œ€ํ•œ ์˜์กด๋„๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ง€์‹๊ณผ ์ฑ…์ž„์„ ํŒ€ ์ „์ฒด์— ํšจ์œจ์ ์œผ๋กœ ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ๊ฒƒ์„ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ํŒ€์›์˜ ์ ์‘ ๊ณผ์ •์„ ์ฒด๊ณ„ํ™”ํ•˜๊ณ  ๊ฐ€์†ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

**Feature-Sliced Design**์€ ์ด๋Ÿฌํ•œ ์ง€์‹ ์œ ํ˜•์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค:
- ํ”„๋กœ์ ํŠธ ๋„๋ฉ”์ธ ์ง€์‹์— ๋Œ€ํ•œ ์˜์กด๋„๋ฅผ ์ตœ์†Œํ™”
- ๊ธฐ์ˆ  ์Šคํƒ ์ง€์‹์„ ์ฒด๊ณ„์ ์œผ๋กœ ๊ตฌ์กฐํ™”
- ์ƒˆ๋กœ์šด ํŒ€์›์˜ ์ ์‘ ๊ณผ์ •์„ ๋‹จ์ˆœํ™”
:::

## ์ฐธ๊ณ  ์ž๋ฃŒ {#see-also}

- [(๋น„๋””์˜ค) Ilya Klimov โ€” ์ง€์‹์˜ ์œ ํ˜•์— ๋Œ€ํ•˜์—ฌ][ext-klimov]
- [(์˜์ƒ ๐Ÿ‡ท๐Ÿ‡บ) Ilya Klimov - ์ง€์‹ ์œ ํ˜•์— ๊ด€ํ•˜์—ฌ][ext-klimov]

[ext-klimov]: https://youtu.be/4xyb_tA-uw0?t=249


Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
sidebar_position: 4
---

# ๋„ค์ด๋ฐ (Naming)

๊ฐœ๋ฐœ์ž๋“ค์€ ๊ฐ™์€ ๋Œ€์ƒ์„ ๊ฐ์ž์˜ ๊ฒฝํ—˜๊ณผ ๊ด€์ ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ๋ถ€๋ฅด๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:

- UI ์ปดํฌ๋„ŒํŠธ๋ฅผ "ui", "components", "ui-kit", "views" ๋“ฑ์œผ๋กœ ํ‘œํ˜„
- ๊ณตํ†ต ์ฝ”๋“œ๋ฅผ "core", "shared", "app" ๋“ฑ์œผ๋กœ ์ง€์นญ
- ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ "store", "model", "state" ๋“ฑ์œผ๋กœ ๋ช…๋ช…

## Feature-Sliced Design์˜ ํ‘œ์ค€ ๋„ค์ด๋ฐ {#naming-in-fsd}

FSD๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ช…ํ™•ํ•œ ๋„ค์ด๋ฐ ๊ทœ์น™์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค:

### Layers (๊ณ„์ธต)
- `app`
- `processes`
- `pages`
- `features`
- `entities`
- `shared`

### Segments (์„ธ๊ทธ๋จผํŠธ)
- `ui`
- `model`
- `lib`
- `api`
- `config`

์ด๋Ÿฌํ•œ ํ‘œ์ค€ ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด:
- ํŒ€ ๋‚ด ์˜์‚ฌ์†Œํ†ต์ด ๋ช…ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค
- ์ƒˆ๋กœ์šด ํŒ€์›์˜ ์ ์‘์ด ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค
- ์ปค๋ฎค๋‹ˆํ‹ฐ์™€์˜ ์ง€์‹ ๊ณต์œ ๊ฐ€ ์šฉ์ดํ•ด์ง‘๋‹ˆ๋‹ค

## ๋„ค์ด๋ฐ ์ถฉ๋Œ ํ•ด๊ฒฐ {#when-can-naming-interfere}

FSD ์šฉ์–ด๊ฐ€ ํ”„๋กœ์ ํŠธ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์šฉ์–ด์™€ ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ:

- `FSD#process` vs ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ”„๋กœ์„ธ์Šค,
- `FSD#page` vs ๋กœ๊ทธ ํŽ˜์ด์ง€,
- `FSD#model` vs ์ž๋™์ฐจ ๋ชจ๋ธ.

### ์šฉ์–ด ์‚ฌ์šฉ ๊ฐ€์ด๋“œ

1. ๊ธฐ์ˆ ์  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜
- FSD ์šฉ์–ด ์‚ฌ์šฉ ์‹œ "FSD" ์ ‘๋‘์–ด ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค
- ์˜ˆ: "์ด ๊ธฐ๋Šฅ์„ FSD features ๊ณ„์ธต์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค"

2. ๋น„๊ธฐ์ˆ ์  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜
- FSD ๊ด€๋ จ ์šฉ์–ด ์‚ฌ์šฉ์„ ํ”ผํ•˜๊ณ  ์ผ๋ฐ˜์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ์šฉ์–ด ์‚ฌ์šฉ
- ์˜ˆ: ์ฝ”๋“œ ๊ตฌ์กฐ ๋Œ€์‹  ๊ธฐ๋Šฅ์ด๋‚˜ ๋ชฉ์  ์ค‘์‹ฌ์œผ๋กœ ์„ค๋ช…

## ์ฐธ๊ณ  {#see-also}

- [(ํ† ๋ก ) Naming์˜ ์ ์‘์„ฑ][disc-src]
- [(ํ† ๋ก ) Entities Naming ์„ค๋ฌธ์กฐ์‚ฌ][disc-naming]
- [(ํ† ๋ก ) "processes" vs "flows" vs ...][disc-processes]
- [(ํ† ๋ก ) "model" vs "store" vs ...][disc-model]

[disc-model]: https://github.com/feature-sliced/documentation/discussions/68
[disc-naming]: https://github.com/feature-sliced/documentation/discussions/31#discussioncomment-464894
[disc-processes]: https://github.com/feature-sliced/documentation/discussions/20
[disc-src]: https://github.com/feature-sliced/documentation/discussions/16

0 comments on commit 78115d2

Please sign in to comment.