분류 전체보기

예제파일 : https://github.com/seyoungcho2/GradleKotlinDSL Gradle with Kotlin DSL Groovy로 빌드 파일을 작성하는 것은 불편하다. 다른 곳에서 선언된 변수에 대해 자동완성이 지원되지 않고 문서 찾기가 어렵다. 실행시점 전까지 오류가 검출되지 않는다. IDE에서 제공하는 리펙터링 기능을 사용할 수 없다. (Intellij 기준 Shift+F6 을 눌러서 리펙토링 불가) 코드 작성이 제약이 약해 빌드 스크립트가 자유 분방해진다. Groovy는 같은 코드를 여러 방식으로 쓰는 것을 허용한다. 대표적 예로 문자열을 쓸 때 ' 를 쓰는 것과 "를 쓰는 것이 모두 허용되는 점이다. 왜 Kotlin DSL로 이전해야 하는가? 코드 자동완성과 참조 오류코드 강..
앞선 글에서 RxJava에서는 발행자와 구독자가 존재하며, 발행자는 데이터를 발행하고 구독자는 발행한 데이터를 처리하는 동작을 한다고 하였다. 여기서 발행자는 발행하는 방식에 따라 대분류 두개로 나뉘게 되는데 바로 Cold Observable과 Hot Observable이다. Observable을 직역해보면 "관찰할 수 있는" 이라는 말이 되는데 즉 발행자와 같은 말이다. 그렇다면 Cold Observable과 Hot Observable의 차이는 무엇일까? 아래에서 알아보도록 하자. 예제 링크: https://github.com/seyoungcho2/RxJavaExample 경로 : example/Example2_ColdObservable.kt, example/Example3_HotObservable.k..
예제 링크: https://github.com/seyoungcho2/RxJavaExample 경로 : example/example1 명령형 프로그래밍과 반응형 프로그래밍 명령형 프로그래밍 명령형 프로그래밍은 컴퓨터에게 무엇을 하라고 명령하는 것이다. 예를 들어 1, 2, 3을 출력하는 명령형 프로그램을 만든다고 해보자. 그럴 경우 우리는 다음과 같이 컴퓨터에 명령을 내린다. println("count : 1") println("count : 2") println("count : 3") 명령을 받은 컴퓨터는 명령을 받아 순서대로 출력값을 내어놓는다. 반응형 프로그래밍 그렇다면 이것을 반응형 프로그래밍으로 만들어보면 어떻게 될까? 먼저 다음과 같은 PublishSubject을 이용한 데이터 발행자(Publi..
예제 링크 : https://github.com/seyoungcho2/KoinExample 예제 브랜치명 : example/example5 *브랜치 필수 확인 의존성 제공 메서드 single과 factory single은 한 번만 객체를 생성하고 factory는 호출 될때마다 객체를 생성한다. 다음과 같은 Student("student-kim")은 single로 제공되고 Student("student-cho")는 factory로 제공되는 상황을 가정해보자. module { single(named("kim")) { Student("student-kim") } factory(named("cho")) { Student("student-cho") } } 이때 다음과 같이 각각에 대한 의존성을 두 번씩 주입했다고..
생성자 주입이 달라야 하는 이유 제공된 객체가 다른 객체의 생성자에 주입되어야 한다고 해보자. class Student(val name: String) class Teacher(val name: String, val teachingStudent: Student) 이럴 경우 Teacher은 Student를 주입받아야 한다. 이때 우리는 다음과 같이 get()을 이용해 제공된 객체를 주입받을 수 있다. single { Student("student-kim") } single { Teacher("teacher-cho", get()) } get()의 역할 예제 링크 : https://github.com/seyoungcho2/KoinExample 예제 브랜치명 : example/example3 *브랜치 필수 확인..
Dev.Cho
'분류 전체보기' 카테고리의 글 목록 (78 Page)