본문 바로가기

코틀린

Flow 2주차 2차 스터디 부록 Cancellation and timeouts(코루틴 cancel) Cancellation and timeouts flow를 공부하다 눈을 떠보니 여기와서 이부분을 학습하고있었다. flow의 cancel을 알려면 coroutine의 cancel을 알아야했다.-> coroutine의 cancel 에 관한 내용이다 각설하고 내용을 살펴보자 별것 아닌것처럼 보이지만 취소가 가능하다는것 자체가 굉장히 강력한 기능중 하나이다. (코틀린 코루틴 책 초반부에 잘 나와있다.) 일반적으로 비동기 처리를 할때 콜백, 쓰레드 같은 것들을 사용하면 비동기처리 작업을 도중에 취소하기 어렵거나 취소할수 없다. 이제 코루틴의 Cancellation 과 timeouts 에 대해 알아보자 -> 링크 요약본이다. Cancelling coroutine execution 일반적으로 우리가 job객체를 통해.. 더보기
Flow 2주차 1차 스터디 flows 까지 Asynchronous Flow 공식문서 정리 이 글은Flow 공식문서를 정리한 글입니다. -> 학습을 위해 사용한다면 공식문서를 옆에 띄워놓고 목차와 함께 봐주세요 Representing Multiple Value 일반적으로 비동기처리 할때 suspend funtion을 이용해서 single value 를 얻어오는데 사용했다. 하지만 일반적으로 Stream 개념을 사용해서 여러 값을 전달 받을수 있는 Reactive Programming(Ex: RxJava)과 같은 기능을 Kotlin 에서는 Flow를 통해서 사용할 수 있다. Stream Hot Stream, Cold Stream 개념에 대해서 학습했을때 말했듯이 stream은 데이터를 나타내는 하나의 형태라고 볼 수 있다. 이런 stream 이라는 .. 더보기
Flow 1차 스터디(Hot vs Cold, shared vs state) 기본 용어정리 Cold flow vs Hot flow (이해해야하는 기본개념 🚨) cold, hot은 flow 뿐만 아니라 RX 등등 Stream개념이 사용되는 곳에서 통용된다. 위키피디아에서 찾은 Stream 의 정의는 이러하다 컴퓨터 처리 환경에서 스트림(stream)은 시간이 지남에 따라 사용할 수 있게 되는 일련의 데이터 요소를 가리키는 수많은 방식에서 쓰인다. 이런식으로 개발에서 일반적으로 쓰이는 데이터의 형태를 정의한것이다. 이러한 스트림을 특징에 맞춰서 크게 두 분류로 나눈것이 Cold Hot 인것이다. 분류기준 데이터의 생성위치 리시버의 수 (multiCast, UniCast) 데이터 방출 시점(Laziness) cold 스트림 내부에서 데이터 생성 Cold stream 인 flow는 Fl.. 더보기
코루틴이 그래서 정확히 무엇이며 왜좋냐? -2- 코루틴이 무엇이며 코루틴이 왜 좋은지에 대해서 일단 개념적으로 알고 사용법을 익혀야 할것이다. 그리고 코루틴의 개념은 안드로이드나 코틀린을 뛰어넘어서 cs전반적으로 공부를 좀해야 이해가 되고 지금도 완벽히는 이해하지 못한거같다. cs 좀 중요한듯 이래서 대기업에서는 cs 를 보는건가? 비전공자는 슬프다.~~ 그래서 항상 내가 해온방식 이해한내용까지 정리하고 흑마법을 써볼려한다. 자 여태까지 코루틴을 어떻게 접하게 되었고 어떻게 공부했으며 어떤방식으로 사용했는가? 안드로이드 개발자라면 대부분 나와 비슷한 길을 걸어왔으리라 생각한다. 구글: 코루틴짱임 rx쓰지마세요 코루틴 쓰세요 츄라이 츄라이 나: 아 콜백지옥 진짜 노답이네 이걸 어캐해 내가 컴퓨터야? 이딴걸 어캐봐 근데 rx는 또 개념이 왤케 어려워 데이.. 더보기
코틀린 Collection 표준 라이브러리 사전 오랫만에 쓰는 글이다 사실 계속 글을썻는데 뭔가 썻던글들이 좀더 많이 공부해야하는 것이여서 글들이 죄다 미완성 상태로 남아있다.ㅜㅜ 언제 마무리하냐 어쨋든 최근 또 공부해야한다고 느낀부분에 대해서 정리하고 넘어가려한다. 최근 우테코 프리코스,이펙티브 코틀린 읽기 등등을 하며 코틀린에 진하게 노출될 상황이 많았다. 특히 이펙티브 코틀린 책이 너무 좋다. 정말 이펙티브 코틀린을 빠르게 읽어보길 권한다. 어쨋든 코틀린의 적절한 사용을 강조하는 책들을 본다면 두가지를 많이 강조한다. 1. 쓰잘데기없이 기능구현 하지말고 표준라이브러리(stdlib)에 있는거 가져다 써라 2. 컬렉션을 함수형으로 잘 다룬다면 예쁘고 가독성 좋게 만들수있다. -> 결론적으로 함수에 넣어서 계속되는 임시변수에 담을것이 아니라 함수를 쭉.. 더보기
코루틴에 대해서 제대로 공부해보자 -1- 소셜로그인에서 401에러 처리 관련하여 coroutine exception handler 를 사용하여 에러처리를 하고있는데 그부분에 대해서 글을 작성하려다보니 코루틴에대해서 다시 검색해보고 공부할 기회가 생겼고 코루틴이 정말 이해가 잘되지않았지만 나름의 정의를 내리고 사용하고 있었는데 뭔가 확 와닿는 부분이 생겨서 그부분에 대해 정리해보고자 코루틴 관련 시리즈 글을 써보려고한다. 아 그리고 매번 글을 길게 쓰다보니 글들이 길어지고 매번 쓰다가 지치는 경향이있어서 이번은 주제를 작게잡고 짧은 글들을 써볼 예정이다. 코루틴을 처음 접한때가 작년 이맘때 쯤인거 같은데 이제서야 슬슬 이해가 되는것을 보니 역시 이해가 안되는 개념과 어려운 이야기들은 용어가 익숙하지 못해서 어려움을 느끼는 것이 크다고 생각한다. .. 더보기