
비동기 프로그래밍이란 무엇이고, 왜 사용해야할까요?

프로젝트가 커질수록 확장성, 가독성 및 전반적인 코드 품질이 떨어지는 겨웅가 많다. 그 이유는 규모가 커짐에도 유지 관리할 수 있는 구조를 적용하기 위한 노력을 하지 않았기 때문이다. 이 유지 관리할 수 있는 구조 중 하나가 모듈화란 기술이다. 코드 내 느슨하게 결합
Compose는 테스트로 UI를 확인할 수 있다. 따라서, 다음과 같이 컴포저블 함수의 의존도를 최대한 낮추는게 좋다.State Hoist람다 이용하위 컴포저블에 ViewModel, Context 등 주입 피하기컴포넌트 등의 재사용 가능한 컴포저블 함수들은 위 내용은
그 밖에...
Channel은 BlockingQueue와 같은 컨셉을 지닌다. 하지만 스레드를 막는 대신에 suspend 시킨다는 코루틴의 특성을 가진다. 보통 생성자-소비자 패턴으로 많이 만들어진다. 또한 이를 직접 만드는 것은 귀찮기 때문에 코루틴 빌더인 produce를 제공한

최근 시험을 보면서 Manifest에 관한 문제가 나왔다. 두루뭉실하게 역할과 어떤 내용이 있는지 작성했지만, 한계점까진 답하지 못 했다. 그리하여 이번에 제대로 알아보기 위해 이 글을 작성한다. manifest는 빌드 툴, Android OS, 구글 플레이 등 필수

가끔 화면 젠처를 덮는 오버 레이 화면이 필요할 때가 있었다. 예를 들면 게임 결과 패널, 튜토리얼, 긴급 공지처럼 “현재 화면과 무관하게 최상단에서 노출되어야 하는 UI”다. 나는 이를 RootView에서 Bottom Tab UI를 그린 뒤, 동일한 루트 레이어에

Bottom Navigation Bar를 만드는 도중 Bar에 bottom padding이 추가되어 있었다. 검색을 통해 xml 단에서 여러 시도를 하였지만 결국 실패padding=0itemIconSize 조정 이후 튜터님께 여쭤보고 해당 Activity의 부분을 삭제
크게 세 가지 유형 포그라운드: 알림으로 알려야 하는 작업. kill될 확률이 적음 백그라운드: 앱이 포그라운드에 있을 때만 제한적으로 가능. 알림이 없고 킬될 확률 높음 바인드: activity 같은 컴포넌트에 종속되어 생명주기를 같이 함. 주의 사항 Service는 Main Thread에서 실행되니, 새로운 쓰레드 풀 또는 코루틴 스코프를 주어야한...
대시보드 세팅(https://sendbird.com/docs/chat/sdk/v3/android/quickstart/send-first-message2. 설정(https://sendbird.com/docs/chat/sdk/v3/android/quick