๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
์์ (inheritance) ์ผ๋ฐํ๋ ํด๋์ค๋ฅผ ์ฌ์ฌ์ฉํ์ฌ ์๋ก์ด specific ํ ํด๋์ค๋ฅผ ์์ฑํ๋ ๊ฒ ์์์ ํ๋ ํด๋์ค(User)๋ฅผ '๋ถ๋ชจ(Parent) ํด๋์ค, ์์(Super) ํด๋์ค, ๊ธฐ๋ฐ(Base) ํด๋์ค'๋ผ๊ณ ํํํ๊ณ , ์์์ ๋ฐ๋ ํด๋์ค(PaidUser)๋ฅผ '์์(Child) ํด๋์ค, ํ์(Sub) ํด๋์ค, ํ์(Derived) ํด๋์ค'๋ผ๊ณ ํํํ๊ธฐ๋ ํ๋ค. - ์์ ํด๋์ค๋ ๋ถ๋ชจ ํด๋์ค์ ๋ชจ๋ ๋ฉค๋ฒ๋ณ์์ ๋ฉ์๋๋ฅผ ์์๋ฐ๋๋ค (But, Java๋ ๋จ์ผ์์๋ง ํ์ฉํ๊ธฐ ๋๋ฌธ์ ํ๋์ ํด๋์ค๋ก๋ถํฐ๋ง ์์์ ๋ฐ์ ์ ์๋ค) - ์์์ ์ฌ์ฉํ๋ฉด ํด๋์ค ๊ฐ์ ๊ณ์ธต์ ๋ถ๋ฅ(hierarchical classifications)๊ฐ ๊ฐ๋ฅํด์ง๋ค โท Java์์๋ extends๋ฅผ ์ฌ์ฉํ์ฌ ๋ถ๋ชจ ํด๋์ค์ ๋ฉค๋ฒ..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
ํด๋์ค ๋ญ ๊ธฐ๋ณธ๋จ์, ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ํ ์ค๊ณ๋(ํ) - ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ, ํ
ํ๋ฆฟ, ์ค๊ณ๋ - ๊ฐ์ฒด ์์ฑ์ ์ํ ์ ๋ณด๋ค์ (์ด๋ค ์์ฑ๊ณผ ํ์๋ค์ ํฌํจํ ๊ฒ์ธ์ง์ ์ ๋ณด๋ฅผ ํฌํจ) โซ ์ถ์ํ(Abstraction) - ๋ฐ๋์ ํ์ํ ๊ฒ๋ค์ ์ ํํ๊ณ , ๋ถํ์ํ ๊ฒ๋ค์ ๋ฒ๋ฆฌ๋ ๊ณผ์ - ์ถ์ํ์ ๊ณผ์ ์์ฒด๊ฐ ํ๋์ ํด๋์ค๋ฅผ ์ค๊ณํ๋ ๊ณผ์ ์ด๋ค. → ์ฆ, ํน์ ๊ฐ์ฒด์ ๋ฐ๋์ ํ์ํ ์์ฑ๊ณผ ํ์๋ฅผ ์ ์ํ๋ ๊ณผ์ ์ ํด๋์ค ์ ์ธ * ๋ณ์๋ ๋ฉค๋ฒ ๋ณ์, ์ธ์คํด์ค ๋ณ์๋ผ๊ณ ๋ถ๋ฅด๊ณ , ๋ฉ์๋๋ ๋ฉ์๋, ์ธ์คํด์ค ๋ฉ์๋๋ผ๊ณ ๋ถ๋ฅธ๋ค. - class ํค์๋๋ฅผ ์ฌ์ฉํ๊ณ , ๋ด๋ถ์๋ ๋ณ์๋ค๊ณผ ๋ฉ์๋๋ค์ด ์กด์ฌํ๋ค. (=ํด๋์ค์ ๋ฉค๋ฒ ๋ผ๊ณ ๋ ํจ) - ํด๋์ค ์ด๋ฆ์ ๋๋ฌธ์๋ก ์์ํ๋ฉฐ ์์ฑ๋๋ ๊ฐ์ฒด๋ฅผ ๊ฐ์ฅ ์ ํํํ๋ ๋ช
์ฌ ํํ์ ์๋ฏธ์๋..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
GitFlow๋ฅผ ์ค๋ช
ํ๊ธฐ์ ์์ ๋ธ๋์น ํ์ฉ ์ ๋ต ์ข
๋ฅ์ ๋ํด ๊ฐ๋ตํ ์์๋ณด์. โถ Git์ ๋ธ๋์น ํ์ฉ ์ ๋ต ๋ชจ๋ธ - feature ๋ณ branch - ๊ฐ๋ฐ์๋ณ branch - ์คํ๋ฆฐํธ ์ฃผ๊ธฐ๋ณ branch - ์ฌ๋ด ๊ฒ์ฆ ๋จ๊ณ๋ณ branch - · · · - GitFlow Git์ ๋ธ๋์น ํ์ฉ ์ ๋ต ์ค ํ๋์ธ GitFlow์ ๋ํด ์ดํด๋ณด์. GitFlow ๋ชจ๋ธ์ ๋ค์ฏ๊ฐ์ง ๋ธ๋์น๋ฅผ ํ์ฉํ์ฌ ๋ณ๊ฒฝ์ ์ ๊ด๋ฆฌํ๋ ๋ชจ๋ธ์ด๋ค. ํ๋์ฉ ์์๋ณด์. master branch : ์ค์ ๊ณ ๊ฐ์๊ฒ ๋ฆด๋ฆฌ์ฆ ๋๋ ๋ธ๋์น - ๊ณ ๊ฐ์๊ฒ ์ ๋ฌ ๊ฐ๋ฅํ ์์ค์ ์ปค๋ฐ๋ง ์กด์ฌํด์ผ ํ๋ค. - ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ ๊ฒฐ๊ตญ master๋ก ์ต์ข
๋ฐ์๋์ด์ผ ํ๋ค. develop branch : ๋ค์ ๋ฐฐํฌํ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋ธ๋์น - ์ค์ ๊ฐ๋ฐ์ ์ค์ฌ์ด ๋๋..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
Git์์ Tag๋? ํน์ ์์ ์ ์์ค์ฝ๋ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ ๊ฒ, ํ๋ก์ ํธ ์งํ์ค ์๋ฏธ์๋ ์์ ์ ์ปค๋ฐ์ ํ๊น
ํ ๊ฒ โซ ์๋ฏธ์๋ ์์ ์ด๋? - 1์ฐจ ๋ชฉํ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ์๋ฃ๋์์ ๋, - ๋งค์ฐ ์ค์ํ ์ด์๊ฐ ํด๊ฒฐ๋์์ ๋, - ๊ณ ๊ฐ์๊ฒ ์ํํธ์จ์ด๋ฅผ ๋ฐฐํฌํ ๋ ๋ฑ๋ฑ Git Tag์ ์ข
๋ฅ โซ Lightweight Tag : ๋ฒ์ ๋ช
๊ณผ ๊ฐ์ ํ๊ทธ๋ช
๋ง ๋จ๊ธฐ๋ ํ๊ทธ $ git tag ํ๊ทธ๋ช
→ ํ๊ทธ ์์ฑ โซ Annotated Tag : Git ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๊ทธ๋ฅผ ๋ง๋ ์ฌ๋์ ์ด๋ฆ, ์ด๋ฉ์ผ, ํ๊ทธ ์์ฑ๋ ์ง ๋ฑ์ ์ ์ฅํ ํ๊ทธ $ git tag -a ํ๊ทธ๋ช
-m "ํ๊ทธ๋ฉ์ธ์ง" → ํ๊ทธ ์์ฑ โท ๊ฐ๋จํ๊ฒ ์์ ๋ก ์์๋ณด์ โซ $ git tag -a ํ๊ทธ๋ช
-m "ํ๊ทธ๋ฉ์ธ์ง" ๋ก tag ์์ฑ โซ $ git log ๋ก ํ์ธํด๋ณด์ ..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
๊ฐ๊ฐ ๋ธ๋์น๋ฅผ ์์ฑํ์ฌ ์์
ํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ณ๊ฒฝ์ ๋ค์ ๋ค์ master๋ธ๋์น๋ก Merge(๋ณํฉ)๊ฐ ๋์ด์ผ ํ๋ค. ์ด ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ์์ ๋ ์ฌํญ๋ค์ด ์ต์ข
์ฝ๋์ ์ ์ฉ๋ ์ ์๋ค. Merge ํ๋ ๋ฐฉ๋ฒ = ๋ธ๋์น ๋ณํฉ 1. merge๋ฅผ ์ํด์๋ ๊ธฐ์ค์ด ๋๋ ๋ธ๋์น๋ก์ด๋ํด์ผ ํ๋ค. [ $ git checkout master ] 2. ํฉ์ณ์ง ๋ธ๋์น๋ฅผ mergeํ๋ค. [ $ git merge ๋ธ๋์น์ด๋ฆ ] ↓ ์์ 2๋ฒ๊ณผ์ ์์ merge ํ ๋ ์ฝ๋๋ฅผ ๋ณด๋ฉด Fast-forward ๋ผ๋ ๊ฒ์ด ์๋ค. ์ฌ๊ธฐ์ Fast-forwoard๋, ๋ธ๋์น์ ์์น๋ง ์ต์ ์ปค๋ฐ์ผ๋ก ์ด๋์ํค๋ ๋ฐฉ์์ด๋ค. ๋ฐ๋ผ์ issue๋ฅผ ๋ณํฉ์ํฌ๋ ๋ธ๋์น์ ์์น๊ฐ Commit 4์์ Commit 5๋ก ๋ธ๋์น์ ์์น๋ง ๋ณ๊ฒฝ ๋์๋ค๋ ๊ฒ์ ์ ์ ์..
๐ ๊ธฐํ/์ฝ๋ํ๋ ์ ์ฒดํ๋จ_BE
Branch ๋ณธ๋์ ์์ค์ฝ๋๋ก ๋ถํฐ ํ์ํ ๋
๋ฆฝ์ ์ธ ์์
๊ณต๊ฐ โซ Branch์ ํน์ง - ์ต์ ์ปค๋ฐ์ ๊ฐ๋ฆฌํค๋ ์ผ์ข
์ ํฌ์ธํฐ ์ญํ ์ ํ๋ค. - ๋งค์ฐ ๊ฐ๋ฒผ์์ ์์ฑ, ์ด๋, ๋ณํฉ(merge)์ด ๋งค์ฐ ์ฝ๋ค. - ๋ชฉ์ ์ ๋ฐ๋ผ ๋ถ๊ธฐํ ์ ์๋ค. master Branch - Git์ ๊ธฐ๋ณธ์ ์ผ๋ก master ๋ธ๋์น๋ฅผ ์์ฑํ๋ค. - master ๋ธ๋์น๋ ์ฒซ ๋ฒ์งธ ์ปค๋ฐ์ ๋ง๋ค์ด์ผ ์์ฑ๋ ์ปค๋ฐ์ ๊ฐ๋ฆฌํฌ ์ ์๋ค. - ๋ฐ๋ผ์ $ git commit -m "···" ๋ช
๋ น์ด๋ก commit์ ์์ฑํ ํ, ํ์ฌ ์์
์ค์ธ ๋ธ๋์น๋ฅผ ํ์ธํ๋ ๋ช
๋ น์ด[$ git branch]๋ก ํ์ธํด๋ณด๋ฉด ํ์ฌ ์์
์ค์ธ ๋ธ๋์น๋ master์ธ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๋ธ๋์น ์์ฑํ๋ ๋ฐฉ๋ฒ โซ $ git branch ์์ฑํ _๋ธ๋์น๋ช
์
๋ ฅ โซ $ git br..