일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 커스텀상태
- mockito
- 병렬프로그래밍
- kotlin강좌
- Compose
- 안드로이드
- Kotlin
- g 단위테스트
- 스레드
- android
- k8s
- Rxjava
- Coroutine
- Gradle
- 책
- 코루틴
- 안드로이드스튜디오
- 디자인패턴
- theming
- ReactiveProgramming
- 안드로이드강좌
- 알게되는
- 테스트
- 회고
- viewmodel
- 자바
- 알고리즘
- 글또
- 병럴프로그래밍
- 코틀린
- Today
- Total
목록분류 전체보기 (154)
선생님, 개발을 잘하고 싶어요.
도입 뷰를 enabled, checked 여부에 따라서 다른 리소스를 사용해서 보여줘야 하는 경우가 많다. 이런 경우 우리는 selector를 활용한다. enabled, checked와 같이 안드로이드 플랫폼에서 미리 정의된 상태에 대해서는 이미 편하게 selector를 만들고 사용하지만 개발을 하다보면 새로운 요구 사항을 만족하는 화면을 그려야 할 때가 있다. 가령 예를 들어 TextField의 내용에 에러가 있을 때는 빨간 테두리를 그려주고 그러지 않을 때는 검은 테두리를 그려야 하는 요구사항이 있을 수 있다. 하지만 state_enabed는 있어도 state_error와 같은 커스텀 상태는 존재하지 않는다. 이번 포스팅에서는 이러한 커스텀 상태를 정의하고 사용하는 가이드를 보여주려고 한다. 작업하기..
도입 어떤 프로젝트를 해도 사용자 인증은 중요한 키워드다. 그리고 사용자의 쉬운 접근을 위해서는 소셜 로그인 지원은 거의 필수적이다. 이번에는 카카오 로그인에 대해서 a-to-z까지 따라만 하면 성공하는 형태로 포스팅을 쓴다. (유용한 gists 도 제공한다!) 절차 준비물 카카오 로그인을 설정하기 위해선 다음을 미리 준비하자. 카카오 개발자 계정 카카오 로그인 적용을 위한 안드로이드 프로젝트 카카오 디벨로퍼 페이지에서 준비하기 카카오 디벨로퍼 페이지에서 사용할 애플리케이션을 등록하자. https://developers.kakao.com/console/app 애플리케이션 추가하기 버튼을 눌러준다. 앱 이름, 사업자명을 지정한 다음 저장하기를 누른다. SampleOauthLogin 애플리케이션이 추가된 걸..
다루는 거 코틀린 제네릭과 자바 제네릭의 유사한 부분 런타임 파라미터 타입 소거 - type erasure 실체화된 타입 파라미터 - reified type 타입 파라미터의 상위하위 관계에 따른 두 제네릭 타입의 상위하위 관계, 변성 - variance: 변성 → 타입 인자의 상하 관계에 따라 제네릭 타입의 상하 관계가 어떻게 처리되는가? 에 대한 개념 invariant: 무변성 → 타입 인자의 상하 관계가 제네릭 타입의 상하 관계와 관련 없음 covariant: 공변성 → 타입 인자의 상하 관계가 제네릭 타입의 상하 관계와 같음 contravariance: 반공변성 → 타입 인자의 상하 관계와 제네릭 타입의 상하 관계가 역전됨 선언 지점 변성 - declaration-site variance 사용 지점..
다루는 거 고차 함수: 람다를 인자로 받거나 반환하는 함수 인라인 함수 비로컬 return, 레이블, 로컬 return 무명 함수 고차함수 다른 함수를 인자로 받거나 함수를 반환하는 함수 코틀린으로 말하면, 람다나 함수 참조를 인자로 넘길 수 있거나 람다나 함수 참조를 반환하는 함수 코틀린에서 함수 변수 표현을 하기 위해서 람다, 함수 참조를 사용한다고 5장에서 말함. 인자로 받은 함수를 호출하는 구문은 일반 함수를 호출하는 구문과 같다. 컴파일된 코드에서 함수 타입은 일반 인터페이스로 표시된다. Function0, Function1 … 함수 타입 파라미터도 디폴트 값을 지정하거나 nullable 함수 타입을 만들 수 있다. 변수, 프로퍼티, 파라미터 등을 사용해 데이터 중복을 없애는 것과 같이, 람다를..