일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- androidStudio
- pandas
- 쿠링
- MyVoca
- android
- Coroutine
- ProGuard
- activity
- architecture
- 코루틴
- Coroutines
- Hilt
- Gradle
- 코드포스
- textfield
- Compose
- MiTweet
- 암호학
- 프로그래머스
- relay
- 백준
- GitHub
- boj
- Rxjava
- TEST
- livedata
- Codeforces
- Kotlin
- AWS
- Python
- Today
- Total
목록분류 전체보기 (379)
이동식 저장소
다음 두 코드의 차이점은 무엇일까? 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``은 컴파일 시간에 결정될 수 있는 문자열과 기본 자료형(정수, 실수 등)에만 사용할 수 있다. 일반 클래스 인스..
VSCode에서는 유난히 JVM 언어를 사용하기가 어렵다. 물론 내가 JVM의 구조를 정확히 몰라서겠지만, 항상 컴파일 문제가 내 발목을 잡았다. 그러나, 어제 드디어 C++와 완전히 같은 Kotlin 컴파일 환경을 구축했다. 이제 파일별로 컴파일하고 실행할 수 있다! 나와 같은 문제를 겪은 분들을 위해 나의 해결법을 공유한다. 주의: 이 글은 윈도우 환경을 기준으로 작성하였으며, 단어(환경 변수 등)를 일일이 설명하지 않습니다. 1. kotlinc 설치 ``kotlinc``는 코틀린 파일을 JVM, JS 등 적절한 타겟으로 컴파일하는 컴파일러이다. 아래 링크를 통해 최신 버전을 다운로드하자. 2022년 2월 25일 기준으로 최신 버전은 ``1.6.10``이다. Kotlin command-line com..
커스텀 뷰에 익숙하지 않은 사람은 먼저 이 글을 읽어보자. 맞춤 레이아웃 | Jetpack Compose | Android Developers 맞춤 레이아웃 Compose에서 UI 요소는 호출될 때 UI 요소를 내보내는 구성 가능한 함수로 표시됩니다. 그런 다음 화면에 렌더링되는 UI 트리에 추가됩니다. 각 UI 요소에는 하나의 상위 요소와 여러 developer.android.com 목표 위 사진처럼 $N$개의 요소를 가로 방향이 아닌 세로 방향으로 배치하는 그리드를 만들어 보자. 행(column)의 수 $col$, 가로방향 간격, 세로방향 간격은 주어진다고 가정한다. 해야 할 일 Measure Children 모든 ``measurable``를 ``measure``하여 ``placeable``을 얻는다..
대체 텍스트는 화면에 직접 보여서는 안 되지만, 스크린 리더는 인식할 수 있어야 한다. 어떻게 할까? 화면에서 숨기라고? /* BAD */ visibility: hidden; display: none; width: 0; height: 0; font-size: 0; line-height: 0; 화면에서 숨겨야 한다는 말에 그만 스크린 리더가 대체 텍스트를 인식하지 못하게 돼버렸다. 곤란하다. 숨기지는 않되 보이지만 않게 하자 /* 그닥.. */ opacity: 0; text-indent: -99999px; z-index: -1; 뭐.. 안 되는 건 아니지만 예상하지 못한 문제가 발생할 수 있다. ``opacity: 0``를 사용하면 텍스트가 투명해지긴 하지만 페이지에서 공간을 차지하고 있으며, 텍스트의 투..