본문 바로가기

전체 글

(112)
Github Actions로 AI PR 리뷰 자동화 구현 팀 프로젝트 또는 현업에서는 코드 리뷰를 진행한다.코드 리뷰는 코드의 품질을 향상시키고, 미처 발견하지 못했던 버그 또는 문제를 조기에 발견하여 안전성을 크게 증가시킬 수 있다. 개인 프로젝트는 스스로 판단하고 구현해야하기에 미숙한 부분에 대한 코드의 품질이 자연스레 떨어질 수 밖에 없고, 미처 신경쓰지 못한 부분도 생기기 마련이다. 이런게 하나 하나 쌓여 기술 부채가 되어 유지보수가 어려워진다.실제로 과거 진행했던 프로젝트의 코드를 보면 한숨이 절로 나오는 코드가 많이 발견된다. 당연히 미래의 내가 지금의 프로젝트를 봐도 한숨이 절로 나올게 분명하다. 이 문제를 최대한 해결하기 위해 AI를 활용하여 PR 리뷰를 자동화하기로 결정하였다.🔧 AI PR 리뷰 구조 ‼️Gemini 토큰 최적화‼️ 요청 프..
Progaurd/R8 1. Proguard / R8이란?Android에서 앱을 배포할 때, 코드를 있는 그대로 올리지 않고 난독화라는 작업을 거친 뒤 올라간다.이때 사용하는 도구가 바로 Proguard와 R8이다.Proguard: 코드 최적화 + 난독화 도구 (예전 방식)R8: Proguard를 대체하는 최신 도구 (현재 기본 사용)즉, 코드를 더 작고, 빠르고, 알아보기 어렵게 만들어주는 도구라고 보면 된다.R8은 다음 작업을 한 번에 수행한다.사용하지 않는 코드 제거 (Code Shrinking)코드 최적화 (Optimization)이름 난독화 (Obfuscation)2. 왜 배포 시 난독화가 필요할까?개발할 때는 코드가 잘 보이는 게 중요하지만, 배포할 때는 오히려 코드를 숨기는 것이 중요하다.1) 보안 (Reverse..
Compose에서 Lifecycle 관리 Compose는 기본적으로 하나의 Activity에서 Composable 함수를 호출하는 방식으로 진행된다.하지만 아직 Compose를 지원하지 않는 View의 경우 AndroidView를 사용하여 Compose와 View를 혼합하여 사용하기도 한다.CameraMapViewPlayerView이때, 위와 같이 Lifecycle에 따라 관리가 필요한 View의 경우 Compose에서도 마찬가지로 처리를 해줘야하는데, AndroidView에는 자동으로 Lifecycle을 처리해주는 기능이 존재하지 않는다. 그럼 Compose에서는 어떻게 Lifecycle을 관리해줘야 할 까? 1. Activity Lifecycle다들 알겠지만 다시 짚고 넘어가자면 Activity의 Lifecycle은 다음과 같다.이는 Com..