2026/04/08

오늘의 이야기

컴포즈 컴파일러 그래들 플러그인

Android



• 컴포즈 컴파일러 그래들 플러그인은 안드로이드 개발을 위한 현대적인 UI 툴킷인 제트팩 컴포즈의 설정과 구성을 단순화한다. 코틀린 버전 2.0 이상이 필요하며 libs.versions.toml 파일에서 컴포즈 컴파일러에 대한 참조를 제거하고 플러그인 섹션에 새로운 종속성을 추가하고 프로젝트의 루트 build.gradle.kts 파일에 플러그인을 적용하는 것을 포함한다.

• Compose를 사용하는 모듈의 경우, 플러그인은 각 모듈의 build.gradle.kts 파일에 적용되어야 한다. 개발자들은 또한 모듈의 build.gradle.kts 파일에 컴포즈 컴파일러 블록을 추가함으로써 그래들 플러그인을 사용하여 컴포즈 컴파일러를 구성할 수 있다.

• 플러그인은 강력한 스킵 모드를 가능하게 하고, 보고 목적지를 지정하고, 안정성 구성 파일을 정의하는 등 다양한 구성 옵션을 제공한다. 문서는 사용 가능한 옵션의 포괄적인 목록을 제공합니다.

https://developer.android.com/develop/ui/compose/compiler

Compose 컴파일러 Gradle 플러그인  |  Jetpack Compose  |  Android Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. Compose 컴파일러 Gradle 플러그인 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Gradle 사용자의 경우 Comp

developer.android.com





오늘의 이야기

제트팩 구성의 맞춤형 서클 로더 구축: 안드로이드 캔버스 및 애니메이션 탐색


Android



• 이 기사는 안드로이드 개발을 위한 현대적인 UI 프레임워크인 제트팩 컴포즈를 사용하여 맞춤형 서클 로더를 만드는 단계별 가이드를 제시한다.

• 로더는 캔버스 컴포저블을 사용하여 제작되어 맞춤형 드로잉 및 애니메이션이 가능합니다.

• 원활한 등장과 소멸 효과를 위한 회전 애니메이션과 상태 전환 애니메이션 두 가지 애니메이션이 특징이다.

• 기사는 페인트 객체를 구성하기 위한 셋업 페인트 기능, rememberInfiniteTransition을 사용한 회전 애니메이션, Animatable을 사용한 상태 전환 애니메이션 등 코드에 대한 자세한 설명을 제공한다.

• 또한 애니메이션을 토글링하는 버튼과 같은 실용적인 시나리오에서 맞춤형 서클 로더를 사용하는 방법을 보여줍니다.

• 기사는 원색과 2차색을 조작하여 로더에 대한 세 가지 별개의 모습을 보여주는 것으로 마무리한다.

https://medium.com/@kappdev/building-custom-circle-loader-in-jetpack-compose-exploring-android-canvas-and-animations-abf816617174


• 이 기사는 안드로이드 개발을 위한 현대적인 UI 프레임워크인 제트팩 컴포즈를 사용하여 맞춤형 서클 로더를 만드는 단계별 가이드를 제시한다.

• 로더는 캔버스 컴포저블을 사용하여 제작되어 맞춤형 드로잉 및 애니메이션이 가능합니다.

• 원활한 등장과 소멸 효과를 위한 회전 애니메이션과 상태 전환 애니메이션 두 가지 애니메이션이 특징이다.

• 기사는 페인트 객체를 구성하기 위한 셋업 페인트 기능, rememberInfiniteTransition을 사용한 회전 애니메이션, Animatable을 사용한 상태 전환 애니메이션 등 코드에 대한 자세한 설명을 제공한다.

• 또한 애니메이션을 토글링하는 버튼과 같은 실용적인 시나리오에서 맞춤형 서클 로더를 사용하는 방법을 보여줍니다.

• 기사는 원색과 2차색을 조작하여 로더에 대한 세 가지 별개의 모습을 보여주는 것으로 마무리한다.

https://medium.com/@kappdev/building-custom-circle-loader-in-jetpack-compose-exploring-android-canvas-and-animations-abf816617174

Building Custom Circle Loader in Jetpack Compose: Exploring Android Canvas and Animations

Welcome 👋 In this article, we’ll create a Custom Circle Loader component using Jetpack Compose.

medium.com





오늘의 이야기

안드로이드 14의 forground services 가이드


주방 이미지



• 안드로이드 14는 개발자가 2024년 8월 31일까지 SDK 버전 34를 대상으로 앱을 업데이트해야 하는 전경 서비스 변경 사항을 도입한다. 한 가지 중요한 변화는 전경 서비스 유형을 지정하는 것이 이제 의무화되어 장치 전반에 걸쳐 올바른 사용과 일관성을 보장한다는 것입니다.

• 전경 서비스는 가시적인 작업을 수행하며 시스템 알림을 표시해야 합니다. 예를 들어 음악 플레이어, 피트니스 앱 및 내비게이션 앱이 있습니다.

• 안드로이드 14는 헬스, 리모트 메시징 등 새로운 포어그라운드 서비스 유형을 도입하고 데이터싱크 유형을 감가상각한다. 개발자들은 AndroidManifest 파일에서 적절한 유형을 선언하고 서비스의 기능에 따라 특정 권한을 요청해야 합니다.

• 포그라운드 서비스를 시작할 때 개발자는 ServiceCompat.startForeground()로 전화하여 올바른 포그라운드 서비스 유형을 지정해야 합니다. 그렇게 하지 않으면 예외가 됩니다.

• 각 전경 서비스 유형에는 특정 허가 요구 사항이 있습니다. 개발자들은 예외를 피하기 위해 서비스를 시작하기 전에 이러한 권한을 요청하고 부여받아야 합니다.

• 안드로이드 13은 알림 게시를 위한 런타임 허가를 도입했다. 개발자는 POST_NOTIFICATIONS 허가를 요청하고 사용자가 허가를 승인하거나 거부하는 경우를 처리해야 한다.

• 포어그라운드 서비스 타입을 사용하는 구글 플레이 콘솔에 앱 업데이트를 게시할 때 개발자들은 앱의 기능에 대한 설명, 작업이 중단되면 사용자 영향, 기능을 보여주는 비디오를 포함한 추가 세부 정보를 제공해야 한다.

https://medium.com/@domen.lanisnik/guide-to-foreground-services-on-android-9d0127dc8f9a

Guide to Foreground Services on Android 14

Learn how to work with Foreground Services on Android 14.

medium.com





오늘의 이야기


#스하리1000명프로젝트

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

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

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

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





오늘의 이야기

PokeAPI와 Paging 3을 사용한 안드로이드 파지네이션

기차여행



• 이 기사는 PokeAPI 및 Paging 3 라이브러리를 사용하여 안드로이드 애플리케이션에서 페이지화를 구현하는 방법을 보여준다.

• 파지네이션은 대규모 데이터셋을 더 작고 관리하기 쉬운 페이지로 나누어 최적화하는 기술입니다.

• PokeAPI는 모든 포켓몬 목록을 포함하여 포켓몬에 대한 데이터에 액세스하기 위한 RESTful API를 제공한다.

• Paging 3은 안드로이드 애플리케이션에서 페이징 구현을 단순화한 Jetpack Compose 라이브러리이다.

• 기사는 PokeAPI에서 데이터 페이지를 로드하기 위한 로직을 정의하는 PagingSource 클래스를 만드는 방법을 설명합니다.

• 페이징소스를 듣고 UI에 데이터를 제공하기 위해 페이징 클래스를 사용하는 방법도 보여줍니다.

• 마지막으로, 기사는 컴포즈 UI에서 페이지를 사용하는 방법의 예를 제공한다.

https://blog.stackademic.com/android-implementing-pagination-through-the-pokeapi-923cd0bc1289

Android: Implementing Pagination through the PokeAPI

Continuing from our previous PokeAPI article about Dependency Injection with Hilt, now we are gonna implement pagination for our pokemon…

blog.stackademic.com





오늘의 이야기

안드로이드 스튜디오 활용 팁...개발자 생산성 끌어올리기

풍경



• 안드로이드 스튜디오는 기본 기능을 넘어 다양한 유용한 기능을 제공합니다. 이러한 팁은 생산성을 향상시키고 앱 개발을 단순화할 수 있습니다.

• 로그캣 창에 전용 버튼이 있어 연결된 기기의 스크린샷과 화면녹음을 쉽게 촬영할 수 있다. 키보드 바로가기는 일반적인 동작을 간소화할 수 있으며, 키 프로모터 X 플러그인은 학습 및 바로가기 생성을 돕습니다.

• 로그캣 창과 실행 창 사이의 자동 전환을 비활성화할 수 있으며 로그캣 탭은 앱 배포 시 로그를 자동으로 열고 지우도록 구성할 수 있습니다.

• 안드로이드 스튜디오의 통합 Git GUI 클라이언트는 대화형 병합 갈등 해결 도구와 함께 포스 푸시, 리베이스 및 체리 픽과 같은 고급 기능을 제공합니다.

• ADB Idea와 같은 타사 플러그인은 앱 데이터 삭제 및 권한 취소와 같은 수동 작업에 빠르게 접근할 수 있습니다.

• 안드로이드 스튜디오 디버거에는 조건부 중단점, 키보드 단축키, 런타임 동안 조건과 표현을 평가할 수 있는 기능과 같은 기능이 포함되어 있습니다.

https://medium.com/@domen.lanisnik/android-studio-usage-tips-4c6c47b716e8

7 Android Studio Usage Tips

7 Android Studio usage tips that can help boost productivity and make it easier to develop apps.

medium.com





오늘의 이야기

0. 들어가는 글

 


https://billcorea.tistory.com/384



 


안드로이드 앱 만들기 : 앱에서 챠트 그래프 그리는 도구 (인터넷 펌)


https://github.com/patrykandpatrick/vico GitHub - patrykandpatrick/vico: A light and extensible chart library for Android. A light and extensible chart library for Android. Contribute to patrykandpatrick/vico development by creating an account on GitHub. g


billcorea.tistory.com




 


이전 글에서 vico 라이브러리를 활용한 chart 그리는 정보에 대한 이야기를 적어 보았던 기억이 납니다.   이번에는 관련 정보를 이용해 앱 개발에 적용해 본 이야기를 적어 볼까 합니다. 


 


앱 개발은 크몽에서 앱 개발 의뢰을 받아 도전해 보았습니다.  고객은 앱에 라인 차트가 들어가는 화면을 구현하기를 요청하였습니다.  다른 library 들도 있기는 하겠지만, 이번에 찾아보았던 것을 이용해 보기로 했습니다. 


 


또한, vico chart 에는 line chart 을 지원하기도 해서 도전해 보기로 했습니다. 


 


1. 개발자 페이지...

 


https://patrykandpatrick.com/vico/wiki/getting-started



 


Getting started | Vico


<iframe


patrykandpatrick.com




개발자 페이지에 나와 있는 wiki 정보는 해당 library 을 활용하는 데 도움이 됩니다.  끝까지 다 읽어 보면 좋기는 하겠지만,  긴급(?) 하게 작업을 해야 하는 경우에는 꼭 그럴 필요보다는 요약된 정보(?)를 활용해 보시는 것이 도움이 될 수 있습니다. 


 


 


2. build gradle 설정 

dependencies {
// For Jetpack Compose.
implementation("com.patrykandpatrick.vico:compose:2.0.0-alpha.22")

// For `compose`. Creates a `ChartStyle` based on an M2 Material Theme.
implementation("com.patrykandpatrick.vico:compose-m2:2.0.0-alpha.22")

// For `compose`. Creates a `ChartStyle` based on an M3 Material Theme.
implementation("com.patrykandpatrick.vico:compose-m3:2.0.0-alpha.22")

// Houses the core logic for charts and other elements. Included in all other modules.
implementation("com.patrykandpatrick.vico:core:2.0.0-alpha.22")

// For the view system.
implementation("com.patrykandpatrick.vico:views:2.0.0-alpha.22")
}

앱 수준의 gradle 파일에는 이런 정도의 기술이 필요 합니다. android studio 가 korala 버전으로 넘어가고 gradle 버전 8.5 이상으로 넘어가면서 version 관리를 version catalog을 사용하는 방식으로 변경이 되면서 작성하는 방법이 달라지고 있습니다.  처음 보았을 때는 불편하지 않을까 하는 생각이 들기도 했지만, 익숙해지면 관리가 수월해집니다. 


 


이번에는 version catalog 방식의 gradle 정보을 보겠습니다. 


먼저 grable 폴더에 위치 하는 libs.versions.toml 파일의 작성 예시입니다.  버전은 이 글을 작성하는 시점이기 때문에 달라질 수 있습니다.


[versions]
vico = "2.0.0-alpha.22"

[libraries]
# For Jetpack Compose.
vico-compose = { group = "com.patrykandpatrick.vico", name = "compose", version.ref = "vico" }

# For `compose`. Creates a `ChartStyle` based on an M2 Material Theme.
vico-compose-m2 = { group = "com.patrykandpatrick.vico", name = "compose-m2", version.ref = "vico" }

# For `compose`. Creates a `ChartStyle` based on an M3 Material Theme.
vico-compose-m3 = { group = "com.patrykandpatrick.vico", name = "compose-m3", version.ref = "vico" }

# Houses the core logic for charts and other elements. Included in all other modules.
vico-core = { group = "com.patrykandpatrick.vico", name = "core", version.ref = "vico" }

# For the view system.
vico-views = { group = "com.patrykandpatrick.vico", name = "views", version.ref = "vico" }

 


다음은 gradle 파일의 모습 입니다. 


dependencies {
implementation(libs.vico.compose)
implementation(libs.vico.compose.m2)
implementation(libs.vico.compose.m3)
implementation(libs.vico.core)
implementation(libs.vico.views)
}

 


dependencies 작성이 휠씬 간결해졌음을 알 수 있습니다. 


 


이제 코드 구현을 해 보겠습니다. 


 


// compolse 에서 구현 되는 챠트 입니다.
@Composable
fun LineGraph() {
val modelProducer = remember { CartesianChartModelProducer.build() }
// 이 부분에서는 반복적으로 무의미한 숫자을 생성해 냅니다.
// 아직 데이터가 없는 그래프 이기 때문에 임시 데이터을 생성해 내기 위해서 입니다.
LaunchedEffect(Unit) {
withContext(Dispatchers.Default) {
while (isActive) {
modelProducer.tryRunTransaction {
/* Learn more:
https://patrykandpatrick.com/vico/wiki/cartesian-charts/lay
ers/line-layer#data. */
// 라인 챠트을 그리기 위해서 준비 합니다.
lineSeries {
repeat(Defaults.MULTI_SERIES_COUNT) {
series(
List(Defaults.ENTRY_COUNT) {
Defaults.COLUMN_LAYER_MIN_Y +
Random.nextFloat() * Defaults.COLUMN_LAYER_RELATIVE_MAX_Y
}
)
}
}
}
// 이 부분을 풀면 반복 시간이 되었을 떄 다시 실행 됩니다.
//delay(Defaults.TRANSACTION_INTERVAL_MS)
}
}
}

// 이제 챠트을 그려 보겠습니다.
Column (
modifier = Modifier
.fillMaxWidth(),
horizontalAlignment = CenterHorizontally,
verticalArrangement = Arrangement.Top
) {
Spacer(modifier = Modifier.padding(10.dp))
// 챠트 상단에 제목을 넣었습니다.
Text(text = stringResource(R.string.statusTitle), style = typography.titleSmall.copy(white))
Spacer(modifier = Modifier.padding(5.dp))
// 챠트 그리기을 호출 합니다.
ComposeChart7(modelProducer, Modifier.fillMaxSize())
}

}

@Composable
private fun ComposeChart7(modelProducer: CartesianChartModelProducer, modifier: Modifier) {
CartesianChartHost(
chart =
rememberCartesianChart(
rememberLineCartesianLayer(
// 챠트가 그려질 데이터 정보입니다.
lines =
chartColors.map { color ->
rememberLineSpec(shader = DynamicShader.color(color), backgroundShader = null)
}
),
// 챠트 하단 에 표시 되는 정보 입니다.
startAxis =
rememberStartAxis(
label = rememberStartAxisLabel(),
horizontalLabelPosition = VerticalAxis.HorizontalLabelPosition.Inside,
// 하단 제목의 수직 배열시 참조 VerticalAxis.VerticalLabelPosition.Center
),
// 챠트 왼쪽에 표시 되는 정보 입니다.
bottomAxis = rememberBottomAxis(valueFormatter = { value, _, _ ->
("${value.toInt()}H")
}),
legend = rememberLegend(),
),
modelProducer = modelProducer,
modifier = modifier.background(white),
marker = rememberMarker(),
runInitialAnimation = false,
zoomState = rememberVicoZoomState(zoomEnabled = false),
)
}

// 챠트 왼쪽에 제목 (세로 제목)
@Composable
private fun rememberStartAxisLabel() =
rememberAxisLabelComponent(
color = white,
background = rememberShapeComponent(shape = Shape.rounded(4.dp), color = softBlue),
padding = Dimensions.of(horizontal = 8.dp, vertical = 2.dp),
margins = Dimensions.of(all = 4.dp),
)

// 챠트가 그려지는 부분 입니다.
@Composable
private fun rememberLegend() =
rememberHorizontalLegend<CartesianMeasureContext, CartesianDrawContext>(
items =
chartColors.mapIndexed { index, chartColor ->
rememberLegendItem(
icon = rememberShapeComponent(Shape.Pill, chartColor),
label =
rememberTextComponent(
color = vicoTheme.textColor,
textSize = 12.sp,
typeface = Typeface.MONOSPACE,
),
labelText = stringResource(legendString[index]),
)
},
iconSize = 8.dp,
iconPadding = 8.dp,
spacing = 4.dp,
padding = Dimensions.of(top = 8.dp),
)

// Color(0xffb983ff), Color(0xff91b1fd), Color(0xff8fdaff)
// 챠트는 3개의 데이터을 이용해 그리는 것이라 구분 하기 위해서 color 을 선언 합니다.
private val chartColors = listOf(smallGreen, smallYellow, largeGreen)
// 챠트 하단에 표시될 제목 입니다. 데이터가 3개 이기 때문에 제목도 3개을 넣었습니다.
private val legendString = listOf(R.string.walkStep,R.string.calorieBurn,R.string.exerciseTime)

 


이렇게 간단한 설명을 달아 보았습니다.   개발자 페이지를 잘 보면 상세한 정보를 보실 수 있을 듯합니다만, 속성(?)으로 차트 그리기가 필요하다면, 이 정도의 정보만으로도 멋있는 line chart을 그려 볼 수 있습니다. 


 


4. 실행 예제

 


chart 예제



 


이렇게 그려지는 chart 을 보실 수 있습니다.  실행되는 앱의 전체 화면은 고객 보호를 위해서 이 부분만 참조하도록 하겠습니다.





오늘의 이야기

50 크리에이티브 챗GPT, 소셜 미디어 게임 고도화 프로모션

gpt ???



• 강력한 AI 도구인 ChatGPT는 소셜 미디어 콘텐츠 생성을 혁신할 수 있습니다. 트윗을 위한 재치 있는 농담을 만드는 것부터 매혹적인 인스타그램 캡션을 디자인하고 비디오 광고 스토리보드를 생성하는 것까지 ChatGPT가 여러분을 커버했습니다.

• ChatGPT를 사용하면 새로운 청중을 유치하기 위한 매력적인 소셜 미디어 경연 아이디어를 쉽게 생성하고 효과적인 파트너십을 위해 콜드 이메일 아웃리치 템플릿을 개인화하며 다양한 플랫폼에 대한 이미지 차원을 최적화할 수 있습니다.

• 긴 광고 카피를 압축하고 창의적인 인스타그램 릴 전략을 제안하며 고성능 구글 텍스트 광고 헤드라인과 설명을 제공할 수 있습니다.

• ChatGPT는 매력적인 이메일 뉴스레터 여론 조사를 작성하고 SEO에 대한 메타 제목을 최적화하며 유튜브 튜토리얼에 대한 이상적인 비디오 길이를 결정하는 데 도움이 됩니다.

• 홍보 이메일에 대한 매혹적인 주제 라인을 생성하고 클라이언트 온보드 프로세스를 개선하기 위한 팁을 제공하며 사용자 생성 콘텐츠에 대한 관련 해시태그를 식별한다.

• 이 도구는 게스트 포스팅 기회를 찾고, SEO 최적화를 위한 블로그 게시물을 분석하고, 창의적인 틱톡 마케팅 캠페인을 개발하는 데 도움이 됩니다.

• ChatGPT는 트위터에서 업계 전문가 목록을 작성하고 블로그 기사에서 백링크 기회를 식별하며 복잡한 가격 정보를 단순화하고 유튜브 채널 성공을 위한 분석 메트릭을 제안한다.

https://medium.com/aimonks/50-best-chatgpt-prompts-for-social-media-posts-must-use-5f68784976ec

50 Best ChatGPT Prompts for Social Media Posts (Must Use)

This nifty AI writer is seriously a content creator’s dream. Whether you need a hilarious joke for your next tweet, an eye-catching caption…

medium.com





오늘의 이야기


#스하리1000명프로젝트,
In Korea verloren? Auch wenn Sie kein Koreanisch sprechen, hilft Ihnen diese App dabei, sich problemlos fortzubewegen.
Sprechen Sie einfach Ihre Sprache – es übersetzt, sucht und zeigt Ergebnisse in Ihrer Sprache an.
Ideal für Reisende! Unterstützt mehr als 10 Sprachen, darunter Englisch, Japanisch, Chinesisch, Vietnamesisch und mehr.
Probieren Sie es jetzt aus!
https://play.google.com/store/apps/details?id=com.billcoreatech.opdgang1127




2026/04/07

오늘의 이야기



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

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

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

그것도 구글 Gemini로다가!

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

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

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


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




오늘의 이야기

AI로 Youtube short Factory 만들기 자동화 혁신과 탐구의 여정

아이



• 니킬 나이르는 AI가 생성한 비주얼과 최상위 음성 합성을 결합하여 레딧 게시물을 매혹적인 짧은 비디오로 변화시켜 유튜브 쇼츠를 혁신하는 임무를 시작합니다.

• 레딧의 r/쇼트카리스토리를 콘텐츠 소스로 활용하는 네어는 파이썬의 PRAW API 래퍼를 사용하여 게시물을 검색하고 구조화된 데이터 세트를 큐레이션한다.

• GPT-4는 각 쇼트에 대한 제목과 설명을 미세 조정하여 매력적이고 간결한 시청자 경험을 보장합니다.

• 이미지 프롬프트는 안정 확산 API를 통해 시각적으로 풍부한 요소의 생성을 유도하여 DALL·E 및 Midjourney의 기능을 능가하는 수직 비디오 친화적인 비주얼을 생성합니다.

• 11랩스의 음성 생성 기술은 자연스러운 소리의 내레이션으로 인간의 손길을 더해 전체적인 스토리텔링 경험을 강화한다.

• 무비피는 이미지와 오디오를 매혹적인 비디오에 매끄럽게 통합하는 반면 OpenCV는 동기화 문제가 지속되지만 화면 텍스트를 추가합니다.

• 마지막 단계는 유튜브 API를 사용하여 유튜브 업로드를 자동화하고 채널 소유권 및 OAuth2.0 검증 장애물을 극복하는 것이다.

https://medium.com/@niknair31898/creating-a-youtube-shorts-factory-with-ai-7a7c80f84bfa

Creating a YouTube Shorts Factory with AI

As always, my mind is buzzing with new project ideas. This time, I got hooked to the wave of automated YouTube Shorts — Reddit posts…

medium.com





오늘의 이야기

컴포즈 컴파일러 그래들 플러그인 Android • 컴포즈 컴파일러 그래들 플러그인은 안드로이드 개발을 위한 현대적인 UI 툴킷인 제트팩 컴포즈의 설정과 구성을 단순화한다. 코틀린 버전 2.0 이상이 필요하며 l...