전체 글

공부, 일상
주저리주저리/전시회

럭스:시적해상도(Lux: Poetic Resolution) in DDP

벌써 1년반이 다 되어가는 시점에 다녀온 전시회를 이제서야 돌아보고 있다. 뜬금없이 무슨 전시회?그냥 집에서 인스타 피드를 슥슥 내리다보니 신기한 영상이 있었다. 누군가 걸어가는데 모습이 계속 바뀌는 게 아닌가. 근데 그냥 그 모습을 보다보니 영상이 끝나버렸다. 멍하니 보다 영상이 끝나버리니 상당히 아쉬웠다. 알고보니 전시회 홍보 영상이었고, 그럼 비슷하게 디지털 멍하기 좋은 영상들이 더 많겠다는 생각이 들었다. 반차내고 평일에 가는 판단그래서 정말 충동적으로 인터파크에서 온라인 예매를 했다. 딱히 입장 날짜가 정해진 티켓은 아니었고 기간 내 언제든 입장가능한 티켓이었다. 언제 가볼까 생각하다 금요일 오후 반차를 내고 가면 어떨까 생각하게 되었다. 먼저 결과를 얘기하면 이 판단은 매우 좋았다. 일단 사람..

Language/Kotlin

NonCancellable Coroutines 사용해보기

이전 글에서 코루틴을 취소하는 방법에 대해 설명해보았다. 여기서 생각해볼만한 것이 하나 있는데 바로 CancellationException을 사용해코루틴을 종료시키기 직전 특정 작업을 하는 경우이다. 더 정확히 따지면 suspend function 호출이 필요하지만 불가능한 경우이다. 예제 코드와 같이 보자. 예제 코드fun main() = runBlocking { val job = launch(Dispatcher.Default) { repeat(10) { index -> if (isActive) { println("repeat $index") Thread.sleep(100) } else { ..

Language/Kotlin

Coroutines Cooperative Cancellation

이번 글에서는 코루틴을 취소할 때 어떤 취소 방법을 취해야하는지에 대해 설명해본다. 코루틴 안에서 반복문을 실행하는 도중 취소하는 상황을 예시로 보자. 코드 예제fun main() = runBlocking { val job = launch(Dispatcher.Default) { repeat(10) { index -> println("repeat $index") Thread.sleep(100) } } delay(250) println("Cancel coroutine") job.cancel()}위 예제를 실행한 결과를 먼저 예상해보자. 만약 이 코드가 정상적으로 repeat 0~2까지만 실행됐을거라고 생각했다면 오산이다. 취소..

BonusTrack02.dev
BonusTrack02.dev