자바는 질문 안 받는다
코틀린 질문받는다
러브마지널(lovemarginal)
2018-03-16 02:32
추천 0
댓글 77
다른 게시글
-
형님들 자바 코딩 제대로 한거 맞나요? [1]ㅇㅁㅇㄴㅁ(222.109) | 18.03.16추천 0
-
코딩 잘하면 [1]익명(175.223) | 18.03.16추천 0
-
기능 하나 추가할때마다 메모리 무거워지는거 불안하네흑현(kurohyeon) | 18.03.16추천 0
-
새벽반 코린이 질문 받아주실 형님 계십니까ㅇㅁㄴㅇ(125.184) | 18.03.16추천 0
-
낼부터 직업 바꾸는거 준비한다오또케(area7444) | 18.03.16추천 0
-
맥북 저렴한 버젼 나온다고 함 [4]dd(203.229) | 18.03.16추천 0
-
컴공새내기인데 뭐가좋을까요 [20]익명(1.237) | 18.03.16추천 0
-
스펀지밥 오프닝 일본버젼프로외노자(xpsrndkfptm) | 18.03.16추천 0
-
방학동안에 학원같은데 다니면 c언어 마스터가능함? [4]익명(175.208) | 18.03.16추천 0
-
얘 채널은 좀 매우 좆은듯.. [2]류센(115.23) | 18.03.16추천 0
고클린? - dc App
깡샘의 코틀린 프로그래밍 목차보고 살만한지 봐줘
있을 만한 건 다 있는데 내용이 존나 많아서 중요한 게 너무 뒤에 있고 그렇네
안 중요한 게 중간에 많이 곱사리 껴있음
어차피 완독하면 상관 없는거 아님?
19장까지 다 할 생각이면 추천 아니면 글쎄다
코루틴 설명좀
25장부턴 여기에 코틀린 쓰는 게 좋을지 의문
너가 말하는 안중요한 부분이 어디임?
코루틴 사용하는 영역은 크게 1. 쓰레드 처리할 때 쓰는 async await channel select 계열이랑 2. 다른 언어의 for yield에 대응하는 build 계열 함수 + yield 계열 함수로 나눌 수 있는데
14장 컬렉션 API는 구글에 쳐서 필요할 때마다 찾는 게 나음 저거 코틀린 버전 바뀔 때마다 추가되는데다가 zip 계열도 없고 맵이랑 필터랑 폴더랑 리듀스는 함수형 프로그래밍 쪽에서 따로 모아서 다뤄야 할만한 내용인데
그냥 저거로 경험해보고 필요한 함수는 따로 공부하면 안돼?
코루틴은 시바 이거 글 하나로도 부족할 정도로 내용이 많다
자바 스트림이랑 rxjava 연산자는 아는데
야 나도 코루틴 궁금한데
자바스크립트랑 비교했을때
글고 저걸 자바 전부 아는 사람이 보기엔 중복되는 게 많음
서스펜딩 함수가 프라미스고 async() 이게 비동기함수라 보면 됨?
코틀린이랑 자바랑 중복되는 걸 간략히 간추려놓은 게 아니라 그것도 새로 다 설명하는 거 같음
어싱크 어웨이트는 자바스크립트에도 있자나?
근데 서스펜딩 함수는 프로미스랑 개념이 다름
그니까 그것좀 알려줘 ㅠ
자스 비동기 함수 밖에 몰므,
자바스크립트의 프로미스에 해당하는 건 코루틴의 Deferred라
자스의 프로미스는 또 자동 flattening이 돼서 따지고 보면 같은 건 아니지만
일단 코루틴 기본 문서는
https://kotlinlang.org/docs/reference/coroutines.html
이고 코루틴 라이브러리의 기본 문서는
https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md
라고 보면 됨. 이거 두 문서를 다 이해하면 코루틴 기본적인 건 다 안다고 봐도 무방
코루틴은 또 실험용 기능이라 ideone에서 작동 안 하네 으악
https://github.com/Kotlin/kotlinx.coroutines/blob/master/core/kotlinx-coroutines-core/src/test/kotlin/guide/example-compose-02.kt
이게 코루틴에서의 간단한 async - await 사용례임
https://github.com/Kotlin/kotlinx.coroutines/blob/master/core/kotlinx-coroutines-core/src/test/kotlin/guide/example-compose-04.kt
그리고 이게 async를 함수 정의에 넣음으로써 자스의 async 함수에 대응하는 놈
땡큐 코루틴 공부해야겟당
근데 코루틴의 이점은뭐임?
RxJava를 알면 안드로이드에 쓰는 거란 걸로 알아듣고 코루틴만 갖고 AsyncTask는 물론이고 잘만 쓰면 RxJava도 대체할 수 있음.
RxJava를 코루틴으로 완전 대체하느냐 아니면 RxJava랑 코루틴을 섞어쓰느냐는 건 쓰는 놈 마음이고
rxjava scheduler 쓰는것보다 편해보여서 ㅋㅋㅋ
쓰레드 처리가 쉬워지고 for yield문을 다른 언어에서 써 봤으면 알겠지만 어떤 규칙 가지는 리스트 생성하기도 쉬워짐. 자스에도 yield 있을 텐데
암튼 중복되는게 많긴한데 저책 다 보면 코틀린 어느정도 한다고 말할수 있는거지?
예를 들어서 위에 링크 단 소스코드만 봐도 쓰레드 직접적으로 관리 안 해도 람다만 갖고 메인쓰레드 -> 새쓰레드 -> 메인쓰레드로 이어지는 연산을 처리할 수 있으니까 이거야 뭐 자바스크립트에서 많이 써 봐서 이미 알 거고
ㅇㅇ
아 자바스크립트는 싱글쓰레드가 기본이지 그럼 안 써 본 거라고 봐야 하나
근데 코틀린 어디에 쓸 거임? 앱임 웹임?
안드 async task 대체할때 쓸라고
ㅇㅋ
코루틴 정확히 몰라도 간단한 건 anko 라이브러리로 가능함
https://antonioleiva.com/anko-background-kotlin-android/
프로젝트에 anko 라이브러리 dependency 추가하고 doAsync { 백그라운드에서 할 거; uiThread { 메인쓰레드에서 할 거} 백그라운드에서 할 거; uiThread { 메인쓰레드에서 할 거 doAsync{ 백그라운드에서 할 거 }} } 이런 식으로 사용 가능
안드는근데 코루틴 안코보단 Rx 가 워낙 대세라 이거익혀야 취직잘됨
코루틴 깃헙에서는 좀 다르게 나와잇는데;; async(UI) {UI스레드에서 실행 bg{백그라운드에서 실행} } 일케 나와있음
rx 스케쥴러보다 코루틴이 좀더 가독성 좋아보여서
Coroutines are experimental in Kotlin 이라 실무에선 ..
깃헙에 있는 건 코루틴 쓰는 놈이고 저건 코루틴이 아니라 그냥 자바 쓰레드 쓰는 놈임
코루틴 기능을 활용하면 깃헙 문서애 있는 그게 낫겠지만 코루틴을 모르는 상태에선 코루틴 써봤자 헷갈릴 뿐
아 ㅋㅋㅋ ㅇㅋㅇㅋ
그리고 자바 쓰레드 쓰는 저게 anko에 먼저 나왔고 코루틴은 언젠진 몰라도 최근에 추가됨
야 글구 anko layout쓰는거 어케 생각함?
학식이냐? 저런거 절대안씀
xml파싱 과정이 없어서 성능이 좀더 좋다는데?
Constraint 레이아웃 연습이나하셈
anko layout은 별로. 커스텀 뷰에 쓰면 복잡해지고 constraintlayout이랑도 궁합이 별로임
constraintlayout은 디자인 툴 없으면 헬이라
틀딱이냐 3줄로 끝날 수 있는 걸 RxJava 쓴다고 옵저버 새로 만들고 서브스크라이브온 옵저브온 달고 맵 달고 또 옵저브온 달고 뭐하는 건지
리액티브 쓸 때가 있고 안 쓸 때가 있지 쓰레드 처리를 전부 RxJava로 하냐
실무에서 누가 experimemtal을쓰냐... 책임 누가지라거
uiThread랑 doAsync는 코루틴이 아니라 자바쓰레드라 익스페리멘탈 아닌데?
그런간단한쓰레드돌릴건 걍 핸들러쓰지 anko같은거 안써.....
자바 스트림은 api 24 이상만 쓸수 있는데 코틀린은 그런게 없어서 참 좋음
핸들러 만들기도 귀찮다...
큰회사로갈수록 라이브러리에대해 엄청 보수적임
근데 멀리 보면 어차피 코루틴은 나오게 되어 있고 그럼 async await를 쓰냐 리액티브를 쓰냐로 갈라질 건데 그건 회사마다 다르잖아
애초에 보수적인 새끼들은 아직도 자바 쓰고 앉았음..
나와서 안정화되면 생각해보겠지 근데지금 안드생태계는 rx로통일
꼭그렇지도않은게 멀티덱스 이슈땜에 자바쓰는곳도있음
기존 자바프로젝트에 코틀린써보갰다고 자바랑 같이쓰는거도 좀 빙신같고
마이그레이션 완전히 할 거 아니면 같이 나가는 건 확실히 영
현업에서 씀??
현업에서 씀?
구글은 씀 한국 회사는 모름
현업을 어떻게 정의하느냐에 따라 다름