일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ReactiveProgramming
- android
- 병렬프로그래밍
- 커스텀상태
- Coroutine
- 코틀린
- 글또
- viewmodel
- Compose
- theming
- 안드로이드스튜디오
- 디자인패턴
- Kotlin
- kotlin강좌
- 스레드
- 회고
- 코루틴
- 알게되는
- 안드로이드강좌
- Rxjava
- Gradle
- 테스트
- g 단위테스트
- 안드로이드
- k8s
- 병럴프로그래밍
- 알고리즘
- mockito
- 자바
- 책
- Today
- Total
목록전체 글 (154)
선생님, 개발을 잘하고 싶어요.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c4ntLL/btqFn08opYB/C2Y2xf8aErPeIFCg8ymJd1/img.png)
도입 What’s new in Jetpack Android Jetpack is a suite of libraries aimed at helping you write high-quality apps easily, supporting older versions of the Android OS… medium.com 구글에선 안드로이드 의존성 주입 라이브러리로 Dagger를 밀고 있습니다. 예전에 포스팅으로 Dagger의 컨샙에 대해서 다룬 적이 있는데요. [Dagger2 알아 보기] 이번에 안드로이드 11 소식과 함께 Jetpack에도 새로운 변화가 생겼습니다. 그 중에서 Hilt라는 녀석이 제 눈길을 끌었는데요. Dagger를 대채하는 차세대 의존성 주입 라이브러리 라고 보시면 되겠습니다! 기존에 Dagge..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxuk5n/btqFbBugEL9/0gjqwqsYTfYxO1cMLIWKVK/img.png)
권한의 목적 안드로이드 유저의 프라이버시를 보호하기 위해서 필요하다. 권한을 사용하기 위해서 AndroidManifest.xml 파일에 사용하고 싶은 권한을 uses-permission 태그를 통해 작성한다. 권한 종류 Normal permissions → 단순히 메니페스트에만 정의하면 설치시에 자동으로 권한을 보장한다. Dangerous permissions → 런타임에 명시적으로 사용자에게 권한을 요청해야 하는 골치거리 → 주로 사용자 개인 정보와 관련된 권한 핵심 함수 ContextCompat.checkSelfPermission → 특정 권한이 PackageManager.PERMISSION_DENIED 인지, PackageManager.PERMISSION_GRANTED 인지 반환 한다. Activi..
목적 반드시 종료되어야 하고, 지연될 수 있는 작업을 백그라운드에서 실행하고 싶을 때 사용한다. 매인 클래스 Worker: 실제 수행할 작업을 doWork 인터페이스에 정의 WorkRequest: Work를 수행하도록 요청한다. 수행할 Worker를 전달해야 한다. 수행할 제약 조건인 Constraints도 전달 가능하다. WorkManager: WorkRequest들을 스케쥴링 한다. Constraints: Work가 실행될 조건을 명세한다. Worker WorkManager에 의해서 생성된다. 내가 직접 생성하는 것이 아니기에, Worker의 멤버 변수가 유지될 것이라는 생각은 버려야 applicationContext로 앱 컨텍스트에 접근 가능하다. 작업의 성공 여부에 따라 Result를 반환한다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cGV5kt/btqEGgDvkw0/zykbAtr9jFk8a1aUDDivjK/img.png)
Mockito Mockito framework site Intro Why How More Who Links Training Why drink it? Mockito is a mocking framework that tastes really good. It lets you write beautiful tests with a clean & simple API. Mockito doesn’t give you hangover because the tests are very readable and they produc site.mockito.org 초간단 Mockito 란? 테스트를 편하게 하도록 모의 객체(Mock)를 만드는 Mocking 프레임워크입니다. 초간단 Mock 이란? 모의 객체(Mock)는 실제 구현체..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qzPZT/btqEn8FyZQ3/CkZwNPZk3J2QCeKOsDjaN1/img.jpg)
도입 TDD, 테스트 주도 개발 방법론은 저에게 있어서 하나의 넘어야 할 산처럼 느껴졌습니다. 다양한 컨퍼런스에서 들려오는 테스트 코드의 장점, 각종 회사에서 우대 사항으로 내거는 "유닛/통합 테스트 코드 작성 경험" 레거시 코드를 다룰 때마다 나를 반기는 무수한 사이드 이펙트들 시중에 많은 테스트 관련 책들이 있고, 훌륭한 책들이 많습니다. 하지만 그 개념을 프로젝트에 녹이기 쉽지 않더군요. 그래서 다양한 개인 프로젝트에 테스트 코드를 적용해 보고 느낀 점, 회사에 부분적으로 적용하며 고민한 내용을 공유하려고 합니다. 테스트 책에서 읽은 내용들이 어떻게 MVVM 구조에 녹일 수 있을까 고민하신 분들에게 공감되는 이야기, 실용적인 이야기라면 좋겠네요 😋 다룰 것 안드로이드 테스트에 대해서 설명하지만, 특..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bWe3n2/btqEeZIhQqs/ve2387KD8A5ee2e6oZP96k/img.png)
도입 프로그래밍에서 가장 중요한 요소는 뭘까요? 변수, 함수, 클래스, 연산자? 저는 감히 반복문이라고 할 수 있을 것 같습니다. 프로그램은 사람이 다룰 수 없는 단위의 데이터를 가지고 놉니다. 그렇다고 데이터 하나하나의 처리를 사람이 지정해 주는 것은 불가능하죠. 그래서 프로그래밍에선 반복문을 제공해서 데이터의 리스트, 컬렉션을 순차적으로 다룰 수 있는 문법인 for을 제공하고 있습니다. 그런데 프로그램이 복잡해지면서, 기존의 for 문 안의 내용이 쉽게 비대해지고, 복잡해지기 일쑤입니다. 그래서 컬렉션을 가지고 하는 작업을, 조합하는 형태로 단일 문으로 작성할 수 있는 문법을 구상했는데요. 그게 바로 컬렉션 파이프라인입니다. 파이프 라인 함수 컬렉션 파이프라인 함수 예제를 살펴보기 전에, 어떤 기본적..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dfhHs7/btqD1qA0aXP/Z1dj6woxHkhDExK6UcIW91/img.png)
도입 사이드 프로젝트에 광고를 넣어 보면서 귀찮았던 부분, 신경 쓰인 부분을 정리해 보았습니다. 설정하기 다음 공식 문서들을 참조해서 기본적인 세팅을 할 수 있어요. AdMob 홈페이지: AdMob 어플리케이션을 등록할 수 있다. AdMob Android SDK 시작하기: 기본적인 SDK 사용법을 알 수 있다. Android SDK 시작하기 링크를 보면, 기본적으로 Test 배너를 띄울 수 있을 것이라고 생각됩니다. 귀찮았던 것 테스트용 Unit Id AdMob 홈페이지를 통해 발급받은, 광고 ID를 가지고 테스트를 하다 보면, 무효 활동으로 계정이 신고될 수 있다고 합니다. 따라서 우리는 구글의 샘플 광고 ID를 사용 테스트 기기를 사용하도록 설정 해야합니다. 하나씩 둘러보죠. 샘플 광고 ID 사용 가..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cV8aqu/btqDwDtUKYq/ESP9bENHL2V5CAOlRvniq0/img.gif)
문제 상황 애플리케이션에서 화면 전환은 엄청 중요하죠. 이렇게 중요한 화면 전환, 좀 더 이쁘고 의도에 맞게 하는 방법 없을까요?🤔 애니메이션과 BaseActivity 구현체를 사용해서 간단하게 구현해 봅시다. overridePendingTransition 간단히 이 함수 하나만 있으면 화면 전환간 애니메이션을 실행할 수 있습니다. overridePendingTransition(R.anim.none, R.anim.horizon_exit) 이 함수는 두개의 애니메이션 리소스를 함수 인자를 받는데요. 첫 번째 인자는, 새로 나타나는 화면이 취해야 하는 애니메이션 두 번째 인자는, 지금 화면이 취하는 애니메이션입니다. 위의 함수 콜은, 새로 나타는 화면은 가만히, 지금 화면은 오른쪽에서 왼쪽으로 슬라이딩하면서..