kotlin 7

REST API

REST API란? REST API란 REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 뜻합니다. REST는 Representational State Transfer의 줄임말입니다. REST의 구성 REST API는 다음의 구성으로 이루어져 있습니다. 자원(Resource) - URI 행위(Verb) - HTTP METHOD 표현(Representations) REST의 특징 1) Uniform(유니폼 인터페이스) Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일을 말합니다. 2) Stateless (무상태성) REST는 무상태성 성격을 갖습니다. 다시 말해 작업을 위한 상태정보를 따로 저장하고 관리하..

Study/REST Retrofit 2021.10.24

[RxKotlin] 함수형 프로그래밍과 리액티브 프로그래밍

이 내용은 기존에 쓰던 책에서 적은내용이 아닌 함수형 코틀린 이라는 책에서 설명한 RxKotlin을 정리한 내용입니다. FP와 OOP의 결합 FP와 OOP는 오래된 프로그래밍 패러다임이며, 각자만의 이점과 단점을 가진다. OOP 시스템에서는 부수 효과를 피하기 어렵다. 또한 OOP 시스템은 종종 동시 프로그래밍의 악몽으로 불린다. FP는 상태를 인식하지 않지만, 실생활에서 상태를 인식하지 않을 수 없다. 이런 모든 번거로움은 OOP를 FP와 결합/사용함으로써 피할 수 있다. OOP와 FP를 결합하는 가장 일반적인 스타일은 작은 곳에서는 함수적이고, 큰 곳에서는 객체지향적이라고 할 수 있다. OOP는 클래스와 인터페이스로 사용할 수 있고, FP는 메소드/함수작성과 같은 낮은 레벨에서 사용할 수 있다. OO..

Study/RxKotlin 2021.10.18

[RxKotlin] 핫, 콜드 옵저버블과 Subjects

위 글은 코틀린 리액티브 프로그래밍책을 보며 내용을 정리한 내용입니다. 책 : 코틀린 리액티브 프로그래밍 리부 차크라보티 지음 조승진 옮김 핫, 콜드 옵저버블 Observables는 그 행동에 따라 두 가지 범주로 나눌 수 있다. 제목에서 알 수 있듯이 두 가지 범주는 핫 옵저버블과 콜드 옵저버블이다. 이 두가지에 대해 알아보자. 콜드 옵저버블 모든 예제에서 동일한 옵저버블을 여러 번 구독해도 모든 구독의 새로운 배출을 얻을 수 있다. fun main(args :Array){ val observable : Observable = listOf("String 1","String 2","String 3","String 4").toObservable() observable.subscribe({ println("..

Study/RxKotlin 2021.10.16

[RxKotlin] 옵저버블과 옵저버와 구독자

위 글은 코틀린 리액티브 프로그래밍책을 보며 내용을 정리한 내용입니다. 책 : 코틀린 리액티브 프로그래밍 리부 차크라보티 지음 조승진 옮김 옵저버블 옵저버블과 구독자는 리액티브 프로그래밍의 기반을 이룬다. 이번 글에서는 Observables, Observers, subjects에 대해 알아보자.옵저버블(Observable)은 컨슈머(Observer)가 소비할 수 있는 값을 산출해 내는 기본 작업을 갖고 있다.여기서 가장 중요한 것은 컨슈머(Observer)가 값을 풀(Pull) 방식을 사용해 접근하지 않는다는 점이다.오히려 옵저버블은 컨슈머에게 값을 푸시(Push)하는 역할을 한다.따라서 옵저버블은 일련의 연산자를 거치는 아이템을 최종 옵저버로 내보내는 푸시 기반의 조합 가능한 이터레이터이다.순차적으로 ..

Study/RxKotlin 2021.10.16

[RxKotlin] Coroutine과 모나드

위 글은 코틀린 리액티브 프로그래밍책을 보며 내용을 정리한 내용입니다. 책 : 코틀린 리액티브 프로그래밍 리부 차크라보티 지음 조승진 옮김 코루틴 코틀린의 가장 흥미롭고 혁신적인 기능은 코루틴(Coroutine)이다. 스레드와같이 비동기식, 논블로킹 코드를 작성하는 새로운 방법이지만 더 간단하고 효율적이며 경랑의 솔루션이다. 스케줄러는 RxKotlin을 통해서만 사용할 수 있는 반면 코루틴은 어디에서나 사용할 수 있다. 쉽게 사용할수있고 쉽게 컨텍스트를 변화할수있어서 필자는 코루틴을 더 선호한다. 그리고 가볍기까지도 하다. 코루틴은 대단히 혁신적인 기능이며 스레드에 대한 훌륭한 추상화를 제공하고, 컨텍스트를 변경하며 동시성을 쉽게 만들어준다. RxKotlin은 아직 코루틴을 사용하지않는다. 코루틴은 동시..

Study/RxKotlin 2021.10.11

BottomNavigationView와 Fragment

오늘은 BottomNavigationView와 Fragment를 추가하였다. 단순히 생성한 가계부를 보고 추가하고 지울수있는것만이 아닌 통계라던가 내 자산, 설정을 만질수 있어야하기에 BottomNavigationView을 추가하였다. 그리고 누르는 탭에따라 새로운 view가 생성되는것이아닌 상황에 맞는 view를 부착하기위해 Fragment를 사용하였다. 현재 나머지 두탭은 미구현이고 차차 구현할 예정이다 그리고 바텀 네비게이션 뷰 위는 Container로 정의해서 fragment를 부착하는형태로 정의했다. 그리고 fragment는 TAG를 기준으로 불러왔다. 코드 설명을 하자면 위의 함수는 네비게이션뷰가 선택이 될경우 그 탭의 이름을 기준으로 작동하는 로직이 다르다. 그리고 호출한 showFragme..

[RxKotlin] 함수형 프로그래밍과 코틀린의 특징

위 글은 코틀린 리액티브 프로그래밍책을 보며 내용을 정리한 내용입니다. 책 : 코틀린 리액티브 프로그래밍 리부 차크라보티 지음 조승진 옮김 글을 시작하며.. 함수형 프로그래밍 패러다임은 객체지향 프로그래밍(OOP와 약간 다르다.) 함수형 프로그래밍은 좀 더 선언적이고 표현적인 프로그램이고, 불변의 데이터를 사용하는 경향이 있다. 함수형 프로그래밍의 정의는 다음과 같다. 불변의 데이터를 사용한 수학적인 함수의 평가를 통해 프로그램을 구조화하는 동시에 상태 변화를 방지한다 이 예시에대해서는 코틀린의 특징을 알아보며 설명하겠습니다. 함수형 프로그래밍은 프로그래밍 논리를 작고 재사용 가능하며 선언적인 순수한 기능의 조각으로 나온다. 논리를 작은 코드로 분산시키면 쉽게 모듈화가 가능하고 단순해지기 때문에 다른 모..

Study/RxKotlin 2021.10.09