๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋นˆ ๊ตฌ๋ฉ ์ฑ„์šฐ๊ธฐ

(348)
[์‚ฝ์งˆ๊ธฐ๋ก] Kotlinx Serialization์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Œ ์ด์Šˆ ๋ฐœ์ƒKotlin Serialization์— ๋„์ €ํžˆ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. ์ฝ”๋“œ ์ƒ import kotlinx.serialization ์— ์ ‘๊ทผ ์ž์ฒด๊ฐ€ ๋˜์ง€ ์•Š์•˜๋‹ค. build.gradle ์„ค์ •์„ ํ•˜๋ผ๋Š” ๋Œ€๋กœ ๋‹ค ํ–ˆ๋Š”๋ฐ๋„.  https://blog.stackademic.com/gradle-version-catalogs-for-android-kmp-explained-38a370db0347 Android/Kotlin Gradle Version Catalogs ExplainedGradle Version Catalogs are a way to manage versions, dependencies, and plugins in multiple modules.blog.stackademic.com์ด ๊ธ€์— ์ •๋ง ์ž˜ ์„ค๋ช…..
[Java][Kotlin] ์ž๋ฐ”์˜ ์ง๋ ฌํ™” Serialization๊ณผ ์ฝ”ํ‹€๋ฆฐ์˜ Kotlin Serialization ๋ฌธ์ œ ํŒŒ์•…์ง๋ ฌํ™”์˜ ์˜๋ฏธ๋ฅผ ์ž๋ฐ”๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ตํ˜”๊ธฐ ๋•Œ๋ฌธ์—, ์ง๋ ฌํ™”๋ž€ ๊ฐ์ฒด๋ฅผ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ธ ์ค„ ์•Œ์•˜๋‹ค.์ง๋ ฌํ™”์˜ ์˜๋ฏธ๋ฅผ ์ด๋ ‡๊ฒŒ ์•Œ๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Kotlin Serialization์ด ๊ฐ์ฒด๋ฅผ Json์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค๋Š” ๊ธ€์„ ๋ณด๊ณ  ๐Ÿ˜ฏ ์˜ค์ž‰ํ–ˆ๋‹ค. Json์€ ๋ฌธ์ž์—ด ๊ธฐ๋ฐ˜์ด๋ผ ๋ฐ”์ดํŠธ ์ŠคํŠธ๋ฆผ์ด ์ ˆ๋Œ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.  Serailization์˜ ์ •์˜๋ฅผ ๋‹ค์‹œ ์‚ดํ”ผ๊ณ , Java์˜ Serailization๊ณผ Kotlin Serailiztion์— ๋Œ€ํ•ด์„œ ๋น„๊ตํ•˜๋ ค๊ณ  ํ•œ๋‹ค. Serailization ์ •์˜https://ko.wikipedia.org/wiki/%EC%A7%81%EB%A0%AC%ED%99%94  ์ง๋ ฌํ™” - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. ์ง๋ ฌํ™”(็›ดๅˆ—ๅŒ–) ๋˜๋Š” ์‹œ๋ฆฌ์–ผ๋ผ..
[๋ชจ๋ฐ”์ผ] OWASP Mobile Application Security ์•ˆ๋“œ๋กœ์ด๋“œ ๋””๋ฒจ๋กœํผ์Šค์˜ ๋ณด์•ˆ ๊ฐ€์ด๋“œ๋ฅผ ์ฝ๋‹ค๊ฐ€ OWASP Mobile Application Security๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. https://mas.owasp.org/ OWASP Mobile Application Security mas.owasp.org OWASP(Open Web Application Security Project)๊ฐ€ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ์— ์ค‘์ ์„ ๋‘๊ณ  ๊ฐœ๋ฐœํ•œ ํ”„๋กœ์ ํŠธ์™€ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ œ๊ณตํ•œ๋‹ค. OWASP MASVS : OWASP Mobile Application Security Verification Standard๋ชจ๋ฐ”์ผ ์•ฑ ๋ณด์•ˆ์„ ์œ„ํ•œ ์‚ฐ์—… ํ‘œ์ค€OWASP MASWE : OWASP Mobile Application Security Weakness Enumerationํ˜„์žฌ beta ๋ฒ„์ „. ์–ธ์ œ๋“ ..
[์‚ฝ์งˆ๊ธฐ๋ก][Android] Git ๋ฆฌ๋ชจํŠธ์—์„œ ๋ฐ›์•„์˜จ ์†Œ์Šค๋ฅผ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋กœ์ ํŠธ๋กœ ์ฝ์ง€ ๋ชปํ•œ๋‹ค. Android Studio ์ƒ๋‹จ ๋ฉ”๋‰ด์—์„œ File > Sync Project with Gradle Files๋ฅผ ์„ ํƒ ๋‚˜๋Š” ์ด ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐ๋๋‹ค.๐Ÿฅน
[Android] Secrets Gradle Plugin for Android Google Map SDK๋ฅผ ์ถ”๊ฐ€ํ•˜๋‹ค๊ฐ€ ์•Œ๊ฒŒ๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋‹ค. https://github.com/google/secrets-gradle-plugin GitHub - google/secrets-gradle-plugin: A Gradle plugin for providing your secrets to your Android project.A Gradle plugin for providing your secrets to your Android project. - google/secrets-gradle-plugingithub.com  API ํ‚ค๋ฅผ ์ˆจ๊ฒจ์ค€๋‹ค๊ณ  ํ•˜๋Š”๋ฐ, ์—ญ์‹œ๋‚˜ ์•ฑ ๋‚ด์— API ํ‚ค๋ฅผ ํ•˜๋“œ์ฝ”๋”ฉํ•˜์ง€ ์•Š๊ฒŒ ํ•ด์ค€๋‹ค๋Š” ์˜๋ฏธ์˜€๋‹ค. ๋ฒ„์ „ ์ปจํŠธ๋กค ์‹œ์˜ API ์ˆจ๊น€์ด๋ผ์„œ APK๋ฅผ ๋””์ปดํŒŒ์ผํ•˜๋ฉด API ํ‚ค๊ฐ€ ๋ณต์›๋œ๋‹ค๊ณ  ..
[Android][View] getWidth(), getHeight() ์™€ measureWidth(), measuredHeight() ์ถœ์ฒ˜https://yongheon.tistory.com/entry/Android-getMeasuredHeight-%EC%99%80-getHeight [Android] getMeasuredHeight ์™€ getHeightAndroid์˜ View ํด๋ž˜์Šค์™€ View ํด๋ž˜์Šค๋ฅผ ์ƒ์† ๋ฐ›๋Š” ๋ชจ๋“  ํด๋ž˜์Šค๋Š” ํ™”๋ฉด์— ๋ณด์—ฌ์ง€๊ธฐ ์œ„ํ•ด์„œ๋Š” ํฌ๊ฒŒ ๋‘ ๋‹จ๊ณ„๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค. 1. Measuring: View์˜ ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐ. Width์™€ height ๊ฐ’์„ ๊ตฌํ•œ๋‹ค. 2. Layouting:yongheon.tistory.comhttps://stackoverflow.com/a/8664581 What is the difference between getWidth/Height() and getMeasuredWidth/Height()..
[Kotlin] ๋žŒ๋‹ค๋Š” ์ž๋ฐ”๋กœ ์–ด๋–ป๊ฒŒ ์ปดํŒŒ์ผ๋ ๊นŒ 1. ๋ฐ›๋Š” ์ธ์ˆ˜๊ฐ€ ์—†๊ณ , ๋ฐ˜ํ™˜ ํƒ€์ž…์ด ์—†๋Š” ๋žŒ๋‹ค์ฝ”ํ‹€๋ฆฐ ์ฝ”๋“œfun runLambda(lambda: () -> Unit) { lambda()}fun main() { runLambda { println("HelloWord") }}// ์ถœ๋ ฅ ๊ฒฐ๊ณผ : HelloWord ์ž๋ฐ” ๋ณ€ํ™˜public final class MainKt { public static final void main() { runLambda((Function0)null.INSTANCE); } // $FF: synthetic method public static void main(String[] var0) { main(); } public static final void runLambda(@NotNul..
[Kotlin] init ๋ธ”๋ก ์ถœ์ฒ˜https://kotlinlang.org/docs/classes.html#constructors Classes | Kotlin kotlinlang.orghttps://kotlinlang.org/docs/inheritance.html#derived-class-initialization-order Inheritance | Kotlin kotlinlang.org  ํด๋ž˜์Šค์˜ ์ดˆ๊ธฐํ™”๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋Š” ํด๋ž˜์Šค ํ—ค๋”(ํด๋ž˜์Šค์˜ ์ด๋ฆ„๊ณผ ์ฃผ์ƒ์„ฑ์ž)์—์„œ ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค์™€ ํ•ด๋‹น ์†์„ฑ์„ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. ๊ฐ์ฒด ์ƒ์„ฑ ์ค‘์— ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด ํด๋ž˜์Šค ๋ณธ๋ฌธ ๋‚ด๋ถ€์— ์ดˆ๊ธฐํ™” ๋ธ”๋ก์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ดˆ๊ธฐํ™” ๋ธ”๋ก์€ init ํ‚ค์›Œ๋“œ ๋’ค์— ์ค‘๊ด„ํ˜ธ๋ฅผ ๋ถ™์—ฌ ์„ ์–ธํ•œ๋‹ค. ์‹คํ–‰ํ•˜๋ ค๋Š” ์ฝ”๋“œ๋Š” ์ค‘๊ด„ํ˜ธ ์•ˆ์— ์ž‘์„ฑํ•œ๋‹ค. ์ธ์Šคํ„ด์Šค๋ฅผ ์ดˆ๊ธฐํ™” ์ค‘์— ์ดˆ๊ธฐํ™” ๋ธ”๋ก๊ณผ ์†์„ฑ ์ดˆ๊ธฐํ™”๋Š” ..