전체 글(355)
-
싱글톤(Singleton) 패턴과 Kotlin에서 object 객체
🌟 들어가기 전요즘 메모리 최적화 이슈에 대해 관심이 많다.그렇게 메모리에 대해서 보다가 유독 눈에 띄는 게 있었다. 바로 Kotlin에서 Object 객체 !! 늘 그냥 쓰라니까 써왔던.익숙하지만 낯선. 그 존재에 대해 파헤쳐봤다. 🔍 세부 내용1. 싱글톤 패턴(Singleton Pattern)싱글톤 패턴은 객체의 전역적 유일성을 보장하는 디자인 패턴이다.이를 통해 하나의 인스턴스만 사용하며, 여러 곳에서 동일한 객체를 공유하거나 관리할 수 있다.전역상태 관리: 애플리케이션에서 하나의 상태를 유지하고 여러 곳에서 공유할 때 사용 (ex. 로그인 세션, 앱 설정, DB 연결)자원 절약: 객체가 여러번 생성되지 않도록 보장하여 메모리 사용 절감일관된 상태 유지: 하나의 인스턴스를 통해 상태를 일관되게 ..
2025.01.22 -
Android에서 OkHttp 통신 시 Memory를 최적화 하기 위한 체크 포인트
🌟 들어가기 전최근 회사에서 관리하는 앱이 OOM 이슈가 자꾸 일어난다.RxJava 배압 이슈인가 하고 확인해봤더니 그 원인은 아니었다. Firebase의 Crashlytics를 뜯어본 결과 OutOfMemoryError는 okhttp 통신 시 발생하였고,이 부분에서 메모리 누출이 의심되었다. 그렇다면 OkHttp 통신할 때 Memory를 최적화하기 위한 체크 포인트는 무엇이 있을까? 🔍 세부 내용1. ConnectionPool 사용 추가연결 관리를 최적화하기 위해 명시적으로 ConnectionPool을 추가하면, OkHttp에서 연결을 재사용하여 새로운 연결을 생성하거나 닫는 작업을 줄여준다.// ConnectionPool 설정 추가ConnectionPool connectionPool = new C..
2025.01.21 -
Android에서 푸시 알림이 오지 않는 경우 체크할 사항
🌟 들어가기 전회사 프로젝트에서 이슈가 발생했다.무음 모드에서 푸시 알림이 안온다는 것 ㅠㅠ무음모드라고 푸시 알림을 통제할 수 있는게 아닌데? 회장님 지인 폰에서 발생한 이슈라서 직접 확인도 불가하지만 삐뽀삐뽀- 긴급 상황이었다.그래서 그 외에 푸시 알림이 누락되는 경우가 어떤게 있는지 체크해보았다. 🔍 세부 내용1. 방해금지모드 여부방해금지 모드인 경우에는 푸시 알림 표시가 제한될 수 있습니다.2. Android Doze 모드Android 6.0부터는 기기가 사용되지 않는 동안 앱 활동과 네트워크 작업을 제어하는 Doze(절전) 모드가 생겼습니다. 2-1) Doze 모드가 작동하는 조건화면이 꺼져 있음.기기가 충전 중이지 않음.사용자가 기기를 움직이지 않음(센서 데이터를 통해 감지).네트워크와 작업..
2025.01.21 -
완전탐색과 이진탐색
🌟 들어가기 전알고리즘 공부를 하면서 가장 많이 쓰는 탐색 기술!!레벨이 오르면 가장 많이 쓰는게 BFS와 DFS이다.하지만 가장 간단하고 기본적인 탐색 기술은 아무래도 완전탐색이 아닌가 싶다. 기본이 되면서도 가벼운 완전탐색과 이진탐색을 알아보기로 하였다. 🔍 세부 내용완전 탐색모든 경우의 수를 탐색하여 답을 찾는 방식이다.예를 들어 [1,2,3,4,5]의 배열이 있으면 5라는 숫자를 찾으려면 배열을 모두 돌아야만 찾을 수가 있다. 이렇게 모든 배열을 탐색하는 방법도 완전 탐색에 들어간다.완전 탐색은 모든 원소를 순회해야 하므로 O(N)이라는 시간 복잡도를 가지고 있다. 그래서 코딩테스트 문제를 풀 때 완전탐색을 하는 경우에는 시간 초과 이슈가 발생할 수도 있다. 예시)/* 배열에서 특정 숫자 찾기..
2025.01.18 -
Android Studio Compose에서 Color 미리보기 (게터 아이콘)
🌟 들어가기 전안드로이드 프로젝트를 구현하면서 Color 값 세팅은 필수적이다.그런데 게터 아이콘(왼쪽 여백)으로 Color 값을 미리보기 할 수 없다면일일히 값을 검색해서 세팅해야 하는 수고로움이 추가된다. Android Studio에서 Compose의 Color 값을 미리보기 할 수 있는 방법이 있을까? 🔍 세부 내용Compose Color Preview Plugin미리보기를 할 수 있는 방법은 IntelliJ에서 프리뷰 플러그인을 다운 받는 것이다. 1. File > Settings > Plugins 진입 2. Compose Color Preview 검색 후 설치 3. 게터 이미지로 Color Preview 확인기존에는 이렇게 왼쪽에 아무 것도 볼 수 없었다면,플러그인을 설치한 이후에는 게터 아..
2025.01.17 -
객체지향 언어와 함수형 언어, 그리고 Java와 Kotlin의 관계
🌟 들어가기 전내가 자주 쓰는 언어인 Java와 Kotlin.두 언어는 모두 객체지향 언어이지만 Kotlin은 함수형 언어에 포함되기도 한다. 그렇다면 우리가 흔히 아는 객체지향 언어와 함수형 언어.그들 사이의 차이는 어떤 것이고 특징은 어떨까? 🔍 세부 내용✅ 객체지향 언어 (OOP)객체지향 언어는 클래스와 객체를 기반으로 데이터와 메서드를 캡슐화하여 재사용성과 유지보수성을 높이는 특징을 가지고 있다.가장 대표적인 특징 4가지 !캡슐화(Encapsulation): 데이터와 메서드를 하나의 객체로 묶어 외부에 노출할 범위를 제어 (ex. getter/setter)상속(Inheritance): 기존 클래스의 기능을 재사용하여 새로운 클래스를 생성다형성(Polymorphism): 동일한 메서드 이름으로 ..
2025.01.16