분류 전체보기

    [Android/CS] 안드로이드 아키텍처 컴포넌트 AAC 에 대해 알아보자!

    [Android/CS] 안드로이드 아키텍처 컴포넌트 AAC 에 대해 알아보자!

    이번 시간에는! 이번 시간에는 안드로이드 아키텍처 컴포넌트, AAC(Android Architecture Component) 에 대해 알아보려고 해요. AAC 가 뭐야? AAC(Android Architecture Component) 는 테스트와 유지보수가 쉬운 앱을 디자인할 수 있도록 돕는 라이브러리의 모음이에요. AAC에는 안드로이드와 아키텍처에 대한 고민이 많이 담겨있기 때문에, 필수로 공부해야 한다고 생각해요. 구글은 2017년에 새로운 라이브러리들을 AAC로 묶어 발표했으며 크게 5가지로 분류하였어요. Lifecycles / LiveData / ViewModel / Room / Paging 이렇게 크게 다섯 가지로 분류되어 있어요. 이제 순서대로 알아보도록 하겠습니다. Lifecycles Lif..

    [Android/CS] 동기와 비동기, 블로킹과 논블로킹에 대해 알아보자!

    [Android/CS] 동기와 비동기, 블로킹과 논블로킹에 대해 알아보자!

    면접 준비를 하다 동기와 비동기에 대해 알아보려다 블로킹과 논블로킹에 대해서도 알아보게 되었다. 동기 (Synchronous) 어떤 작업을 요청한 즉시 바로 그 작업의 완료 여부와 처리 결과를 확인할 수 있는 방식이다. 요청한 작업의 완료 여부와 결과를 바로 알 수 있다는 장점이 있다. 하지만 요청한 작업의 완료여부와 작업 결과를 반환받는 데 필요한 시간이 긴 경우 문제가 발생할 수 있다. 해당 작업이 완료되어 결과가 반환될 때 까지 무조건 기다려야만 하기 때문에 짧은 시간이 엄청 많은 대량의 데이터를 요청해 작업을 진행하게 되는 경우, 문제가 발생할 수 있어 주의를 해야 한다. 비동기 (Asynchronous) 동기와 다르게 비동기는 작업을 요청한 즉시 바로 그 작업의 완료 여부와 작업 결과를 바로 확..

    [Android/Design Pattern] MVVM 디자인 패턴에 대해 알아보자!

    [Android/Design Pattern] MVVM 디자인 패턴에 대해 알아보자!

    전에 MVP 에 대해 알아보았습니다. 이번에는 각각의 디자인 패턴의 단점을 보완하기 위해 만들어진 MVVM 에 대해 알아보겠습니다. MVVM 이란? MVVM 패턴은 Model - View - ViewModel 를 합친 용어입니다. Model 과 View 가 존재하고, Controller, Presenter 대신 ViewModel 이 존재합니다. MVVM 의 핵심은 화면을 만드는 코드와 뒤에 데이터를 처리하는 코드를 분리합니다. 이렇게 되면 하나의 소프트웨어를 최대한 기능적으로 작은 단위로 나누어 개발하므로 테스트가 쉽고, 큰 프로젝트도 상대적으로 관리하기 좋은 구조입니다. 구조 1. Model 데이터에 대한 상태 처리나 비즈니스 로직을 처리합니다. UI 에 대한 로직은 가지지 않습니다. DB 나 API ..

    [Android/Design Pattern] MVP 디자인 패턴에 대해 알아보자!

    [Android/Design Pattern] MVP 디자인 패턴에 대해 알아보자!

    지난번에는 MVC 에 대해 알아보았습니다. 이번에는 이를 보완한 MVP 에 대해 알아보겠습니다. MVP 란? MVP 패턴은 Model + View + Presenter를 합친 용어입니다. Model 과 View 는 MVC 패턴과 동일하고, Controller 대신 Presenter 가 존재합니다. MVP 의 핵심 설계는 MVC 와 다르게 UI(View) 와 로직(Model)을 분리하고, 서로 간에 상호작용을 다른 객체(Presenter)에 그 역할을 줌으로써, 서로의 영향을(의존성)을 최소화하는 것에 있습니다. 구조 1. Model Model 은 APP 에서 사용되는 data를 처리합니다. (비즈니스 로직) View 또는 Presenter 등 어떤 요소에도 의존적이지 않고 독립적이다. 2. View Vi..