μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- νλ‘κ·Έλλ¨Έμ€
- binarySearch
- μ°μνμ€λΆλΆμμ΄μν©
- SwiftUI νν 리μΌ
- λ€μ΄λλ―Ήνλ‘κ·Έλλ°
- SQL
- APPJAM
- Til
- URLSession
- Swift
- DynamicProgramming
- μ΄μ§νμ
- duno
- κ³ λμ kit
- SwiftUI Tutorials
- SOPT
- concurrency
- GroupBy
- GCD
- κΈ°μ΄λ¬Έλ²
- IOS
- discardableResult
- 0μ΄λμ΄μλκΈΈ
- algoritm
- λμ κ³νλ²
- BFS
- SwiftUI
- algorithm
- HAVIT
- dfs
- Today
- Total
suvera-dev π₯¦
AppJam, Havit iOS κ°λ° νκ³ λ³Έλ¬Έ
SOPTμ λ§μ§λ§ νλ, AppJamμ΄ λμ΄ λ¬λ€
λλ 3μ£Όλμ ν΄λΉμ΄λΌλ μλΉμ€λ₯Ό κ°λ°νλ€
λ°°μ΄μ λ λ§κ³ , κΈ°μ΅νκ³ μΆμ κ²λ€μ΄ λ§μμ κΈλ‘ λ¨κ²¨λλ €κ³ νλ€
κ°μΈμ μΈ νκ³ λ λ―Έλ€λκ³ .. κ°λ°μ κ΄ν κ²λΆν° μ 리ν΄μΌκ² λ€..
1. ꡬννλ©΄μ μ 리ν΄λκ³ μΆμλ λ΄μ© - νλμ© ν¬μ€ν ν΄μ μ΄ κΈμ λ§ν¬λ‘ λ¬μλκ° μμ ..
2. κ°λ°νλ©΄μ μ΄λ €μ λ μ
3. 리ν©ν λ§ + 릴리μ¦νλ©΄μ ꡬνν κ²λ€
μ±μΌ, ν΄λΉ, κ·Έλ¦¬κ³ μ μ¦μ μΉ΄ν κ³ λ¦¬ λ·°.
λλ μΉ΄ν κ³ λ¦¬ κ΄λ¦¬νλ λΆλΆκ³Ό λ§μ΄νμ΄μ§λ₯Ό λ§‘κ² λμλλ°, μ±μΌ λ΄μμλ λ§μ΄νμ΄μ§λ νμμλΌ λ¨Όμ μΉ΄ν κ³ λ¦¬λ·°λ₯Ό ꡬννκ² λμλ€.
κΈ°νμμ νλ‘μ°μ 리λ νμ€νκ² μ λμ΄μμκ³ , λμμ΄λλ€λ μ΄μΌν΄μ€μ λ·°λ νλ¦¬λ¦ λμλ€.
μ 체μ μΈ νλ‘μ°λ λ€μκ³Ό κ°λ€
μ 체 μΉ΄ν κ³ λ¦¬λ·° ( μΉ΄ν κ³ λ¦¬ μΆκ° λ° κ°λ³ μΉ΄ν κ³ λ¦¬λ‘ μ΄λ ) - μΉ΄ν κ³ λ¦¬ μμ λ·° ( μΉ΄ν κ³ λ¦¬ μμ λ³κ²½ Drag & Drop ) - κ°λ³ μΉ΄ν κ³ λ¦¬ μμ λ° μμ λ·°
μ²μμλ λ·°κ° κ°λ¨ν΄ 보μ¬μ κΈλ°© λλκ² λ€ ! νλλ° λ°μ΄ν° μ λ¬μμ μ½κ° λλ¬Όμ λ¨ΈκΈκ³ .. νΌνΌ
μΉ΄ν κ³ λ¦¬ μμ λ·°μμ μμ λ³κ²½ κΈ°λ₯μ λ£μ΄λ²λ¦¬λ©΄μ GETμ μ 체 μΉ΄ν κ³ λ¦¬μμλ§ νλ² ν΄μ€κ³ , μμ λ·°λ‘ λ€μ΄κ°μ λλΆν°λ
ν΄λΌμμ μμ , μμ , μμλ³κ²½μ μ§μ ν΄μ€μΌνκΈ° λλ¬Έμ... κ·Έλ¦¬κ³ μ΄κ²μ κ² μμν κΈ°λ₯λ€λ μΆκ°νλ€λ³΄λ.
κΈλ°© λλμ§ μμλ€ ν€ν€ λ¬΄μ¨ μμ κ°μ΄μλκ±ΈκΉ ?
κ° λ·°μ ν΄λΉνλ κΈ°λ₯ μ 리
1. μ 체 μΉ΄ν κ³ λ¦¬ λ·°
- μΉ΄ν κ³ λ¦¬ λͺ©λ‘ 보μ¬μ£ΌκΈ° ( GET : μΉ΄ν κ³ λ¦¬ ID, μΉ΄ν κ³ λ¦¬ Title , μμ΄μ½ μ΄λ―Έμ§ URL, μμ΄μ½ μ΄λ―Έμ§ ID )
- μ 체 μΉ΄ν κ³ λ¦¬ λ€λΉκ²μ΄μ λ°
- κ°λ³ μΉ΄ν κ³ λ¦¬ μ ν μ ν΄λΉνλ 컨ν μΈ λ·°λ‘ μ΄λ
- μμ λ²νΌ λλ₯Ό μ μΉ΄ν κ³ λ¦¬ μμ λ·°λ‘ μ΄λ
- μΉ΄ν κ³ λ¦¬ μΆκ° λ²νΌ λλ₯Ό μ μΉ΄ν κ³ λ¦¬ μΆκ°νλ λͺ¨λ¬ μ°½ λμ°κΈ°
- νλ°μμ λ€μ΄μ€λ λ·°, λ©μΈμμ λ€μ΄μ€λ λ·°λ₯Ό λΆκΈ°μ²λ¦¬νμ¬ λ©μΈμμ λ€μ΄μ¬ κ²½μ° νλ° μ¨κΈ°κΈ°
2. μΉ΄ν κ³ λ¦¬ μμ λ·°
- λ€λΉκ²μ΄μ λ° : λ€λ‘κ°κΈ° , μλ£ ( PATCH : μμ λ³κ²½ ν λ³κ²½λ μΉ΄ν κ³ λ¦¬ ID λ°°μ΄ λ겨주기 )
- λλκ·Έ μ€ λλ : μμ λ³κ²½ ν μ μ₯
- μ λ΄λΆ μ°ν λ²νΌ λλ₯Ό μ κ°λ³ μΉ΄ν κ³ λ¦¬ μμ νλ λ·°λ‘ μ΄λ
3. κ°λ³ μΉ΄ν κ³ λ¦¬ μμ λ° μμ λ·°
- λ€λΉκ²μ΄μ λ° : μμ λ²νΌ ( PATCH : ν΄λΉνλ μΉ΄ν κ³ λ¦¬ IDμ λ³κ²½λ μ λͺ©κ³Ό μμ΄μ½ μ΄λ―Έμ§ ID λ겨주기 )
- κ°λ³ μΉ΄ν κ³ λ¦¬ μ λͺ©κ³Ό μμ΄μ½ λ°μμ κΈ°λ³Έ κ°μΌλ‘ μ§μ ν΄λκΈ°
- μ λͺ© μμ μ, κΈμ¨ μμ μ§ν΄μ§λ©΄μ μμ κ°λ₯νκ²
- μμ΄μ½ λ³κ²½ κΈ°λ₯
- μμ λ²νΌ ( DELETE )
4. λ§μ΄νμ΄μ§ UI μμ
- λ°°κ²½ κ·ΈλΌλ°μ΄μ
- λ°ν λ·° μΆκ°
- κΈ°ν UI μμ
κ°λ°νλ©΄μ μ΄λ €μ λ μ
μΉ΄ν κ³ λ¦¬ μμ λ³κ²½ ν, μ 체 μΉ΄ν κ³ λ¦¬ νμΌλ‘ λμμμ λ reload κ° μ λλ‘ λμ§ μλ λ¬Έμ μ μ΄ μμλ€.
μλ² μ°κ²°ν ν¨μμλ μ¬κΈ°μ κΈ° λ°κΏλ³΄κ³ ... λμ€ν¨μΉν νμΆ ν΄λ‘μ λ Έν° κΉμ§ μ¨λ΄€λλ° . λ€λ₯Έ νμ κ°λ€κ° λμμμΌλ§ λ°μμ΄ λμλ€.
κ·Όλ° μ§μ§ μ°μ°ν μλ μΌλ―Όμ΄κ° κ°μκΈ° λ μλͺ μ£ΌκΈ° μ΄μ©κ΅¬ νλ λ§μ λ£κ³
LifeCycleμ λ§ μ°Ύμλ΄€λ€.. μ λͺ°λμ ..
viewDidLoad
↓
viewWillAppear
↓
viewDidAppear
↓
viewWillDisappear
↓
viewDidDisappear
λ·°λ μ΄λ¬ν μλͺ μ£ΌκΈ°λ₯Ό κ°μ§λλ°, μ²μμ getν΄μ€λ λ©μλλ₯Ό viewWillAppear μμ νΈμΆνμλ€.
μ¦, λ·°κ° λνλ λ κ·Έλ¦¬κ³ μμ λ·°μ κ°λ€ μμ λλ λ³κ²½ μ¬νμ΄ μμΌλ getμ ν΄μμΌνλ€κ³ μκ°νλ€.
κ·Όλ° λ¬Έμ λ... λ΄κ° μλ²κΉμ§ μκ°μ λͺ»νλ€λ κ²μ΄μλ€..
μμλ³κ²½ ν, μλ£ λ²νΌμ λλ¬μ μΉ΄ν κ³ λ¦¬ id λ°°μ΄μ λ겨주λλ°
κ·Έκ±Έ μλ²μμ λ°μμ κ·Έ μμλλ‘ λ€μ μ λ ¬μ μν€λλ° μκ°μ΄ κ±Έλ €μ
get ν΄μ€λ μμ μ μμ§ μμκ° λ³κ²½μ΄ μλμ΄μλ μνμλ κ²μ΄μλ€ !
κ·Έλμ viewDidAppear μμ getν΄μ€λ λ©μλλ₯Ό νΈμΆνλλ ν΄κ²°λμλ€ !
λ·°κ° λνλ μμ μ μ€νλμ΄μ μμκ° λ°λλκ² λμΌλ‘ 보μ΄κΈ΄ νμ§λ§
κ·Έλλ.. reload λκ² μ΄λμΌ.. νλ©΄μ..
κ·Έ μΈμλ λ§μ΄νμ΄μ§κ° κ³ μ λμ΄μμ΄μ μ€ν λ μ΄μμ μ‘λλ° λλ..
λ μ μμ§λ μ€ν λ μ΄μμ λͺ»ν΄?? μ°Έ λ.
μ μ΄μ SEλ μμ΄ν°8μ μ‘°μ©ν μ¬λΌμ§μ.. μ΄ ??
리ν©ν λ§ λ° μμΌλ‘ 곡λΆν κ²
- μμ§ κΈ°λ³ΈκΈ°κ° λΆμ‘±νλ€. ν루룩 λ°°μμ κ·Έλ΄μλ μμ§λ§ μ΄μ λλ ΅μ§ μμ.. λ€ λ€λ²Ό.. ν μ΄λΈλ·° 컬λ μ λ·° λ°μ΄ν°μ λ¬ μ€μννΈλ¬Έλ² μ΅μ λ λ μ΄λ°μΉκ΅¬λ€ ?? ( μ΄μ λ¬Όμνλ§ λ³΄λ©΄ μ΅μ λ μκ°λλ .. )
- μλ μ²μ λͺ©ν μ€ Rxλ MVVM , μ½λλ€μ΄ν°κΉμ§ μ¨λ³΄κΈ°λ‘ νμλλ° κ²°κ΅ λ€ λ²λ Έλ€ γ γ γ γ γ γ γ γ γ γ ( κ·Όλ° λ μ΄λ΄κ±Έ μμνμ§ ! λ μ무κ²λ λͺ¨λ₯Έλ¨ λ§μΌ! )
- RxCocoa λ°μ λͺ» μ°κ³ .. λ 곡λΆνκ³ μμΌμ§ !
- μλ² URLSession, aysnc / await μλ²½νκ² μ΄ν΄νκ³ μ°μ ! μλ² λ§μ€ν° νκΈ° . λ€μ μ±μΌ λλ μλ² λΆμ΄κΈ° 10μ΄μ»·
μκ°μ΄ λλ€λ©΄, λ€λ₯Έ μ¬λλ€μ΄ λ§λ λ·°λ€λ νλνλ 곡λΆν΄λ³΄κ³ μΆλ€.
μ±μΌμ΄λΌλ μκ° λ΄μ λ΄κ° 맑μ λΆλΆλΆν° ꡬνν΄λ΄μΌ νκΈ° λλ¬Έμ λ€λ₯Έ μ¬λλ€μ΄ 맑μ λΆλΆκΉμ§ μμΈν λ³Ό μ μμλ€.
κ·Έλμ μ½λ리뷰λ₯Ό μ λλ‘ λͺ»ν΄μ€μ μ‘°κΈ μμ¬μ λ€. λ΄ λ₯λ ₯ λΆμ‘±μ΄μΌ... γ γ !!
λ¦΄λ¦¬μ¦ λ 맑μ κ²λ€
μΌλ¨ λ€λ€ μ€κ°κ³ μ¬ λ€μ΄κ°κΈ° μ κΉμ§ λ¦΄λ¦¬μ¦ νλ κ±Έλ‘ λͺ©νλ₯Ό μ‘μλ€.
κ°μ 맑μ λ·°μμ 리ν©νκ³ , μΆκ° κΈ°λ₯ ꡬνκΉμ§ ν΄μΌν΄μ λ.. μ΄μ¬ν λ¬λ €μΌν΄ !
λ΄κ° 맑μ λΆλΆμ ..
- μμ λ‘κ·ΈμΈ κ΅¬ν
- μΉ΄ν κ³ λ¦¬ μ€λ³΅ λ°©μ§
- μΉ΄ν κ³ λ¦¬ κ°μ , κΈμμ μ ν
- λ§μ΄νμ΄μ§ λ²κ·Έ ν΄κ²°
- λ§μ΄νμ΄μ§ μΆκ° ꡬν
- μΉ λ·° λ¬Έμ ν΄κ²°
- Google Analaytics μ μ©νκΈ°
μΌλ¨ μ΄μ λ..? μ€μΌ λ§μ ?? νΈνΈ
κ·Έλ¦¬κ³ μλ λλκ±Έμ΄ λμ°¨ λμ°¨ νλ μ ν¨μ€κ° λλκ±Έ λ‘컬μμ λμκ°λ λ¬Έμ λλ¬Έμ .. ( νΌνΌ μμ€μ½λκ° μλͺ»νλ€ )
κΉν μ‘μ μΌλ‘ λ°κΎΈκ³ μ μ© λͺ»νλ μ½λλ€μ΄ν° κ°μ΄ κ³΅λΆ μ« νκ³ λ±λ±..
2μλ μμμ΄κ² κ΅°μ !
κ²°λ‘ μ 3μ£Όλμ λ무 λ무 λ§μ κ±Έ λ°°μ°λ©΄μ μ±μ₯νκ³ , μ’μ μ¬λλ€κ³Ό ν¨κ» ν΄μ ν볡νλ€.
μ±μΌ λΏλ§ μλλΌ μνΈλ₯Ό νλ©΄μ, μ λλ‘ λ νμ νλ‘μ νΈλ₯Ό ν μ μμλ€.
νλ‘μ νΈ μ ν , ν΄λλ§, 컨벀μ , κΉλΈλμΉ μ λ΅, μ½λ리뷰 λ±λ± νΌμμ ν μ μμλ κ²λ€μ κ²½ννλ€.
κ·Έλ¦¬κ³ μμμ μ΄κΉ¨ λλ¨Έλ‘ SwiftLint, CI/CD, TestCode, νμ΄νλ‘κ·Έλλ°, Rx, MVVM, Coordinator, async/await, SPM λ±λ± 곡λΆνλ©΄μ μ΄λ €μ μ§λ§.. λμ½.. νκ±° κ°λ€ ^^
κ·Έλ¦¬κ³ ν΄λΌ κ°λ°μλ μ§μ§λ‘ κΈ°ν λμμΈ μλ² ννΈμ κΎΈμ€ν μν΅νλ©΄μ μμ ν΄μΌνλ€λ κ²μ λκΌλ€
ν΄λΉ νμλ€μ΄ λ€λ€ μλ‘ λ°°λ €ν΄μ€μ κ°λ± νλ μμ΄ μ λ§λ¬΄λ¦¬νλ€ γ γ μλ² κ°λ°μλ€λ μ΄λ»κ² μ€μΌ μ°λ¦¬κ° λ νΈνμ§ κ³μ λ¬Όμ΄λ΄μ£Όκ³ , μμ²μ¬νλ μ λ€μ΄μ€¬λ€. κΈ°νμμλ μ±μΌ λ΄μμ μμ¬λ΄μ§ μκ³ , κ°λ°μλ€μ λ¨Όμ μκ°ν΄μ€¬λ€. κ·Έλ¦¬κ³ λμμ΄λλ€μ΄λλ μλ‘ λ¬Όμ΄λ³΄λ©΄μ μνλ κ²λ€μ μ λ§μΆ° λκ°λ κ² κ°λ€.
λ°λͺ¨λ°μ΄ μ λ κΉμ§ μ μ€μ¬κ°λ©΄μ κ³ μνλ μ’μ μΆμ΅κ³Ό κ²½νλ€ ! μμ§ λͺ»ν κ±°μΌ.. !!!
μμΌλ‘ λ λ§μ κ²λ€μ λ§λ€λ©΄μ λ°°μλκ°κ³ μΆκ³ , λ΄ μ²« μλΉμ€λ‘ μμν κΈ°μ΅λ ν΄λΉμ μ λ§λ¬΄λ¦¬νκ³ μΆλ€ :)