일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스택 자바 코드
- jvm 작동 원리
- 안드로이드 레트로핏 사용법
- 큐 자바 코드
- 멤버변수
- 서비스 vs 쓰레드
- rxjava disposable
- 안드로이드 라이선스 종류
- 안드로이드 유닛 테스트 예시
- android retrofit login
- ar vr 차이
- 안드로이드 유닛 테스트
- 2022 플러터 설치
- 안드로이드 레트로핏 crud
- 안드로이드 os 구조
- 클래스
- 자바 다형성
- 플러터 설치 2022
- 서비스 쓰레드 차이
- android ar 개발
- Rxjava Observable
- 객체
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 라이선스
- jvm이란
- 스택 큐 차이
- 안드로이드 유닛테스트란
- rxjava cold observable
- rxjava hot observable
- ANR이란
- Today
- Total
목록개인 공부/Kotlin (31)
나만을 위한 블로그
sealed class에 대해선 이전에 data class와 같이 포스팅을 작성한 적이 있다. https://onlyfor-me-blog.tistory.com/454 [Kotlin] 코틀린에서 제공하는 특수 클래스(Data Class, Sealed Class) 코틀린에는 자바와 달리 특수한 클래스가 존재한다. Data Class와 Sealed Class라는 것인데 각각 어떤 것인지 정리한다. Data Class 코틀린 공식 홈페이지에서 설명하는 Data Class는 아래와 같다. https://kotli onlyfor-me-blog.tistory.com 그러나 sealed interface를 사용하게 되면서 sealed 키워드가 겹치는 두 요소에 대해 포스팅을 작성하는 것도 재밌겠다 싶어서 작성한다. s..
https://onlyfor-me-blog.tistory.com/720 세마포어(Semaphore)란? 뮤텍스(Mutex)란? 교착 상태(deadlock)란? 안드로이드 개발을 하면서 동시성 프로그래밍을 한다면 코루틴을 주로 사용하기 때문에 제목의 2가지 개념은 직접 사용할 일이 없지만, 알아둬서 나쁜 개발 지식은 없다고 생각하기 때문에 포 onlyfor-me-blog.tistory.com 이전 포스팅에서 세마포어, 뮤텍스가 각각 무엇인지 확인했으니 코틀린을 써서 어떻게 구현할 수 있는지 간단하게 확인해본다. 먼저 세마포어다. 세마포어는 "java.util.concurrent.Semaphore"를 써서 구현할 수 있다. import kotlinx.coroutines.* import java.util.co..
자바에서 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) 컴파일러는 기본 생성자에 선언된 모든 속..