일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- jvm이란
- rxjava cold observable
- ANR이란
- 객체
- 스택 자바 코드
- 스택 큐 차이
- 안드로이드 레트로핏 crud
- ar vr 차이
- 안드로이드 라이선스
- 서비스 쓰레드 차이
- android retrofit login
- 2022 플러터 설치
- 플러터 설치 2022
- 안드로이드 유닛 테스트 예시
- 자바 다형성
- jvm 작동 원리
- Rxjava Observable
- 클래스
- 안드로이드 유닛테스트란
- 안드로이드 유닛 테스트
- 멤버변수
- android ar 개발
- 안드로이드 라이선스 종류
- 2022 플러터 안드로이드 스튜디오
- 서비스 vs 쓰레드
- rxjava hot observable
- 안드로이드 os 구조
- 큐 자바 코드
- rxjava disposable
- 안드로이드 레트로핏 사용법
- Today
- Total
목록개인 공부/Kotlin (29)
나만을 위한 블로그
자바에서 try-catch를 통해 예외가 발생할 것으로 예상되는 부분을 try 블록으로 감싸고 catch 블록에는 예외 발생 시 처리할 로직들을 넣는 전통적인 예외처리법을 사용했다. 이 방법은 코틀린에서도 사용할 수 있고 현재도 자주 쓰이지만 코틀린은 다른 예외처리 방법을 제공하는데 제목에 써 둔 runCatching이란 것이다. 코틀린 공식문서에서 설명하는 runCatching은 아래와 같다. https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/run-catching.html runCatching - Kotlin Programming Language kotlinlang.org 지정된 함수 블록을 호출하고 호출이 성공하면 캡슐화된 결과를 반환하고 블록 함수 실행에..
in / out과 공변성 / 반공변성을 확인했으니 이제 inline, noinline, crossline 키워드를 확인한다. 먼저 inline의 사전적 정의는 아래와 같다. 그때마다 즉시 처리하는 / (내연기관이) 직렬의 / (부품 장치가) 일렬로 늘어선 그럼 코틀린의 inline은 특정 이벤트 or 처리가 발생하면 작동하는 어떠한 처리를 말하는 건가? 아니면 이런 느낌의 무언가인가? 같은 상상을 하면서 공식문서를 확인해 본다. 공식문서에선 inline 키워드를 inline function, inline class 2가지 페이지로 나눠서 설명하고 있다. https://kotlinlang.org/docs/inline-functions.html#inline-properties Inline functions ..
깃허브에서 안드로이드 소스코드를 보다 보면 가끔 in, out, where, reified 키워드를 볼 수 있다. 이 중 in, out은 제네릭의 공변성, 반공변성 개념과 관련된 키워드라서 개념 이름부터 무슨 말인지 몰랐었다. 그래서 정리하고자 포스팅한다. 먼저 위키백과의 공변성, 반공변성 문서는 아래와 같다. https://en.wikipedia.org/wiki/Covariance_and_contravariance_(computer_science) Covariance and contravariance (computer science) - Wikipedia From Wikipedia, the free encyclopedia Many programming language type systems suppor..
코틀린에는 Immutable, mutable 2가지 속성이 있고 컬렉션도 이 속성에 따라 2가지로 나눠진다. 이 포스팅에선 리스트를 통해 코틀린에 존재하는 컬렉션 정렬 함수를 확인한다. sort() / sorted() 먼저 sort()와 sorted()다. 두 함수는 하는 일은 같은 것 같은데 이름이 나눠져 있다. 각 함수에 대한 코틀린 공식 홈페이지의 설명은 아래와 같다. https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/sort.html sort - Kotlin Programming Language kotlinlang.org 배열을 제자리에서 정렬한다 https://kotlinlang.org/api/latest/jvm/stdlib/kot..
deferred의 사전적 정의는 아래와 같다. 연기된 코틀린 공식문서에서 말하는 deferred의 원형과 설명은 아래와 같다. https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.channels/actor.html actor Launches new coroutine that is receiving messages from its mailbox channel and returns a reference to its mailbox channel as a SendChannel. The resulting object can be used to send messages to this coroutine. The..
공부하다 자꾸 나오는 키워드가 let과 apply라서 찾아보니 이것들은 범위 지정 함수고, 이것 말고도 3개가 더 있다고 한다. 징그럽게도 많네 그래서 이것들에 대해 정리하고자 한다. 늘상 그랬던 것처럼 일단 저 단어들의 사전적 정의부터 짚고 가자. let : (~하게) 놓아두다, (~을 하도록) 허락하다, ~에게 ~시키다, ~하게 해 주다, ~할 것을 허용하다(allow to) with : ~와 함께, ~을 가진, ~이 달린/붙은/있는, ~로, ~을 써서(이용하여) run : 달리다(뛰다), 배달, 운행, 운항 apply : 지원하다, 쓰다, 적용하다, (페인트, 크림 등을) 바르다 also : 또한, 게다가, ~도 보면 알겠지만 이 단어들의 사전적 정의에는 공통점이 쥐뿔도 없다. 이번엔 범위 지정 함..
Coroutine은 Co + routine 2개가 합쳐진 단어다. 이 단어들의 뜻은 각각 아래와 같다. Co : 함께, 서로 routine : 규칙적으로 하는 일의 통상적인 순서나 방법, 일반적으로 빈번히 사용할 수 있는 프로그램 또는 그 일부 같이 작동하는 프로그램의 일부라고 볼 수 있을 것 같은데 그러면 쓰레드랑 비슷한 건가 싶기도 하다. 위키백과에서 설명하는 코루틴은 아래와 같다. https://en.wikipedia.org/wiki/Coroutine Coroutine - Wikipedia Coroutines are computer program components that generalize subroutines for non-preemptive multitasking, by allowing ex..
코틀린에는 자바와 달리 특수한 클래스가 존재한다. Data Class와 Sealed Class라는 것인데 각각 어떤 것인지 정리한다. Data Class 코틀린 공식 홈페이지에서 설명하는 Data Class는 아래와 같다. https://kotlinlang.org/docs/data-classes.html Data classes | Kotlin kotlinlang.org 주요 목적이 데이터를 보유하는 클래스를 만드는 건 드문 일이 아니다. 이런 클래스에서 일부 표준 기능과 유틸리티 기능은 종종 데이터에서 기계적으로 파생된다. 코틀린에선 이를 데이터 클래스라고 하며 데이터로 표시된다 data class User(val name: String, val age: Int) 컴파일러는 기본 생성자에 선언된 모든 속..
자바와 코틀린을 비교했을 때 장점 하나를 꼽아보라면 빠지지 않고 나오는 것이 null 처리에 관한 내용이다. 자바에선 주로 if와 &&, || 등의 연산자들을 통해 null이 아닌 경우에 처리할 로직을 작성했다. 이 방식은 규모가 작다면 별 문제되지 않는 처리 방식이지만 depth가 깊은 로직일 경우 null 처리로만 몇 줄을 잡아먹는 경우도 있어서 가독성까지 해칠 수 있다. 코드에서 심미론을 찾지는 않지만 내가 보기 거슬릴 때도 간혹 있다. 이에 비해서 코틀린은 적은 코드로 자바보다 훨씬 간단하게 null을 처리할 수 있기 때문에 이 방법들에 대해 정리하는 포스팅을 쓰려고 한다. 먼저 코틀린 공식문서 중 Null safety 문서부터 읽고 가자. 모든 시작은 공식문서부터다. https://kotlinl..
바로 이전 글이 코틀린의 for 반복문에 대한 글이었는데, 이 for문과 같이 사용할 수 있는 범위(range)라는 요소가 있다. 코틀린 공식 홈페이지에서 말하는 범위는 아래와 같다. https://kotlinlang.org/docs/ranges.html#range Ranges and progressions | Kotlin kotlinlang.org range는 수학적 의미에서 닫힌 간격을 정의한다. range는 둘 다 범위에 포함된 두 끝점(endpoint) 값으로 정의된다. range는 비교 가능한 유형(type)에 대해 정의된다. 순서가 있으면 임의의 인스턴스가 지정된 두 인스턴스 사이의 range에 있는지 여부를 정의할 수 있다. range에 대한 주요 연산은 일반적으로 in 및 !in 연산자의 ..