전체 글
-
[Android] Compose - Lifecycle 정리Android 2024. 3. 15. 17:09
본 포스팅은 Android developer 가이드를 기반으로 작성되었습니다. Lifecycle composition의 수명주기는 시작, 재구성(Recomposition, 0회 이상), 종료로 구성. composition이란, composable을 실행하여 생성된 UI 구성 요소 Recomposition UI 상태가 변경될 때 composable을 다시 실행하고 변경 사항을 반영하는 것을 recomposition이라고 한다. 대체로 State 객체가 변경되면 트리거되며 해당 State를 읽는 모든 컴포저블을 실행한다. 이전 호출에 호출했으나 입력이 변경되지 않은 composable은 recomposition을 건너 뛸 수 있다. call site composable이 호출되는 소스 코드의 위치 compo..
-
[Java] subList 사용시 주의점 - ConcurrentModificationException 발생 이슈JAVA 2024. 2. 27. 14:21
LeetCode를 풀다가 ConcurrentModificationException가 발생했다. 원인을 찾다가 subList를 잘못 사용하고 있다는 것을 깨달아서 정리해본 오늘의 이슈. subList(int fromIndex, int toIndex) subList 메서드는 리스트 컬렉션의 메서드로, 일정 범위(fromIndex부터 toIndex - 1까지의 요소)까지 리스트 요소로 구성된 리스트를 반환한다. 간단하게 원하는 범위만큼 리스트를 반환한다고 생각하면 된다. 그렇다면 ArrayList 클래스의 subList를 구현부를 한번 살펴보자. public List subList(int fromIndex, int toIndex) { subListRangeCheck(fromIndex, toIndex, size..
-
Monorepo 관리를 위한 Lerna 살펴보기Etc 2024. 2. 7. 10:56
Lerna란? Lerna란 JavaScript를 위한 Monorepo의 구성과 관리를 도와주는 툴. npm 기반으로 패키지의 버전관리, 배포, 모듈 종속성 관리 등을 할 수 있으며, 작성일 기준으로 7.4.2 버전까지 출시되었다. 각 기능에 대해서는 아래 Lerna 주요 명령어에서 정리. Lerna v5부터는 빌드 툴인 오픈소스 빌드 시스템인 nx가 도입되어 스크립트 병렬 실행, 캐싱 작업을 추가적으로 지원하고 있다. Lerna 적용 방법 기존 혹은 새 프로젝트에서 아래와 같이 init 명령어를 통해 Lerna를 적용한다. $npx lerna init init 명령어 실행시 lerna를 사용하기 위한 설정 파일(lerna.json)과 npm 설정 파일들이 생성된다. 기존 프로젝트에 적용한다면 존재하는 패..
-
[Kotlin] Backing Fields & Backing propertiesKotlin 2024. 1. 30. 15:34
이번 포스팅은 Backing Fields와 Backing properties에 대해 정리해볼까한다. 개발하면서 너무 자연스럽게 사용하고 있었는데도, “그래서 한문장으로 정리하면?” 라고 묻는다면 대답하기 어려울 것 같았다. Backing Fields와 Backing properties의 정의, 왜 그리고 어떻게 작성하는지에 대해 정리해보자. Field와 Property 자바에서 필드(field)는 클래스에 선언된 멤버 변수를 말한다. 코틀린에서의 멤버 변수는 프로퍼티(property)라고 하는데, 자바의 필드와는 다르게 멤버 변수와 접근자(getter, settter)를 통틀어서 지칭한다. 코틀린에서 프로퍼티를 선언할 경우 접근자를 따로 정의하지 않더라도 자동 생성되고, 명시적으로 선언할 수도 있다. (..
-
2021 - 2023 회고 및 2024 목표Etc 2024. 1. 19. 16:26
감자 스터디로 블로그를 다시 시작해봅니다… 이전에는 정보 제공 느낌의 글을 쓴 것 같은데, 이제 그냥 내가 느낀 것, 배운 것 위주로 정리하는 느낌으로 적어볼까 한다. 원래는 작업하던 리액트 네이티브 SDK 관련한 글을 포스팅을 하려고 했다. 근데 이미 써놨던 글을 띡 하고 포스팅하는건 스터디 취지에 맞지도 않는 것 같고, 업무 관련 코드도 많은 것 같아서 나중에 다시 정리해서 올려야 할 것 같다. 그래서 올 해 첫 포스팅은 입사한 2021년부터 2023년까지의 회고, 그리고 올 해 목표! (1fe 블로그 보고 자극 받은 거 초큼 맞음) 회고는 당장 생각나는 큼직한 키워드 위주로 작성해본다. 입사, 그리고 4년차 2021년도에 지금 회사에 들어와서 벌써 4년차가 되었다. 빠밤! 신입 교육 받고 팀 배치 ..