๋ง๊ฐ ๋ฐฉ์ง๋ฅผ ์ํ ์ธ ๋ฒ์งธ ๋๊ตฌ
์ฐํ๊ณผ ๊ณต์ฑ ๊ทธ๋ค์, ๊ธฐ์ต์ ์์ฑํ๋ ์ฐ๋ฆฌ์ ๋๊ตฌ
- ํ๋ก์ ํธ๋ช : The Third Tool
- ๋ถ์ : ๋ง๊ฐ ๋ฐฉ์ง๋ฅผ ์ํ 3๋ฒ์งธ ๋๊ตฌ (์ฐํ, ๊ณต์ฑ ๊ทธ๋ฆฌ๊ณ The Third Tool)
- ์งํ ๊ธฐ๊ฐ: ์์ฑ ์ค
- ํ์:
- Frontend: ๊น์ด์ฐ, ํฉ์์ค
- Backend: ๊น์ค์ฑ, ์ด์ฑํ
์ฐ๋ฆฌ๋ ๋ฐฉ๋ํ ๋ฐ์ดํฐ ์์์๋ ์์ง ์๋๋ก ๋๋ **๋ง๊ฐ ๋ฐฉ์ง ๋ฐฑ์ (tool)**์ ๊ฐ๋ฐํฉ๋๋ค.
- ํ๋ ์ฌํ์์ ๋ฐ์ดํฐ์ ์์ ๊ธฐํ๊ธ์์ ์ผ๋ก ์ฆ๊ฐํ๊ณ ์์ผ๋ฉฐ, ๋จ์ํ ๊ณต์ฑ ์ ๋ฆฌ๋ ๊ธฐ์กด ๋ฉ๋ชจ ์๋น์ค๋ง์ผ๋ก๋ ์ด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์ตํ๊ณ ์ค๋ ๊ธฐ์ตํ๊ธฐ ์ด๋ ต๋ค๊ณ ํ๋จํ์ต๋๋ค.
- ์ฐ๋ฆฌ๋ ๊ธฐ์ตํ ๊ฒ์ด ๋์ด๋๋ ํ๊ฒฝ์์ ์ด๊ณ ์์ผ๋ฉฐ, ๊ฐ์ธ์ด ์ ๋ณด๋ฅผ ํจ์จ์ ์ผ๋ก ์ดํดํ๊ณ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ์๋ค์ผ ์ ์๋ ๊ฐ๋ ฅํ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค.
- AI ์๋์ ํ๋ซํผ ๊ฒฝ์ ์์์ ๋ฐ์ดํฐ ํ์ฉ ๋ฐฉ์์ด ๊ธ๋ณํ๊ณ ์์ง๋ง, ์ด์ ๋์ํ๋ ๊ธฐ์ต ๋ณด์กฐ ์์คํ ์ ์์ง ๋ถ์กฑํ ์ค์ ์ ๋๋ค.
- ์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ์์ฒ๋ผ ๊ธฐ์ต๋ ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌ๋๋ค๋ฉด ํ์ต์ ํจ์จ์ด ๋์์ง ๊ฒ์ด๋ผ๋ ์ธ์์์ ์์๋์์ต๋๋ค.
๊ธฐ์กด์๋ ์ฐํ๊ณผ ๊ณต์ฑ ์ด ํ์ต์ ๊ธฐ๋ณธ ๋๊ตฌ์๋ค๋ฉด, ๊ทธ ๋ค์ ๋จ๊ณ์์ **ํจ์จ์ ์ธ ์๊ธฐ๋ฅผ ์ง์ํ๋ ๋๊ตฌ(third tool)**๋ก ์๋ฆฌ ์ก๋ ๊ฒ์ด ํต์ฌ์ ๋๋ค.
- ์ ํ๋ธ์์ ๋ฐ๋ณต ์ถ์ฒ๋๋ ์์์ฒ๋ผ ์ ๋ณด๊ฐ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ ธ์ถ๋๋ฉด, ์ต์ง๋ก ์ธ์ฐ์ง ์์๋ ์์ฐ์ค๋ฝ๊ฒ ์ฒดํ๋๋ ๊ฒฝํ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์๊ธฐ๋ฅผ ๊ฐ์ํ์ง ์๋ ํ๊ฒฝ, ๊ทธ๋ฌ๋ ๋ฐ๋ณต์ ์ธ ์ถ์ฒ์ ํตํด ๊ธฐ์ต์ ์ ๋ํ๋ ํ๊ฒฝ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ๋ง๊ฐ์ ์ค์ด๊ณ , ์๊ธฐ๋ฅผ ๊ทน๋ํํ๋ ์์๋ฅผ ๋ถ์ํ์ฌ ์ค๊ณํฉ๋๋ค.
- ๋ค์ํ ํ์ต ๋ฐฉ์์ ๋ง์ถฐ ์ง์์ ์ผ๋ก ํ๋ ๋ฐ ๊ฐ์ ๋๋ ์์คํ ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ ์ฑ ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ๋ถ๋ถ์ ๊ฐ๋ ค ์๊ธฐ ์นด๋๋ก ์ ํํ ์ ์์ต๋๋ค.
- ๊ฐ๋ฆฐ ์์ญ์ ํด๋ฆญํ์ฌ ์ ๋ต ํ์ธ ๊ฐ๋ฅํ๋ฉฐ, ์ฌ์ฉ์์ ๋ฐ์์ ๋ฐํ์ผ๋ก ๋ณต์ต ์ฃผ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค.
- ์ฌ์ด ๋ด์ฉ์ ์๋ ์ญ์ , ์ด๋ ค์ด ๋ด์ฉ์ ๋ฐ๋ณต ๋ ธ์ถ๋๋ ์ค๋งํธ ํ์ต ์์คํ ๋์ .
- OS ์บ์ ์๊ณ ๋ฆฌ์ฆ + ๋ง๊ฐ ๊ณก์ ๊ธฐ๋ฐ ๋ณต์ต ์ฃผ๊ธฐ ์ต์ ํ ์์ .
- ์ฌ์ฉ์๊ฐ ์ ์ฒด ํ์ต ํ๋ฆ์ ์๊ธฐ ์ ๊ฒํ๋ฉฐ ๋ถ์กฑํ ๋ถ๋ถ์ ์ค์ค๋ก ์ธ์งํ ์ ์๋๋ก ๋์ต๋๋ค.
- ํฌํ ์นด๋, ๋ฑ ์์คํ ๊ณผ ์ฐ๊ณ๋์ด ๋จํธ์ ๊ธฐ์ต โ ๋งฅ๋ฝ์ ์ดํด๋ก ์ด์ด์ง๋๋ค.
- ์ด์ผ๊ธฐ์ ์ค๊ฑฐ๋ฆฌ๋ฅผ ํ์ ํ๋ฏ ์ง์ ๊ตฌ์กฐ๋ฅผ ์ฐ๊ฒฐํ๋ ํ๋ฆ์ ๊ฐ์กฐํฉ๋๋ค.
- ์ฌ์ฉ์๋ ์์ ๋ง์ **ํ์ต ๋ฑ(๋จ์)**์ ๊ตฌ์ฑํ๊ณ , ์ด๋ฅผ ๋ถ์ผ๋ณ๋ก ์ ์ฅํ๊ฑฐ๋ ๊ณต์ ํ ์ ์์ต๋๋ค.
- ๋ฉํ ๊ธฐ๋ฅ ๋ฐ ํผ๋๋ฐฑ ๊ธฐ๋ฅ์ ํตํด ๊ณต๋ ํ์ต์ด ๊ฐ๋ฅํด์ง๋๋ค.
- ์ฅ๊ธฐ์ ์ผ๋ก๋ ํ์ต ์ปค๋ฆฌํ๋ผ ์์คํ ๊น์ง ํ์ฅํ ์ ์๋ ๊ตฌ์กฐ์ ๋๋ค.
-
ํ์ต ํจ์จ์ฑ ๊ทน๋ํ:
- ์๊ฐ ๊ธฐ๋ฐ ํ์ต(ํฌํ ์นด๋)์ ํตํ ์ง์ค ํ์ต
- ๋ฐ๋ณต ๋ ธ์ถ ์๊ณ ๋ฆฌ์ฆ์ ํตํ ๊ธฐ์ต ๊ฐํ
- ์ฌ์ฉ์์ ํ์ต ์์ค์ ๋ฐ๋ผ ๋ง์ถคํ ๋ฐ๋ณต ์ ๊ณต
-
์๊ธฐ ์ฃผ๋ ํ์ต ๊ฐํ:
- ํ๋ ์์คํ ์ ํตํด ์์ ์ ์ดํด๋๋ฅผ ์ ๊ฒํ๊ณ ๊ฐ์
- ๋ฐ๋ณต์ ๋ณต์ต๋ณด๋ค๋ ํ์ํ ๋ถ๋ถ์ ์ง์คํ ํ์ต ์ ๋
-
์ปค๋ฎค๋ํฐ ๊ธฐ๋ฐ ํ์ฅ:
- ๋ฑ ๊ณต์ ๋ฐ ๋ฉํ ๋ง ๊ธฐ๋ฅ์ ํตํด ์ฌ์ฉ์ ๊ฐ ํ์ ๊ฐ๋ฅ
- ๋ฐ์ดํฐ๊ฐ ์์ผ์๋ก ๊ฐ์ธํ๋ ํ์ต ๋ก๋๋งต ์ ๊ณต ๊ฐ๋ฅ
- ํ์, ์ง์ฅ์ธ, ์ํ ์ค๋น์ ๋ฑ ๋ชจ๋ ํ์ต์์๊ฒ ๋ง์ถคํ ํ์ต ์ ๊ณต
- ์ฌ์ง + ํ ์คํธ + ๋ฉ๋ชจ๋ฅผ ํตํด ๋ค์ํ ์ ๋ ฅ ๋ฐฉ์ ์ ๊ณต
- ํ์ต ๋ฐฉ์๊ณผ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ ์ ๋ฐ์ดํธํ๋ฉฐ ๊ธฐ์ต ๋ณด์กฐ ์ํ๊ณ๋ก ํ์ฅ
- React.js
- Spring Boot
- Spring Security
- JPA
- MySQL
- AWS S3 (์ด๋ฏธ์ง ์ ์ฅ)
- Docker (๊ฐ๋ฐ ํ๊ฒฝ ๋ถ๋ฆฌ)
- Anki
- Notion
- Speak
์ง๊ธ์ ๋์ ๊ธฐ์ ๋ถ๊ณผํ์ง๋ง, ์ฐ๋ฆฌ๊ฐ ๊ธฐ๋กํ๋ ๋ชจ๋ ์ ๋ณด๊ฐ ๊ธฐ์ต์ผ๋ก ์ฒดํ๋๋ ๊ทธ๋ ๊น์ง The Third Tool์ ๊ณ์ ๋ฐ์ ํฉ๋๋ค.
๋ฒ์ | ์
๋ฐ์ดํธ ๋ด์ฉ |
์ ๋ฐ์ดํธ ๋ ์ง |
---|---|---|
v1.0.0 |
์ฒซ ๋ฒ์งธ ๋ฒ์ ์คํ - ํ๋ก์ ํธ ๊ตฌ์กฐ ์ ๋ฆฌ - ํฌํ ์นด๋ ์์คํ ๊ธฐํ ๋ฐ ๊ฐ๋ฐ ์์ - ์์ฒด ํ๋ ์์คํ ์ค๊ณ - ๋ฑ ์์คํ ์ค๊ณ |
24.05.18 |
๊น ๊ด๋ จ ๊ฐ๋จํ ๊ฐ์ด๋
์ฐ๋ฆฌ๋ ๊ฐ ๊ธฐ๋ฅ ๋จ์(Feature)๋ก ๋ธ๋์น๋ฅผ ์์ฑํ๊ณ , ์์
ํ main
๋ธ๋์น์ Pull Request(PR) ๋ฐฉ์์ผ๋ก ๋ณํฉํฉ๋๋ค.
์๋๋ ๊ฐ๋ฐ ์ค ๋ฐ๋ผ์ผ ํ Git ๊ท์น์
๋๋ค.
main
: ๋ฐฐํฌ์ฉ ๋ธ๋์น (์ ๋ ์ง์ ํธ์ ๊ธ์ง)feature/๊ธฐ๋ฅ์ด๋ฆ
: ๊ธฐ๋ฅ ๋จ์ ์์ ๋ธ๋์น
์:feature/login
,feature/user-profile
,feature/#12-refactor-tag
โ ํ๋์ ๊ธฐ๋ฅ์ด ๋๋๋ฉด ํด๋น ๋ธ๋์น๋ ๋ณํฉ ํ ์ญ์
git checkout -b feature/๊ธฐ๋ฅ์ด๋ฆ
์:
git checkout -b feature/login-api
ํ์:
[feature-๊ธฐ๋ฅ์ด๋ฆ] ์์
๋ด์ฉ
์:
[feature-login] ๋ก๊ทธ์ธ API ๊ตฌํ
[feature-tag] ํด์ํ๊ทธ ์๋น์ค ๋ก์ง ๋ถ๋ฆฌ
git add .
git commit -m "[feature-๊ธฐ๋ฅ์ด๋ฆ] ์์
๋ด์ฉ"
git push origin feature/๊ธฐ๋ฅ์ด๋ฆ
- GitHub์์
main โ feature/๊ธฐ๋ฅ์ด๋ฆ
๊ธฐ์ค PR ์์ฑ - ์ ๋ชฉ:
[feature-๊ธฐ๋ฅ์ด๋ฆ] ์์ ๋ด์ฉ
- ๋ฆฌ๋ทฐ์ด์๊ฒ ์ฝ๋ ๋ฆฌ๋ทฐ ์์ฒญ- ๋ฐ๋์ ๋ฆฌ๋ทฐ๊ฐ ํ์ธ์ด ๋์์ ๋๋ง main ๋ธ๋์น์ ๋จ๊ธธ ๊ฒ
- ์น์ธ๋๋ฉด
main
๋ธ๋์น์ ๋ณํฉ
git pull origin main --rebase
# ์ถฉ๋ ํ์ผ ์์
git add .
git rebase --continue
git push -f origin feature/๊ธฐ๋ฅ์ด๋ฆ
- ๊ณตํต ์ค์ ํ์ผ(
QuerydslConfig
,SecurityConfig
)์global/config
ํด๋์ ์์น - ๋ชจ๋ ๊ธฐ๋ฅ์ ์์ ์ feature ๋ธ๋์น์์ ๊ตฌํ ํ ๋ณํฉ
- ํ ์คํธ ๋ฐ ์ค์ ๋ฆฌํฉํ ๋ง์ ๊ฐ๋ฅํ๋ฉด ๋ ๋ฆฝ๋ ๋ธ๋์น๋ก ์์
์ด์๋ฅผ ๋ฑ๋กํ ๋๋ ์๋ ํ์์ ๋ฐ๋ผ์ฃผ์ธ์:
- ๐ Jira ์ด์๋ฅผ ๋ฑ๋กํ๋์?
์: TNT-000
- ์ด์ ์์ฝ์ ๊ฐ๊ฒฐํ๊ฒ ์ ์ด์ฃผ์ธ์
์: ๋ก๊ทธ์ธ API ์์ธ์ฒ๋ฆฌ ์ถ๊ฐ, ๋ง์ดํ์ด์ง UI ์์ ๋ฑ
- ์ฐธ๊ณ ํ ๋ด์ฉ์ด๋, ์ฐ๊ด ์ด์/๊ธฐ๋ฅ, ๋
ผ์ํ ์ฌํญ์ด ์๋ค๋ฉด ์์ ๋กญ๊ฒ ์์ฑํด์ฃผ์ธ์
์: "ํด๋น ๊ธฐ๋ฅ์ #14 ์ด์์ ์ฐ๋๋์ด์ผ ํฉ๋๋ค."
๐ก Project ์๋ํ ์ฐ๋์ ์ํด, ์ด์ ์๋ฃ ํ ๋ฐ๋์
Closed
์ฒ๋ฆฌํด์ฃผ์ธ์.
PR์ ์ฌ๋ฆด ๋๋ ์๋ ์์์ ๋ฐ๋ผ์ฃผ์ธ์:
- ๊ด๋ จ๋ Jira ๋๋ GitHub ์ด์๋ฅผ ๋งํฌํด์ฃผ์ธ์
์:[TNT-001](https://jira.example.com/browse/TNT-001)
- ํด๋น PR์์ ๊ตฌํํ๊ฑฐ๋ ์์ ํ ๋ด์ฉ์ ๊ฐ๊ฒฐํ๊ฒ ์ ๋ฆฌํด์ฃผ์ธ์
์: "ํ๋กํ ์์ API ๊ตฌํ", "์ด๋ฉ์ผ ์ธ์ฆ ๊ธฐ๋ฅ ์ถ๊ฐ"
- ์ฝ๋๊ฐ ์ ์์ ์ผ๋ก ์ปดํ์ผ๋๋์?
- ํ ์คํธ ์ฝ๋๋ฅผ ํต๊ณผํ๋์?
- mergeํ ๋ธ๋์น๋ฅผ ์ ํํ ์ ํํ๋์? (ex:
main
,dev
) - Label์ ์ง์ ํ๋์?
- ์์ ํ๋ฉด์ ์๋ก ํ์ตํ ๊ฐ๋ ์ด๋ ๋ฌธ์ ํด๊ฒฐ ๊ฒฝํ์ด ์๋ค๋ฉด ์ ์ด์ฃผ์ธ์ (์ ํ ์ฌํญ)
- ๋ฆฌ๋ทฐ์ด๊ฐ ์ฃผ์ ๊น๊ฒ ๋ด์ผ ํ ๋ถ๋ถ, ๋ฐฐํฌ ์ ์ ์ ์ฌํญ ๋ฑ์ ์์ฑํด์ฃผ์ธ์
์: ์ธ๋ถ API ์ฐ๋, ์์ธ ์ฒ๋ฆฌ ์ฃผ์ ๋ฑ
- Issue๊ฐ Close ์ํ๊ฐ ๋๋ฉด, GitHub Project์์๋
"Done"
์นผ๋ผ์ผ๋ก ์๋ ์ด๋๋ฉ๋๋ค. - ์๋์ผ๋ก ์ข
๋ฃํ ๊ฒฝ์ฐ์๋ ๋ฐ๋์
Closed
์ฒ๋ฆฌํด์ฃผ์ธ์.