Kotlin14 [3] Kotiln Coroutines - Suspending Function Ref. ( μλ μ νλΈ μμμ κ°λ ₯ μΆμ² ) Youtube : [μμ°¨μ, μ½νλ¦° μ½λ£¨ν΄] https://youtube.com/playlist?list=PLbJr8hAHHCP5N6Lsot8SAnC28SoxwAU5A Ref : https://kotlinlang.org/ [ κ°λ¨ μμ½ ] λΉλκΈ°λ μμ°¨μ μΌλ‘ μμ°¨μ μ΄μ§ μκ² λΉλκΈ°μ μΌλ‘ - async μ΄μ€ Lazy λ§€κ° λ³μμ λν΄μλ μ΄ν΄ 보μλ€. Structured concurrency νν > μ€μ½ν μμμ μ½λ£¨ν΄μ μ€νμν¨λ€λ©΄, ν΄λΉ μ½λ£¨ν΄λ€μ΄ μλͺ»λμμ λ μΊμ¬μ΄ μ ν λλ©΄μ λͺ¨λ μ½λ£¨ν΄μ μ’ λ£ν μ μλ€λ μ μ£Όμ! βοΈ μ½λ£¨ν΄μ λΉλκΈ° μΌμ§λΌλ μμ°¨μ μΈ μ½λμ κ°λ€. (μμ 08:20) fun main() = runBlocking { val ti.. 2021. 7. 27. [2] Kotiln Coroutines - Cancelation / TimeOut https://medium.com/@limgyumin/%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%BD%94%EB%A3%A8%ED%8B%B4%EC%9D%98-%EA%B8%B0%EC%B4%88-cac60d4d621b λμμ΄ λ§μ΄ λμλ€. μ½νλ¦° μ½λ£¨ν΄μ κΈ°μ΄ μ½νλ¦° μ μ½λ£¨ν΄μ λΉλκΈ° νλ‘κ·Έλλ°μ μ²λ¦¬ν μ μλ μ’μ λ°©λ²μ λλ€. medium.com Ref. Youtube : [μμ°¨μ, μ½νλ¦° μ½λ£¨ν΄] https://youtube.com/playlist?list=PLbJr8hAHHCP5N6Lsot8SAnC28SoxwAU5A Ref : https://kotlinlang.org/ Cancelation μ€ν νλ μ½λ£¨ν΄μ μ·¨μ νλ λ°©λ² → μ·¨μ νλ κ²μ΄ μ€μν μ΄μ λ νλνλ λ©λͺ¨λ¦¬μ 리μμ€λ₯Ό μ°¨.. 2021. 7. 26. [1] Kotiln Coroutines - Coroutine Builder/Scope/Suspend function/Structured Concurrency Why Coroutine? https://wooooooak.github.io/kotlin/2019/08/25/%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%BD%94%EB%A3%A8%ED%8B%B4-%EA%B0%9C%EB%85%90-%EC%9D%B5%ED%9E%88%EA%B8%B0/ Ref. Youtube : [μμ°¨μ, μ½νλ¦° μ½λ£¨ν΄] https://youtube.com/playlist?list=PLbJr8hAHHCP5N6Lsot8SAnC28SoxwAU5A Ref : https://kotlinlang.org/ [ μ€μν κ°λ ] * Coroutine Builder → [launch] , [runBlocking] * Scope → [CoroutineScope] , [GlobalScope] * S.. 2021. 7. 23. Kotlin : Repeat / Git Overide r-- r-- r-- ν΄κ²° Repeat : λ΄λΆμ μΌλ‘ for λ¬Έμ μ¬μ©νλ inline ν¨μ μ΄λ€. fun main() { repeat(100){ j -> println(j) } } → μΆλ ₯ : 0 1 ... 99 Git Overide r-- r-- r-- ν΄κ²° [λΉμ μν©] .git μ΄ λ€μ΄μλ νλ‘μ νΈ νμΌμ μλ λͺ λ Ήμ΄λ‘ μμ νλ €κ³ νλ€. rm -R kotlin_coroutines [ν΄κ²°] rm -rf kotlin_coroutines [-r κ³Ό -rf μ°¨μ΄κ° λκΈΈλ? ] μΌλ¨ rm μ removeμ μ½μμ΄κ³ , -r : νμ Directoryλ₯Ό ν¬ν¨ν λͺ¨λ νμΌ μμ -rf : μ§μ λ Directoryμ SubDirectoryμ κ·Έ μμ λͺ¨λ νμΌμ μμ (μ€μλ‘ μμ ν΄λλ₯Ό root λ‘νλ©΄.. μ ..μ λ§μ λͺ λ Ήμ΄..λΌκ³ ν.. 2021. 7. 23. [λ―Έμ Kotlin_Android] MVVM ν¨ν΄ 1. MVVM ν¨ν΄ 2. Live Data - Observer ν¨ν΄ 3. Android - Navigation https://www.youtube.com/watch?v=-b0VNKw_niY https://thdev.tech/google%20io/2018/05/12/Android-New-Package-AndroidX/ https://black-jin0427.tistory.com/138 https://deque.tistory.com/110?category=984011 https://woovictory.github.io/2019/06/10/Android-MVVM/ https://aonee.tistory.com/48 https://charlezz.medium.com/view-binding-%EC%82%B4%ED.. 2021. 7. 19. IntelliJ μ€μΉ μ μ»΄νμΌ μ€λ₯ JDK 8 https://gaeggu.tistory.com/2 java μ€μΉνκΈ° ( JDK μ€μΉ, νκ²½λ³μ μ€μ , ν μ€νΈ) μ΄λ² ν¬μ€ν μμλ μλ°λ₯Ό μ€μΉνλ λ°©λ²μ μμλ³΄κ² μ΅λλ€. μλ° μ€μΉλ 3λ¨κ³λ‘ λλμ΄ μ§ννκ² μ΅λλ€. 1. JDK μ€μΉ 2. νκ²½λ³μ μ€μ 3. μλ° μ€ν ν μ€νΈ 1. JDK μ€μΉ λ¨Όμ μλ°λ₯Ό μ€μΉνκΈ° μ gaeggu.tistory.com https://github.com/JetBrains/kotlin/commit/b27dd8e3fe0 Apply illegal-access=permit workaround for JDK 16+ · JetBrains/kotlin@b27dd8e Apparently, the openjdk commit that enabled JEP 396 (encapsula.. 2021. 7. 19. Kotlin_μ λ€λ¦ / νμ₯ / ν¨μν νλ‘κ·Έλλ° ↓ TakeIf, TakeUnless https://medium.com/@limgyumin/%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%9D%98-takeif-takeunless-%EB%8A%94-%EC%96%B8%EC%A0%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%EA%B0%80-f6637987780 /** * generic : * ν΄λμ€μ μΈν°νμ΄μ€ λ§€κ° λ³μ λλ ν¨μμ λ§€κ° λ³μ λ°ν νμ μ 미리 νμ νμ§ μκ³ * μ μν νμ μ¬μ©λλ μμ μμ νΉμ νμ μ μ§μ ν μ μλλ‘ ν΄μ£Όλ κΈ°λ²μ΄ μ λ€λ¦. * * μΊμ€ν μ λ°©μ§ νμ¬ μ±λ₯ ν₯μ κ°λ₯. * * ( Listλ Generic μΈν°νμ΄μ€λ‘ μ μ λ¨ → ν μ’ λ₯μ List μμ λ€λ₯Έ νμ μ μμλ€μ μ μ₯ν .. 2021. 7. 2. Kotlin_μμ / κ°μ²΄ / μΈν°νμ΄μ€μ μΆμ ν΄λμ€ μμ public : μ½νλ¦°μμ μμ±κ³Ό ν¨μκ° κΈ°λ³Έμ μΌλ‘ κ°λ κ°μμ± private : μμ±κ³Ό ν¨μκ° μ μλ ν΄λμ€ λ΄λΆμμλ§ μ¬μ©λ μ μλ€. protected : μ΄ κ°μμ±μ΄ μ§μ λ μμ±κ³Ό ν¨μλ μμ μ΄ μ μλ ν΄λμ€ λ΄λΆ λλ μ΄ ν΄λμ€μ μ΄λ€ μλΈ ν΄λμ€μμλ μ¬μ© κ°λ₯ is μ°μ°μ : νμ¬ κ°μ²΄κ° νΉμ νμ μΈμ§ κ²μ¬νλ€. μμ open class Room(val name: String){ protected open val dangerLevel : Int = (1..10).shuffled().last() fun description() = "Room: ${name}\n" + "μν μμ€ : ${dangerLevel}" open fun load() = "μ무λ μ¬κΈ°μ μ€μ§ μμμ΅λλ€.." // an.. 2021. 7. 2. Kotlin_Map / Class Map /** * * λ°λ³΅λ¬Έ https://androidtest.tistory.com/98 * * Map - ν€μ μμΌλ‘ λ°μ΄ν°κ° μ μ₯λλ©°, μ μλ₯Ό μ¬μ©ν μΈλ±μ€ κΈ°λ° μ²λ¦¬ λμ ν€λ₯Ό κΈ°λ°μΌλ‘ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ€. * MutableMapOr , mapOf ν¨μλ₯Ό μ¬μ©ν΄μ μμ±λ¨. * ν€μ 벨λ₯λ₯Ό μ μνκΈ° μν΄ toλ₯Ό μ¬μ©νκ³ μμ. * toλ ν€μλ μ²λΌ 보μ΄λλ° λ΄λΆμ μΌλ‘λ μ»΄νμΌλ¬κ° "carrie".to(100) μ΄λ κ² λ³ννλ€. - μ μ΄μ μμ±μμ μ΄λ κ² ν΄λ λ¨. * Pair νμ μ μ¬μ©ν μλ μμ * * λκ°μ keyμ κ°μ μΆκ°νλ €κ³ νλ©΄ (μΆκ°λ +=) ν΄λΉ ν€μ 벨λ₯λ§ λ°λλ€. * * ν€ κ°μΌλ‘ κ° κ°μ Έμ¬ μ μλ€. * * Mapμμ κ°μ κ°μ Έμ€λ ν¨μ * [] μΈλ±μ€ μ°μ°μ / getVa.. 2021. 7. 1. Kotlin - Scope ν¨μ & Listμ Set μ€μ½ν ν¨μλ₯Ό μ¬μ©νλ©΄ μ½λ μμ μ€μΌ μ μλ€. μμ μΌλ‘ μ΄λ €μμ μ νλΈλ₯Ό ν΅ν΄ κ°μ’λ₯Ό μμ²νλ€. ↓ μΆμ²(μ½κ² μ΄ν΄ λλ€.) https://www.youtube.com/watch?v=QGDWWL6qA3I https://www.youtube.com/watch?v=B-QPB487aVA fun main() { var price = 5000 var book = Book("λλͺ¨",10000) book.name = "[μ΄νΉκ°]" + book.name book.discount() // scope ν¨μ applyλ₯Ό μ¬μ©νλ©΄, μ°Έμ‘° μ°μ°μλ₯Ό μμ΄ μ¬μ©μ΄ κ°λ₯ν΄μ§λ κ²μ νμΈ ν μ μλ€. // applyλ μΈμ€ν΄μ€ μμ μ λ€μ λ°ννλ―λ‘, μμ±λμ λ§μ μ‘°μλ μΈμ€ν΄μ€λ₯Ό λ³μμ λ°λ‘ λ£μ΄μ€ μ μλ€. // main .. 2021. 6. 30. Kotlin_Null & λ¬Έμμ΄ & μ«μ νμ μ½νλ¦°μμλ null κ°μ΄ μ§μ λ μ μλ μμκ° μλκ° νλ©΄ κ·Έλ μ§ μμ μμλ μλ€. nullable non-nullable * μλ°λ μ΄λ€ νμ μ λ³μλ null κ°μ κ°μ§ μ μλλ° κ·Έλμ NPE λ‘ μΈν΄ μ±μ΄ ν¬λμ λλ κ²½μ°κ° ννλ€.' * null κ°μ κ°μ§ μ μλ€κ³ νΉλ³ν μ§μ λμ§ μμΌλ©΄ λ³μκ° Null κ°μ κ°μ§ μ μλ€. readlineμ ν€λλ λ°ν νμ μ΄ String? μΈλ°, μ΄λ ν΄λΉ νμ μ΄ null κ°λ₯ν¨μ λνλΈλ€. public fun readline(): String? μλ μ½λλ μ€λ₯κ° λμ§ μλλ€. fun main() { var beverage = readLine() beverage = null println(beverage) } null κ°λ₯ νμ - String? n.. 2021. 6. 30. Kotlin - μ΅λͺ ν¨μμ ν¨μ νμ β μ΅λͺ ν¨μ β == λλ€(Lambda) μ΅λͺ ν¨μ μ μ == λλ€ ννμ == λλ€μ μ΅λͺ ν¨μ λ°ν κ²°κ³Ό -- λλ€ κ²°κ³Ό μ΅λͺ ν¨μλ λ€λ₯Έ ν¨μμ μΈμλ‘ μ½κ² μ λ¬λ μ μλ€. // λ©μΈ ν¨μ λ΄λΆμμ μ΅λͺ ν¨μλ₯Ό μ μνκ³ νΈμΆνλ€. // μ΅λͺ ν¨μλ { μ } μ¬μ΄μ ννμμ΄λ λͺ λ Ήλ¬Έμ λ£μ΄ μμ±νλ€. // μ΅λͺ ν¨μ } λ€μμ ()λ₯Ό μ¬μ©νμ¬ νΈμΆνλ€. - () λΉΌλ©΄ λ¬Έμμ΄ μΆλ ₯ μλ¨ // - μ΄λ¦μ΄ μλ ν¨μμ²λΌ μ΅λͺ ν¨μλ μΈμλ₯Ό μ§μ νλ κ΄νΈλ₯Ό μ¬μ©ν΄μ νΈμΆλ λλ§ λμνκΈ° λλ¬Έμ΄λ€. // (μλ μμ μμ μΈμκ° μμΌλκΉ λΉ κ΄νΈ) fun main() { println( { val currentYear = 2021 "SimVillage λ°©λ¬Έμ νμν©λλ€. (copyright $current.. 2021. 6. 30. μ΄μ 1 2 λ€μ