post-thumbnail

Observable 생성하기

이전의 글에서 create()와 just()을 이용하여Observable을 생성하는 방법에 대해서 알아보았습니다. 하지만 RxJava에는 그것보다 더 많은 생성방법이 존재했습니다. 그렇기에 조금 더 알아보는 글을 작성해보려고 합니다. defer()로 생성된 Observ

2022년 7월 26일
·
0개의 댓글
·
post-thumbnail

RxJava Disposable란?

이전 포스트들에서 Observable 객체에서 발행할 아이템을 정의한 후 subscribe()를 통해 스트림을 생성하고 아이템을 발행했습니다. 이 subscribe()를 호출한 후에는 Disposable 객체가 반환됩니다.코드 Observable이 발행하는 아이템의 개

2022년 7월 26일
·
0개의 댓글
·
post-thumbnail

Coroutine-Chapter5

코루틴 마지막 글에서는 CoroutinScope, CoroutineContext, Dispatchers에 대해서 작성해보겠습니다.launch{} 는 코루틴을 생성하는 Coroutine Builder입니다. launch내에서 람다 표현식을 사용하면 CoroutineSco

2022년 7월 22일
·
0개의 댓글
·
post-thumbnail

Coroutine(suspending Functions) - Chapter4

앞에 글들에서 저희는 Coroutine Basics과 Coroutine Builder들을 알아봤습니다.이번 글에서는 Sequentail Execution과 Concurrent Execution, Lazy Coroutine Excecution에 대해서 알아보도록 하겠습니

2022년 7월 22일
·
0개의 댓글
·
post-thumbnail

RxJava Cold & Hot Observable

Cold Observable은 다음과 같은 특징을 가지고 있습니다. 일반적인 옵저버 형태를 말합니다. 누가 구독해주지 않으면 데이터를 배출해주지 않습니다. 일반적인 웹 요청, 데이터베이스 커리 등이 사용되며 내가 요청하면 결과를 받는 과정을 거칩니다.처음부터 발행하는

2022년 7월 21일
·
0개의 댓글
·
post-thumbnail

Dagger2 (2)

Component는 계층관계를 만들 수 있습니다. Subcomponent는 Inner Class 방식의 하위계층 Component입니다. Subcomponent는 Dagger의 중요한 컨셉인 그래프를 형성합니다. Inject로 주입을 요청받으면 Subcomponent에

2022년 7월 19일
·
0개의 댓글
·
post-thumbnail

Coroutine(Cancellation) - Chapter3

이번 시간에는 Cancellation, Timeouts, and Exception Handling에 대해서 작성하는 시간을 가져보겠습니다. 코루틴에서 cancel기능이 필요한 이유가 몇 가지 있습니다. 더 이상 결과가 필요로 하지 않은 경우코루틴이 너무 오랫동안 반응을

2022년 7월 19일
·
0개의 댓글
·
post-thumbnail

좋은 Test란?

(개인)코딩 생산성 증대 : 확신을 갖고 시스템을 수정할 수 있습니다. -> TDD 효율적으로 버그를 잡을 수 있습니다. 코드 변경(특히 refactoring)을 쉽게 할 수 있습니다. modular한 걸계에 도움 : Single responsible(팀)QA does

2022년 7월 19일
·
0개의 댓글
·
post-thumbnail

Coroutine(Builders) - Chapter2

두 번째 챕터는 Coroutine Builders에서 launch, runBlocking and async에 대해서 글을 작성해보도록 하겠습니다. 코루틴 빌더에는 3자기 함수가 있습니다.launchasync runBlocking입니다. 이들은 코루틴을 생성하는 방법들입

2022년 7월 13일
·
0개의 댓글
·
post-thumbnail

Coroutine - Chapter1

Coroutine에 대해서 자세하게 글을 작성해보려고 합니다. 총 5가지의 챕터로 나눠 작성할 예정이며 다음과 같이 분류될 것입니다.코루틴의 기본과 구조코루틴 빌더Cancellation and Exception Handlingsuspending 함수 구성Coroutin

2022년 7월 8일
·
0개의 댓글
·
post-thumbnail

Dagger2 (1)

Dagger는 DI Framework입니다. DI는 Dependency Injection의 준 말입니다. 의존성 주입이란 간단하게 설명하자면 A라는 객체를 B라는 객체에서 호출하여 생성하게 된다면 B는 A에 대해서 의존성을 갖게되는 것입니다. A의 값이 변경이 된다면

2022년 7월 7일
·
0개의 댓글
·
post-thumbnail

RxJava Single, Maybe, Completable

Single은 Observable의 변형된 형태입니다. Observable과 비슷하지만, 여러 개의 데이터를 발행할 수 있는 Observable과 달리 Single은 한 개의 데이터(혹은 에러)만을 발행합니다. Observable은 3가지 알림을 보내지만 Single은

2022년 7월 7일
·
0개의 댓글
·
post-thumbnail

Strategy Pattern (전략패턴)

전략 패턴이라고도 불리는 Strategy Pattern은 객체들이 할 수 있는 행위 각각에 대해 전략 클래스를 생성하고, 유사한 행위들을 캡슐화 하는 인터페이스를 정의하여, 객체의 행위를 동적으로 바꾸고 싶은 경우 직접 행위를 수정하지 않고 전략을 바꿔주기만 함으로써

2022년 7월 6일
·
0개의 댓글
·
post-thumbnail

Picasso With MVVM

API에서 데이터를 받아와 View에 출력해주는데 이미지 부분을 Picasso 라이브러리를 이용해서 출력해보도록 하겠습니다. Android앱을 제작하다보면 이미지를 표시해야하는 경우들이 많이 발생합니다. 그럴때는 이미지 라이브러리를 이용해 사용자들에게 보여주어야하는데

2022년 7월 6일
·
0개의 댓글
·
post-thumbnail

Paging3 With MVVM

Paging Library를 이용하여 RecyclerView를 출력하는 프로젝트에 대해 설명해보려고 합니다. 페이징 라이브러리는 로컬 데이터베이스 또는 네트워크의 데이터를 페이지 단위로 UI에 쉽게 표현할 수 있도록 도와주는 라이브러리입니다. 페이징 라이브러리를 사용하

2022년 7월 5일
·
0개의 댓글
·
post-thumbnail

RxJava를 이용한 Retrofit 통신

시작전 RxJava에 대해 간단하게 설명하고 프로젝트 설명을 하도록 하겠습니다. RxJava 는 ReactiveX(Reactive Extension)를 Java로 구현한 라이브러리이고 RxJava를 안드로이드에 맞게 스케쥴러와 클래스들을 추가해 안드로이드 개발에 사용할

2022년 7월 4일
·
0개의 댓글
·
post-thumbnail

Hilt - DI

Hilt는 프로젝트에서 수동 종속 항목 삽입을 실행하는 사용구를 줄이는 Android용 종속 항목 삽입 라이브러리 입니다.해당 annotation은 우리가 사용하려는 애플리케이션, 구성 요소에 붙여줘야하는 모든 모듈의 진입점입니다. Hilt를 사용하기 위해서 반드시 붙

2022년 7월 4일
·
0개의 댓글
·
post-thumbnail

Kotlin 동등성 연산

두 개의 오브젝트가 완전히 동일한 것을 의미합니다.하나의 오브젝트만 존재하는 것이며 그 오브젝트를 참조하는 여러 개의 레퍼런스 변수를 갖고 있는 것을 의미합니다.동일한 정보를 가지고 있는 오브젝트를 의미합니다. 메모리상에 각기 다른 오브젝트가 존재하는 것이며 각 오브젝

2022년 7월 3일
·
0개의 댓글
·
post-thumbnail

Koin - DI

Kotlin으로 DI를 공부하면서 가장 먼저 접하는 라이브러리는 kotlin DSL로 만들어진 Koin입니다.Koin은 Dagger에 비해 구성요소가 복잡하지 Koin의 러닝커버는 다른 라이브러리보다 낮습니다. DSL(Domain Specific Language) :

2022년 7월 3일
·
0개의 댓글
·
post-thumbnail

WorkManager를 알아보자

Android Jetpack 중에 하나인 WorkManager는 백그라운드 작업을 도와주기 위해 개발되었습니다. WorkManager의 기능은 다음과 같습니다. 실행이 보장됩니다. 또한 제약 조건을 가지고 실행할 수 있습니다. \-> 예) 네트워크 연결시에만 처리되는

2022년 7월 3일
·
0개의 댓글
·