일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Codeforces
- boj
- TEST
- 쿠링
- Kotlin
- pandas
- Rxjava
- 코드포스
- Python
- Coroutine
- androidStudio
- livedata
- 코루틴
- 백준
- 암호학
- Coroutines
- textfield
- activity
- AWS
- Compose
- MiTweet
- architecture
- relay
- GitHub
- android
- 프로그래머스
- ProGuard
- Gradle
- Hilt
- MyVoca
- Today
- Total
목록Primary (163)
이동식 저장소
이 글은 Android Kotlin Fundamentals를 참고하여 작성되었습니다. Activity의 lifecycle Android Activity의 lifecycle을 정리해 본다. onCreate Activity가 처음 생성될 때 호출된다. onStart Activity가 화면에 처음 보이게 될 때(visible) 호출된다. onRestart Activity가 화면에 다시 보이게 될 때 호출된다. onResume Activity가 focus를 잡게 될 때 호출된다. 사용자는 focus를 잡은 Activity만 조작할 수 있다. 여러 앱을 동시에 띄우면 여러 개의 Activity가 focus를 잡을 수도 있다. Focus와 visible의 차이를 잘 기억하자. onPause Activity가 foc..
이 글은 Google의 Android Kotlin Fundamentals를 참고하여 작성되었습니다. Fragment 간의 이동은 Navigation을 이용하여 정의하는 것이 좋다. 물론 onClick 등의 콜백을 사용할 수도 있지만, Navigation을 사용하면 조건부 이동, 이전 화면으로 돌아가는 등의 액션을 더 쉽게 관리할 수 있다. Navigation 라이브러리 사용 Android navigation library를 사용하려면 module-level build.gradle 파일에 다음을 추가해야 한다. implementation "androidx.navigation:navigation-fragment-ktx:2.3.3" implementation "androidx.navigation:navigat..
문제 상황 Android Studio에서 휴대폰에 파일을 업로드하려고 하는데, 업로드 버튼을 누르면 갑자기 프로그램이 멈추는 일이 일어났다. 여태껏 이런 적이 없었는데? 그래서 안드로이드는 미뤄두고 코틀린을 공부하기 위해 IntelliJ IDEA를 켰다. 그런데 얘도 이상하다. 프로젝트를 열려고 하는데, 파일 탐색기에 아무것도 보이지 않는다. 놀랍게도 이 창을 닫을 수조차 없다. Cancel 버튼을 누르면 프로그램이 완전히 멈춰서, 작업 관리자를 통해 강제 종료하는 방법밖에 없다. 해결법 JRE를 업데이트하면 된다. 이렇게 간단한 방법이 있었다니 참.. IntelliJ 계열에서 뭔가 처음 보는 오류가 생기면 자바를 업데이트해 보자.
목차 문제 정의 Volatile? Thread-safe가 필요하다 Thread confinement: fine-grained Thread confinement: coarse-grained Mutual exclusion Actors 참고 문헌 Dispatchers.Default 등의 멀티 스레드 dispatcher를 사용하면 여러 개의 코루틴을 동시에 실행할 수 있다. 이 과정에서 여러 동시성 문제가 발생할 수 있다. 가장 대표적인 문제로 shared mutable state가 있다. 운영체제 과목을 수강한 적이 있다면 잘 알고 있을 것이다. 요약하자면 수정 가능한 값에 여러 스레드가 동시에 접근하려고 할 때 어떻게 해야 하는지에 대한 문제이다. 값을 읽기만 한다면 모를까, 동시에 수정하려고 하면 매우 큰..
목차 예외 전달 CoroutineExceptionHandler 코루틴의 취소와 예외 예외가 여러 개라면 Supervision Supervision job Supervision scope Supervisor job에서의 예외 처리 참고 문헌 코루틴이 취소되면 CancellationException이 발생한다. 이번 글에서는 코루틴이 취소되는 다양한 경우에 대해 알아본다. 예외 전달 코루틴 빌더는 launch와 actor처럼 예외를 자동으로 전달하는 종류와 async와 produce처럼 사용자에게 의존하는 종류로 나눌 수 있다. 루트 코루틴(어느 코루틴의 자식도 아닌 코루틴)을 만들 때, launch 등은 예외를 Thread.uncaughtExceptionHandler에서 즉시 처리한다. 예외가 발생하면 자..