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

๊ณณ๊ฐ„์—์„œ ์ธ์‹ฌ๋‚œ๋‹ค

(31)
[๋ฉด์ ‘] ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž ์˜์–ด ๋ฉด์ ‘ ์‹œ ์ž์ฃผ ์“ฐ์ผ ์ˆ˜ ์žˆ๋Š” ์˜๋‹จ์–ด ์ถœ์ฒ˜ChatGPT๋‚˜๊ธฐ์ˆ  ๊ด€๋ จ ์šฉ์–ดLifecycle - ์•ฑ ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ, ์•กํ‹ฐ๋น„ํ‹ฐ/ํ”„๋ž˜๊ทธ๋จผํŠธ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ จ ์งˆ๋ฌธ์—์„œ ์‚ฌ์šฉArchitecture - ์•ฑ์˜ ๊ตฌ์กฐ๋‚˜ ํŒจํ„ด์„ ์„ค๋ช…ํ•  ๋•Œ (์˜ˆ: MVVM, MVI)Dependency Injection (DI) - Hilt ๋˜๋Š” Dagger๋ฅผ ํ†ตํ•œ ์˜์กด์„ฑ ์ฃผ์ž…Repository - ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ณ„์ธต, ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํŒจํ„ด ์„ค๋ช… ์‹œ ์‚ฌ์šฉAsynchronous / Synchronous - ๋น„๋™๊ธฐ/๋™๊ธฐ ์ฒ˜๋ฆฌ (์˜ˆ: Coroutines, RxJava)Concurrency / Parallelism - ๋™์‹œ์„ฑ/๋ณ‘๋ ฌ ์ฒ˜๋ฆฌViewModel - Android Architecture Component ์ค‘ ํ•˜๋‚˜๋กœ, UI์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์—ญํ• ์„ ์„ค๋ช…ํ•  ๋•Œ ์‚ฌ์šฉData Bi..
[Java] Thread-Safeํ•œ Singleton ๊ฐ์ฒด ์ถœ์ฒ˜ChatGPThttps://simyeju.tistory.com/121 Java] Multi Thread ํ™˜๊ฒฝ์—์„œ Singleton ํŒจํ„ด์„ Thread Safeํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐMulti Thread ํ™˜๊ฒฝ์—์„œ Singleton ํŒจํ„ด์„ Thread Safeํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ํ•ด๋‹น ๊ธ€๊ณผ ๊ด€๋ จ๋œ Singleton Pattern์„ ํ…Œ์ŠคํŠธ ํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” git์ฃผ์†Œ๋ฅผ ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ— https://github.com/SimYeJu/HelloSingletonPattern/tree/main/src โ“Singlesimyeju.tistory.comhttps://www.initgrep.com/posts/design-patterns/thread-safety-in-java-singleton-pattern Explore Different..
[์ฝ๊ธฐ][Android] Could Google Be Forced to Abandon Android? ์ฝ์€ ๊ธ€https://medium.com/generative-ai/could-google-be-forced-to-abandon-android-60a0d3cb1fb0 Could Google Be Forced to Abandon Android?Exploring the Potential Impact of Antitrust Actions on Google’s Android and the Global Smartphone Marketgenerativeai.pub ๊ตฌ๊ธ€์ด ๋…์  ๊ธˆ์ง€ ์กฐ์น˜๋ฅผ ๋ฐ›์Œ-> ๊ตฌ๊ธ€์„ ๋ธŒ๋กœ์šฐ์ €์˜ ๊ธฐ๋ณธ ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€๋กœ ์„ค์ •ํ•˜๋„๋ก ํ•˜๋ฉด์„œ ๋†’์€ ์‹œ์žฅ ์ ์œ ์œจ์„ ์œ ์ง€ํ•˜๋ฉฐ ๊ฒ€์ƒ‰ ์ˆ˜์ต์„ ์ฐฝ์ถœํ–ˆ์—ˆ์Œ->  ์ด ๋…์  ๊ธˆ์ง€ ์‚ฌ๊ฑด์„ ๋‹ด๋‹นํ•œ ํŒ์‚ฌ๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ๋„ ๊ตฌ๊ธ€ ๋…์ ์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด๋ผ๊ณ  ํŒ๋‹จํ•จ. ์•ˆ๋“œ๋กœ์ด๋“œ OS ์‹œ์Šคํ…œ..
[Git] .gitignore ํŒŒ์ผ ์ž๋™ ์„ค์ • https://www.toptal.com/developers/gitignore gitignore.io Create useful .gitignore files for your project www.toptal.com ์š”๋ ‡๊ฒŒ IDE, OS, ์‚ฌ์šฉ ์–ธ์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ์ƒ์„ฑํ–ˆ๋‹ค.
[Android][Library][๋ฒ„์ „] ํ”Œ๋ ˆ์ด ์Šคํ† ์–ด์— ์—…๋กœ๋“œ๋œ ์ตœ์‹  ์•ฑ ๋ฒ„์ „ ์ •๋ณด ๋ฐ›๊ธฐ ์ด์Šˆ ํ”Œ๋ ˆ์ด ์Šคํ† ์–ด์— ์—…๋กœ๋“œ๋œ ์ตœ์‹  ์•ฑ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ณ ์ž ํ•œ๋‹ค. ํ•ด๊ฒฐ Google Play Core ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ Play In-App Update ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ฐธ๊ณ  https://velog.io/@chris_seed/AndroidKotlin-google-play-store%EC%97%90%EC%84%9C-%EC%95%B1-%EB%B2%84%EC%A0%84-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8-%ED%99%95%EC%9D%B8 [Kotlin] google play store์—์„œ ์•ฑ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ ํ™•์ธ ์šฐ๋ฆฌ๊ฐ€ google play store์— ์•ฑ์„ ๋“ฑ๋กํ•˜๊ณ  ๋‚œ ํ›„ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์‹ ๊ทœ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋Š” ๋“ฑ์˜ ์ด์œ ๋กœ ์•ฑ์„ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์•ผ ๋œ๋‹ค. ๊ทธ๋•Œ, ์•„๋ฌด๋Ÿฐ ์กฐ์น˜๊ฐ€ ์—†..
[๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด ์ฝ˜์†”][๊ฒฝํ—˜] ์•ฑ ๊ฒŒ์‹œ ์„ค์ • ON ๋ณ€๊ฒฝ ์‹œ์—๋„ ๊ฒ€์ˆ˜๋ฅผ ํ•œ๋‹ค ๊ฒฐ๋ก  ์•ฑ ๊ฒŒ์‹œ ์„ค์ •์ด OFF์—์„œ ON์ด ๋˜๋ฉด ๊ฒ€์ˆ˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ํƒ€๋”๋ผ. ๊ณ ๊ธ‰ ์„ค์ • ๋ถ€๋ถ„์ด ๋ณ€๊ฒฝ๋˜์–ด์„œ ๊ฒ€์ˆ˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ์ƒํ™ฉ ์ด์ „ ๋‹ด๋‹น์ž๊ฐ€ ์•ฑ ๊ฒŒ์‹œ ์„ค์ •์—์„œ ์•ฑ์„ ๋‚ด๋ ค๋ฒ„๋ ธ์Œ. ๊ณ ๊ฐ๋“ค์—๊ฒŒ ์•ฑ์ด ๋…ธ์ถœ๋˜์ง€ ์•Š์•˜๋‹ค. ์ด์ „ ๋‹ด๋‹น์ž๋Š” ์™œ ๊ฒŒ์‹œ ๊ฐœ์š” ์„ค์ •์—์„œ ๊ด€๋ฆฌํ˜• ๊ฒŒ์‹œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋Š”๊ฐ€๐Ÿ˜  ์•ฑ์ด ๋‚ด๋ ค๊ฐ„ ์ƒํƒœ์—์„œ๋„ ์•ฑ์„ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด ์ธก์—์„œ ์•ฑ์„ ๊ฒ€์ˆ˜ํ•œ๋‹ค. ์•ฑ ๊ฒ€์ˆ˜๊ฐ€ ๋ฌด์‚ฌํžˆ ํ†ต๊ณผ๋˜์–ด์„œ ์•ฑ ๊ฒŒ์‹œ ์„ค์ •์— ๋‹ค์‹œ ๋“ค์–ด๊ฐ€ ์•ฑ์„ ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ–ˆ๋‹ค. ์•ฑ์„ ๊ฒŒ์‹œํ•œ๋‹ค๊ณ  ์„ค์ • ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋‹ˆ, ๋‹ค์‹œ ๊ตฌ๊ธ€ ํ”Œ๋ ˆ์ด ์ธก์—์„œ ์ด๋ฏธ ํ†ต๊ณผํ•œ ์•ฑ์„ ๊ฒ€์ˆ˜ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋กœ ๋„˜์–ด๊ฐ€๋ฒ„๋ ธ๋‹ค. ๊ทธ๋ž˜์„œ ์ •๋ง ๋…ธ์ถœํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ์•ฑ์€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋‹ค์‹œ ๊ฒ€์ˆ˜์— ๋“ค์–ด๊ฐ”๋‹ค. ์•ฑ ์ถœ์‹œ ์ผ์ž๋ฅผ ๋งž์ถฐ์•ผ ํ•˜๋Š” ์ƒํ™ฉ์— ๋ฐœ์ƒํ•œ ๋ณ€์ˆ˜์˜€๋‹ค. ๋‹ค์‹œ ๊ฒ€์ˆ˜๋ฅผ ๋“ค์–ด๊ฐ„ ๋•Œ์—๋Š” ์ถ”์„ ์ „์ด๋ผ..
[Android][WebView] HTML TAG ํŒŒ์‹ฑ - Jsoup ์ด์Šˆ WebView์™€ App ๊ฐ„ ํ†ต์‹  ์ค‘, HTML tag ํŒŒ์‹ฑ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด ์žˆ์—ˆ๋‹ค. ์›น ๋กœ๊ทธ์ธ์‹œ์˜ ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ HTML์˜ ํŠน์ • tag ๊ฐ’์œผ๋กœ ๋‚ด๋ ค์™”๋‹ค. ํ•ด๊ฒฐ WebView์— JavascriptInterface ๊ตฌํ˜ + Jsoup ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด HTML์˜ tag ํŒŒ์‹ฑ์œผ๋กœ ์›ํ•˜๋Š” ๊ฐ’์„ ๊ตฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. https://whiteduck.tistory.com/115 [ Android ] WebView์—์„œ ๋‚˜์˜ค๋Š” html Jsoup์œผ๋กœ ํŒŒ์‹ฑํ•˜๊ธฐ [ Android ] WebView์—์„œ ๋‚˜์˜ค๋Š” html Jsoup์œผ๋กœ ํŒŒ์‹ฑํ•˜๊ธฐ Dropbox ์ธ์ฆ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์žˆ์–ด์„œ WebView๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•˜๋ ค๋‹ค redirect_uri์—์„œ ๋ง‰ํ˜€ ๋ฒ„๋ ธ๋‹ค. Menifast์—์„œ intent-filter๋ฅผ ๊ฐ€์ง€๊ณ  ๋ฅผ ์ถ”๊ฐ€ํ•ด..
[Android] intent ๊ฐ’ ํŒŒ์‹ฑ ์ค‘ '+'๊ฐ€ ' '๋กœ ์น˜ํ™˜๋˜๋Š” ์ด์Šˆ ๋Œ€์‘ ์ฐธ๊ณ  https://dkrnfls.tistory.com/137 Android Uri.getQueryParameter์— + ๋“ค์–ด๊ฐ€๋ฉด ๋นˆ์นธ์œผ๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค. ์ตœ๊ทผ์— ๋‹ค์ด๋‚˜๋ฏน๋งํฌ๋ฅผ ๊ตฌํ˜„ํ•˜๋˜์ค‘ ์ •๋ณด๋ฅผ ๋งํฌ์— query๋กœ ๋‹ด์•˜์„๋•Œ +๊ฐ€ ๋นˆ์นธ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ๋‹ค์ด๋‚˜๋ฏน ๋งํฌ๋ฅผ ๊ณต์œ ํ–ˆ์„๋•Œ ios์—์„œ๋Š” ์ด์Šˆ๊ฐ€ ์—†์–ด์„œ ์•ˆ๋“œ๋กœ์ด๋“œ ์ชฝ์˜ ์ด์Šˆ dkrnfls.tistory.com ์ด์Šˆ ๋”ฅ๋งํฌ ์ž‘์—… ์ค‘์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด intent๋ฅผ ๋ฐ›์•„์™”๋‹ค. intent action: android.intent.action.VIEW / data : something://action?authorize=0id4gzmDNXhJY9xbNsOYpbg/rLuhKEc2zyWwZ+7s6YF9Pju8hVErS8Pshsi+ugWPrPW1pieHA..