전체 글 563

배움에 관하여

집으로 가는 길에 우연히 공근식 박사에 대한 기사를 접하게 되었다.기사를 읽기 전 까지 알지 못했던 사람인데, '만학도의 전설'로 불린다고 한다. 농삿일 10여년을 하시다 남들보다 한발짝 늦게 공부를 시작했음에도 불구하고 카이스트 박사과정까지 통과하셨다. 최근에 왜 이렇게 공부하는게 싫을까?라는 의문이 계속 들었었는데 이 기사덕분에 답을 찾은 것 같다. 처음보는 사람에게 내 직업을 소개하면, "개발자로 사는건 어때요?"라는 질문을 종종 받고는 하는데, 그럴때마다 나는 "평생 고3같아요"라고 답한다. 그만큼 공부에 대한 압박을 많이 받는 편이다. (그런것 치곤 안하지만 ㅋㅋㅋ) IT 관련 직군 어느 누가 안그렇겠냐만, 개발자는 가만히 있으면 100% 뒤쳐진다. 그래서 공부를 위한 공부를 계속 해왔다. 주말..

Github Package를 이용한 라이브러리 배포방법

Github Package?Github Package는 Github에서 출시한 소프트웨어 패키지 호스팅 서비스로, 이를 이용하면 프라이빗 라이브러리를 jitpack이나 jcenter 등 다른 서비스에 의존하지 않고 호스팅 할 수 있다. 원래는 MyMavenRepository를 이용하고 있었지만, 소스코드와 다소 떨어져있기도 하고 회사에서 사용하려니 계정 정보 공유 시에도 불편함이 있어서 Github Package로 옮기게 되었다. 요금은 퍼블릭은 무료, 프라이빗인 경우에는 스토리지와 월별데이터 전송량에 따라 부과된다.https://docs.github.com/en/billing/managing-billing-for-your-products/managing-billing-for-github-packages..

주기적으로 작업을 모아 처리하는 BatchLoader 구현하기

특정 주기마다 작업을 모아서 실행하는 Batch Loader를 Kotlin으로 구현해봤다. 여러가지 쓸모가 있겠지만, 나는 Batch Loader를 UI에서 목록을 표시하고, 표시된 아이템만 따로 불러오는데 유용하게 사용하고 있다.  아이디어대부분의 아이디어는 이 Typescript BatchLoader에서 얻었다.잠시 이론적으로 짚고 넘어가면 코드 이해가 쉬울 것같다.BatchLoader는 일정 주기안에 일어나는 모든 요청들을 받아서 별도의 Queue에 쌓아둔다. 요청을 받으면 CompletableDeferred를 반환한다. CompletableDeferred는 콜백 기반의 비동기 통신 시 성공, 혹은 실패에 대한 응답을 다룰때 유용한 클래스로, Javascript에서의 Promise와 비슷한 역할을 ..

[안드로이드] IllegalStateException: Storage for [...] is already registered 오류 해결방법

오류 상황ksp 버전을 업데이트하는 도중 다음과 같은 오류가 발생했다.java.lang.IllegalStateException: Storage for [path/to/project/my-module/build/kspCaches/debug/symbolLookups/id-to-file.tab] is already registered at org.jetbrains.kotlin.com.intellij.util.io.FilePageCache.registerPagedFileStorage(FilePageCache.java:410) at org.jetbrains.kotlin.com.intellij.util.io.PagedFileStorage.(PagedFileStorage.java:72) at org...

[Compose] 빨간 점 시스템 만들기

UI에 작게 보이는 빨간 점은 유저에게 이것을 따라 가보라는 작은 넛지를 준다. 카카오톡에서도 내 친구들이 프로필을 업데이트했을때의 빨간 점을 못이기고 클릭했던 경험도 있을것이다.  빨간 점 시스템을 가장 잘 만들고 사용하고있는 쪽이 어딜까? 바로 게임이다!  게임덕후이자 개발자로서 평소에 게임을 하면서도 이건 어떻게 구현했을까, 상태관리 어떻게 하는걸까 감탄/고민을 자주한다. 요즘은 원신을 정말 재미있게 즐기고있는데, 원신은 유저가 빨간 점을 누르면 "원석"(게임 내 중요 재화)이 생긴다는걸 정말 잘 훈련시켜서 은근슬쩍 원신에서 일어나는 모든 이벤트들을 선전한다.  이런 빨간 점 시스템을 안드로이드에서 구현해보기위해, 내가 게임 개발자다...생각하고 자료를 찾아보았다.  유니티 에셋스토어에 올라온 Un..

Jetbrains IDE 커스텀 단축키

Split and Move RightControl + Command + 우현재 창을 오른쪽으로 나누기Split and Move DownControl + Command + 아래현재 창을 아래쪽으로 나누기Stretch Editor to TopControl + Command + K현재 창을 위쪽으로 늘리기Stretch Editor to LeftControl + Command + H현재 창을 왼쪽으로 늘리기Stretch Editor to BottomControl + Command + J현재 창을 아래로 늘리기Stretch Editor to RightControl + Command + L현재 창을 오른쪽으로 늘리기Maximize Editor/Normalize SplitsControl + Command + F현재창..

나/이슈 2024.10.13