일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Android
- 안정성
- git
- ViewModel
- 단위테스트
- 유닛테스트
- 깃
- Python
- 코딩테스트
- mock
- Kotlin
- 코틀린
- dagger2
- UnitTest
- Di
- 컴포즈
- MVVM
- 테스트의 장점
- 제한함수
- 파이썬
- Room
- 공격적 프로그래밍
- rxjava
- Jetpack
- 디자인패턴
- Observable
- 자료구조
- 안드로이드 디자인패턴
- compose
- 안드로이드
- Today
- Total
목록안드로이드 (41)
세상을 바꾸는 개발자
안녕하세요~ 헬창코딩입니다. 이번에는 Rxjava에서 이미 참조할 수 있는 배열 및 리스트 등의 자료구조나 Future, Callable 또는 Publisher가 있다면 from으로 시작하는 연산자를 통해 Observable로 변환하는 작업을 해보도록 하겠습니다. from과 관련된 메서드입니다. fromArray() -> 배열을 ObservableSource로 변환하여 아이템을 순차적으로 발행합니다. fromIterable() -> ArrayList, HashSet처럼 Iterable을 구현한 모든 객체를 ObservableSource로 변환하여 아이템을 순차적으로 발행합니다. fromFuture() -> Future 인터페이스를 지원하는 모든 객체를 ObservableSource로 변환하고 Future..
안녕하세요~ 헬창코딩입니다. 이번 시간에는 간단한 기본 연산자인 rxjava의 just 연산자에 대해서 알아보도록 하겠습니다. just 연산자는 해당 아이템을 그대로 발행하는 Observable을 생성해줍니다. just() 연산자로 넣은 아이템을 차례로 발행하며, 한 개의 아이템을 넣을 수도 있고, 타입이 같은 여러 개의 아이템을 넣을 수도 있습니다. RxJava에서는 기본적으로 null을 허용하지 않아, just의 인자로 null을 넣으면 안 됩니다. null을 발행하면 오류가 발생합니다. 만약 아무런 아이템을 발행하지 않는 빈 Observable을 만들고 싶다면 Observable, empty() 연산자를 사용하면 됩니다!
안녕하세요~ 헬창코딩입니다. 오늘은 Observerble에 대해서 알아보도록 하겠습니다~ RxJava에서는 Obseverble을 구독(subscribe)하는 Observer가 존재하고, Observable이 순차적으로 발행하는 데이터에 대해서 반응합니다. 이때 Observable은 다음과 같이 3가지 이벤트를 사요하여 동작합니다.! onNext() : 하나의 소스 Observable에서 Observer까지 한 번에 하나씩 순차적으로 데이터를 발행합니다. onComplete() : 데이터 발행이 끝났음을 알리는 완료 이벤트를 Observer에 전달하여 더는 onNext() 호출이 발생하지 않음을 나타냅니다. onError() : 오류가 발생했음을 Observer에 전달합니다. 이 세 가지 이벤트 메서드들은..
안녕하세요 헬창코딩입니다.!! 요즘도 그렇고 예전부터 개발을 하면서 반응형 프로그램을 많이 써오고 있는데요 반응형 프로그램이 무엇이기에 이렇게 많이 사용할까요? 그래서 오늘은 반응형 프로그래밍이 무엇인지 알아보도록 할게요~ 반응형 프로그래밍은 (Reactive Programming) 주변 환경과 끊임없이 상호작용을 하는 프로그래밍을 의미합니다.! 프로그램이 주도하는 것이 아니라 환경(예를 들어 데이터)이 변하면 이벤트를 받아 동작하도록 만드는 프로그래밍 기법을 말합니다. 반응형 프로그램은 외부 요구에 끊임없이 반응하고 처리를 합니다. 여기서 반응형 프로그래밍의 편리함과 사용성은 명령형 프로그래밍과의 차이를 통해서 알 수 있는데요 먼저 그럼 명령형 프로그래밍은 무엇일까요? 명령형 프로그래밍이란 것은 개발자..
안녕하세요 헬창코딩입니다. 예전에 dagger2를 간단하게 사용해봤었는데요. 이번에는 의존성 주입이 왜 필요한지 자세하게 알아보도록 하겠습니다. 사실 처음 dagger2를 사용해보면 느끼겠지만 오히려 안 쓰는 게 더 편한 거 같은데;; 왜 사용하는 거지??라는 의문점이 드실 겁니다. 저도 그랬습니다. 사실 간단한 프로젝트에는 사용을 안 하는 것이 더 좋을 것 같습니다. 하지만 프로젝트가 커질수록 디자인 패턴의 중요성, 그리고 그 안에서 사용되는 dagger2의 필요성을 느끼실 수 있을 겁니다. 그럼 필요성을 자세하게 알아보도록 하겠습니다. 1. 변경의 전이 예를 들어서 한번 보겠습니다. public class Computer { public A_CPU cpu; //변경됨 public Computer() ..
안녕하세요~ 헬창코딩 입니다. 오늘은 MVVM패턴에 대해서 알아보도록 하겠습니다. 저번 글에서 살펴보았던 MVP패턴에서는 Presenter가 View에 어떤 일을 요청하는지 명백하게 확인할 수 있었습니다. 하지만 View와 Presenter가 강하게 결합하여 있다는 문제점이 있었습니다. MVVM패턴에서는 데이터 바인딩 및 LiveData 또는 Rxjava와 같은 Observable 타입을 이용해서 Presenter와 View 사이에서 강하게 연결되었던 점을 끊는데 집중했습니다. 이때 Presenter 데신 ViewModel이라는 구성요소를 사용합니다. Model과 View에 관한 설명은 이전 게시글을 참조해주세요~~ https://healthcoding.tistory.com/12 ViewModel은 Vi..
안녕하세요! 헬창코딩입니다. 지난 시간에는 MVC패턴에 대해서 알아봤는데요 이번 시간에는 MVP패턴에 대해서 한번 알아보도록 하겠습니다. MVC 패턴은 Model, View, Controller로 이루어져 있다면 MVP 패턴은 Presenter라는 새로운 녀석이 등장합니다. 그 이유는 MVC 모델의 단점인 뷰와 모델에 의존적이 의존적이라는 것을 해결하기 위해서 추가되었습니다. Presenter란 무엇일까요?? Presenter는 이전 시간에 나왔던 Controller와 비슷하다고 생각하실 수 있지만 뷰에 직접 연결되는 것이 아니라 인터페이스로 연결이 됩니다. 그렇기 때문에 MVC 패턴에서 문제가 되었던 결합도가 높고 유닛 테스트를 하기 힘든 단점을 보완할 수 있습니다. 또한 Presenter는 View와..
안녕하세요! 헬창코딩입니다. 오늘은 디자인 패턴에 대해서 알아보도록 하겠습니다.!! 먼저 mvc패턴은 안드로이드 아키텍처에서 가장 많이 쓰여왔으며 기본이 되는 디자인 패턴입니다. MVC 패턴은 말 그대로 모델(Model), 뷰(View), 컨트롤러(Controller)의 약자입니다. MVC 패턴의 구조 모델(Model) - 애플리케이션에서 비즈니스 로직과 사용되는 데이터를 다루는 영역 - 표현되는 형식에 의존적이지 않고, 사용자에게 보이지 않아 어떻게 보일 지를 신경 쓰지 않아도 됩니다. 모델(Model)의 역할 - 일반적으로 비즈니스 데이터는 DBMS에 의해 관리되고 몇몇 함수를 통해 데이터를 제공하거나 입력, 수정 등을 하는 역할을 합니다. - 안드로이드에서는 데이터베이스의 Entity를 담당하는 P..