| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 안스
- 안드로이드스튜디오
- error
- Kotlin
- Android
- ADB
- 웹뷰
- 유튜브
- studio
- hilt
- RecyclerView
- 깃헙
- Github
- DAGGER
- compose
- DI
- WebView
- 코루틴
- 의존성주입
- MVVM
- coroutine
- 에러
- build
- 스튜디오
- 코틀린
- Retrofit
- cursor
- 안드로이드
- 안드로이드 스튜디오
- Gradle
- Today
- Total
목록분류 전체보기 (177)
코딩하는 일용직 노동자
터미널을 켤 때마다 내 맥북의 사양과 로고가 멋지게 나타나도록 설정하는 방법을 알려드리겠습니다.1. iTerm2 실행하기먼저 기본 터미널보다 기능이 다양한 iTerm2 패키지를 열어줍니다.2. neofetch 설치하기맥북의 시스템 정보를 요약해서 보여주는 neofetch를 설치해야 합니다. 터미널에 아래 명령어를 입력해 주세요. (Homebrew가 설치되어 있어야 합니다!)brew install neofetch이미 설치하신 분들은 brew cleanup neofetch로 정리해 주셔도 좋습니다.3. zsh 설정 파일 수정하기터미널을 실행할 때마다 자동으로 neofetch가 실행되도록 설정 파일을 수정해야 합니다.터미널에 vi ~/.zshrc를 입력해 설정 파일을 엽니다.파일의 맨 마지막 줄로 이동합니다...
안드로이드 앱을 개발하다 보면 버튼이나 말풍선처럼 콘텐츠 길이에 따라 크기가 변해야 하는 이미지를 다룰 때가 많습니다. 이때 사용하는 것이 바로 .9.png, 즉 나인패치(9-Patch) 파일입니다.안드로이드 스튜디오 내장 에디터도 훌륭하지만, 별도의 툴을 켜지 않고 브라우저에서 직관적으로 작업하고 싶을 때 가장 추천하는 사이트가 바로 **[Android Asset Studio - Nine-Patch Generator]**입니다.오늘은 이 사이트를 활용해 나인패치 이미지를 만드는 방법을 상세히 정리해 보겠습니다.1. 사이트 접속 및 이미지 업로드먼저 아래 링크로 접속합니다. 🔗 Android Asset Studio - Nine-Patch Generator사이트에 접속하면 상단의 'Source' 버튼을 ..
1. Mole 앱 소개Mole은 터미널 기반의 오픈소스 도구로, 유료 앱인 CleanMyMac이나 DaisyDisk의 기능을 무료로 대체할 수 있는 강력한 앱입니다. 광고나 구독료 없이 시스템 청소, 앱 완전 삭제, 디스크 분석, 시스템 모니터링 기능을 모두 제공합니다.2. 설치 방법Mole을 설치하기 위해서는 먼저 Mac의 패키지 관리자인 'Homebrew'가 설치되어 있어야 합니다.1단계: Homebrew 설치 (이미 설치되어 있다면 건너뛰세요)터미널(Terminal) 앱을 열고 아래 명령어를 복사해서 붙여넣은 뒤 엔터를 누릅니다. (암호 입력 필요)/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/in..
안드로이드 앱 UI를 개발하다 보면, 여러 개의 뷰 중에서 **"가장 긴(또는 높은) 뷰"**를 기준으로 다른 뷰를 배치해야 하는 상황이 생깁니다. 이때 유용하게 사용할 수 있는 Barrier에 대해 알아보겠습니다.1. Barrier란 무엇인가?Barrier(배리어)는 말 그대로 **'가상의 벽'**입니다. ConstraintLayout에서 제공하는 Helper 객체로, 화면에 직접 나타나지는 않지만 여러 개의 뷰를 묶어서 그 뷰들의 경계선을 동적으로 만들어 줍니다.2. 왜 사용해야 할까? (Guideline과의 차이)Guideline: 특정 수치(dp)나 퍼센트(%)로 고정된 선을 만듭니다.Barrier: 참조하는 뷰들의 크기에 따라 위치가 가변적입니다.예를 들어, '이름'과 '전화번호'라는 두 개의 ..
https://github.com/orbit-mvi/orbit-mvi GitHub - orbit-mvi/orbit-mvi: A simple MVI framework for Kotlin Multiplatform and AndroidA simple MVI framework for Kotlin Multiplatform and Android - orbit-mvi/orbit-mvigithub.comMVI 패턴을 쉽고 안전하게 구현할 수 있도록 도와주는 라이브러리이다.data class CalculatorState( val total: Int = 0)sealed class CalculatorSideEffect { data class Toast(val text: String) : CalculatorSide..
안드로이드 개발을 하다 보면 **DI(Dependency Injection, 의존성 주입)**라는 벽에 부딪힙니다. "Dagger2는 너무 어렵다", "보일러 플레이트 코드가 너무 많다"는 이야기를 들어보셨을 겁니다.Google이 만든 Hilt는 이 어려운 DI를 아주 쉽게 만들어준 도구입니다. 오늘은 복잡한 이론 대신, **"배달 서비스"**에 비유해서 Hilt의 핵심 사용법을 딱 4단계로 정리해 보겠습니다.💡 Hilt 핵심 개념: "자동 배달 서비스"Hilt를 사용하는 것은 요리(객체 생성)를 직접 하지 않고, 배달(주입)시키는 것과 같습니다.나(Activity): "이거 갖다줘(@Inject)"라고 주문만 하면 됨.Hilt: 주문받은 객체를 문 앞까지 알아서 배달해줌. 1단계: 배달 앱 켜기 (초..
안드로이드 개발을 하다 보면 한 번쯤 마주치는 거대한 벽, 바로 **'클린 아키텍처(Clean Architecture)'**입니다."도메인이 어떻고, 의존성이 어떻고..." 이론으로만 접근하면 너무 어렵게 느껴지는데요. 오늘은 이 클린 아키텍처를 우리가 흔히 가는 **'고급 레스토랑'**에 비유해서 아주 쉽게 정리해 보려 합니다.이 글을 다 읽고 나면, 머릿속에 아키텍처의 구조가 그림처럼 그려지실 거예요!🏛️ 클린 아키텍처란?클린 아키텍처는 앱을 **3개의 역할(계층)**로 아주 명확하게 나누는 방법입니다. 서로의 일을 침범하지 않게 해서 수정과 관리를 편하게 만드는 것이 최종 목표죠. 자, 이제 우리 앱을 레스토랑이라고 상상해 봅시다.1. 레스토랑으로 보는 3가지 계층 ① 프레젠테이션 계층 (Pres..
안드로이드 개발에서 Hilt를 사용하여 의존성 주입(Dependency Injection)을 할 때, 모듈(Module) 내에서 의존성을 제공하는 방법으로 `@Provides`와 `@Binds` 두 가지 애노테이션을 사용합니다. 둘 다 의존 객체를 제공하는 역할을 하지만, 사용 목적과 방식, 그리고 성능에서 차이가 있어 상황에 맞게 사용하는 것이 중요합니다.결론부터 말하자면, 인터페이스(interface)와 구현체(implementation)를 묶어주는 단순한 작업에는 `@Binds`를, 복잡한 객체 생성 로직이 필요할 때는 `@Provides`를 사용하는 것이 좋습니다.@Provides: 객체 생성의 모든 것을 책임진다`@Provides`는 Hilt가 직접 생성할 수 없는 타입의 객체를 어떻게 만들어서..
안드로이드 Jetpack Compose에서 사용하는 주요 Effect Handler들에 대해 각각의 역할과 사용 사례를 중심으로 설명해 드릴게요.이 Effect Handler들은 Composable 함수의 생명주기와는 별개로 실행되어야 하는 작업, 즉 \*\*Side Effect(부수 효과)\*\*를 안전하게 관리하기 위해 사용됩니다. 예를 들어 데이터베이스에 접근하거나, 네트워크 요청을 보내거나, 리스너를 등록하는 등의 작업이 여기에 해당합니다.1. LaunchedEffect`LaunchedEffect`는 Composable이 처음으로 화면에 그려질 때(Composition 될 때) **코루틴을 실행**하고 싶을 때 사용합니다. 가장 일반적으로 사용되는 Effect Handler 중 하나입니다. * *..
✨ Android 프로젝트에 Ktlint + Spotless로 자동 코드 포맷팅 날개 달기 🚀 안녕하세요! 동료 개발자들과 협업하다 보면 서로 다른 코드 스타일 때문에 골치 아팠던 경험, 다들 한 번쯤 있으시죠? 😅 오늘은 이런 코드 스타일 스트레스를 한 방에 날려버릴 ktlint와 Spotless 조합을 Android 프로젝트에 적용하는 방법을 알아보겠습니다.이 가이드를 따라오시면, 팀원 모두가 깔끔하고 일관된 코드를 작성하게 되어 코드 리뷰는 즐거워지고, 프로젝트 품질은 쑥쑥 올라갈 거예요!🎯 우리의 목표- 일관된 코드 스타일: 누가 작성하든 항상 같은 모양의 코드를 유지해요.- 완전 자동화: Ctrl+Alt+L은 이제 그만! 빌드할 때마다 알아서 코드가 예뻐져요.- 협업 효율 UP: "이 부분..