๋น ๊ตฌ๋ฉ ์ฑ์ฐ๊ธฐ (341) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Design Pattern] Delegation Pattern en.wikipedia.org/wiki/Delegation_pattern Delegation pattern From Wikipedia, the free encyclopedia Jump to navigation Jump to search In software engineering, the delegation pattern is an object-oriented design pattern that allows object composition to achieve the same code reuse as inheritance. In delegation, an obj en.wikipedia.org ์์๊ณผ ๊ฐ์ด ์ฝ๋ ์ฌ์ฌ์ฉ์ ํ ์ ์๋๋ก ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋๋ก ํ๋ ๊ฐ์ฒด ์งํฅ ๋์์ธ ํจํด. ๋ ๊ฐ์ ๊ฐ์ฒด(์์ ๊ฐ์ฒด,.. [Kotlin] Delegation kotlinlang.org/docs/delegation.html#overriding-a-member-of-an-interface-implemented-by-delegation Delegation - Help | Kotlin kotlinlang.org Delegation pattern ์ ์์์ ๊ตฌํํ๋๋ฐ์ ๋์ฒดํ๊ธฐ ์ข๊ณ , Kotlin์ ๋ณด์ผ๋ฌ์ฝ๋ ์์ด ์ฌ์ฉํ๋๋ก ์ง์ํ๋ค. -> Delegation pattern ํ์ธ Derived ํด๋์ค๋ ์ง์ ํ ๊ฐ์ฒด(์ฌ๊ธฐ์๋ BaseImpl)๋ก ๋ชจ๋ public ๋ฉค๋ฒ๋ค์ ์์ํด์ Base ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ์ ์๋ค. interface Base { fun print() } class BaseImpl(val x: Int) : Base { override fun print.. [Programming] Backpressure medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7 Backpressure explained — the flow of data through software Backpressure is something nearly every software engineer will have to deal with at some point, and for some it’s a frequent problem. But… medium.com ์ดํดํ ๋ฐ๋ฅผ ์ ๋ฆฌ ์ํํธ์จ์ด์ ๋ชฉ์ ์ ์ธํ ๋ฐ์ดํฐ๋ฅผ ์ํ๋ ์์ํ ๋ฐ์ดํฐ๋ก ๋ณํ์ํค๋ ๊ฒ์ด๋ค. Backpressure๋ ์ธํ ๋ฐ์ดํฐ๋ฅผ ์์ํ ๋ฐ์ดํฐ๋ก ๋ณํ์ํค๋ ๊ณผ์ ์ ๋ชจ์ข ์ .. [Kotlin Coroutines] Channels kotlinlang.org/docs/channels.html#channel-basics Channels - Help | Kotlin kotlinlang.org kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.channels/-channel/ Channel - kotlinx-coroutines-core Channel Channel is a non-blocking primitive for communication between a sender (via SendChannel) and a receiver (via ReceiveChannel). Conceptually, a channel is similar to Java’.. [Android] java.lang.IllegalStateException: Can't access the Fragment View's LifecycleOwner when getView() is null i.e., before onCreateView() or after onDestroyView() ๋ก๊ทธ ํ์ธ java.lang.IllegalStateException: Can't access the Fragment View's LifecycleOwner when getView() is null i.e., before onCreateView() or after onDestroyView() ํ๋๊ทธ๋จผํธ์ onCreate() ์์์ getViewLifeCycleOwner() ๋ฅผ ํธ์ถํด์ ๋ฐ์ํ ์ด์์ด๋ค. 1. Fragment.java์ getViewLiveCycleOwner()๊ฐ ๋ฐํํ๋ ๋ณ์๋ฅผ ํ์ธํ๋ค. // This is initialized in performCreateView and unavailable outside of the // onCreateView/onDestroyView lifecycle.. [Kotlin Coroutines] ObsoleteCoroutinesApi annotation class ObsoleteCoroutinesApi ์ฝ๋ฃจํด api์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋๋ค๋ ๋งํฌ ์ ์ธ. ํด๋น ์ ์ธ์ ๋์์ธ์ ์๋ ค์ง ์ฌ๊ฐํ ๊ฒฐํจ์ด ์๊ณ , ๋ฏธ๋์ ์ฌ์ค๊ณ๋ ๊ฒ์ด๋ค. ๋๋ต์ ์ผ๋ก ๋งํ๋ฉด, ์ด ์ ์ธ์ ๋ฏธ๋์ deprecated๋ ๊ฒ์ด๋ ์์ง ๋์ฒดํ ์ ์๋ ๊ฒ์ด ์๊ธฐ์ ๋น์ฅ deprecated ๋์ง ์์ ์ ์๋ค. @ObsoleteCroutinesApi [Android] AndroidManifest <receiver> developer.android.com/guide/topics/manifest/receiver-element?hl=ko | Android ๊ฐ๋ฐ์ | Android Developers broadcast receiver(BroadcastReceiver ์๋ธํด๋์ค)๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑ์์ ์ค ํ๋๋ก ์ ์ธํฉ๋๋ค. broadcast receiver๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค๋ฅธ ๊ตฌ์ฑ์์๊ฐ ๋ค์๊ณผ ๊ฐ์ ๋๋ ์์คํ ์ด๋ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ธ developer.android.com ... ... ... ... ... broadcast receiver(BroadcastReceiver ์๋ธํด๋์ค)๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ component๋ก ์ ์ธํ๋ค. broadcast receiver๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋๊ณ ์์ง ์์ ๋์๋ ์.. [Android] android.intent.action.MY_PACKAGE_REPLACED developer.android.com/reference/android/content/Intent#ACTION_MY_PACKAGE_REPLACED Intent | Android ๊ฐ๋ฐ์ | Android Developers developer.android.com android.content.Intent public static final String ACTION_MY_PACKAGE_REPLACED ๋ธ๋ก๋์บ์คํธ ์ก์ : ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ ๋ฒ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ค์น๋์์ ๋, ๊ต์ฒด๋ ์ ํ๋ฆฌ์ผ์ด์ ์๊ฒ ๋ณด๋ด์ง๋ค. ์ถ๊ฐ๋๋ ๋ฐ์ดํฐ๋ ์๋ค. ์ธํ ํธ ํํฐ๋ฅผ ์ฌ์ฉํด ์์ ํ๋ค. protected ์ธํ ํธ๋ก ์์คํ ์์๋ง ๋ฐ์ก๋๋ค. ์์ ๊ฐ: android.intent.action.MY_PACKAGE_REPLACED e.. ์ด์ 1 ยทยทยท 38 39 40 41 42 43 ๋ค์