์ ์ ๊ฐ โ๊ณต๊ฐโ์ โ์์โ์ผ๋ก ๋๊น ํ๊ณ , ๋๋ง์ โ๊ณต๊ฐ ์ทจํฅโ์ ๋ฐ๊ฒฌํ๋ ์๋น์ค
"๋ด ์ทจํฅ์ ๋ง๋ ๊ณต๊ฐ์ ์ดฌ์ํ๊ณ ์
๋ก๋ํ๋ ์ํผ์ ํ์ฉํ๋ ๋ผ์ดํ์คํ์ผ ํ๋ซํผ"
์ฌ์ฉ์๋ค์ ์๋ก์ด ์ฅ์๋ฅผ ์์ ๋กญ๊ฒ ๋๋ฌ๋ณด๊ณ ์ทจํฅ์ ์ฐพ์ผ๋ฉฐ, ๋ค๋ฅธ ์ฌ์ฉ์๋ค๊ณผ ๊ณต๊ฐ ๊ฒฝํ์ ๋๋ ์ ์์ต๋๋ค.
๋์์์ ํ์ฉํ์ฌ ๋ฐฉ๋ฌธ ์ ์๋ ์ค์ ์ ์ ์ฌํ ๊ณต๊ฐ๊ฐ์ ๋๋ ์ ์๋ ๊ณต๊ฐ ์์์ ์ ๊ณตํฉ๋๋ค.
๋ํ ํค์๋์ ์ทจํฅ์ ๋ง๋ ์ ์ ๊ตฌ๋
๊ธฐ๋ฅ์ ํตํด ๋ฌด๋ถ๋ณํ ์๊ณ ๋ฆฌ์ฆ์์ ๋ฒ์ด๋ ์ทจํฅ์ ๋ง๋ ๊ณต๊ฐ ์ ๋ณด๋ง ํ์ํ ์ ์๋๋ก ํ๋ ๊ฐ์น๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํ์ง์ | ๋ฌธํ๊ทผ | ์ก์ฌ๊ฒฝ |
์์, ๊ธฐ๋ก, ๋ก๊ทธ์ธ |
๋ฉ์ธํ์ด์ง, ํ์๊ฐ์
|
๋ง์ดํ์ด์ง, ๋ฒ๋ธ๊ทธ๋ํ |
์คํ๋์ | ์นด์นด์ค ๋ก๊ทธ์ธ | ์ ํ ๋ก๊ทธ์ธ | ํํด ๋ฐ ๋ก๊ทธ์์ |
์์ ๊ธฐ๋ก | ๋ด ๊ธฐ๋ก ์์ | ์ธ๊ธฐ ์์ | ์์ ๋ํ ์ผ |
ํ๋กํ(๋ด ์ทจํฅ) | ํ๋กํ(๋ด ๊ธฐ๋ก) | ํ๋กํ(๋ถ๋งํฌ) | ํ๋กํ empty |
์นฉ ํค์๋ | ํ ์ ์ ํ๋ก์ | ํ๋ก์ ํ๋ก์ | ํ๊ฒฝ์ค์ -์ด์ฉ์ฝ๊ด |
AWS SDK
Tuist
Moya
SnapKit
Then
Kakao SDK
RxSwift
Lottie
โโโ ๐งฉ App
| โโโ ๐๏ธ Sources
โ โ โโโ AppDelegate
โ โ โโโ SceneDelegate
| โโโ ๐๏ธ Resources
โ โ โโโ LaunchScreen
| โโโ ๐๏ธ Derived
โ โ โโโ Info.plist
โโโ ๐งฉ Common
| โโโ ๐๏ธ Sources
โ โ โโโ ๐๏ธ Extension
โ โ โโโ ๐๏ธ Font
โ โ โโโ ๐๏ธ Components
โ โโโ ๐๏ธ Resources
โ โ โโโ ๐๏ธ Font
โ โ โโโ Asset
| โโโ ๐๏ธ Derived
โ โ โโโ ๐๏ธ InfoPlists
โ โ โโโ ๐๏ธ Sources
โโโ ๐งฉ Core
โ โโโ ๐๏ธ AWS
โ โโโ ๐๏ธ Base
โ โโโ ๐๏ธ Cache
โ โโโ ๐๏ธ Coordinator
โ โโโ ๐๏ธ Model
โ โโโ ๐๏ธ Network
โ โโโ ๐๏ธ OAuth
โ โโโ ๐๏ธ Photos
...
โโโ ๐งฉ Presentation
โ โโโ ๐๏ธ TabBar
โ โโโ ๐๏ธ Home
โ โโโ ๐๏ธ Login
โ โโโ ๐๏ธ SignUp
โ โโโ ๐๏ธ MyProfile
โ โโโ ๐๏ธ Video
โ โโโ ๐๏ธ UploadVideo
1. ์ฌ๋ฐฑ ๋์นธ์ผ๋ก ๊ณ ์
2. ํจ์๋ช
์ ์ฃผ์ด + ๋์ฌ + (๋ชฉ์ ์ด)
3. UI๋ set ~ ์ผ๋ก ์์ฑํ๊ณ ์์๋ setStyle() -> setUI() -> setAutolayout(). ์คํ ๋ ์ด์์์ ์, ํ, ์ข, ์ฐ, ํฌ๊ธฐ ์์๋ก ์ง์ ํ๊ธฐ
4. ์ ๊ทผ์ ์ด์ ์ ๊ฒฝ์จ์ ์์ฑํ๊ธฐ
5. ํ๋ผ๋ฏธํฐ๊ฐ 2๊ฐ ์ด์์ด๋ค ? -> Command + M
6. Command + I ์์๋ก ํ๊ธฐ
7. ์ปดํฌ๋ํธ -> ํ๋กํผํฐ -> ์๋ช
์ฃผ๊ธฐ -> UI์ธํ
-> ๊ธฐํ ํจ์๋ค -> Extension
8. TableView, CollectionView Delegate, DataSource ๋ฅผ ๊ฐ์ ํด๋์ค ๋ด๋ถ๊ฐ ์๋ Extension์ ํ์ฉํ์ฌ ๊ด๋ฆฌํ๊ธฐ
9. ์ฃผ์ ์ธ๊ฑฐ๋ผ๋ฉด ์ฝ๋์ ์์ ์์ฑํ๊ธฐ!
10. import ์์๋ UIKit(Foundation) -> ๋ด๋ถ ๋ชจ๋ -> ์ธ๋ถ ๋ชจ๋๋ก ์ ์ธํ๊ณ ABC ์์๋๋ก ์์ฑ
(Master == Main, Hotfix ๋ฏธ์ฌ์ฉ)
/// ํญ์ develop ๋ธ๋์น๊ฐ ์ต์ ์ํ์ธ์ง ํ์ธํด์ฃผ์ธ์ !
/// ์์
๋ธ๋์น์์ ์์
์ค์ develop ๋ธ๋์น์ ์ต์ ์ํ๊ฐ ๋ณ๊ฒฝ๋์๋ค๋ฉด?
/// -> ์์
๋ธ๋์น์ ๋จธ์ง๋ฅผ ํด์ฃผ์ด์ผ ํจ
1. issue ์์ฑ
2. develop ๋ธ๋์น์์ git checkout -b (issue ์ข
๋ฅ/#์์
๋ฒํธ)
3. ํด๋น ๋ธ๋์น์์ ์์
์งํ ๋ฐ ์ปค๋ฐ(์ปค๋ฐ์ ํ๋ฒ์ ๋ค ์ฌ๋ฆฌ์ง ๋ง๊ธฐ)
4. ์์
์๋ฃ ํ ๋น๋๊ฐ ๋๋์ง ํ์ธ ํ ์๊ฒฉ์ผ๋ก push
5. PR & merge
์ผ๋ฐ์ ์ธ ์ปค๋ฐ : `feat: ๋ฒํผ ์๋ ์ ํน์ ์ด๋ฒคํธ ๋ฐ์ํ๋ ๊ธฐ๋ฅ ๊ตฌํ(#33)`
์ต์ ์์
์ํฉ ๋ฐ์ : `merge: develop into #33
# feat : ๊ธฐ๋ฅ ๊ตฌํ(UI ํฌํจ)
# fix : ๊ธฐ๋ฅ ์์
# bug : ๋ฒ๊ทธ ํด๊ฒฐ
# refactor : ๋ฆฌํฉํ ๋ง
# merge : ์ต์ ์์
์ํฉ ๋ฐ์์
# style : ์คํ์ผ (์ฝ๋ ํ์, ์ธ๋ฏธ์ฝ๋ก ์ถ๊ฐ: ๋น์ฆ๋์ค ๋ก์ง์ ๋ณ๊ฒฝ ์์)
# docs : ๋ฌธ์ ์์ (๋ฌธ์ ์ถ๊ฐ, ์์ , ์ญ์ , README)
# test : ํ
์คํธ (ํ
์คํธ ์ฝ๋ ์ถ๊ฐ, ์์ , ์ญ์ : ๋น์ฆ๋์ค ๋ก์ง์ ๋ณ๊ฒฝ ์์)
# chore : ๊ธฐํ ๋ณ๊ฒฝ์ฌํญ (๋น๋ ์คํฌ๋ฆฝํธ ์์ , assets, ํจํค์ง ๋งค๋์ ๋ฑ)
# rename : ํ์ผ ํน์ ํด๋๋ช
์ ์์ ํ๊ฑฐ๋ ์ฎ๊ธฐ๋ ์์
๋ง ํ ๊ฒฝ์ฐ
# remove : ํ์ผ์ ์ญ์ ํ๋ ์์
๋ง ์ํํ ๊ฒฝ์ฐ
# init : ์ด๊ธฐ ์์ฑ