전체 글 238

Nest.js 시작하기

Java 로 백엔드를 만들어본 사람이라면 spring나 spring-boot 의 존재에 대해서 많이들 알거라고 생각한다. node.js 에도 express 라는 멋진것이 존재하지만 spring-boot 만큼의 편리함은 사실 없다고 느꼈다. 백엔드를 주로 하는것도 아니니까 그냥 그렇게만 생각하고 있던 찰나 우연하게 nest.js 라는것을 알게 됐고 눈에 들어온 문구가 있었다. "Java에 spring 이 있다면 node.js 에는 nest.js가 있다." 예전에 spring 으로 앱 서버를 만들어봤지만 확실히 spring 은 이것저것 설정해줄거나 건드려줄게 많았는데 보다 간편한 node에 그런 프레임워크가 있다니? 라는 생각으로 찾아보며 공부해봤다. 생각했던거 이상으로 spring 을 사용해본 사람이라면 ..

오랜만의 블로그

간만에 블로그 글을 쓴다. 한때는 1일 1포스팅을 꿈꿨지만 쉽지는 않은거 같다 ㅋㅋ.. 개인 개발은 꾸준히 하고 있다. 이번에도 어김없이 MVVM + RXjava 를 중점으로 개발하고 있다. MVVM은 이제 거의 익숙해진거 같다. RX는 최근에 좀 제대로 이해하기 시작했는데 솔직히 기능이 너무 많아서 이걸 다 적용할 일이 있을까? 싶긴하다. 물론 몇몇 기능은 매우 유용한듯? 아마 다음 포스팅은 새로한 프로젝트에 대해 간단하게 연재하는 글이 될거 같다.

잡담 2021.07.10

RxJava - Observable과 Observer 의 차이

둘다 자주 나오지만 이름도 비슷한게 정확한 차이점에 대해 궁금해졌다. 그래서 여기저기 찾아다니며 알아봤는데 차이점은 아래와 같다. Observable은 int, String 등등 여러 형태의 데이터를 관찰할 수 있는 즉 Observer 가 사용할 수 있는 형태로 바꾸는 역할을 한다. Observer 는 Observable 로 만들어진 데이터를 전달받고 그 데이터로 특정 행동을 취하는 역할을 한다. 아래 그림을 보면 더 이해하기 편하다. Observable observable = Observable .just("test1", "test2") .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()); observable.subscrib..

RxJava - Observable을 제외한 다른 생산자들

전 포스팅에서는 Observable에 대해서 알아봤다. 기본적인 생산자였는데 Observable 0개에서 n개의 데이터를 전달하는 생산자다. 기본적인 생산자로 단건(0 or 1)이 아니면 대부분 Observable을 쓴다. observer 방식으로 consumer 등록시 Observer를 구현해 전달한다. consumer 방식을 사용할 시 onNext, onComplete, onError와 onSubscribe가 있다. val observer = Observable.just(11, 12, 13) .map { if (it == 12) throw IllegalStateException() // 12에 에러 else it } observer.subscribe( { println("onNext $it") }, ..

RxJava - 시작하기

//RxJava implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' implementation 'io.reactivex.rxjava3:rxjava:3.0.7' 안드로이드 기준으로 설명하겠다. 직접 공부하고 쳐보면서 포스팅 하고 있어서 Java와 Kotlin 예시가 같이 나오는건 양해해주시길 바란다. 언어만 다를뿐 사용법 자체에는 차이가 없다. Rxjava 라이브러리를 사용하기 위해 build.gradle 에 위의 내용을 입력하자. 일단 시작하기에 앞서 RxJava에서 기본적으로 이해 해야하는것들에 대해 먼저 알아보자. 1. Observable 2. Subscriber Observable 은 데이터 스트림을 만드는 요소. Subscriber 은 데이터 스트림을 ..

최데브의 2021 하반기 목표에 대해

요즘 날도 더워지고 일도 정신없어서 몸이 피곤하다보니 정신적으로 많이 지치는거 같다. 아 물론 내가 뭔가를 하나씩 만들어가는게 뿌듯하고 즐겁긴하다. 즐거운거랑 지치는거랑은 또 다른 이야기니까.. 그냥 마음이 좀 조급한거 같다. 어릴때부터 그랬지만 머리속으로 그리는 이상향은 너무 높은데 내 의지와 정신력이 그걸 따라가주질 못한다. 핑계라면 핑계겠고 주변 사람들은 '그래도 매일매일 뭐를 하면서 열심히 사네.' 라고들 말해주지만 난 항상 부족하다는 느낌이 든다. 본업인 안드로이드도 지금 당장 뭘 만들라고 하면 엄청 복잡한게 아니라면 큰 어려움 없이 만들 수 있지만 더 좋은 방식, 더 효율적인 기술을 이용해서 멋진 프로그램을 만들고 싶은건 개발을 좋아서 하는 개발자라면 누구든 가지고 있는 갈증 같은거 라고 생각..

잡담 2021.06.12

RxJava , RxKotiln 이란?

Rx는 뭔가? 바로 말하자면 Reactive Programming 이다. 반응형 프로그래밍이다. 반응형 프로그래밍이라는 단어가 왜 나오게 됐을까 기존 프로그램은 한번 변화가 있고나서 그것을 다시 알려주려고 부가적인 처리를 해줘야했다. 간단한 동작임에도 여러가지 처리를 해줘야해서 개발자 입장에서 피곤한 점도 많고 예상치 못한 문제가 발생할 위험도 존재했다. 이를 해결하기 위해 나온 프로그래밍 방식이 반응형 프로그래밍인데 프로그램이 자신의 주변과 끊임없이 상호작용하며 프로그램 자체가 주도해서 값이 변화하는것이 아닌 환경에 의해 변하면 이벤트를 받아 반응하는 프로그램을 의미한다. 당장은 와닿지 않을 수 있지만 이 Rx 관련 포스팅을 읽다보면 감이 올거라고 생각한다. 한마디로 즉, 근래에 떠오르고 있는 Reac..