드디어 해방! 4회차 챌린지 마지막 미션, 그리고 자유

By thdev

2024 연말 블로그 챌린지 벌써 4회차가 끝났습니다.

참여해 주시고 읽어봐주신 모든 분들께 감사드립니다.

아래 설명에는 ChatGpt, Gemini Advanced, perplexity 사용하여 요약한 내용이라 오류가 있을 수 있음.

4회차 챌린지 결과

주요 주제

  • 회고
  • 개발 관련

회고

작성자 박명범

주제 - 링크 : 2024년 회고록 : 퇴사… 그리고 이직

필자 커멘트

명범님은 올해 한 해 많은 일이 있었네요. 퇴사도 하고 이직도 하고, 블로그 포스팅도 열심히! 열심히 준비하는 만큼 좋은 성과보다 좋을 순 없죠. 토스로 이직하신 걸 축하드립니다!

이름을 매번 잘 못 써서 죄송한 마음… 마지막 글로 회고를 선택했네요!

AI 요약

이 글은 크게 3가지 주제로 나눌 수 있습니다.

  1. 회사에서의 성장:
    • 서비스 출시 멤버로 합류하여 팀과 함께 성장
    • 팀 내 안드로이드 프로젝트 아키텍처 가이드 작성, 코드 컨벤션 및 스타일 통일
    • PR 도입 및 컴포즈 스터디 주도
    • 팀원들의 신뢰를 얻고 ‘잘하는 동료 개발자’로 성장
  2. 넥스터즈 활동:
    • 넥스터즈 23기, 24기 활동 및 수상
    • 넥스터즈 24기, 25기, 26기 면접관 활동
    • 면접관 활동을 통해 얻은 경험
  3. 이직:
    • 회사 경영 악화로 인한 권고사직
    • 새로운 회사 선택 기준과 취업 전략
    • 이직 준비 과정과 어려움
    • 토스 이직 성공

이 글은 작성자의 2024년 한 해를 돌아보는 회고록입니다. 회사에서의 성장, 넥스터즈 활동, 그리고 이직 과정을 상세히 다루고 있습니다. 특히 이직 과정에서 겪었던 어려움과 극복 과정, 그리고 토스에 합류하게 된 배경을 자세하게 설명하고 있습니다.

작성자 세란시스

주제 - 링크 : 삼중음성 유방암 투병 하나부터 열까지

필자 커멘트

세란시스님의 블로그 챌린지 마지막 후기. 유방암으로 투병하신 내용을 다루어주셨습니다. 지금은 건강하게 잘 지내시는 모습을 이전 블로그 챌린지에서 확인해 볼 수 있었으니 이전 챌린지 글들 확인!

AI 요약

해당 블로그는 AI 요약이 불가능합니다.

작성자 류기민

주제 - 링크 : (이직 회고 #2) 5개월 후 리뷰 하는 5일차 느낀 점

필자 커멘트

블로그 챌린지 1번째 글에서 이직기를 남겨주셨던 기민님의 2번째 회고

AI 요약

이 글은 카카오뱅크에 입사한 개발자가 5개월 간의 경험을 회고하며 느낀 점을 정리한 글입니다.

  • 회사 문화: 많은 안드로이드 개발자 동료들과 함께 일하며 기대했던 개발 문화를 경험했고, 서로 도움을 주고받는 환경에서 만족감을 느꼈습니다.
  • 업무 경험: ‘매일 걷고 혜택 받기’ 프로젝트에 참여하여 빠른 시간 안에 많은 사용자를 확보하는 성과를 달성했으며, 이 과정에서 자신의 강점과 부족한 점을 파악하고 개선하려고 노력했습니다.
  • 개인적인 성장: 커뮤니케이션 능력과 책임감을 바탕으로 업무를 수행했으며, 회사의 시스템과 문화 덕분에 스트레스를 줄이고 효율적으로 일할 수 있었습니다.
  • 앞으로의 목표: 개발 지식, 경험, 커뮤니케이션 능력 등을 더욱 발전시키고, 수천만 사용자가 사용하는 앱 개발에 기여하며 성장하는 개발자가 되고자 합니다.

개발 관련

작성자 김수현

주제 - 링크 Best Practices for Composition Patterns in Jetpack Compose - 영문

한글 자료 Jetpack Compose UI 조합(Composition)하기 심화

필자 코멘트

작은 슬럼프를 잘 극복하고 마무리 지은 수현 님의 영문 포스팅

이 글은 블로그 챌린지 1회차에 작성하였던 Compose UI 조합하기 심화 글을 영문으로 재작성하고, GetStream에 기고한 글입니다.

마지막 회차 포스팅을 1등으로 제출하고 칭찬받았다는 후문이 전해짐

AI 요약

이 글은 Jetpack Compose에서 Composition 패턴의 Best Practices에 대한 글입니다.

주요 내용은 다음과 같습니다.

  • Composition 패턴의 개념과 중요성
  • Slot 패턴과 Compound Component 패턴의 활용
  • Stream Video SDK의 실제 적용 사례

이 글을 통해 Jetpack Compose에서 효율적인 UI 구성을 위한 다양한 방법을 이해할 수 있습니다.

작성자 이지훈

주제 - 링크 : [Android] In-app update 적용 해보기 with Compose

필자 커멘트

안드로이드 앱 업데이트는 InApp Update를 활용해 빠른 업데이트를 요청할 수 있죠. 지훈님이 작성한 글을 통해 InApp Update 기능 활용을 살펴볼 수 있습니다.

AI 요약

이 블로그 게시물은 안드로이드 앱에 인앱 업데이트를 구현하는 방법에 대한 것입니다. 게시물에서 논의된 3가지 중요한 사항은 다음과 같습니다.

  • 인앱 업데이트에는 강제 업데이트와 선택적 업데이트의 두 가지 유형이 있습니다.
  • 강제 업데이트는 사용자가 앱을 계속 사용하기 위해 설치해야 하는 중요한 업데이트입니다.
  • 선택적 업데이트는 사용자가 설치할 수 있지만 앱을 계속 사용하는 데 필요하지 않은 업데이트입니다.

게시물에서는 두 가지 유형의 인앱 업데이트를 구현하는 방법에 대한 단계별 지침을 제공합니다. 또한 인앱 업데이트를 구현할 때 발생할 수 있는 몇 가지 문제와 이러한 문제를 해결하는 방법에 대한 팁도 제공합니다. 마지막으로 게시물에는 인앱 업데이트를 구현하는 방법에 대한 추가 정보를 제공하는 몇 가지 참조가 포함되어 있습니다.

작성자 이지훈

주제 - 링크 : [Android] GDG Korea 2025학년도 안드로이드 탐구영역 응시 후기

필자 커멘트

열정 넘치는 지훈님의 2번째 글 포스팅으로 안드로이드 탐구영역 응시 후기를 남겨주셨습니다. GDG Korea Android 운영진으로 열심히 준비한 보람이 있네요. 뿌듯

AI 요약

이 글은 2025학년도 안드로이드 수능 후기입니다. GDG Android Korea에서 주최한 이 시험은 공통 과목과 선택 과목(Android Library, Kotlin Coroutines, Jetpack Compose)으로 구성되었습니다. 저자는 Jetpack Compose를 선택하여 시험에 응시했으며, 수능과 유사한 문제 유형과 난이도에 대한 경험을 공유했습니다. 특히, 까다로운 문제, 수능 국어 스타일의 문제, Android 덕후만 맞출 수 있는 문제 등 인상 깊었던 문제들을 소개했습니다. 시험 결과 Jetpack Compose는 만점을 받았지만, 공통 과목과 Kotlin Coroutines에서 어려움을 겪었다고 합니다.

작성자 이지훈

주제 - 링크 : [Circuit] collectAsRetainedState, rememberStableCoroutineScope 함수 분석

필자 커멘트

하나 쓰기도 힘든데 3개를 작성한 지훈님. 블로그 챌린지 기간에 계속 다루었던 Circuit 3번째 글입니다.

AI 요약

이 글은 Circuit 라이브러리의 collectAsRetainedState와 rememberStableCoroutineScope 함수에 대한 분석입니다. collectAsRetainedState 함수는 collectAsState 함수와 유사하지만, configuration changes 상황에서도 Flow로부터 수집한 마지막 값을 유지할 수 있습니다. rememberStableCoroutineScope 함수는 rememberCoroutineScope 함수를 StableCoroutineScope 클래스로 감싸 성능 최적화를 돕습니다. 이 글에서는 Circuit의 State와 Event 처리 방식, Navigation 적용 시 발생할 수 있는 문제점, Scaffold 구성 방식 등에 대한 추가적인 논의도 포함되어 있습니다.

작성자 이태희

주제 - 링크 : [Compose] Snapshot System을 분석해보자

필자 커멘트

태희님의 글은 진짜 길었는데, 이번 글도 깁니다. 하지만 좋은 내용을 많이 많이 꾹꾹 담아주신 글이니 읽어볼 가치는 충분하죠. 필자도 잘 모르는 Snapshot System. 열심히 읽어보아야겠네요.

AI 요약

이 글은 Compose의 Snapshot 시스템에 대한 분석입니다. Snapshot 시스템은 Jetpack Compose에서 현재 상태를 특정 순간에 캡처해 안전하게 관리하는 메커니즘입니다. 다중 스레드 환경에서도 안정적으로 UI를 업데이트할 수 있도록 다중 버전 동시성 제어(MVCC)를 사용합니다. derivedStateOf와 같은 Effect API에서 Snapshot 시스템이 어떻게 사용되는지, StateObject와 StateRecord를 통해 상태가 어떻게 관리되는지 자세히 설명합니다.

작성자 권태환

주제 - 링크 : 😱 2025 안드로이드 탐구영역, Coroutines Flow 때문에?! (feat. 쉬운 해설)

필자 커멘트

작성하면서도 느꼈지만 너무 flow를 좋아하는 듯

AI 요약

이 글은 2025 안드로이드 탐구 영역에 나온 Coroutines Flow 관련 문제를 해설한 글입니다.

  • 첫째, StateFlow와 flow{}를 복합적으로 사용하는 문제를 다룹니다. flatMapLatest를 사용하여 StateFlow를 통해 새로운 흐름을 만드는 코드를 분석하고, StateFlow의 값 변화에 따라 flow{}가 어떻게 동작하는지 설명합니다.
  • 둘째, SharedFlow를 사용했을 때 코드의 동작 방식이 어떻게 달라지는지 보여줍니다. SharedFlow는 replay를 하지 않기 때문에 StateFlow를 사용했을 때와는 다른 결과를 출력합니다.
  • 셋째, StateFlow, SharedFlow, flow를 모두 합성하여 사용하는 경우를 예시로 제시합니다. MutableStateFlow를 추가하고 flatMapLatest를 하나 더 사용하여 코드의 동작 방식을 제어하는 방법을 설명합니다.

작성자 정찬호

주제 - 링크 : Fragment에서 컴포즈를 사용해보자

필자 커멘트

필자는 Fragment에 Compose 사용하던걸 예전에 이미 제거해서 사용할 일이 없지만 View 시스템을 Compose로 바꾸는 작업에선 필요한 부분인데, 찬호님이 작성한 글을 통해 확인하세요.

AI 요약

이 글은 Jetpack Compose를 기존 Android View 시스템에 통합하는 방법, 특히 Fragment에서 Compose를 사용하는 방법에 대한 글입니다.

  1. ComposeView를 이용한 Compose 통합:
    • ComposeView를 사용하여 Fragment의 레이아웃 XML에 Compose UI를 포함시킬 수 있습니다.
    • Fragment의 onCreateView()에서 ComposeView를 찾고 setContent()를 사용하여 Composable 함수를 호출합니다.
  2. ViewCompositionStrategy:
    • ViewCompositionStrategy는 Compose Composition의 생명주기를 제어하는 데 사용됩니다.
    • ComposeView가 화면에서 분리될 때 Composition을 폐기할지 여부를 결정합니다.
    • DisposeOnDetachedFromWindowOrReleasedFromPool, DisposeOnDetachedFromWindow, DisposeOnLifecycleDestroyed, DisposeOnViewTreeLifecycleDestroyed 등 다양한 전략이 있습니다.
  3. Fragment에서 Compose 사용 시 주의 사항:
    • Fragment 전환 시 ComposeView가 일시적으로 화면에서 분리될 수 있습니다.
    • 이때 Composition이 바로 삭제되면 UI 상태가 손실될 수 있습니다.
    • DisposeOnViewTreeLifecycleDestroyed 전략을 사용하면 Fragment의 생명주기에 따라 Composition이 관리되어 이러한 문제를 방지할 수 있습니다.

핵심: ComposeView를 사용하여 Fragment에 Compose를 통합하고, - ViewCompositionStrategy를 적절히 설정하여 Compose Composition의 생명주기를 관리해야 합니다. 특히 Fragment 전환 시 UI 상태 손실을 방지하기 위해 DisposeOnViewTreeLifecycleDestroyed 전략을 사용하는 것이 중요합니다.

작성자 엄재웅

주제 - 링크 : Build an AI Assistant for Android Using Compose

필자 커멘트

블로그 챌린지에 합류해 준 원래도 유명한 skydovs 님의 글! 매번 양질의 글을 작성해 주시는 이분은 정말 찐 개발자이신! 마지막 글은 요즘 핫한 AI와 Compose!

AI 요약

이 기사는 Jetpack Compose를 사용하여 Android용 AI 비서를 구축하는 방법에 대한 것입니다. 클라이언트 측과 서버 측 모두에서 상호 작용을 처리하는 방법을 설명합니다. AI 비서는 Stream의 에지 네트워크를 활용하여 최적의 성능을 발휘하며 Anthropic 및 OpenAI의 API를 LLM으로 사용합니다. 또한 Stream Chat SDK와 원활하게 통합되는 AI 비서를 구축하는 방법을 안내합니다. 이 튜토리얼에서는 채널 화면, AI 채팅 화면, AI 입력 표시기 등 앱의 주요 기능을 설명합니다. 또한 Chat SDK 설치, 백엔드 서버 실행, ChatClient 초기화, 네트워크 모듈 구성, 채널 목록 구축, AI 메시지 화면 구축 등의 단계별 지침을 제공합니다.

챌린지 마무리

11월부터 8주간의 챌린지가 마무리되었다. 총 10명이 참여하여 3번의 skip이 일어났지만 모든 분들이 적극적으로 글을 써주셔서 감사합니다.

다음 챌린지는 2025에 언젠가 진행 예정 모집할 때는 제가 속해있는 오픈 채팅방, SNS 등을 잘 확인해 보세요!

AI도 좋아지긴 했지만 쓸 때마다 퀄리티가 다른 건 아쉬움.

이 블로그 챌린지가 챌린지로 끝나지 않고, 개개인의 블로그 작성에 영향을 미치길.

그리고 블로그 글 작성은 누군가에게 공유한다는 목적보단 내가 작성하고 내가 이해하는 것이 1의 목표라고 생각합니다. 결국 정리하기 위해 표현하고, 더 열심히 공부하면 자연스럽게 습득하며, 누군가 보고 동감도 해주니 그걸 기다려보시길

Prev

Tags: blog