Skip to content

Commit

Permalink
Merge pull request #73 from le2sky/docs/69
Browse files Browse the repository at this point in the history
[๋ฌธ์„œ] ํ˜‘์—… ๊ฐ€์ด๋“œ ๋ฌธ์„œ ์ž‘์„ฑ(issue#67)
  • Loading branch information
le2sky authored Sep 19, 2023
2 parents 3218bcd + c0b2a3e commit 8ceeb3f
Showing 1 changed file with 112 additions and 3 deletions.
115 changes: 112 additions & 3 deletions docs/tech.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,22 @@
## ๋ชฉ์ฐจ

- [๋ชฉ์ฐจ](#๋ชฉ์ฐจ)
- [์˜์กด์„ฑ ์ œํ•œ](#์˜์กด์„ฑ-์ œํ•œ)
- [์ฝ”๋“œ ํ’ˆ์งˆ ์ œํ•œ](#์ฝ”๋“œ-ํ’ˆ์งˆ-์ œํ•œ)
- [์˜์กด์„ฑ ์ œํ•œ](#์˜์กด์„ฑ-์ œํ•œ)
- [์ฝ”๋“œ ํ’ˆ์งˆ ์ œํ•œ](#์ฝ”๋“œ-ํ’ˆ์งˆ-์ œํ•œ)
- [์ผ๊ด€์„ฑ ์žˆ๋Š” ์ฝ”๋“œ](#์ผ๊ด€์„ฑ-์žˆ๋Š”-์ฝ”๋“œ)
- [๋ฆฐํŠธ ๋„๊ตฌ](#๋ฆฐํŠธ-๋„๊ตฌ)
- [ํ˜‘์—… ๋ฐฉ๋ฒ•](#ํ˜‘์—…-๋ฐฉ๋ฒ•)
- [์ด์Šˆ ๋“ฑ๋ก](#์ด์Šˆ-๋“ฑ๋ก)
- [์ด์Šˆ ๋ผ๋ฒจ](#์ด์Šˆ-๋ผ๋ฒจ)
- [์ด์Šˆ ๋„ค์ด๋ฐ](#์ด์Šˆ-๋„ค์ด๋ฐ)
- [์‹ ๊ทœ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ](#์‹ ๊ทœ-๋ธŒ๋žœ์น˜-์ƒ์„ฑ)
- [๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ](#๋ธŒ๋žœ์น˜-๋„ค์ด๋ฐ)
- [๊ฐœ๋ฐœ ์ค‘ ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜](#๊ฐœ๋ฐœ-์ค‘-์ปค๋ฐ‹-์ปจ๋ฒค์…˜)
- [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ](#ํ’€-๋ฆฌํ€˜์ŠคํŠธ)
- [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋„ค์ด๋ฐ](#ํ’€-๋ฆฌํ€˜์ŠคํŠธ-๋„ค์ด๋ฐ)
- [ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋ผ๋ฒจ๋ง](#ํ’€-๋ฆฌํ€˜์ŠคํŠธ-๋ผ๋ฒจ๋ง)
- [ํ…Œ์ŠคํŠธ ์ „์šฉ](#ํ…Œ์ŠคํŠธ-์ „์šฉ)
- [๋ฉ”์ธ ๋ธŒ๋žœ์น˜ ๋ฐ˜์˜ ์ดํ›„](#๋ฉ”์ธ-๋ธŒ๋žœ์น˜-๋ฐ˜์˜-์ดํ›„)

## ์˜์กด์„ฑ ์ œํ•œ

Expand All @@ -17,11 +31,106 @@

## ์ฝ”๋“œ ํ’ˆ์งˆ ์ œํ•œ

### ์ผ๊ด€์„ฑ ์žˆ๋Š” ์ฝ”๋“œ

- ์ฝ”๋“œ ๋ฒ ์ด์Šค ๋ฐ˜์˜ ์ „์— import ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
- ์ฝ”๋“œ ๋ฒ ์ด์Šค ๋ฐ˜์˜ ์ „์— ๋ถˆํ•„์š”ํ•œ ๊ณต๋ฐฑ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
- ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•  ๊ฒฝ์šฐ, ์ฝ”๋“œ ๋ฒ ์ด์Šค์— ์ ˆ๋Œ€ ๋ฐ˜์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
- ํ”„๋กœ์ ํŠธ ๋ผ์ธ ์ปค๋ฒ„๋ฆฌ์ง€ ์ œํ•œ์€ 70% ์ด์ง€๋งŒ, 90% ์ด์ƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
- ์ค‘์š”ํ•˜์ง€ ์•Š์€ hotfix๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์œ ํ˜•์˜ ์ฝ”๋“œ ๋ฐ˜์˜์€ PR์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
- develop ์ฝ”๋“œ ๋ฒ ์ด์Šค์— ๋ฐ˜์˜ํ•  ๊ฒฝ์šฐ gpt ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.
- ๋ชจ๋“  develop ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ๋˜๋Š” PR์€ ํ˜‘์—…์ž๊ฐ„์— ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
- ๋งŒ์•ฝ, ์‹œ๊ฐ„์ ์ธ ์ œ์•ฝ์œผ๋กœ ์ธํ•ด์„œ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” PR์— `run: gpt code review` ๋ผ๋ฒจ์„ ๋ถ™์ด๊ณ  ChatGPT์—๊ฒŒ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

### ๋ฆฐํŠธ ๋„๊ตฌ

- ๋ฆฐํŠธ์™€ ์ธํ…”๋ฆฌ์ œ์ด ์ฝ”๋“œ ์ž๋™ ์ •๋ ฌ ์„ค์ •์„ ํ˜‘์—…์ž๊ฐ„์— ๋™์ผํ•˜๊ฒŒ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
- git commit ์ด์ „์— ๋ฆฐํŠธ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
- commit ์ด์ „์— ์ž๋™์œผ๋กœ ์Šคํƒ€์ผ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ Hook์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.
- `./gradlew addKtlintCheckGitPreCommitHook`
- ๋ฆฐํŠธ๋กœ ์ธํ•ด ๋นŒ๋“œ๊ฐ€ ์•ˆ๋  ๊ฒฝ์šฐ์— ๋นŒ๋“œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋“ค์–ด๊ฐ€ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
- ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ๋‹ค์Œ, `./gradlew ktlintCheck` ๋ฅผ ์ˆ˜ํ–‰ํ•ด ๋ฆฐํŠธ ๊ฒ€์‚ฌ ๊ฒฐ๊ณผ๋ฅผ ์ตœ์‹ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
- ๋งŒ์•ฝ, ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด, `./gradlew ktlintFormat` ์„ ์ˆ˜ํ–‰ํ•ด ์ฝ”๋“œ๋ฅผ ์ž๋™ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

## ํ˜‘์—… ๋ฐฉ๋ฒ•

### ์ด์Šˆ ๋“ฑ๋ก

์ƒˆ๋กœ์šด ์ž‘์—…์„ ํ•˜๊ธฐ ์ด์ „์— ๊นƒํ—™ ์ด์Šˆ๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

#### ์ด์Šˆ ๋ผ๋ฒจ

์ด์Šˆ์— ๋“ฑ๋ก ๊ฐ€๋Šฅํ•œ ๋ผ๋ฒจ์˜ ์œ ํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. problem์€ problem ์ด์Šˆ ํ…œํ”Œ๋ฆฟ์„, ๋‚˜๋จธ์ง€๋Š” task ์ด์Šˆ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

- `new` : ์‹ ๊ทœ ๊ฐœ๋ฐœ
- `enhancement` : ๋ฆฌํŒฉํ„ฐ๋ง๊ณผ ์ตœ์ ํ™”๋ฅผ ๋น„๋กฏํ•œ ๊ฐœ์„  ์ž‘์—…
- `chore` : ์„ค์ •์„ ๋น„๋กฏํ•œ ๋ถ€์ˆ˜์ ์ธ ์ž‘์—…
- `problem` : ๋ฌธ์ œ ๋ฐœ์ƒ
- `documentation` : ๋ฌธ์„œํ™”

#### ์ด์Šˆ ๋„ค์ด๋ฐ

- ์ด์Šˆ์˜ ์ด๋ฆ„ ํ˜•์‹์€ `[type] title` ์ž…๋‹ˆ๋‹ค.

- ์ด์Šˆ์˜ ์ด๋ฆ„ ํ˜•์‹ ํƒ€์ž…์€ PR์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ œ๋ชฉ์˜ ํƒ€์ž…๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, PR ์ œ๋ชฉ ํƒ€์ž…์—๋Š” `๋ฐฐํฌ`๊ฐ€ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
- `๊ธฐ๋Šฅ ๊ตฌํ˜„` : new
- `๊ฐœ์„ ` : enhancement
- `์„ค์ •` : chore
- `๋ฌธ์„œ` : documenation
- `๋ฌธ์ œ` : problem

### ์‹ ๊ทœ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ

ํ˜„์žฌ ๊ฐœ์ธ ํ™˜๊ฒฝ์— ์žˆ๋Š” ๋ธŒ๋žœ์น˜๊ฐ€ ์ €์žฅ์†Œ์— ์žˆ๋Š” ์ตœ์‹  ์ฝ”๋“œ์ธ์ง€ ํ™•์ธํ•˜๊ณ , **develop ๋ธŒ๋žœ์น˜**์—์„œ ์‹ ๊ทœ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

#### ๋ธŒ๋žœ์น˜ ๋„ค์ด๋ฐ

- ๋ธŒ๋žœ์น˜์˜ ์ด๋ฆ„ ํ˜•์‹์€ `type/์ด์Šˆ ๋ฒˆํ˜ธ` ์ž…๋‹ˆ๋‹ค.

- ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์˜ ํƒ€์ž…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. (์•ต๊ทค๋Ÿฌ JS ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜์˜ ํƒ€์ž…์„ ๋”ฐ๋ฆ„)
- `feat` : new
- `refactor` : enhancement
- `chore` : chore
- `fix` : problem
- `docs` : documentation
- ๊ธฐํƒ€ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ

### ๊ฐœ๋ฐœ ์ค‘ ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜

๊ฐœ๋ฐœ ์‹œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” [์•ต๊ทค๋Ÿฌ JS ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜](https://gist.github.com/stephenparish/9941e89d80e2bc58a153)์„ ๋”ฐ๋ฅด๋˜, `type` + `subject`๊นŒ์ง€๋งŒ
์ž‘์„ฑํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

### ํ’€ ๋ฆฌํ€˜์ŠคํŠธ

#### ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋„ค์ด๋ฐ

- ๊ฐœ๋ฐœ์ด ๋๋‚˜๋ฉด develop ๋ธŒ๋žœ์น˜๋กœ PR์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
- ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ์ด๋ฆ„ ํ˜•์‹์€ ์ด์Šˆ ํ˜•์‹๊ณผ ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
- ์ฐจ์ด์ ์€ PR ๋’ค์— () ๋‚ด๋ถ€์— ์—ฐ๊ด€ ์ด์Šˆ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
- ์˜ˆ์‹œ : `[๋ฌธ์„œ] ๊ฐ€์ด๋“œ ๋ฌธ์„œ ์ž‘์„ฑ(issue#58)`
- ๊ด€๋ จ ์ด์Šˆ๊ฐ€ ํ•œ ๊ฐœ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๊ตฌ๋ถ„์ž๋ฅผ ์ฝค๋งˆ(,)๋ฅผ ์ด์šฉํ•ด ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.
- **(์ค‘์š”)** main ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” `[๋ฐฐํฌ]`๋ฅผ ์ ‘๋‘์–ด๋กœ ์‚ฌ์šฉํ•˜๊ณ , `deployment` ํ˜น์€ `no-deployment` ๋ผ๋ฒจ์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.
- **(์ค‘์š”)** main ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” () ๋‚ด๋ถ€์— ์—ฐ๊ด€ PR์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
- ์˜ˆ์‹œ :
- `[๋ฐฐํฌ] ๋ฉ”์ธ ๋ธŒ๋žœ์น˜ ๋ฐ˜์˜(PR#23,PR#28)` : ๋ฒ„์ „์ด ์ฆ๊ฐ€ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
- `[๋ฐฐํฌ] v0.0.1(PR#12,PR#98)` : ๋ฒ„์ „์ด ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ

#### ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋ผ๋ฒจ๋ง

- ํ˜„์žฌ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ๋ผ๋ฒจ์„ ์ด์šฉํ•ด์„œ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” github actions ์ž‘์—…์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
- `run: ci` : ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ถ„์„, ๋ฆฐํŠธ, ์ •์  ์ฝ”๋“œ ๋ถ„์„ ์‹คํ–‰
- `run: gradle test` : ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ๋ถ„์„ ์‹คํ–‰
- `run: gpt code review` : ChatGPT ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์‹คํ–‰
- `no-deployment` : ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ €์žฅ์†Œ(docker hub)์— ์‹ ๊ทœ ์ด๋ฏธ์ง€ ๋ฆด๋ฆฌ์ฆˆํ•˜์ง€ ์•Š์Œ

#### ํ…Œ์ŠคํŠธ ์ „์šฉ

- `[ํ…Œ์ŠคํŠธ]` ์ ‘๋‘์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , `ignore` ๋ผ๋ฒจ์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.
- ํ…Œ์ŠคํŠธ ์ „์šฉ PR์€ ์ฝ”๋“œ ๋ฒ ์ด์Šค์— ๋ฐ˜์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

### ๋ฉ”์ธ ๋ธŒ๋žœ์น˜ ๋ฐ˜์˜ ์ดํ›„

- ๊ฐœ์ธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ๋จธ์ง€ ์ปค๋ฐ‹์„ ํฌํ•จํ•œ ์ตœ์‹  main ๋ธŒ๋žœ์น˜์˜ ์ฝ”๋“œ๋ฅผ ๋‚ด๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค.
- ํƒœ๊ทธ๋ฅผ ๋งŒ๋“ค๊ณ , ํƒœ๊ทธ๋ฅผ ์ €์žฅ์†Œ์— push ํ•ฉ๋‹ˆ๋‹ค.
- ํ•ด๋‹น ํƒœ๊ทธ๋กœ ์ƒˆ๋กœ์šด ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

[โฌ† ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๊ธฐ](#๋ชฉ์ฐจ)

0 comments on commit 8ceeb3f

Please sign in to comment.