김누누
close
프로필 배경
프로필 로고

김누누

  • 분류 전체보기 (252)
    • Deep Dive (49)
      • Kotlin Coroutine (18)
      • Kotlin Flow (6)
      • Test Code (12)
      • Android Jetpack Compose (9)
      • Flutter (4)
    • [Android] Architecture (14)
      • Architecture Pattern (5)
      • [Android] Multi Module (3)
      • [Android] DI (4)
    • [Kotlin] Tech,Study (18)
    • [Android] Tech,Study (65)
      • [Android] Trouble Shoot (20)
      • [Android] Custom (9)
    • Algorithm (13)
    • Computer Science (29)
      • 독서 (8)
      • 프로그래밍 (14)
      • 운영체제 (4)
      • 자료구조 (1)
      • 네트워크 (1)
    • GitHub (1)
    • Python,Django,DRF (13)
    • IOS,Swift (10)
    • 회고 (7)
  • 깃허브
  • 글쓰기
  • 설정
[Android] Room, sharedPreference, DataStore

[Android] Room, sharedPreference, DataStore

💡로컬 데이터베이스 구현을 위해 사용되는 Room, sharedPreference, DataStore의 차이에 대하여 정리하였습니다. 개요Room, SharedPreferences, DataStore는 모두 안드로이드에서 데이터를 로컬 환경에 저장하고 관리하는 방식입니다.각 방식은 데이터를 저장하는 용도와 방식에 차이가 있으며, 각 장단점과 성능의 차이가 있어서 차이를 알고 사용해야 합니다.RoomRoom은 안드로이드에서 관계형 데이터베이스를 사용하기 위한 ORM 라이브러리 입니다.Object-Relational Mapping : 객체 관계 매핑 라이브러리내부적으로 SQLite 데이터베이스를 사용하지만, 더 쉽게 사용할 수 있도록 객체 지향적인 방식으로 데이터베이스를 관리합니다.SQLite의 복잡한 S..

  • format_list_bulleted [Android] Tech,Study
  • · 2024. 9. 5.
  • textsms
MVP 패턴에서의 DataBinding

MVP 패턴에서의 DataBinding

💡MVP 패턴에서 DataBinding을 활용한 양방향 DataBinding 대해 정리하였습니다! MVP with DataBindingMVP 패턴은 안드로이드에서 널리 사용되는 아키텍처 패턴 중 하나로, UI 로직과 비즈니스 로직을 분리하여 유지보수성과 테스트 용이성을 높입니다.DataBinding을 함께 사용하면 UI와 데이터를 더 쉽게 연결할 수 있으며, 코드량 감소와 직관적인 UI 업데이트가 가능해집니다.MVP에서 DataBinding을 사용하는 이유코드 간결화findViewById()를 통한 UI 탐색이 아닌 DataBinding을 통해 XML 레이아웃 파일과 직접적으로 연결할 수 있습니다.이를 통해 UI 요소와의 상호작용을 더 직관적이고 간단하게 처리할 수 있습니다.양방향 데이터 바인딩MVP ..

  • format_list_bulleted [Android] Architecture/Architecture Pattern
  • · 2024. 9. 5.
  • textsms
[Android] Fragment

[Android] Fragment

💡재사용 목적으로만 사용했던 Fragment에 대해 상세하게 학습한 내용을 기록하였습니다. FragmentFragment는 UI 또는 비 UI 컴포넌트를 나타내는 모듈화된 구성요소 입니다.하나의 액티비티 내에서 여러 개가 함께 사용될 수 있으며, 화면의 일부를 차지하거나 화면 전환을 쉽게 할 수 있도록 도와줍니다.액티비티 방식의 문제점액티비티 안에 코드가 길어지게 되면 유지보수가 어렵고, 다양한 기기가 생겨나면서 Activity로만 화면을 그리기는 한계가 발생하였습니다.Fragment는 유연한 UI/UX를 지원하며, 관심사 분리와 재사용에도 큰 이점을 줍니다.Fragment LifecycleFragment는 액티비티의 일부분으로 사용되며, 독립적인 생명주기를 가지고 있습니다.액티비티가 함께 사용되는 경..

  • format_list_bulleted [Android] Tech,Study
  • · 2024. 9. 5.
  • textsms
[Android] Memory Leak with Profiler, LeakCanary

[Android] Memory Leak with Profiler, LeakCanary

💡안드로이드 개발 환경에서 자주 마주칠 수 있는 메모리 누수에 대해서 학습하였습니다 ! Memory LeakMemory Leak은 프로그램이 더 이상 사용하지 않는 메모리를 해제하지 않고, 계속 차지하고 있는 상태를 말합니다.메모리 자원이 낭비되어 앱의 성능이 저하되거나, 심한 경우 앱이 강제 종료되는 문제를 일으킬 수 있습니다.안드로이드에서는 주로 아래 환경에서 메모리 누수가 발생할 수 있습니다.안드로이드에서 Memory Leak상태 유지객체가 Activity, Fragment와 같은 라이프사이클을 갖는 컴포넌트에 강한 참조를 유지할 때 발생합니다.리소스 누수사용 후 적절히 해제되지 않는 리소스로 파일 핸들, 데이터베이스 연결 등이 있습니다.콜백 및 리스너콜백이나 리스너가 등록된 후 해제되지 않거나 ..

  • format_list_bulleted [Android] Tech,Study
  • · 2024. 9. 4.
  • textsms
[Android] ViewBinding vs DataBinding

[Android] ViewBinding vs DataBinding

💡 ViewBinding과 DataBinding의 차이와 특징을 비교하여 정리하였습니다 ViewBindingViewBinding은 액티비티 또는 프래그먼트에서 xml의 뷰를 직접 참조하기 위해 사용하는 라이브러리입니다.각 XML 레이아웃 파일의 Binding 클래스를 생성하여 인스턴스에서 레이아웃에 ID가 있는 모든 뷰를 직접참조 할 수 있습니다.findViewById를 쓰지 않고 XML의 view component에 접근하는 object를 반환받아서 view에 접근할 수 있습니다.특징자동으로 생성되는 뷰 바인딩 클래스XML 레이아웃마다 자동으로 뷰 바인딩 클래스를 생성합니다.activity_main.xml → ActivityMainBinding간단하고 안전한 타입 바인딩레이아웃에 있는 모든 뷰에 대해..

  • format_list_bulleted [Android] Tech,Study
  • · 2024. 9. 3.
  • textsms
MockK을 활용한 Presenter 테스트

MockK을 활용한 Presenter 테스트

💡 우아한테크코스 과정에서 진행한 mocking을 활용한 Presenter 테스트를 기록하였습니다. 개요MVC to MVP 과정을 통해서 MVP 패턴을 구현하였습니다.구현 후 테스트 코드를 리팩터링 하는 과정에서 Presenter 테스트에 대하여 학습하였고, 그 과정을 기록하였습니다 !이전 기수의 수달님의 영상을 많이 참고하였습니다.[10분 테코톡] 수달의 mock을 사용해 android presenter test하기 MockMock은 Test Double의 종류 중 하나로 호출에 대한 기대를 명세하고 내용에 따라 동작하도록 프로그래밍 된 객체입니다.안드로이드에서는 Mockito 프레임워크를 사용해 Mock 객체를 사용할 수 있으며, 이를 통해 테스트 상에서 어떤 결과를 반환할지 결정이 가능해집니다.T..

  • format_list_bulleted Deep Dive/Test Code
  • · 2024. 9. 3.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 17
  • navigate_next
전체 카테고리
  • 분류 전체보기 (252)
    • Deep Dive (49)
      • Kotlin Coroutine (18)
      • Kotlin Flow (6)
      • Test Code (12)
      • Android Jetpack Compose (9)
      • Flutter (4)
    • [Android] Architecture (14)
      • Architecture Pattern (5)
      • [Android] Multi Module (3)
      • [Android] DI (4)
    • [Kotlin] Tech,Study (18)
    • [Android] Tech,Study (65)
      • [Android] Trouble Shoot (20)
      • [Android] Custom (9)
    • Algorithm (13)
    • Computer Science (29)
      • 독서 (8)
      • 프로그래밍 (14)
      • 운영체제 (4)
      • 자료구조 (1)
      • 네트워크 (1)
    • GitHub (1)
    • Python,Django,DRF (13)
    • IOS,Swift (10)
    • 회고 (7)
전체 방문자
오늘
어제
전체
태그
  • #코틀린
  • #안드로이드
  • #알고리즘
  • #우테코
  • #코루틴
  • #kotlin
  • #compose
  • #Coroutine
  • #Android
  • #ViewModel
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바