일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- livedata
- 코드포스
- Codeforces
- pandas
- androidStudio
- GitHub
- AWS
- MiTweet
- activity
- MyVoca
- ProGuard
- Rxjava
- 암호학
- 백준
- architecture
- relay
- TEST
- android
- textfield
- Compose
- 코루틴
- Coroutine
- 프로그래머스
- Python
- 쿠링
- Gradle
- Kotlin
- Coroutines
- boj
- Hilt
- Today
- Total
목록Primary (163)
이동식 저장소
상한 (Upper bound) 다음과 같이 ``List``의 확장 함수를 선언했다. fun List.sum() = ... 이때 ``T``는 모든 타입이 될 수 있다. 그러나 ``List.sum``은 수를 저장한 리스트에 대해서만 실행되어야 한다. 그러니까 ``T``의 타입을 제한해야 한다는 말이다. Kotlin에는 모든 수(number) 타입의 부모 클래스 ``Number``가 존재한다.따라서 ``Number`` 또는 그 하위 클래스를 담은 리스트만 sum 함수를 실행할 수 있게 해야 한다. 다음과 같이 선언하면 된다. fun List.sum() = ... 이렇게 하면 ``Number`` 또는 ``Number``의 하위 타입만 ``T``가 될 수 있다. 이처럼 Kotlin에서는 제네릭 타입의 상한(upp..
다음 문서를 읽고 정리한 글임을 밝힙니다. 원문을 읽을 때는 영문으로 읽기를 권합니다. 앱 아키텍처 가이드 | Android 개발자 | Android Developers 앱 아키텍처 가이드 이 가이드에는 고품질의 강력한 앱을 빌드하기 위한 권장사항 및 권장 아키텍처가 포함되어 있습니다. 참고: 이 페이지는 Android 프레임워크 기본을 잘 아는 사용자를 대상으 developer.android.com 아키텍처? 아키텍처란 무엇인가? 개발자 입장에서 아키텍처는 프로그램의 서로 다른 부분을 연결하여 매끄럽게 동작하게 만들기 위한 구조를 말한다. 모바일, PC, TV 등 타겟에 따라 서로 다른 아키텍처가 적용되지만, 프로그램을 설계할 때 지켜야 할 기본적인 원칙은 동일하다. Hello World 프로그램을 작..
Boolean AND 연산을 &&로 하는 사람이 대부분이겠지만, 간혹 ``and`` 함수를 사용하는 사람도 있다. 예를 들어 다음 두 코드의 출력값은 같다. println(true and false) println(true && false) 그렇다면 &&와 ``and`` 중 무엇이 올바른 표현인가? &&가 맞다 사실 ``and`` 함수는 Boolean 값을 비교하는 연산자가 아니다. ``and`` 함수는 비트 연산 AND를 구현하는 함수이다. 그래서 ``and`` 함수로 3개 이상의 Boolean 값을 연산할 수 없다. 2개의 Boolean을 연산할 때는 &&와 같은 결과값을 반환하지만, 코드의 의미를 혼란스럽게 할 수 있으므로 웬만하면 &&를 사용하자. 참고: Kotlinlang - Bitwise op..
아래의 글을 요약하였음을 밝힙니다. Coroutines & Patterns for work that shouldn’t be cancelled Cancellation and Exceptions in Coroutines (Part 4) medium.com 코루틴은 자신의 scope가 종료될 때 같이 종료된다. 예를 들어 ``viewModelScope``에서 시작한 코루틴은 ``ViewModel``이 destroy되면 자신의 작업이 끝나지 않았더라도 종료된다. 종료되는 범위를 넓혀서 앱이 종료되기 전까지 종료되지 않는 코루틴을 실행하려면 ``Application``에 커스텀 scope를 정의하고, 정의한 scope를 코루틴을 실행할 객체에 inject하여 사용해야 한다. class MyApplication :..
구글 IO 보다가 성능 측정하는 얘기가 있길래 한번 해 보려고 했는데.. 자꾸 이상한 에러가 뜬다;; 분명히 시킨 대로 profile 만들어서 저장했는데 왜 그래? Android Gradle Plugin의 버그이다. 그러니까 구글이 잘못했다는 말이다. AGP 7.3.0-beta01 버전을 적용하면 문제를 해결할 수 있다. 그런데 현재 Android Studio의 stable 버전인 chipmunk에서는 AGP 7.2.x 버전까지만을 지원한다. 따라서 AGP 7.3.0 이상 버전을 적용하려면 Android Studio의 베타 버전을 실행해야 한다. 나는 Dolphin beta 1 버전을 다운로드했다. 장장 일주일 만에 버그를 해결했다. 휴~