μ 체 κΈ
[TIL] 22.06.03
iOS μμ νλ©΄ μ΄λμ νλ λ°©λ²μλ 4κ°μ§κ° μλ€. ViewController μμ νλ©΄ μ ν ViewController κ° λ€λ₯Έ ViewController λ₯Ό νΈμΆνμ¬ νλ©΄ μ ν NavigationViewController λ₯Ό μ¬μ©νμ¬ νλ©΄ μ ν νλ©΄ μ νμ© κ°μ²΄ Segue λ₯Ό μ¬μ©νμ¬ νλ©΄ μ ν 1. ViewController μμ νλ©΄ μ ν ViewController μμ View λ₯Ό λ€λ₯Έ View λ‘ κ΅μ²΄νλ λ°©μμΌλ‘ λ©λͺ¨λ¦¬ λμλ‘ μΈν΄ μ¬μ©μ μ§μνλ€. νΉμ ν κ²½μ°μλ§ μ¬μ©νλ€. μλλ‘μ΄λμμλ View μ Visibility μμ±μ μ΄μ©νμ¬ λ³κ²½νλ λ°©μμ μμ£Ό μ¬μ©νμλλ° iOS μμλ μ§μνλ€κ³ νλ μ’ μ κΈ°νλ€. μ΄ λΆλΆμ λν΄μ μ’ λ μ°Ύμλ³΄κ³ μ 리ν΄λ΄μΌκ² λ€. 2. ViewContr..
[TIL] 22.05.27
곡λΆν κ² Swift λ¬Έλ² μκ²λ κ² 1. Guard Guard ν€μλλ₯Ό μ¬μ©νλ©΄ 쑰건μ falseμΈ κ²½μ°μλ else κ΅¬λ¬Έμ΄ μ€νλμ΄ μ΄νμ μ½λλ₯Ό μ€ννμ§ λͺ»νκ² νλ€. continue μ λΉμ·νλ€. import Foundation func guardTest(value : Int?) { guard let value = value else {return} print(value) } guardTest(value : 2) guardTest(value : nil) // μ무κ²λ μΆλ ₯λμ§ μμ 쑰건문과 μ μ¬ν κΈ°λ₯μ΄λΌκ³ λ³Ό μ μλλ° Guard λ else λ₯Ό κ°μ νλ€. // μΌλ°μ μΈ μ‘°κ±΄λ¬Έ if 쑰건 == true { // μ°ΈμΈ κ²½μ°μ μ€νν μ½λ } else { // κ±°μ§μΈ κ²½μ°μ μ€νν μ½λ } // G..
[TIL] 22.05.26
곡λΆν κ² Swift λ¬Έλ² μκ²λ κ² 1. ν΄λμ€μ ꡬ쑰체μ μ°¨μ΄ 1. 곡ν΅μ κ°μ μ μ₯ν νλ‘νΌν°λ₯Ό μ μΈν μ μμ ν¨μμ κΈ°λ₯μ νλ λ©μλλ₯Ό μ μΈν μ μμ λ΄λΆ κ°μ .λ₯Ό ν΅ν΄ μ κ·Όν μ μμ μμ±μλ₯Ό μ¬μ©ν΄ μ΄κΈ° μνλ₯Ό μ€μ ν μ μμ Extension μ μ¬μ©νμ¬ κΈ°λ₯μ νμ₯ν μ μμ Protocol μ μ±ννμ¬ κΈ°λ₯μ μ€μ ν μ μμ 2. μ°¨μ΄μ - ν΄λμ€ μ°Έμ‘° νμ ARC λ‘ λ©λͺ¨λ¦¬λ₯Ό κ΄λ¦¬ μμ κ°λ₯ νμ μΊμ€ν μ ν΅ν΄ λ°νμμμ ν΄λμ€ μΈμ€ν΄μ€μ νμ μ νμΈν μ μμ deinit μ μ¬μ©νμ¬ ν΄λμ€ μΈμ€ν΄μ€μ λ©λͺ¨λ¦¬ ν λΉμ ν΄μ ν μ μμ κ°μ ν΄λμ€ μΈμ€ν΄μ€λ₯Ό μ¬λ¬ κ°μ λ³μμ ν λΉν λ€μ κ°μ λ³κ²½μν€λ©΄ λͺ¨λ λ³μμ μν₯μ μ€ (λ©λͺ¨λ¦¬λ₯Ό 볡μ¬) - ꡬ쑰체 κ° νμ κ°μ ꡬ쑰체λ₯Ό ..
[Android] MVVM ν¨ν΄ μ μ©κΈ° - 2
GitHub - k906506/MVVM: π¨ MVVMμ΄ λμμ? π¨ MVVMμ΄ λμμ? Contribute to k906506/MVVM development by creating an account on GitHub. github.com MVVM λ λ²μ§Έ μκ°μ΄λ€. κ°μμ€λ½κ² μ°Ύμμ¨ μ΄μ λ μ‘Ένλ₯Ό μ§ννλ€κ° RecyclerView λ₯Ό Room μ μ¬μ©ν΄μ MVVM ν¨ν΄ μΌλ‘ ꡬννλλ° μ μμ μΌλ‘ μλνμ§ μμμ RecyclerView + Room + MVVM μ μ 리νκ³ μ½λλ₯Ό λ€μ λ³΄λ €κ³ νλ€. μ°μ MVVM μ ꡬννκΈ° μν΄μλ μμ κ·Έλ¦Όμ μ΄ν΄νκ³ λμ΄κ°λ κ²μ΄ μ’λ€. κ·Έλ¦Όμμ μ£ΌμκΉκ² λ΄μΌν κ²μ νμ΄νμ λ°©ν₯ μ΄λ€. λͺ¨λ νμ΄νκ° λ¨λ°©ν₯μΌλ‘ μ°κ²° λμ΄μκ³ μμ μμλ νμ μμλ₯Ό μ°Έμ‘°νλ€. μ°Έμ‘°..
[μ½νλ¦° μμ μ 볡] 곡λ³μ±, λ°κ³΅λ³μ±, 무λ³μ±
κ°λ³μ± λ³ν μ μλ€? κ°λ³μ±μ΄ λμμ? π μ½νλ¦° μμμ κ°λ³μ±μ νμ λ§€κ°λ³μκ° ν΄λμ€ κ³μΈ΅μ μν₯μ μ£Όλ κ²μ λ§νλ€. μλ₯Ό λ€μ΄ νμ Aμ κ°μ΄ νμν λͺ¨λ ν΄λμ€μ νμ Bμ κ°μ λ£μ΄λ λ¬Έμ κ° μλ€λ©΄ Bλ Aμ νμ νμμ΄ λλ€. μλ μ½λλ₯Ό 보μ. val integer : Int = 1 val number : Number = integer // Numberλ μμ μλ£ν, Intλ νμ μλ£ν IntνμΌλ‘ μ μΈν integer λ³μκ° NumberνμΌλ‘ μ μΈν number λ³μμ ν λΉν΄λ μ무 λ¬Έμ κ° μλ κ²μ λ³Ό μ μλ€. μ΄κ² λ°λ‘ κ°λ³μ±μ΄λ€. λ λ€λ₯Έ μλ‘λ Int?μ Intκ° μλ€. Int?λ nullλ ν¬ν¨νλ―λ‘ Int?κ° Intμ μμ μλ£νμ΄ λλ€. κ°λ³μ±μ 3κ°μ§ μ ν κΈ°λ³Έμ μΌλ‘..
[μ½νλ¦° μμ μ 볡] μ λ€λ¦
μ λ€λ¦ μ λ€λ¦ , λ€λ₯Έ μΈμ΄λ₯Ό μ΄λ―Έ κ²½ννκ³ μλ€λ©΄ λ―μ λ¨μ΄λ μλλ€. λ λμΆ© μκΈ°νλ©΄ μλ£ν μ λμ€μ μ μΈνλ? κ·Έλ° λλμ΄λ€. μ°μ νμ€νκ² μ§κ³ λμ΄κ°λ³΄μ. κ·Έλμ μ λ€λ¦μ΄ λκ³ μ μ°λκ±°μμ? π€ μ λ€λ¦ μ ν΄λμ€ λ΄λΆμμ μ¬μ©ν μλ£νμ λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±ν λ νμ νλ λ°©λ²μ΄λ€. μ λ€λ¦μ΄ λμ€κ² λ λ°°κ²½μ μλ£νμ κ°μ²΄λ€μ λ€λ£¨λ λ©μλλ ν΄λμ€μμ μ»΄νμΌ μκ°μ μλ£νμ κ²μ¬νμ¬ μ λΉν μλ£νμ μ ννκΈ° μν΄μμ΄λ€. μ λ€λ¦μ μ¬μ©νλ©΄ κ°μ²΄μ μλ£νμ μ»΄νμΌν λ 체ν¬νκΈ° λλ¬Έμ κ°μ²΄ μλ£νμ μμ μ±μ λμ΄κ³ ν λ³νμ λ²κ±°λ‘μμ΄ μ€μ΄λ λ€. μ λ€λ¦μ μ¬μ© λ°©λ² μ λ€λ¦μ μ΅κΈ λΈλν· μ¬μ΄μ νμ λ§€κ°λ³μ λ₯Ό λ£μ΄ μ μΈνκ³ νλ μ΄μμ νμ λ§€κ°λ³μλ₯Ό μ§μ ν μ μλ€. νμ λ§€κ°λ³μλ μ..
[μ½νλ¦° μμ μ 볡] μ¬λ¬ μ’ λ₯μ ν΄λμ€
λ³΄ν΅ ν΄λμ€ λ μμ±κ³Ό λμμ κ°μ§κΈ° λλ¬Έμ νλ‘νΌν° μ λ©μλ λ₯Ό λ©€λ²λ‘ κ°μ§λ€. λ¨μ½ νΉμ λμμ κ°μ§μ§ μκ³ μ€λ‘μ§ λ°μ΄ν° μ μ₯μ μν΄ μ¬μ©νλ€λ©΄ μΌλ°μ μΈ ν΄λμ€μμμ ꡬν λΆλΆμ νμκ° μμ κ²μ΄λ€. ꡬνλΆλ₯Ό μμ±νμ§ μμΌλ©΄ κ·Έλ§νΌ λ©λͺ¨λ¦¬λ₯Ό λ μ¬μ©νκ² λκ³ μμμ λλΉλ₯Ό λ§μ μ μκ² λ κ²μ΄λ€. μ΄μ²λΌ μ½νλ¦°μμλ λ°μ΄ν° μ μ₯μ μν ν΄λμ€κ° μλλ° λ°λ‘ λ°μ΄ν° ν΄λμ€ μ΄λ€. λ°μ΄ν° ν΄λμ€ λ³΄ν΅ λ°μ΄ν° μ λ¬μ μν κ°μ²΄λ₯Ό DTO(Data Transfer Object) λΌκ³ λΆλ₯Έλ€. ꡬν λ‘μ§μ κ°μ§κ³ μμ§ μκ³ μμν λ°μ΄ν° κ°μ²΄λ₯Ό νννκΈ° λλ¬Έμ μμ±κ³Ό μμ±μ μ κ·Όνκ³ μ νλ κ²ν°μ μΈν° λ₯Ό κ°μ§λ€. μΆκ°μ μΌλ‘ toString(), equals() κ³Ό κ°μ λ°μ΄ν°λ₯Ό νννκ±°λ λΉκ΅νλ λ©μλ..
[μ½νλ¦° μμ μ 볡] μΆμ ν΄λμ€μ μΈν°νμ΄μ€
μΆμ ν΄λμ€ μΆμ ν΄λμ€ VS μΈν°νμ΄μ€ μΆμ ν΄λμ€ λ λλ΅μ μΈ μ€κ³μ λͺ μΈμ 곡ν΅μ κΈ°λ₯μ ꡬνν ν΄λμ€μ΄λ€. μ¦, ꡬ체μ μ΄μ§ μμ κ²μ΄λ€. μΆμ ν΄λμ€ λ₯Ό μμνλ νμ ν΄λμ€ λ μΆμ ν΄λμ€μ λ΄μ©μ λ ꡬ체ν ν΄μΌ νλ€. μ€μ? κ·ΈλΌ μΆμ ν΄λμ€λ μΈν°νμ΄μ€λ κ°μ κ±° μλ? π€ μλ°ν λ§νλ©΄ λ€λ₯΄λ€. μΈν°νμ΄μ€ μμ λλ΅μ μΈ μ€κ³ λͺ μΈλ₯Ό ꡬννκ³ μΈν°νμ΄μ€ λ₯Ό μμνλ νμ ν΄λμ€ μμ μ΄λ₯Ό ꡬ체ννλ κ²μ λμΌνλ€. νμ§λ§ μΈν°νμ΄μ€μμλ νλ‘νΌν°μ μν μ 보λ₯Ό μ μ₯ν μ μλ€. λ€μ λ§νλ©΄ μΈν°νμ΄μ€ μμλ νλ‘νΌν°μ μ΄κΈ°ν κ° λΆκ°λ₯νλ€λ κ²μ΄λ€. interface Vehicle { val name : String val color : String val weight : Double } ..
[TIL] 22.04.20
곡λΆν κ² μ μ²κΈ° 21λ 3νμ°¨ μκ²λ κ² [1κ³Όλͺ©] μννΈμ¨μ΄ μ€κ³ 1. λλ°μ° λΆμ κΈ°λ² - κ°μ²΄ λͺ¨λΈλ§ -> λμ λͺ¨λΈλ§ -> κΈ°λ₯ λͺ¨λΈλ§ μμΌλ‘ μ§νΉ - κ°μ²΄ λͺ¨λΈλ§ : μ 보 λͺ¨λΈλ§μ΄λΌκ³ λ λΆλ₯΄λ©° ν΄λμ€ λ€μ΄μ΄κ·Έλ¨μ μμ± - λμ λͺ¨λΈλ§ : μν λ€μ΄μ΄κ·Έλ¨μ μμ± - κΈ°λ₯ λͺ¨λΈλ§ : μλ£ νλ¦λ(Data Flow Diagram)μ μμ± 2. μꡬμ¬ν κ°λ° νλ‘μΈμ€ λμΆ(μꡬμ¬ν μμ§) -> λΆμ -> λͺ μΈ -> νμΈ(μꡬμ¬ν κ²μ¦) 3. μ μμΌ κ°λ° νλ‘μΈμ€ - μ΅μ€νΈλ¦Ό νλ‘κ·Έλλ° : XP, κ³ κ°κ³Ό ν¨κΌ 2μ£Ό μ λμ λ°λ³΅ κ°λ°, TDD - μ€ν¬λΌ : 30μΌλ§λ€ λμ κ°λ₯ν μ νμ μ 곡νλ μ€νλ¦°νΈ κ°λ° 4. UML κ΄κ³ - μΌλ°ν : Generalization, μ€μ μΌκ° νμ΄ν, μΌλ°μ μΈ κ²κ³Ό ..
[TIL] 22.04.18
곡λΆν κ² μ μ²κΈ° 21λ 1νμ°¨ μκ²λ κ² [1κ³Όλͺ©] μννΈμ¨μ΄ μ€κ³ 1. λμμΈ ν¨ν΄ - μμ± ν¨ν΄ : μΆμ ν©ν 리, λΉλ, ν©ν 리 λ©μλ, νλ‘ν νμ , μ±κΈν€ - ꡬ쑰 ν¨ν΄ : μ΄λν°, λΈλ¦¬μ§, μ»΄νΌμ§νΈ, λ°μ½λ μ΄ν°, νΌμ¬λ, νλ‘μ - νμ ν¨ν΄ : 컀맨νΈ, μ΅μ λ², μ λ΅, μν 2. κ°μ²΄μ§ν₯ λΆμ λ°©λ²λ‘ - Cord-Yourdon : E-R λ€μ΄μ΄κ·Έλ¨μ μ¬μ©νμ¬ κ°μ²΄μ νμλ₯Ό λ°μ΄ν° λͺ¨λΈλ§ νλλ° μ΄μ 3. μννΈμ¨μ΄ μμ€ν λΆμ - νλ«νΌ κΈ°λ₯ λΆμ - νλ«νΌ μ±λ₯ νΉμ± λΆμ - μ΄μ체μ λΆμ - λ€νΈμν¬ λΆμ - DBMS λΆμ 4. UML - ν΄λμ€ λ€μ΄μ΄κ·Έλ¨ : μμ€ν μ ꡬμ±νλ ν΄λμ€λ€ μ¬μ΄μ κ΄κ³λ₯Ό νμ - μ‘ν°λΉν° λ€μ΄μ΄κ·Έλ¨ : μμ€ν λ΄λΆμ μ‘΄μ¬νλ μ¬λ¬ νμμ λΆκΈ° λ° μ‘°κ±΄μ νμ ..