일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코루틴
- Gradle
- textfield
- 코드포스
- activity
- boj
- Codeforces
- Compose
- 쿠링
- 프로그래머스
- android
- Kotlin
- MiTweet
- TEST
- MyVoca
- Rxjava
- GitHub
- Coroutines
- Coroutine
- Python
- ProGuard
- livedata
- AWS
- 백준
- 암호학
- Hilt
- architecture
- relay
- pandas
- androidStudio
- Today
- Total
목록Primary (163)
이동식 저장소
비동기 코드는 본질적으로 어렵다. 제대로 공부하지 않은 비동기 코드는 더 어렵다. 지난 몇 일간 코루틴 ``ViewModel`` 코드를 테스트하다 아주 열불이 나서..;; 이참에 제대로 다시 공부해 보자. ``suspend`` 함수의 실행 순서 ``suspend`` 함수도 일반 함수처럼 순차적으로 실행된다. suspend fun function1() { println("fun 1") } suspend fun function2() { println("fun 2") } fun main() = runBlocking { function1() function3() } fun 1 fun 2 일반 함수를 섞어도 똑같다. suspend fun function1() { println("fun 1") } suspend f..
다음 두 코드의 차이점은 무엇일까? suspend fun test() { launch { // ... } } suspend fun test() = launch { // ... } 거의 똑같다 둘 다 ``launch``를 실행하여 코루틴을 만든다. 유일한 차이점이라면 1번 코드의 반환값이 ``Unit``인 반면, 2번 코드의 반환값은 새로 만들어진 코루틴 ``Job``이라는 점. 둘 중 편한 걸 쓰면 되겠다. 나는 코루틴을 제어할 여지가 있는 2번 코드를 선호하는 편이다.
Kotlin에서 ``const``는 컴파일 시간에 결정된다는 의미를 갖고 있다. 프로그램이 실행되는 런타임 이전에 이미 결정되어 변하지 않는다는 것이다. 그래서 ``const val``은 컴파일 시간에 결정되는 상수를 의미한다. 그냥 ``val``은 런타임에서 결정될 수도 있지만, ``const val``은 컴파일 시간에 결정되므로 런타임에서 재할당할 수는 없다. ``const``의 의미를 생각해 보면 ``const var``이 모순인 이유를 쉽게 알 수 있다. ``var``은 언제든 재할당될 수 있으므로, ``const``와 정반대의 의미를 갖고 있기 때문이다. 따라서 ``const val``은 컴파일 시간에 결정될 수 있는 문자열과 기본 자료형(정수, 실수 등)에만 사용할 수 있다. 일반 클래스 인스..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/50s84/btrunNYZknj/GBXPeRyrYcyVOF66dXxVXK/img.png)
VSCode에서는 유난히 JVM 언어를 사용하기가 어렵다. 물론 내가 JVM의 구조를 정확히 몰라서겠지만, 항상 컴파일 문제가 내 발목을 잡았다. 그러나, 어제 드디어 C++와 완전히 같은 Kotlin 컴파일 환경을 구축했다. 이제 파일별로 컴파일하고 실행할 수 있다! 나와 같은 문제를 겪은 분들을 위해 나의 해결법을 공유한다. 주의: 이 글은 윈도우 환경을 기준으로 작성하였으며, 단어(환경 변수 등)를 일일이 설명하지 않습니다. 1. kotlinc 설치 ``kotlinc``는 코틀린 파일을 JVM, JS 등 적절한 타겟으로 컴파일하는 컴파일러이다. 아래 링크를 통해 최신 버전을 다운로드하자. 2022년 2월 25일 기준으로 최신 버전은 ``1.6.10``이다. Kotlin command-line com..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dlo1R6/btrsRY9q7up/o8I7UYneiUgdodIg9EAz31/img.png)
커스텀 뷰에 익숙하지 않은 사람은 먼저 이 글을 읽어보자. 맞춤 레이아웃 | Jetpack Compose | Android Developers 맞춤 레이아웃 Compose에서 UI 요소는 호출될 때 UI 요소를 내보내는 구성 가능한 함수로 표시됩니다. 그런 다음 화면에 렌더링되는 UI 트리에 추가됩니다. 각 UI 요소에는 하나의 상위 요소와 여러 developer.android.com 목표 위 사진처럼 $N$개의 요소를 가로 방향이 아닌 세로 방향으로 배치하는 그리드를 만들어 보자. 행(column)의 수 $col$, 가로방향 간격, 세로방향 간격은 주어진다고 가정한다. 해야 할 일 Measure Children 모든 ``measurable``를 ``measure``하여 ``placeable``을 얻는다..