본문 바로가기

전체 글231

[2025년 4월] 미라클모닝 스터디 모닝듀게더 17기 모집 🔥 갓생 친구와 함께 2025년을 뜨겁게 보낼 갓생러 회원님을 찾습니다! 🔥 지금이 바로 새로운 습관 만들기 딱 좋은 때!갓생 살기, 미라클모닝 도전하고 싶다면모닝듀게더와 함께 실천해보세요!🍀 하나의 목표 달성: 매주 체크로 실천까지! 🍀 하루 2,000원 투자로 멋진 습관 만들기! 🍀 미션 성공 시 보증금 100% 환급가능!​모닝듀게더는 단순한 기상 인증이 아닙니다.새벽 기상 + 목표 맞춤 자기 계발 = 진짜 갓생 🌟목표 다짐하기, 루틴 계획, 주간 회고 등 다양한 인증 활동과한 번 참여하면 커뮤니티에서 지속 활동 가능해요!    ✨ 모닝듀게더는 이런 분들께 추천해요!🌱 갓생살기에 관심이 많아요🌱 미라클모닝을 도전해 보고 싶어요🌱 혼자서 하니까 자꾸 포기해요🌱 나만의 시간을 확보하고 .. 2025. 4. 2.
[2025년 3월] 미라클모닝 스터디 모닝듀게더 16기 모집 🔥 갓생 친구와 함께 2025년을 뜨겁게 보낼 갓생러 회원님을 찾습니다! 🔥 지금이 바로 새로운 습관 만들기 딱 좋은 때!갓생 살기, 미라클모닝 도전하고 싶다면모닝듀게더와 함께 실천해보세요!​🍀 한 달, 하나의 목표 달성: 매주 체크로 실천!🍀 하루 1,000원 투자로 멋진 습관 만들기!🍀 다른 갓생러들과 소통하며 이벤트 참여까지!​모닝듀게더는 단순한 기상 인증이 아닙니다.새벽 기상 + 목표 맞춤 자기 계발 = 진짜 갓생 🌟목표 다짐하기, 루틴 계획, 주간 회고 등 다양한 인증 활동과한 번 참여하면 커뮤니티에서 지속 활동 가능해요!    ✨ 모닝듀게더는 이런 분들께 추천해요!🌱 갓생살기에 관심이 많아요🌱 미라클모닝을 도전해 보고 싶어요🌱 혼자서 하니까 자꾸 포기해요🌱 나만의 시간을 확보.. 2025. 3. 3.
[Compose] Jetpack Compose에서의 상태 관리 Compose 에서는 UI element 의 상태, UI 에 표시될 상태 등 다양한 상태를 관리하면서 사용자에게 화면을 출력한다.간단한 상태 호이스팅은 컴포저블 함수에서 관리할 수 있다.그러나 루트 컴포저블에 가까워질수록 추적할 상태가 많아지거나 컴포저블 함수에서 실행할 비교적 복잡한 로직이 있는 경우, 로직과 상태에 대한 책임을 다른 클래스에 위임하는 것이 좋다.특히 Composable UI element 의 상태를 관리하는 다른 클래스, 상태 홀더(State Holder)에 위임하는 것을 권장한다.Compose 화면의 상태 관리와 관련된 주요 항목컴포저블(Composable) : 간단한 UI element state 를 관리상태 홀더(State Holder) : 복잡한 UI element state .. 2025. 2. 22.
[2025년 2월] 미라클모닝 스터디 모닝듀게더 15기 모집 🔥 갓생 친구와 함께 2025년을 뜨겁게 보낼 갓생러 회원님을 찾습니다! 🔥  지금이 바로 새로운 습관 만들기 딱 좋은 때!갓생 살기, 미라클모닝 도전하고 싶다면모닝듀게더와 함께 실천해보세요!​🍀 한 달, 하나의 목표 달성: 매주 체크로 실천!🍀 하루 1,000원 투자로 멋진 습관 만들기!🍀 다른 갓생러들과 소통하며 이벤트 참여까지!​모닝듀게더는 단순한 기상 인증이 아닙니다.새벽 기상 + 목표 맞춤 자기 계발 = 진짜 갓생 🌟목표 다짐하기, 루틴 계획, 주간 회고 등 다양한 인증 활동과한 번 참여하면 커뮤니티에서 지속 활동 가능해요!    ✨ 모닝듀게더는 이런 분들께 추천해요!🌱 갓생살기에 관심이 많아요 🌱 미라클모닝을 도전해 보고 싶어요🌱 혼자서 하니까 자꾸 포기해요🌱 나만의 시간을 .. 2025. 2. 7.
[Compose] Jetpack Compose 및 State 기존의 명령형 UI 구성 방식Compose 이전의 기본 Android 뷰 계층 구조는 UI 위젯의 트리로 표시할 수 있었다.레이아웃을 맨 아래에 깔고 그 위에 브랜치처럼 텍스트뷰, 이미지뷰를 넣고 다시 레이아웃을 넣는 등 쌓아가는 개념으로 뷰를 그렸다.이와 같은 작업 방식은 개발자로 하여금 XML 이라는 막대한 리소스를 반복적으로 낭비하게 하며, 노드를 변경하기 위해 findViewById, viewBinding, dataBinding 을 통하여 노드에 접근하고 setText(), setImageBitmap( ) 등의 메서드를 사용하여 변경해야 한다.이런 접근 방식은 불필요한 코드를 만들 뿐만 아니라 한 노드에 대한 업데이트의 충돌이 발생할 확률을 높이게 된다.Java/Kotlin 코드와 높은 의존성을 .. 2025. 1. 30.
[Android] MVI MVI모델, 뷰, 인텐트의 3가지 컴포넌트를 사용하는 아키텍처 패턴양방향 데이터 흐름이 가능한 MVVM 과 달리, 단방향 데이터 흐름 형태로 데이터가 이동한다.MVVM 패턴은 충분히 이상적인 패턴이지만, 화면에 대한 요구사항이 커지고 상태가 늘어남에 따라 복잡한 데이터 흐름, 상태 충돌, 스레드 안전성이란 문제에 대해 한계가 존재한다.MVVM 패턴은 데이터 바인딩으로 뷰가 데이터를 구독할 수 있지만 뷰 안에서 스스로 바인딩하는 경우가 있고, 뷰와 뷰모델 간의 핑퐁으로 로직을 처리하면 복잡한 데이터 흐름으로 파악하기 힘들 때도 있다.즉, 뷰와 뷰모델의 양방향 참조가 가능해 생기는 문제가 있다.데이터 흐름을 제어하지 못하는 게 문제였기 때문에, MVI 는 단일 상태 관리, 단방향 데이터 흐름을 통해 MVVM.. 2025. 1. 26.
[Android] Clean Architecture 소프트웨어 개발은 복잡한 문제를 해결하기 위해 코드를 작성하는 것 이상을 필요하다. 단순히 결과론으로 화면을 보여주는 것만 생각하고 개발한다면, 코드는 점차 커지며 나중에는 손볼 수 없을 정도로 난폭한(?) 코드로 변하게 된다.그렇기에 개발한다는 것은 유지보수성, 확장성, 테스트 용이성 등의 요구 사항을 충족하기 위한 고민이 필요하며, 적절한 아키텍처 설계가 필수이다. Android Clean ArchitecturePresentation(UI) Layer, Domain Layer, Data Layer 총 3가지 레이어로 구성되어 있다.각 레이어들은 *단방향 데이터 흐름으로 통신한다.단방향 데이터 흐름 : 데이터가 오로지 한 방향으로만 흐르는 것으로 *Up Stream 과 *Down Stream 방식으로 .. 2025. 1. 22.