일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 책
- Gradle
- 병렬프로그래밍
- kotlin강좌
- Coroutine
- 안드로이드강좌
- 코틀린
- k8s
- 글또
- 회고
- 커스텀상태
- theming
- android
- 자바
- 디자인패턴
- 알고리즘
- 안드로이드
- 테스트
- 알게되는
- ReactiveProgramming
- 병럴프로그래밍
- Kotlin
- Compose
- 안드로이드스튜디오
- mockito
- 코루틴
- viewmodel
- g 단위테스트
- 스레드
- Rxjava
- Today
- Total
목록강좌 (9)
선생님, 개발을 잘하고 싶어요.
도입 우리는 어떤 기술을 사용하기 위해서 배울 때, 왜 이 기술을 사용해야 하는지 알아야 한다. 그러려면 우선 이 기술이 해결한다고 주장하는 문제를 이해할 필요가 있다. (이 과정에서 주장하는 문제에 공감할 수 있는가가 배움의 동기가 된다.) 문제에 공감했으면 해결하기 위해서 기술이 제안하는 방법을 이해해야 한다. (풍부한 실제 사례를 들어서 비교 분석해야 한다, 이때 실제로 문제를 겪은 경험이 있다면 도움이 된다.) 더 나아가서 다른 방법으로는 이 문제를 해결할 수 있는지 고민해보아야 한다. 추상화 이름으로 User를 찾고 그 User의 정보를 출력하는 프로그램을 만든다고 생각하자. main 함수는 이름에 해당하는 User를 찾기 위해서 파일 시스템을 조회해야 한다는 걸 알고 명시하고 있다. 이러한 지..
흔한 개발 시나리오 왜 Coroutine이 필요할까요? 이를 쉽게 이해하기 위해서 회원가입을 해야 하는 상황을 생각해봅시다. 편의를 위해서 회원가입 완료할 때 로그인 처리까지 하고 싶다고 합시다. 이메일, 비밀번호를 입력받습니다. 이메일, 비밀번호를 기반으로 회원가입을 요청합니다. 회원가입이 성공적으로 완수되면, 해당 이메일과 비밀번호를 사용해서 로그인을 요청합니다. 성공 메시지를 노출시킵니다. 이걸 코드로 옮겨보겠습니다. // 1. 이메일, 비밀번호를 입력 받습니다. val email: String = "greedy0110@gmail.com" val password: String = "0110" // 2. 이메일, 비밀번호를 기반으로 회원가입을 요청합니다. server.requestSignUp(emai..
목차 도입 계속 함수로 나아가 봅시다. 이번 시간에는 "요즘 언어"라면 마땅히 지원하는 람다(lambda)에 대해서 알아봅시다. 이 글을 통해서 람다를 왜 사용하는지 코틀린에서 람다는 어떻게 표현하는지 실제 코드에서 어떤 식으로 활용되는지 알아보려고 합니다. TL;DR; 람다는 행동을 추상화하는 타입이다. 함수의 매개변수 타입 목록, 함수의 반환 값 이 두 가지만 있으면 함수를 호출할 수 있다. 람다 타입은 (함수 매개변수 타입 목록) → 함수의 반환 값 형태다. 함수의 마지막 매개변수가 람다라면 축약 표현이 가능하다. 매개변수 하나만 받는 람다의 경우 암시적 매개변수 이름 it 이 지정된다. 왜 람다? 널리 이롭게 쓰일 버튼을 만들어보자. 여러분은 코드 전체에 걸쳐서 사용할 Button 클래스를 만들고..
도입 다시 함수로 돌아와 볼까요? 이번 시간엔 코틀린이 제공하는 아주 강력한 기능인 확장 함수(Extension Function)에 대해서 알아보겠습니다. 저는 이 확장 함수가 코틀린을 코틀린답게 만드는 가장 큰 요소라고 생각하는데요. 같이 더 깊은 코틀린의 세계로 빠져 봅시다. TL;DR 확장 함수는 어떤 클래스의 인스턴스가 호출할 수 있는 함수를 클래스 밖에 정의하는 것이다. fun 클래스이름.함수이름(...) { } 형태로 정의한다. Toast, Toast, Toast 안드로이드를 개발하다 보면 사용자에게 Toast를 보여줘야 하는 경우가 생깁니다. 간단한 Toast를 보여주는 코드와 함께, 오늘의 포스팅을 시작해봅시다. 버튼을 누를 때, 사용자에게 토스트를 보여주고 싶다고 합시다. class Sa..