์ ์ฒด ๊ธ (374) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Google IO 2023] Optimize activity-based apps for large screens / Activity Embedding ์ค๋ช https://www.youtube.com/watch?v=zx20-3GSdHw Activity Embedding ํฐ ํ๋ฉด์ ๊ฐ์ง ๋๋ฐ์ด์ค์์ ์กํฐ๋นํฐ๋ฅผ ๋ฒ ์ด์ค๋ก ํ๋ ์ฑ ํ๋ฉด๋ค์ ์ต์ ํ๋ฅผ ๋๋๋ค. ๋ ์กํฐ๋นํฐ๋ฅผ ํฐ ์ฝ๋ ๋ฆฌํฉํ ๋ง ์์ด ํ ํ๋ฉฐ์ ๋๋ํ ๋ณด์ฌ์ค๋ค. ๋ด๋ถ ๋์ ์๋์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๋ฅธ์ชฝ ํ๋ฉดpresentation๊ณผ ์ค์ ๋ค์ ์ ํํ๋ค. ๋ฐํ์์๋ ์๋์ผ๋ก ์๋์ฐ ํฌ๊ธฐ ๋ณ๊ฒฝ์ ๋์ํด ํด๋๋ธ ํฐ์ ์ ๊ฑฐ๋ ํผ์น ๋ ์ค๋ฅธ์ชฝ ๋ ์ด์์์ ์๋์ผ๋ก ์ก์์ค๋ค. ์๋๋ก์ด๋์ ๊ธฐ๋ณธ์ ์ธ ์กํฐ๋นํฐ ์์๋ฅผ ๋ณ๊ฒฝ์ํค์ง ์๋๋ค. ๋ ๊ฐ์ ์ปจํ ์ด๋๋ค์ด๋ ์คํ๋ค(์ฃผ์ ์คํprimary stack, ๋ถ์ฐจ ์คํsecondary stack)์ ์์ฑํ๋ค. ๋ถ์ฐจ ์คํ์ ํญ์ ์ต์์์ ์๊ณ , ์ฃผ์ ์คํ ์์ ์๋ค. .. [Google IO 2023] How to build great Android apps for large screens and foldables ํฐ ํ๋ฉด ๋์ https://www.youtube.com/watch?v=5JQjk3ZqPWc ์ฌ์ฉ์๋ค์ ๋๋ฐ์ด์ค๋ค ๋ณ ํน์ง์ ๋ง๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์๊ตฌํ๋ค. ์ด์ ํฐ ํ๋ฉด์ ๋ํ ์ฑ ํ๋ฆฌํฐ๋ฅผ ๋์ด๊ธฐ ์ํ ์์ ์ด ํ์ํ๋ค. Section 1 ํฐ ํ๋ฉด(ํ๋ธ๋ฆฟ, ํด๋๋ธ)์์์ ์์๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ฉด ์ด๋ฒ์ ์ ๋ฐ์ดํธ๋ ๊ตฌ๊ธ ์ฑ๋ค ๋ฐ ํฝ์ ๋ฐ์ฒ๋ค์ ์ฐธ๊ณ ํ๋ผ Section 2 ํฐ ํ๋ฉด๋ค์์์ ์ฑ ํธํ์ฑ ํฐ ํ๋ฉด์์์ ์ฌ์ฉ์ ์๊ตฌ๋ ๋ค์๊ณผ ๊ฐ๋ค. 1. ์์ ๋ก์ด ํ๋ฉด ํ์ 2. folding, unfolding 3. ๋ฉํฐ ์๋์ฐ ๋ชจ๋ ์ข์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ํด์๋ ํ๋ฉด ๋ณ๊ฒฝ ์์ ์ํ ์ ์ง, ๊ตฌ์ฑconfiguration ๋ณ๊ฒฝ ๋ฐ ์ฐ์์ ์ธ ์ฑ ์ฌ์ฉ ๊ฒฝํ ๋ฑ์ ์ฒ๋ฆฌ๊ฐ ์ค์ํ๋ค. ์ฌ์ฉ์๋ ๋๋ฐ์ด์ค์ ํน์ง์ ์ด๋ ค ์ฑ์ ์ฌ์ฉํ๋ค. ํ๋ธ๋ฆฟ, ํฌ๋กฌ๋ถ .. [Android][Glide] You can't start or clear loads in RequestListener or Target callbacks. ์๋ฌ ๋ก๊ทธ ํ์ธ Caused by: java.lang.IllegalStateException: You can't start or clear loads in RequestListener or Target callbacks. If you're trying to start a fallback request when a load fails, use RequestBuilder#error(RequestBuilder). Otherwise consider posting your into() or clear() calls to the main thread using a Handler instead. ๋ฌธ์ ์ ์ฝ๋ private void setData() { ... Glide.with(imageView) .asBitmap(.. [Android] ์์คํ ๋ฐ ์ ์ด decor view์ ์ฐ์์ ๋ํด ์์๋ณด๋ค๊ฐ ์์คํ ๋ฐ ์ ์ด๋ฅผ ๋ณด๊ฒ ๋๋ค. ์์คํ ๋ฐ๋ ๋ฌด์์ ์๋ฏธํ๋ https://developer.android.com/training/system-ui ์์คํ UI ๊ณต๊ฐ ์ํ ์ ์ด | Android ๊ฐ๋ฐ์ | Android Developers ์์คํ UI ๊ณต๊ฐ ์ํ ์ ์ด ์ปฌ๋ ์ ์ ์ฌ์ฉํด ์ ๋ฆฌํ๊ธฐ ๋ด ํ๊ฒฝ์ค์ ์ ๊ธฐ์ค์ผ๋ก ์ฝํ ์ธ ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฅํ์ธ์. ๊ทธ๋ฆผ 1. [1] ์ํ ํ์์ค ๋ฐ [2] ํ์ ๋ฉ๋ด๊ฐ ํฌํจ๋ ์์คํ ํ์์ค ์์คํ ํ์์ค์ developer.android.com The system bars are screen areas dedicated to the display of notifications, communication of device status,.. [Java][Thread] Happens-before relationship Java์ ๋์์ฑ ๊ด๋ จ ๋ถ๋ถ์ ์ดํผ๋ค๊ฐ 'happens-before relationship'์ด๋ ์ฉ์ด๊ฐ ์์ฃผ ๋ฑ์ฅํ๋ ๊ฒ์ ์์๋ค. https://www.logicbig.com/tutorials/core-java-tutorial/java-multi-threading/happens-before.html Java - Understanding Happens-before relationshipJava - Understanding Happens-before relationship [Last Updated: May 19, 2018]www.logicbig.comhttps://en.wikipedia.org/wiki/Happened-before Happened-before - WikipediaFrom Wikipedia,.. [Kotlin] Obejct๋ก ์ ์ธํ Singleton ๊ฐ์ฒด์ ์์ฑ์ Lazy ํ๊ฐ? Java๋ก ์์ฑ๋ ์ฝ๋๋ฅผ Kotlin์ผ๋ก ์์ฑํ๋ค๊ฐ ๋ ์๋ฌธ์ผ๋ก ์์ํจ. Java์์ Singleton ํจํด์ผ๋ก ์์ฑ๋ ํด๋์ค๋ค์, ํธ์ถ ์ instance๊ฐ ์๋์ง ํ์ธํ๊ณ , instatnce๊ฐ ์์ ๊ฒฝ์ฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ์ ์์ฃผ ๋ด์๋ค. Kotlin์์ object๋ก ์ ์ธํด ์์ฑํ๋ฉด singleton ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค๊ณ ์๊ณ ์์ด์, ์ ๋ง ํธ๋ฆฌํ๊ฒ object ํค์๋๋ฅผ ์ฐ๋ฉฐ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์์๋๋ฐ, java ์ฝ๋์์ ์์ฑํ singleton ํจํด๊ณผ ์ ๋ง ๋์ผํ๊ฒ ๋์ํ๋๊ฒ ๋ง๊ฒ ์ง?๋ผ๋ ์๋ฌธ์ด ๋ค์๋ค. ํ์ธ ๋ค์ด๊ฐ๋ค. ๊ฒฐ๋ก > ๊ณต์๋ฌธ์ ์์ ๋ฐ๋ฅด๋ฉด ๊ทธ๋ฌํ๋ค. ๊ณต์๋ฌธ์์ ์ธ๊ธ์ ์ฐพ์๋ณธ๋ค. https://kotlinlang.org/docs/object-declarations.html#object-decl.. [Network] HTTP headers ๊ธฐ์ ์ ๋ถ๋ฅด๋ ์๋๋ก์ด๋ ํต์ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ ๋ถ๋ฅด๋ ์๋๋ก์ด๋ ํต์ ํ๋ก๊ทธ๋๋ฐ - YES24 ์๋๋ก์ด๋ ํ๋ก๊ทธ๋๋ฐ ์๋ด์. ์๋๋ก์ด๋๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋ค์ ๊ตญํํ์ง ์๊ณ ๋ค์ํ ์ ์ฒด์์ ์ ๊ณตํ๋ ํจํค์ง์ ํต์ ํ๋กํ ์ฝ ๊ทธ๋ฆฌ๊ณ ์๋ฐ์ ๊ณ ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ํต์ ์ ์ ๋ฐ์ ์ธ ๊ธฐ๋ฅ www.yes24.com https://www.blog-dreamus.com/post/cache-control-%EC%9D%B4-%ED%95%84%EC%9A%94%ED%95%9C-%EC%9D%B4%EC%9C%A0 'Cache-Control'์ด ํ์ํ ์ด์ ์ฑ์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ ์ค ํ๋์ธ ์บ์. ํด๋ผ์ด์ธํธ์์ ์บ์ฌ๋ฅผ ํ๊ณ , ์๋ฒ์์ ์ปจํธ๋กค์ด ๊ฐ๋ฅํ Cache-Control์ ๋ํด์ ์์๋ด ๋๋ค. www.blog-dreamus.c.. [Kotlin][Java] ByteArrays๋ฅผ 16์ง์(Hex) String์ผ๋ก ๋ณํ https://www.baeldung.com/kotlin/byte-arrays-to-hex-strings ์ฌ๊ธฐ์ ์ ๋ง ์ ๋์์. ๋ค์ํ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค. ๊ทธ ์ค์์ ๋ค์์ ๋ฐฉ๋ฒ์ ์ฃผ๋ชฉํ๋ค. https://www.baeldung.com/kotlin/byte-arrays-to-hex-strings val hexChars = "0123456789abcdef".toCharArray() fun ByteArray.toHex4(): String { val hex = CharArray(2 * this.size) this.forEachIndexed { i, byte -> val unsigned = 0xff and byte.toInt() hex[2 * i] = hexChars[unsigned / 16] hex[2 * i.. ์ด์ 1 ยทยทยท 29 30 31 32 33 34 35 ยทยทยท 47 ๋ค์