π» κ°λ°/TIL
[TIL] 22.06.03 - iOS νλ©΄ μ ν
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 μ μ¬μ©νμ¬ ν΄λμ€ μΈμ€ν΄μ€μ λ©λͺ¨λ¦¬ ν λΉμ ν΄μ ν μ μμ κ°μ ν΄λμ€ μΈμ€ν΄μ€λ₯Ό μ¬λ¬ κ°μ λ³μμ ν λΉν λ€μ κ°μ λ³κ²½μν€λ©΄ λͺ¨λ λ³μμ μν₯μ μ€ (λ©λͺ¨λ¦¬λ₯Ό 볡μ¬) - ꡬ쑰체 κ° νμ κ°μ ꡬ쑰체λ₯Ό ..
[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 - ν΄λμ€ λ€μ΄μ΄κ·Έλ¨ : μμ€ν μ ꡬμ±νλ ν΄λμ€λ€ μ¬μ΄μ κ΄κ³λ₯Ό νμ - μ‘ν°λΉν° λ€μ΄μ΄κ·Έλ¨ : μμ€ν λ΄λΆμ μ‘΄μ¬νλ μ¬λ¬ νμμ λΆκΈ° λ° μ‘°κ±΄μ νμ ..
[TIL] 22.04.17
곡λΆν κ² μ μ²κΈ° 22λ 1νμ°¨ μκ²λ κ² [1κ³Όλͺ©] μννΈμ¨μ΄ μ€κ³ 1. μννΈμ¨μ΄ μ€κ³ λ°©λ² - μν₯μ μ€κ³ λ°©λ² : λ°ν μ , μμ λ¬Έμ λ₯Ό ν΄κ²°νμ¬ ν° λ¬Έμ λ‘ ν΅ν©, κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° (Java) - νν₯μ μ€κ³ λ°©λ² : νλ€μ΄, ν° λ¬Έμ λ₯Ό μμ λ¬Έμ λ‘ λΆν΄, μ μ°¨ μ€μ¬ νλ‘κ·Έλλ° (C) 2. λ°μ΄ν° νλ¦λ - νλ‘μΈμ€ : μ - λ°μ΄ν° νλ¦ : νμ΄ν - λ°μ΄ν° μ μ₯ : ννμ - μ’ λ£ : μ¬κ°ν 3. UI μ€κ³ λꡬ - μμ΄μ΄ νλ μ : νμ΄μ§μ λν λλ΅μ μΈ λ μ΄μμ λ° UI μμ μ€κ³ - λͺ©μ : μμ΄μ΄ νλ μμμ λμμΈ, μ¬μ© λ°©λ² μ€λͺ , νκ°λ₯Ό μν΄ μ€μ νλ©΄κ³Ό μ μ¬νλλ‘ UIλ₯Ό λ³κ²½ (μ μ ) - μ€ν 리보λ : μμ΄μ΄ νλ μμμ μ½ν μΈ μ€λͺ , νλ¦λ μΆκ° - νλ‘ν νμ : μμ΄μ΄ νλ μ..
[TIL] 22.03.23
곡λΆν κ² μ½λ£¨ν΄ μκ²λ κ² 1. μ½λ£¨ν΄ μ΄μ μ μ΄μ΄ μ½λ£¨ν΄ μ λν΄ νμ΅νλ€. μ½λ£¨ν΄μ μ½λ£¨ν΄ μ€μ½ν λ₯Ό ν΅ν΄μ μ€νν μ μλ€. μ½λ£¨ν΄ μ€μ½ν λ₯Ό μ¬μ©νμ§ μκ³ λ μ½λ£¨ν΄μ μ€νν μ μμ§λ§ μ΄λ° κ²½μ°μ μμ μ΄ μ’ λ£λ μ½λ£¨ν΄μ λν΄ λ³λμ μ²λ¦¬λ₯Ό ν΄μ€μΌ νλ€. Coroutine Scope Coroutine Scope λ μ½λ£¨ν΄μ λ²μλ₯Ό μ μνλ μΈν°νμ΄μ€ μ΄λ€. λ§ κ·Έλλ‘ μ½λ£¨ν΄μ΄ μ€νλλ λ²μλ₯Ό μ§μ νλ€. λͺ¨λ μ½λ£¨ν΄μ Scope λ΄μμ μ€νλμ΄μΌ νκ³ μ‘ν°λΉν° λ νλκ·Έλ¨ΌνΈ μ μλͺ μ£ΌκΈ° μ λ°λΌ μ½λ£¨ν΄ μ μ·¨μ νμ¬ λ©λͺ¨λ¦¬ λ¦ μ λ°©μ§νλ€. Global Scope μ Coroutine Scope κ° μ‘΄μ¬νλ€. 1. Global Scope : μ±μ μλͺ μ£ΌκΈ°μ ν¨κ» λμνκΈ°μ λ³λμ μλͺ μ£ΌκΈ° κ΄λ¦¬κ° ..
[TIL] 22.03.22
곡λΆν κ² μ½λ£¨ν΄ νλ‘κ·Έλλ¨Έμ€ 1λ¬Έμ μκ²λ κ² 1. μ½λ£¨ν΄ μ½λ£¨ν΄ μ λΉλκΈ° μ²λ¦¬ λ₯Ό μν΄ μ½νλ¦° μμ μ§μνλ λΌμ΄λΈλ¬λ¦¬ μ΄λ€. μ°μ λκΈ° μ λΉλκΈ° μ λν΄μ μμ보μ. λκΈ°λ μλ΅μ μμ²νμ λ λ°ν κ°μ μ»κΈ° μ κΉμ§ λκΈ°νλ κ²μ λ»νκ³ , λΉλκΈ°λ λκΈ°μκ° λ³λμ Taskλ₯Ό μννλ κ²μ λ»νλ€. λμμ± μ²λ¦¬ μλ OS μμ μ λ€μ λ λμμ± μ²λ¦¬ μ λν΄μ λ°°μ μλ€. κ·Έλ°λ° κ°μκΈ° λμμ± μ²λ¦¬λ₯Ό μ μκΈ°νλλ, λμμ± μ²λ¦¬κ° λΉλκΈ°μ κ°λ μ΄ μ μ©λμ΄ μκΈ° λλ¬Έμ΄λ€. λμμ± μ²λ¦¬λ λ§ κ·Έλλ‘ λμμ μ¬λ¬ κ°μ νλ‘μΈμ€κ° λμμ μ€νλλ κ²μ²λΌ 보μ΄λ κ²μ΄λ€. (Context Switching μ΄ λ°μνλ€.) μ±κΈ μ½μ΄ μμ λ©ν° μ°λ λ λ₯Ό ν΅ν΄μ μ΄λ₯Ό ꡬννκ³ μλ€. μ°λ λ λμμ± μ²λ¦¬λ₯Ό μν΄μ..
[TIL] 22.03.20
곡λΆν κ² μλλ‘μ΄λ κ°μ μκ° μμ‘΄μ± μ£Όμ νλ‘κ·Έλλ¨Έμ€ 1λ¬Έμ μκ²λ κ² 1. μμ‘΄μ± μ£Όμ (Dependancy Injection) μ΄λ²μ μμ‘΄μ± μ£Όμ μ΄λΌλ κ²μ μ²μ μ νκ² λλ€. μμ‘΄μ± μ΄λΌλ λ¨μ΄ μ체λ₯Ό build.gradle μ μ μΈνλ implementation 'org.jetbrains... μ²λΌ λΌμ΄λΈλ¬λ¦¬ μΆκ° λ§κ³ λ μ ν΄λ³Έ μ μ΄ μμλ€. μλ¬΄νΌ μ€λ κ°μ λ₯Ό μκ°νλ©΄μ μμ‘΄μ± μ£Όμ λΌμ΄λΈλ¬λ¦¬μΈ Koin μ μ νκ³ μ΄μ κ΄ν΄μ μ’ λ μ°Ύμ보λ μκ°μ κ°μ‘λ€. μμ‘΄μ± μ£Όμ μ΄λΌλ κ°λ μ체λ μ΄λ ΅μ§ μμλ€. μ°μ μ½λλ₯Ό μ΄ν΄λ³΄μ. class Car { private val engine = Engine() private fun start() { engine.start() } } class En..
[TIL] 22.03.19
곡λΆν κ² MVC, MVP, MVVM, AAC μκ²λ κ² 1. MVC μ°μ κ°μ₯ μΌλ°μ μΌλ‘ μ¬μ©λλ μν€ν μ³ ν¨ν΄μ΄λ€. Model, View, Controller λ‘ λλλ€. Model μ λ°μ΄ν° μμ±, μμ , κ°±μ λ±μ λ‘μ§μ΄ λ€μ΄μλ€. View λ μ¬μ©μμκ² λ³΄μ¬μ§λ νλ©΄μ΄λ€. Controller λ μ¬μ©μμ μ λ ₯μ μ²λ¦¬νλ€. μ°μ μ¬μ©μκ° View λ₯Ό ν΅ν΄μ μ λ ₯μ΄ λ€μ΄μ€κ³ Controller κ° μ΄λ₯Ό μ²λ¦¬νλ€. μ΄ λ μ λ ₯μ λΆμν΄μ Model κ³Ό View μ κ°±μ μμ²μ νλ€. Model μ λ°μ΄ν°λ₯Ό κ°±μ νκ³ View λ UI λ₯Ό κ°±μ νλ€. μ 리νμλ©΄, Controller λ Model κ³Ό View κ° λ¬΄μμ ν΄μΌν μ§ μκ³ μκ³ μ΄λ₯Ό ν΅μ νκ³ μλ€. Controller λ₯Ό ν΅ν΄μ Model κ³Ό..