Junghoon's Blog

박정훈의 블로그입니다.

[Coroutine] CoroutineContext 와 CoroutineScope 에 대해

Coroutine Study

CoroutineContext 와 CoroutineScope 에 대해 CoroutineContext 자 우선 CoroutineContext 내부를 살펴보자 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 32 33 34 35 36 37 38 ...

[Kotlin] Kotlin 타입 안전성에 대해

Kotlin Study

Kotlin 함수형 프로그래밍 이란? 제네릭 제네릭 (Generics) 은 타입에 타입 매개변수를 추가할 수 있는 언어 기능 집합을 표현하는 데 사용되는 용어다. 예를 들어 Int 타입 객체로 요소를 추가하는 함수가 있는 단순한 클래스가 있다. 1 2 3 4 5 class AdderInt { fun add(i: Int) { ...

[Kotlin] Kotlin 함수형 프로그래밍

Kotlin Study

Kotlin 함수형 프로그래밍 이란? 함수형 프로그래밍 ? 1 2 3 4 [구문 1] // 뭔가를 수행 [구문 2] // 뭔가를 수행 [구문 3] // 뭔가를 수행 ... 1 2 3 4 5 object. doSomething1(). doSomething2(). doSomething3() ... 첫 번째 스타일...

[Kotlin] Kotlin DSL

Kotlin DSL

Kotlin DSL 이란? Kotlin DSL ? 영역 특화 언어 (DSL - Domain Specific Language) 를 사용해 표현력이 좋고 코틀린다운 API를 설계하는 방법을 알아보자. DSL에 대해 알아보기 전에 우리가 해결하려는 문제에 대해 더 자세히 알아보자. 궁극적으로 목표는 코드의 가독성과 유지 보수성을 가장 좋게 유지하는...

[Kotlin] RxKotlin Study 05

Reactive Prgramming in Kotlin

RxKotlin 공부하기 스케줄러를 사용한 동시성과 병렬처리 스케줄러 ? ReactiveX 에서 기본적으로 옵저버블과 이에 적용된 연산자 체인은 subscribe이 호출된 동일한 스레드에서 작업을 수행하며, 옵저버가 onComplete or onError 알림을 수신할 때까지 스레드가 차단된다. 스케줄러는 스레드 풀로 생각하면 된다. 스케줄...

[Kotlin] RxKotlin Study 04

Reactive Prgramming in Kotlin

RxKotlin 공부하기 백프레셔와 플로어블 소개 배압(Backpressure) 데이터 생산과 소비가 불균형적일 때 일어나는 현상 만약 10000개의 데이터를 0.1초마다 발행하고, 소비는 10초마다 한다면 소비와 관계없이 데이터는 스트림에 계속 쌓인다. 즉, Observable 이 데이터를 발행하는 속도를 Observer의 소비 ...

[Kotlin] kotlin 에서 자바 코드 접근하기

Kotlin & Java

Kotlin 에서 Java 코드 접근하기 Null 안전성 자바의 참조 타입을 코틀린으로 불러오면 타입 이름 뒤에 느낌표(!)가 붙는다.(ex, String!) 타입 이름 뒤의 !는 이 타입이 Nullable인지, Not-Null인지 알 수 없다는 뜻이다. 자바의 참조 타입은 무조건 null을 허용하기 때문에 이런 일이 벌어진다. 반면 int와 같...

[Kotlin] RxKotlin Study 03

Reactive Prgramming in Kotlin

RxKotlin 공부하기 옵저버블과 옵저버와 구독자 Observable Observable은 그 컨슈머(Observer)가 소비할 수 있는 값을 산출해 내는 기본 계산 작업을 갖고 있다. 여기서 가장 중요한 것은 컨슈머(Observer)가 값을 pull 방식을 사용해 접근하지 않는다는 점이다. 오히려 옵저버블은 컨슈머에게 값을 push 하는 ...

[Kotlin] RxKotlin Study 02

Reactive Prgramming in Kotlin

RxKotlin 공부하기 함수형 프로그래밍의 기초 람다 표현식 람다 또는 람다식은 이름이 없는 익명 함수를 의미한다. 람다식은 함수라고 말할 수 있지만 모든 함수가 람다식인 것은 아니다. 모든 프로그래밍 언어가 람다식을 지원하는 것도 아니다. 코틀린은 람다 표현을 잘 지원한다. 밑의 예제를 보면서 작동방식을 살펴보자. [ 예제 ] 1 2 3 4...

[Kotlin] RxKotlin Study 01

Reactive Prgramming in Kotlin

RxKotlin 공부하기 리액티브 프로그래밍이란 코드를 보고 이해해 보자 1 2 3 4 5 6 7 8 9 fun main(args: Array<String>) { var number = 4 var isEven = isEven(number) println("The Number is" + (if (isEven) "Ev...