일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MiTweet
- Rxjava
- Kotlin
- android
- Python
- Coroutine
- pandas
- Codeforces
- 코루틴
- Compose
- 프로그래머스
- activity
- MyVoca
- 백준
- Coroutines
- 코드포스
- livedata
- boj
- androidStudio
- architecture
- AWS
- textfield
- 암호학
- Gradle
- GitHub
- 쿠링
- Hilt
- TEST
- relay
- ProGuard
- Today
- Total
목록Primary (163)
이동식 저장소
코루틴 코루틴이란 비동기적으로 실행되는 코드를 간단하게 작성하기 위해 사용할 수 있는 설계 패턴이다. 코루틴은 실행 중인 스레드를 중단시키지 않는 suspend를 지원하기 때문에 하나의 스레드에서 여러 개의 코루틴을 실행할 수 있다. 코루틴은 스택조차 없기 때문에 스레드보다도 메모리를 더 절약할 수 있다. 코루틴은 작업 범위를 설정하여 그 안에서 비동기 작업을 구조화한다. 글을 읽다 보면 무슨 말인지 알게 될 것이다. 코루틴은 부모-자식 간의 관계를 설정하여 자식의 취소(코드 중단)를 부모에게 전달할 수 있다. (안드로이드 한정) 많은 Jetpack 라이브러리에서 코루틴을 완벽히 지원하고 있다. 시작하기 전에 사실 코루틴은 코틀린의 기본 패키지에 포함되어 있지 않다. 플러그인을 로드해야 코루틴을 제대로 ..
Sequence Sequence는 독특한 형태의 container이다. 기본적인 형태는 List 등의 Iterable과 같지만, 세부적인 동작 방법이 다르다. Iterable에 map(), filter(), take()을 적용한다고 해 보자. 우선 원본의 모든 원소에 map()이 적용되고, 그 결과에 filter()가 적용되고, 마지막으로 take()가 적용된다. 즉 코드에서 함수를 적용한 순서대로 중간 결과가 반환된다. Sequence에 같은 함수를 적용한다고 해 보자. Sequence는 Iterable과는 다르게 각 원소마다 모든 함수를 적용한다. 각 원소마다 map(), filter(), take()을 모두 적용해 본다는 뜻이다. 만약 원소가 filter()의 조건에 맞지 않는다면 filter()까..
코틀린에서 스레드를 만드는 방법은 다음의 4가지가 있다. 1. Thread 클래스 상속 class SimpleThread : Thread() { override fun run() { println("Hello! This is thread ${currentThread()}") } } val thread = SimpleThread() 2. Runnable 인터페이스 상속 class SimpleRunnable : Runnable { override fun run() { println("Hello! This is runnable ${hashCode()}") } } val runnable = SimpleRunnable() val thread2 = Thread(runnable) 3. 익명 객체로 만들기 object..
코틀린에는 List, Set 등 다양한 collections 클래스가 존재하고, 또 다양한 확장 함수를 지원한다. 확장 함수를 적절히 사용하면 코드를 더 간결하고 읽기 쉽게 작성할 수 있다. 목차 Ordering (순서) Sorting Reverse Order Random Order (shuffling) Aggregate (요약) Aggregations Fold, Reduce Transformations (변환) Mapping Zipping Association Flattening String Representation Filtering (검색) Filtering by predicate Partitioning Testing predicates 참고문헌 Ordering (순서) Sorting sorted(..
Data Class 클래스의 용도 중 하나로 데이터 전달이 있다. 코틀린에서는 데이터 전달용 객체(Data Transfer Object, DTO)를 편리하게 선언할 수 있도록 ``data class``라는 키워드를 지원한다. 데이터를 표현하는 객체는 다음의 메소드를 지원해야 한다. getters, setters: 프로퍼티 읽기/쓰기용 메소드 ``equals()``: 데이터의 값이 같은지 비교할 때 사용 ``toString()``: 데이터를 문자열로 쉽게 알아보고 싶을 때 사용 ``hashCode()``: ``Map`` 등에서 해시값을 계산할 때 사용 ``copy()``: 객체 복사 더보기 # 코틀린에서의 객체 비교 (펼치기) 자바에서 == 연산자를 사용하면 두 변수가 동일한 객체를 가리키는지 검사한다. ..