갤럭시 S9 오로라 현상

갤럭시 S9 을 껐다 켤 때 화면 전체에 녹색 안개 낀 듯한 현상이 나타나고, 기기가 완전히 켜진 다음에도 화면 보호기가 시작되지 않는 문제가 관찰되었다. 디스플레이가 다시 정상 작동하게 하는 방법을 알아본다. 갤럭시 S9 를 껐다 켜면 나타나는 오로라 현상 개발용으로 구매해서 쓰고 있는 중고 갤럭시 S9의 디스플레이에 문제가 있다. 디스플레이 문제로 지난번에도 한 번 글을 … Read more

[Kotlin] for 루프에서 리스트에 원소 추가, 루프 끝나고 원소 하나 더 추가 => 오류 발생

forEachIndexed 블록 안의 for 루프 안에서 리스트에 원소를 추가하였다. 이 루프가 끝나고 그 리스트에 원소를 하나 더 추가하자 오류가 발생했다( java.lang.IndexOutOfBoundsException). if 문을 써서 문제를 해결했다. for 루프 밖에서 원소를 하나 더 추가하자 오류 발생 val numbers: MutableList<MutableList<Int>> // numbers 는 이미 다른 곳에서 초기화 되어 있다. val intervals: MutableList<MutableList<Int>> = mutableListOf() for (i in … Read more

내가 하공진 처지였으면

고려거란전쟁을 보고, 내가 거란 황제의 회유를 받는 처지의 하공진이었으면 어떻게 했을지 상상력을 펼쳐본다. 드라마에서는 산 채로 하공진의 간을 꺼냈다는 식으로 묘사하던데 극적인 각색인 듯하다. 각색이었기를… 너무 끔찍해서… 그러나 거란 황제를 모욕해서 살해됐다는 말은 백과사전에도 나오니 사실이었나 보다. 거란왕은 온갖 악형과 회유로 신하가 될 것을 요청하였으나 이를 완강히 거절하였을 뿐만 아니라, 나중에는 심한 모욕적인 말로 응대하여 … Read more

[Kotlin][deep copy] 리스트의 마지막 원소가 사라져 버렸다.

Kotlin 코드에서 deep copy 를 하지 않은 채 원본을 clear 하니까 리스트의 마지막 원소가 사라지는 문제가 발생했다. 리스트의 마지막 원소만 사라진다. val testList: MutableList<Int> val listOfTestList: MutableList<List<Int>> .forEach 블록 내에서 testList 를 몇 개 생성하면서 listOfTestList 에 추가하였다: listOfTestList.add(testList) 나중에 listOfTestList 를 출력해 보니 감쪽같이 마지막 원소만 사라졌다. 마지막 element 가 [] 이렇게 빈 채로 … Read more

[해결]error.NonExistentClass: Hilt 로 ViewModel 에 Proto DataStore 인스턴스 전달할 때

Proto DataStore 에 Hilt 를 적용할 때 컴파일 오류가 발생하여 해결한 방법을 공유한다. Hilt + Proto DataStore + ViewModel 에서 문제 발생 지난 글에서 build.gradle.kts 를 공개한 이후 Proto DataStore 를 익혔다(지난 글: https://hhtt.kr/103026). 그런데 코드에 ViewModel Factory 를 이용해서 DataStore 인스턴스를 ViewModel 에 넣어주도록 되어 있어서 Hilt 로 주입하도록 바꾸려고 했다. 이 때, Preferences … Read more

[Attachment] build.gradle.kts for Compose + Retrofit + KSP + Room + Hilt

In order to apply Hilt to my project, I modified build.gradle.kts and updated Compose, Retrofit, KSP, Room, Hilt, etc. to the latest. Both build.gradle.kts are provided in an attachment. Korean version of this posting: https://hhtt.kr/103026 I decided to use Hilt. After struggling for over a day to apply HIlt to my project, I succeeded the … Read more

[첨부] build.gradle.kts for Compose + Retrofit + KSP + Room + Hilt

프로젝트에 Hilt 를 적용하기 위해서 build.gradle.kts 를 수정하고, 내친김에 Compose, Retrofit, KSP, Room, Hilt 등을 최신으로 판올림하였다. 두 build.gradle.kts 를 첨부 파일로 제공한다. Korean version of this posting: https://hhtt.kr/103039 Hilt 를 사용하기로 했다. 내 프로젝트에 HIlt 를 적용하기 위해서 하루 넘게 씨름을 하다가 그저께 저녁에 성공했다. 내가 목표한 것은, container 에 담긴 채 ViewModel Factory … Read more

Jetpack Compose, 수동으로 recompose 하는 방법

내가 원하는데 Jetpack Compose 가 바로 recompose 해주지 않을 때가 있다. 이 때 수동으로 즉시 recompose 되게 하는 방법을 알아본다. 상태값을 바꿨는데 왜 단추가 안 나타나는 거지? 내가 원했던 것은, 내가 어떤 단추를 눌렀을 때 다른 곳에 다른 단추가 나타나게 하는 거였다. 논리는 맞다고 생각했는데 단추는 나타나지 않았다. 혹시나 해서 화면을 옆으로 돌려 보았다. 그러자 … Read more

전기레인지(하이라이트) 2구 GM202 대체품 웰치 리안츠 LH-202 직접 교체 설치함

2구짜리 전기레인지 GM202 상판이 파손되었는데 같은 제품을 살 데가 없었다. 다행히 거의 비슷한 규격의 대체품 웰치 리안츠 LH-202 를 찾아서 주문하여 직접 교체 설치하였다. 전기레인지(하이라이트) 2구 GM202 상판이 깨졌다. 어머니가 쓰는 전기레인지 상판이 깨졌다. 상판에 Grand Master GM202 라고 적혀 있다. 이 제품을 살 수 있는지, 예전에 검색해 본 적이 있었다. 아무리 검색해 보아도 파는 … Read more