카
카카오헤어샵
October 28, 20221회
LiveData에서 Flow로 변형해보기 - LiveData -> Flow(StateFlow & SharedFlow)
간단 소개
LiveData의 한계를 극복하고 Flow, StateFlow, SharedFlow를 활용하여 Android 앱 개발 효율성을 높이는 방법을 설명합니다.
AI Summary
- LiveData의 한계와 Flow의 등장
- LiveData는 Android 플랫폼에 종속적이지만, Flow는 순수 Kotlin 라이브러리임
- Flow는 zip, flapMapMerge 등 다양한 함수를 제공하여 더 편리한 기능 제공
- LiveData의 생명주기 인식 기능은 Flow에서 지원하지 않음
- Flow는 상태가 없고, Cold Stream 방식으로 collect 시에만 값을 반환함
- StateFlow와 SharedFlow의 특징
- StateFlow는 LiveData처럼 값을 가지며, 항상 최신 값을 유지하는 Hot Stream
- StateFlow는 초기값이 필요하며, 상태 값 및 화면 데이터에 적합함
- SharedFlow는 값을 가지지 않지만, replayCache를 통해 이전 이벤트를 캐싱할 수 있는 Hot Stream
- SharedFlow는 클릭 이벤트나 화면 전환 등 이벤트 처리에 적합함
- Flow 사용 시 생명주기 처리 및 변환
- launchWhenStarted 등을 사용하여 Flow에서도 생명주기를 고려한 데이터 수집 가능
- Flow는 stateIn, sharedIn을 통해 StateFlow 또는 SharedFlow로 변환 가능
- collectLatest를 사용하여 UI에 보여줘야 하는 데이터를 처리하는 것이 권장됨
Next Feeds

유연하게 프로젝트별 개발환경 자동 설정하기(nvm) - nvm deeper shell integration 활용
nvm과 .nvmrc 설정을 통해 프로젝트별 node.js 버전을 자동으로 관리하여 개발 환경을 효율적으로 구성하는 방법을 제시합니다.
nvmnode.js개발환경자동설정.nvmrc
2022. 10. 27.
카카오헤어샵
카카오페이 성장과 함께 하는 기술지원 직무를 소개합니다.
카카오페이 기술지원 직무는 IT 전문가로서 금융 서비스의 기술적 이슈를 해결하고, 서비스 성장을 이끄는 핵심 역할을 수행합니다.
기술지원카카오페이파트너사 관리시스템 연동장애 관리
2022. 10. 27.
카카오페이

KURLY 현직자가 직접 뽑은 직무별 핵심 키워드를 소개합니다!
컬리 현직자가 뽑은 직무별 핵심 키워드와 필요한 역량을 소개하고, 채용 정보 및 직무 토크쇼 다시보기 링크를 제공합니다.
컬리직무키워드채용기술
2022. 10. 25.
컬리

Kurly만의 MLOps 구축하기 - 초석 다지기
컬리 MLOps 구축 초석 다지기: Karpenter를 활용한 GPU 자동 프로비저닝 및 디프로비저닝 환경 구축 과정을 소개합니다.
MLOpsKarpenterGPUKubernetesProvisioning
2022. 10. 25.
컬리

What AI Art can tell us about the future of Design and how it can affect Ad creative optimization
AI 아트는 디자인, UX, 광고 크리에이티브 최적화에 혁신적인 변화를 가져올 잠재력을 지니고 있습니다.
AI 아트디자인프롬프트UX광고 최적화
2022. 10. 24.
버즈빌

게임 서버 개발에 스칼라 사용하기
스칼라를 사용하여 게임 서버를 개발하면서 얻은 이점과 경험을 공유하고, 스칼라의 강력한 기능과 활용 사례를 소개합니다.
스칼라게임 서버정적 타입DSL동시성
2022. 10. 24.
데브시스터즈