2026/04/04

오늘의 이야기

제트팩 컴포즈의 일반적인 성능 함정 극복

바닷가



• 제트팩 컴포즈는 전용 최적화 전략을 가지고 있지만 개발자들은 성능을 향상시키고 함정을 피하기 위해 특정 규칙을 따라야 한다.

• 컴포즈는 구성, 레이아웃 및 드로잉의 세 단계로 프레임을 렌더링하며 각각 특정 책임이 있습니다.

• 구성은 상태 변경을 추적하고 필요한 단계만 수행하며 데이터가 변경되지 않은 경우 다른 단계를 생략합니다.

• 컴포즈의 유형은 안정적이거나 불안정한 것으로 분류되어 컴포즈가 재구성을 처리하는 방식에 영향을 미친다.

• 목록과 같은 불안정한 컬렉션은 불필요한 재구성을 유발할 수 있으며, 이는 불변 컬렉션 또는 래퍼를 사용하여 극복할 수 있다.

• 람다를 기억하지 않고 클릭 가능한 수식어를 사용하면 성능 문제가 발생할 수 있으며, 이는 수식어를 기억 블록에 싸서 수정할 수 있다.

• 불안정한 캡처가 있는 불안정한 람다는 컴파일러에 의해 자동으로 기억되지 않아 불필요한 재구성으로 이어진다. 람다를 기억 블록에 포장하면 이 문제를 해결할 수 있습니다.

https://proandroiddev.com/overcoming-common-performance-pitfalls-in-jetpack-compose-98e6b155fbb4

Overcoming Common Performance Pitfalls in Jetpack Compose

Jetpack Compose has a dedicated optimization strategy, but we must remember several things while writing code. These points are like rules…

proandroiddev.com





오늘의 이야기

이 앱은 간단한 그림 3개을 보여 주고 그 다음에 출현 가능한 이미지을 말해 보는 앱 입니다.  이 앱은  Gemini AI 와 대화을 시도 합니다. 
 
 

로고


 
실행 가능한 기능은 한가지 입니다. prompt 에 AI 에게 사전 제시어을 말해 줍니다. 그건 이미 정해 드렸으니 수정할 필요가 없습니다.  이 앱에서 제공하는 prompt 는 
 

Look at this sequence of three shapes. What shape should come as the fourth shape? Explain your reasoning with detailed descriptions of the first shapes. Please tell me if my answer matches your thoughts and explain why.

 
입니다. 
 

이 세 가지 모양의 순서를 보세요. 네 번째 모양은 어떤 모양이 되어야 할까요? 첫 번째 모양에 대한 자세한 설명을 통해 추론을 설명하세요. 제 답변이 귀하의 생각과 일치하는지 말씀해 주시고 그 이유를 설명해 주십시오.

 
번역을 해 본다면 이런 정도의 문구로 Gemini AI 에게 사전 제시어을 말해 주고,  그 다음은 위에 캔버스에 저장된 이미지을 전달해 주는 것이 전부 입니다. 
 

실행 예시


 
이 그림 처럼 동작 합니다.  예시 그림은 3종류의 쿠키 이미지가 제시 되어 있습니다.  그림을 변경해 보고 싶다면 쿠키 이미지을 두번 클릭 하면 캔버스가 나오고 그림을 그릴 수 있습니다. (현재는 드래그 한번으로 이미지을 완성해야 정확한 이미지가 생성 됩니다.)
 

캔버스에 그리기


 
이렇게 그린 그림을 체크 하면 이미지로 저장 됩니다.   이렇게 해서 3개 그림을 다 변경 하고 다시 요청을 클릭 하여 선택을 실행해 볼 수 있습니다. 
 

이미지 바꾸기 결과


 
이렇게 3개의 이미지가 준비 되었다면, 응답에 예상 답변을 입력 하고 요청을 클릭해 보세요.  그럼 이제 시작해 볼까요???
 
'그림 맞추기'에 대해 알아보세요 - https://play.google.com/store/apps/details?id=com.billcorea.googleai0521

그림 맞추기 - Google Play 앱

3개의 그림을 보여주고 다음에 출현 가능한 그림을 맞추어 보는 간단한 게임

play.google.com





오늘의 이야기



#스치니1000프로젝트 #재미 #행운기원 #Compose #Firebase

🎯 야 너 토요일마다 로또 확인하냐?
나도 맨날 "혹시나~" 하면서 봤거든 ㅋㅋ

근데 이제는 그냥 안 해
AI한테 맡겼어 🤖✨

그것도 구글 Gemini로다가!

그래서 앱 하나 만들었지
👉 "로또 예상번호 by Gemini" 🎱

AI가 분석해서 번호 딱! 뽑아줌
그냥 보고 참고만 하면 됨

재미로 해도 좋고…
혹시 모르는 거잖아? 😏


https://play.google.com/store/apps/details?id=com.billcorea.gptlotto1127




오늘의 이야기

간단한 프롬프트로 채팅GPT가 몇 초 만에 할 수 있는 50가지 놀라운 것들

chat gpt ???



• 믿을 수 없을 정도로 지능적인 AI인 ChatGPT는 간단한 프롬프트만으로 광범위한 작업을 수행할 수 있습니다. 창의적인 글쓰기에서 코딩, 마케팅에서 연구에 이르기까지 ChatGPT는 다양한 분야에서 지원할 수 있습니다.

• 틱택토와 같은 게임을 플레이하고 암호화 알고리즘을 구현하고 파일을 압축하고 PDF에서 정보를 추출하고 비디오 형식을 변환할 수 있습니다. 이미지를 향상시키고 모자이크를 만들고 파노라마를 꿰매고 물체 감지 및 얼굴 인식과 같은 기본 컴퓨터 비전 작업을 수행할 수 있습니다.

• ChatGPT는 또한 증강 현실을 구현하고, 가상 투어를 만들고, 물리학을 시뮬레이션하고, 3D 장면을 렌더링하고, 기본적인 컴퓨터 그래픽 알고리즘을 수행할 수 있다. 프랙탈을 생성하고 유체 역학을 시뮬레이션하며 기본 로봇 제어 시스템을 구현할 수 있습니다.

• 데이터 분석 영역에서 ChatGPT는 곡선을 데이터 포인트에 맞추고 상태 공간 모델, 칼만 필터 및 입자 필터를 구현할 수 있다. 몬테카를로 시뮬레이션을 수행하고 유전 알고리즘, 군집 최적화 알고리즘 및 강화 학습 알고리즘을 구현할 수 있다.

• ChatGPT는 또한 협업 필터링, 콘텐츠 기반 필터링, 하이브리드 필터링, 딥 러닝, 매트릭스 인수분해, 딥 매트릭스 인수분해, 신경망, 딥 신경망, 그래프 신경망, 주의 메커니즘, 전이 학습, 강화 학습 및 비지도 학습을 기반으로 추천 시스템을 구축할 수 있다.

https://medium.com/aimonks/50-tasks-that-chatgpt-can-do-in-seconds-with-these-simple-prompts-part-2-cef74cc26419

50 Tasks that ChatGPT Can Do in Seconds with These Simple Prompts (Part-2)

You've probably heard of ChatGPT by now — that incredibly smart AI can understand and communicate just like a human.

medium.com





오늘의 이야기


#스하리1000명프로젝트

스치니들!
내가 만든 이 앱은, 내 폰에 오는 알림 중에서 중요한 키워드가 있는 경우
등록해둔 친구에게 자동으로 전달해주는 앱이야 📲

예를 들어, 카드 결제 알림을 와이프나 자녀에게 보내주거나
이번 달 지출을 달력처럼 확인할 수도 있어!

앱을 함께 쓰려면 친구도 설치 & 로그인해줘야 해.
그래야 친구 목록에서 서로 선택할 수 있으니까~
서로 써보고 불편한 점 있으면 알려줘 🙏

👉 https://play.google.com/store/apps/details?id=com.nari.notify2kakao





오늘의 이야기

제트팩 컴포즈로 인스타그램에서 영감을 받은 UI 제작

꿈꾸는 개발자



• 이 튜토리얼은 안드로이드 개발을 위한 현대 UI 툴킷인 제트팩 컴포즈를 사용하여 인스타그램과 같은 사용자 인터페이스를 만드는 방법을 보여준다.

• UI는 인기 소셜 미디어 플랫폼의 레이아웃과 기능을 모방하여 상단 바, 프로필 섹션, 버튼 섹션, 하이라이트 섹션, 포스트 탭 보기, 포스트 섹션 등 다양한 섹션을 포함한다.

• 프로필 섹션은 사용자 정보, 프로필 이미지, 통계 및 설명을 표시하고 버튼 섹션은 다음, 메시지 및 이메일과 같은 동작을 제공합니다.

• 하이라이트 섹션은 이미지와 텍스트로 강조 표시된 콘텐츠를 보여주며 포스트 탭 보기를 통해 다양한 유형의 게시물 간에 전환할 수 있습니다.

• 포스트 섹션은 각 포스트를 나타내는 이미지가 있는 그리드 레이아웃을 활용하여 선택된 탭을 기반으로 포스트를 표시합니다.

• 튜토리얼은 메인 UI 클래스 설정, 연관된 텍스트로 이미지를 처리하기 위한 데이터 클래스 정의, 프로필 화면 생성, 제트팩 컴포즈를 사용하여 다양한 UI 구성 요소 구현을 다룹니다.

• 이 튜토리얼을 따라 개발자들은 제트팩 컴포즈를 사용하여 시각적으로 매력적이고 상호 작용적인 요소를 가진 인스타그램에서 영감을 받은 UI를 만들 수 있다.

https://medium.com/@iamfahad1296_94867/crafting-an-instagram-inspired-ui-with-jetpack-compose-android-studio-e9fc15d155a1

Crafting an Instagram-inspired UI with Jetpack Compose — Android Studio

In this tutorial, we'll guide you through the process of creating an Instagram-like user interface using Jetpack Compose. By leveraging…

medium.com





오늘의 이야기

제트팩 컴포즈: 몰입형 상태 표시줄 달성

대학로에서



• 이 기사에서는 애플리케이션의 드로잉 영역을 시스템 UI로 확장하고 시스템 UI의 배경 색상과 페이지의 여백을 설정하는 것을 포함하여 제트팩 컴포즈를 사용하여 몰입형 효과를 얻는 방법을 소개한다.

• 응용 프로그램의 도면 영역을 시스템 UI로 확장하려면 Activity.onCreate 내에서 enableEdgeToEdge() 기능을 호출해야 합니다.

• 응용 프로그램의 도면 영역을 확장한 후 시스템 UI에 해당하는 WindowInsets 객체를 얻어 페이지 여백을 설정해야 합니다.

• 컴포즈는 Modifier.statusBarsPadding() 및 Modifier.navigationBarsPadding()과 같은 개발자가 마진을 설정하는 데 도움이 되는 많은 편리한 도구를 제공합니다.

• 스캐폴드는 또한 마진 설정 문제를 해결하는 데 도움이 되며 내부 패딩에는 이미 상태 표시줄과 탐색 표시줄의 패딩이 포함되어 있습니다.

• System UI의 배경색은 설정이 용이하며 Scaffold의 containerColor 파라미터로 제어할 수 있다.

• TopAppBar와 NavigationBar도 적응형 페이지 패딩을 지원하며 스크롤 상태에 따라 색상을 자동으로 설정합니다.

https://proandroiddev.com/jetpack-compose-system-ui-compatibility-and-immersive-status-bar-350eba262b7d

Jetpack Compose: System UI Compatibility and Immersive Status Bar

In Android, the screen typically consists of both the app content and system-drawn components, including the top status bar and the bottom…

proandroiddev.com





오늘의 이야기


#스하리1000명프로젝트,
Terkadang sulit untuk berbicara dengan pekerja asing, bukan?
Saya membuat aplikasi sederhana yang membantu! Anda menulis dalam bahasa Anda, dan orang lain melihatnya dalam bahasa mereka.
Ini menerjemahkan secara otomatis berdasarkan pengaturan.
Sangat berguna untuk obrolan mudah. Lihatlah ketika Anda mendapat kesempatan!
https://play.google.com/store/apps/details?id=com.billcoreatech.multichat416




오늘의 이야기

import android.util.Base64

fun main() {
    // API Key = "123456ABC"
    val myEncodedApiKey = "MTIzNDU2QUJD" // Base64-encoded key
    // Should be passed via BuildConfig
    val decodedApiKey = Base64.decode(myEncodedApiKey, Base64.DEFAULT)
    // Now use `decodedApiKey` in your codebase.
    val decodedApiKeyString = String(decodedApiKey)
}


이렇게 숨기는 방안도 고려해 볼 수 있겠다.


풍경







오늘의 이야기

코틀린 멀티플랫폼: 크로스 플랫폼 개발을 위한 유망한 미래

멀티 플랫폼




• 제트브레인스의 새로운 크로스 플랫폼 개발 기술인 KMP(Kotlin Multiplatform)는 개발자가 한 번 코드를 작성하고 안드로이드, iOS, 데스크톱, 웹 및 서버 측을 포함한 여러 플랫폼에서 재사용할 수 있도록 하여 앱 개발에 혁명을 일으킬 가능성이 있다.

• KMP는 코틀린으로 작성된 핵심 논리를 플랫폼 전반에 걸쳐 재사용하는 동시에 네이티브 개발을 가능하게 하고 플랫폼별 API를 활용하여 유연하고 효율적인 솔루션을 제공한다는 장점이 있다.

• KMP는 다른 크로스 플랫폼 프레임워크에 비해 학습 곡선이 가파르고 iOS용 동시 코드 작성에 어려움을 겪을 수 있지만 제품 구축에 대해 기업들 사이에서 견인력과 신뢰를 얻고 있다.

• AI 중단으로 앱 개발의 미래가 불투명한 가운데 KMP는 크고 활발한 코틀린 커뮤니티 덕분에 특히 안드로이드 개발에 강력한 잠재력을 가진 유망 기술로 두각을 나타내고 있다.

https://dipak1.medium.com/kotlin-multiplatform-the-future-of-cross-platform-52bad2abddb4

Kotlin Multiplatform: The Future of Cross-Platform?

I've been a big fan of cross-platform development. When I learned about Flutter back in 2019, I jumped into it without hesitation, and now…

dipak1.medium.com





오늘의 이야기


#billcorea #운동동아리관리앱
🏸 Schneedle, aplikasi yang wajib dimiliki oleh klub bulu tangkis!
👉 Match Play – Rekam Skor & Temukan Lawan 🎉
Sempurna untuk di mana saja, sendirian, bersama teman, atau di klub! 🤝
Jika Anda suka bulu tangkis, cobalah

Buka aplikasi 👉 https://play.google.com/store/apps/details?id=com.billcorea.matchplay




오늘의 이야기

제트팩 컴포즈의 일반적인 성능 함정 극복 바닷가 • 제트팩 컴포즈는 전용 최적화 전략을 가지고 있지만 개발자들은 성능을 향상시키고 함정을 피하기 위해 특정 규칙을 따라야 한다. • 컴포즈는 구성, 레이아웃 및 드로잉의 세 단계로 프레임을 렌더링하며 각...