๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (377) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Android] RecyclerView setHasFixedSize developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView#sethasfixedsize RecyclerView | Android ๊ฐ๋ฐ์ | Android Developers RecyclerView open class RecyclerView : ViewGroup, ScrollingView, NestedScrollingChild2, NestedScrollingChild3 Known Direct Subclasses BaseGridView An abstract base class for vertically and horizontally scrolling lists. WearableRecyclerView Wearable spec.. [Android] AppCompat Library ์ฌ์ฉ ์ด์ developer.android.com/jetpack/androidx/releases/appcompat?hl=ko AppCompat | Android ๊ฐ๋ฐ์ | Android Developers AppCompat ์ด์ API ๋ฒ์ ์ ํ๋ซํผ์์ ์ API์ ์ก์ธ์คํ ์ ์์ต๋๋ค(๋๋ถ๋ถ ๋จธํฐ๋ฆฌ์ผ ๋์์ธ ์ฌ์ฉ). ์ต๊ทผ ์ ๋ฐ์ดํธ ํ์ฌ ์์ ํ ๋ฒ์ ๋ค์ ๋ฒ์ ํ๋ณด ๋ฒ ํ ๋ฒ์ ์ํ ๋ฒ์ 2021๋ 1์ 13์ผ 1.2.0 - 1.3.0- developer.android.com AppCompat์ Android Jetpack ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋. ์ด์ API ๋ฒ์ ์ ํ๋ซํผ์์ ์ API์ ์ก์ธ์คํ ์ ์๋ค. ๋๋ถ๋ถ์ Material Design์ ์ง์ํ๋ค. > ๋ฒ์ ํธํ์ฑ ๋ฌธ์ ํด๊ฒฐ. ์ด์ ๋ฒ์ ํ๋ซํผ์์ ์ ๊ณตํ์ง ์๋.. [Kotlin] Equality ==, === kotlinlang.org/docs/equality.html Equality - Help | Kotlin kotlinlang.org ์ฝํ๋ฆฐ์ equality ํ์ ์๋ ๋ ๊ฐ์ง๊ฐ ์๋ค. ๊ตฌ์กฐ์ equality ( == : equals()๋ก ํ์ธํ๋ค.) ์ฐธ์กฐ equality (===: ๊ฐ์ ๊ฐ์ฒด์ ์ฐธ์กฐ ํฌ์ธํธ๋ฅผ ๋น๊ตํ๋ค.) ๊ตฌ์กฐ์ equality ๊ตฌ์กฐ์ equality๋ == ์ฐ์ฐ์ผ๋ก ํ์ธํ๊ณ , ๋ฐ๋ ์ฐ์ฐ์ != ์ผ๋ก ํ์ธํ๋ค. ๊ด๋ก์, a == b ํํ์ ๋ค์๊ณผ ๊ฐ์ด ์ ํ๋๋ค. a?.equals(b) ?: (b == null) a๊ฐ null์ด ์๋๋ฉด equals(Any?)๋ฅผ ํธ์ถํ๋ค. a๊ฐ null์ด๋ฉด b์ ์ฐธ์กฐ๊ฐ null๊ณผ ๊ฐ์์ง ํ์ธํ๋ค. ๋ช ์์ ์ผ๋ก null ๊ฐ๊ณผ ๋์ผํ์ง ๋น๊ตํ ๋๋ ์ต์ ํํ ๊ฒ์ ์.. [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.. ์ด์ 1 ยทยทยท 42 43 44 45 46 47 48 ๋ค์