일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- express
- 조건문
- jquery
- kotlin2.0
- node.js
- 스터디
- Flutter
- 변수
- Kotlin
- 코틀린
- Flow
- SwiftUI
- Coroutine
- 설치
- 그림으로 배우는 서버구조
- 이클립스
- java
- 정보처리기사
- php개발
- php
- 서버
- Eclipse
- 스나이퍼팩토리
- node
- 플러터
- ios
- php변수
- kotlininaction
- script
- android
- Today
- Total
목록Android (18)
mygomii

최근 국내 최대 규모의 안드로이드 컨퍼런스인 드로이드나이츠 2025 행사에 컨트리뷰터로 처음 참여했다. 평소 관심이 많았던 행사였기에 오픈소스 컨트리뷰터로서의 경험을 쌓기 위해 적극적으로 도전했다.도전했던 이슈: AsyncImage Preview 문제 해결 🤔 오픈된 이슈 중 가장 관심이 가던 [CMP] AsyncImage가 프리뷰에서 제대로 그려지지 않는 문제를 선택했다. Coil 라이브러리를 사용하는 화면에서 프리뷰가 표시되지 않는 문제가 있어서, 이를 해결하기 위한 코드 개선 작업을 진행했다.이 문제는 공식 Coil 문서에 소개된 LocalAsyncImagePreviewHandler를 활용해 해결했다. 사실 매우 간단한 설정으로 해결 가능한 쉬운 이슈였지만, 프리뷰 환경에서 이미지를 제대로 렌더링..

"대한민국 최대 안드로이드 개발자들만을 위한 드로이드나이츠 2025" 를 다녀옴이번에는 티켓이 빨리 솔드아웃됐다는 소리가 들리면서 인기가 아주 많아졌다라는 생각을 함 후원사는 Jetbrains, Revenuecat, koin 였음굿즈는 우산, 스티커, 키링이었따흥미로운 주제는 전방위 자동화 시대, CI/CD를 넘어~~~~인데 자동화를 통한 편의성 증진과 시너지 효과자동화 환경 구축과 관리 방법>웹 서버의 자동화 확장, 슬랙, Jira, 빌드 현황 알림 등을 이용하고, 자동화하는 방법을 알려줘서 좀 솔깃했고적용해볼만 하겠다? 라는 생각을 가짐 많은 발표들이 있었지만 그 후기들은 생략하고! 아주 유익한 시간이었다라는 사실!https://www.droidknights.dev 드로이드나이츠 2025대한민국 최대..

프로젝트는 두 개의 모듈로 구성 composeAppAndroid, Desktop, iOS, Web 애플리케이션에서 공통으로 사용하는 로직이 포함된 Kotlin 모듈 특징모든 플랫폼에서 사용되는 코드가 이 모듈에 위치Gradle 빌드 시스템을 사용하여 빌드 과정을 자동화함 iosApp설명: iOS 애플리케이션으로 빌드되는 Xcode 프로젝트특징공유 모듈(composeApp)을 iOS 프레임워크로 의존하여 사용composeApp 모듈은 다음과 같은 소스셋(Source Set)들로 구성되어 있음androidMaincommonMaindesktopMainiosMainwasmJsMain소스셋(Source Set) 설명소스셋은 Gradle의 개념으로, 논리적으로 함께 그룹화된 여러 파일들을 의미하며, 각 그룹은 고..

Hilt는 Android 애플리케이션에서 의존성 주입(Dependency Injection, DI)을 단순화하기 위해 구글이 만든 라이브러리Dagger 위에 구축간소화된 DI 구성Hilt는 Dagger의 복잡한 컴포넌트나 서브컴포넌트 구성을 대신해, 미리 정의된 컴포넌트(SingletonComponent, ActivityComponent 등)를 제공Android 통합Android의 Application, Activity, Fragment, Service 등 다양한 컴포넌트에 쉽게 DI를 적용할 수 있도록 @HiltAndroidApp과 @AndroidEntryPoint같은 애노테이션을 제공자동화된 라이프사이클 관리Hilt는 Android Component의 lifecycle에 맞춰 의존성의 범위(scope..

Koin은 Kotlin으로 작성된 경량 의존성 주입(Dependency Injection, DI) 프레임워크Koin은 컴파일 타임 코드 생성 없이 순수 Kotlin DSL을 사용하여 DI 설정을 구성런타임에 필요한 의존성을 주입Module모듈을 의존성(객체, 서비스 등)을 정의하는 단위모듈 안에 single ,factory , scoped 등의 DSL 함수를 사용하여 객체의 생명주기를 지정single : 애플리케이션 전체에서 하나의 인스턴스를 공유factory : 의존성을 요청될 때마다 새로운 인스턴스를 생성scoped : 특정 범위 내에서만 인스턴스 공유Scope스코프는 특정 라이프사이클과 연관된 의존성을 관리안드로이드에서는 Activtiy, Fragment 의 생명주기에 맞춰 스코프를 설정할 수 있어..
💡목표Cold Stream, Hot Stream을 이해한다.📝 정리하기Cold Stream하나의 소비자에게 값을 보냄생성된 이후에 누군가 소비하기 시작하면 데이터 발행상태가 변하지 않는 값을 읽을 때 데이터 베이스를 읽거나 URL을 통해서 서버값을 읽는 경우 구현HTML 삽입미리보기할 수 없는 소스flow 생성: flow 빌더를 사용하여 콜드 스트림을 생성. 이때 데이터 항목을 emit 으로 방출 → 스트림이 시작될 때 로그 출력구독 전 상태: 스트림이 생성되었지만 아직 수집자가 없으므로 아무런 작업도 수행 x구독: 첫 번째 구독자는 launch를 사용하여 코루틴을 시작하고, coldFlow.collect를 호출하여 스트림을 구독 이때 스트림은 데이터를 방출하기 시작두 번째 구독자: 두 번째 구독자는..
💡목표Gradle dependency 의 api 와 implementation 차이를 이해한다.📝 정리하기 implementation api 대신 이 종속 항목 구성을 사용하면 빌드 시스템에서 다시 컴파일해야 하는 모듈 수가 줄어들기 때문에 빌드 시간이 크게 개선될 수 있습니다. 예를 들어 implementation 종속 항목이 API를 변경하면 Gradle은 이 종속 항목과 이 종속 항목에 직접 종속된 모듈만 다시 컴파일합니다. 대부분의 앱과 테스트 모듈은 이 구성을 사용해야 합니다.Gradle이 컴파일 클래스 경로에 종속 항목을 추가하고 빌드 출력에 종속 항목을 패키징합니다. 모듈에서 implementation 종속 항목을 구성하면 Gradle에 컴파일 시간에 종속 항목이 다른 모듈에 누출되지 않..

💡목표안드로이드 클린 아키텍처를 이해한다.공식 문서에 따르면 Android Clean Architecture의 가장 중요한 원칙은 ‘관심사 분리’ 이다.화면에 애플리케이션 데이터를 표시하는 UI Layer비즈니스 로직을 포함하고 데이터 노출하는 Data LayerUI와 Data Layer 간의 상호작용을 간소화하고 재사용하기 위한 Domain Layer가 있다.UI(Presentation) Layer, Domain Layer, Data Layer 3가지 레이어가 있다.UI LayerUI Layer 역할은 화면에 데이터를 표시하는 것이다. 사용자 상호작용 또는 이벤트로 인해 데이터가 변할 때마다 UI가 업데이트 되어야 한다.화면데 데이터를 렌더링하는 UI 요소. View 또는 Compose함수를 사용하여..