💡스레드와 코루틴에 대하여 간단하게 정리하였습니다. 개요Thread와 Coroutine은 둘 다 동시성 처리를 위한 방법이지만, 서로 다른 방식으로 작업을 처리합니다.안드로이드, 서버 애플리케이션 또는 다양한 병렬 처리 환경에서 중요한 역할을 수행합니다.이는 동기 & 비동기, 동시성 & 병렬성의 개념과 매우 밀접하게 연관되어 있습니다.동기와 비동기(Thread & Handler) 동기와 비동기(Thread & Handler)💡동기, 비동기의 차이에 대해서 이해하고 안드로이드에서 Thread와 Handler가 어떻게 동작하는지 정리하였습니다. Synchronous vs Asynchronous동기와 비동기는 작업의 처리 방식을 나타내는 개념으로,jinudmjournal.tistory.com[CS] 동시성..
💡동시성과 병렬성에 대하여 학습한 내용을 기록하였습니다.동시성(Concurrency)여러 작업을 실행할 수 있는 능력을 의미하며, 실제로는 한 번의 하나의 작업을 수행하더라도 작업 간 빠르게 전환함으로써 동시에 여러 작업이 진행되는 것처럼 보이게 합니다.CPU가 여러 작업을 짧은 시간 간격으로 번갈아가며 실행하기 때문에, 마치 여러 작업이 동시에 수행되는 것처럼 보입니다.특징프로세스 간 빠른 전환으로 CPU 자원을 최대한 활용할 수 있습니다.하지만 여러 작업이 같은 자원에 접근할 때 데이터 경합 문제 발생이 있을 수 있으며, 이를 해결하기 위한 동기화가 필요합니다.단일 코어동시성은 하드웨어적으로 병렬 처리가 지원되지 않는 단일 코어에서도 구현 가능합니다.[Core] : CPU에 내장된 처리회로로 명령어..
💡안드로이드에서 리소스를 쉽게 관리하기 위해 사용하는 Resource Provider에 대하여 기록하였습니다. Resource ProviderResource Provider는 안드로이드에서 리소스를 더 쉽게 관리하고 테스트 가능성을 높이기 위해 사용하는 패턴입니다.XML리소스(문자열, 색상, 배열 등)와 같은 리소스를 코드 내에서 주입하고 ViewModel이나 다른 클래스에서 사용하면서도 리소스에 직접 접근하지 않도록 만들어줍니다.ViewModel이나 Repository에서는 Context에 직접 접근하는 것이 권장되지 않습니다. Resource Provider 패턴을 사용하여 리소스에 대한 접근을 인터페이스로 추상화할 수 있습니다.Resource Provider의 역할Context에 대한 의존성을 줄..
💡동기, 비동기의 차이에 대해서 이해하고 안드로이드에서 Thread와 Handler가 어떻게 동작하는지 정리하였습니다. Synchronous vs Asynchronous동기와 비동기는 작업의 처리 방식을 나타내는 개념으로, 작업의 실행 순서와 대기 방식에서 차이가 있습니다.동기(Synchronous)동기적 처리는 작업이 직렬적으로 처리되며, 하나의 작업이 끝날 때까지 다음 작업을 기다리는 방식입니다.현재 실행 중인 작업이 완료될 때까지 다른 작업을 수행할 수 없으며, 결과가 즉시 반환됩니다.호출한 코드가 끝날 때까지 대기 상태가 되며, 순차적인 처리로 로직이 단순합니다.fun synchronousExample() { println("작업 시작") // 동기적으로 데이터를 가져옴 (예:..
💡안드로이드 아키텍처 패턴에서 Data Layer 역할을 담당하는 Repository, DataSourece에 대하여 기록하였습니다. 아키텍처 원칙앱 컴포넌트를 설계할 때 데이터 모델에서 UI를 도출해야 하는데 가급적이면 지속적인 모델이 권장됩니다.이를 기반으로 앱 아키텍처를 구축하면 테스트 가능성과 견고성이 높아지는 결과를 얻을 수 있습니다.데이터 모델은 UI요소나 기타 컴포넌트들과 독립되어 있는데, 지속적인 데이터 모델이 이상적인 아키텍처 패턴이 될 수 있습니다.지속적인 데이터 모델OS에서 리소스를 확보하기 위해 앱을 제거해도 데이터가 삭제되지 않습니다.네트워크 연결이 불안정하거나 비연결 상태에도 앱이 동작 합니다.SSOTSingle source of truth의 약자로 단일 소스 저장소를 뜻합니다..
💡여러 종류의 목록 뷰를 하나의 스크롤 영역에 구현하기 위해 학습한 내용을 기록하였습니다. 개요인스타그램을 포함한 여러 앱에서 여러 종류의 목록 뷰를 하나의 스크롤 영역에 표시합니다.리싸이클러뷰로 이를 구현하려고 할 때 여러가지 방식의 차이를 비교하려 합니다.NestedScrollViewNestedScrollView는 ScrollView와 동일하게 동작하지만 중첩된 스크롤을 지원합니다.NestedScrollView | Android Developers NestedScrollView | Android Developersandroidx.core.accessibilityservicedeveloper.android.comNestedScrollView는 View의 스크롤 X or Y 위치가 변경될 때 호..