일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ProGuard
- boj
- pandas
- Python
- AWS
- Coroutines
- Gradle
- Coroutine
- 암호학
- 코드포스
- 백준
- MiTweet
- 쿠링
- architecture
- Codeforces
- activity
- Rxjava
- 코루틴
- GitHub
- TEST
- relay
- androidStudio
- android
- textfield
- MyVoca
- 프로그래머스
- livedata
- Hilt
- Compose
- Kotlin
- Today
- Total
목록분류 전체보기 (379)
이동식 저장소
코루틴 취소하기 코루틴을 취소해야 할 경우가 있다. 예를 들어 어떤 페이지가 열려 있을 때 작동하는 코루틴이 있는데, 사용자가 그 창을 닫았다고 해 보자. 창이 닫혔으므로 코루틴은 더 이상 작동할 필요가 없으며 (따라서) 중지하는 것이 바람직하다. launch 메소드가 반환하는 Job 객체를 이용하여 코루틴을 제어할 수 있다. val job = launch { repeat(1000) { i -> println("job: I'm sleeping $i ...") delay(500L) } } delay(1300L) println("main: I'm tired of waiting!") job.cancel() // job 취소 job.join() // job이 완전히 취소될 때까지 기다림 println("main..
코루틴 코루틴이란 비동기적으로 실행되는 코드를 간단하게 작성하기 위해 사용할 수 있는 설계 패턴이다. 코루틴은 실행 중인 스레드를 중단시키지 않는 suspend를 지원하기 때문에 하나의 스레드에서 여러 개의 코루틴을 실행할 수 있다. 코루틴은 스택조차 없기 때문에 스레드보다도 메모리를 더 절약할 수 있다. 코루틴은 작업 범위를 설정하여 그 안에서 비동기 작업을 구조화한다. 글을 읽다 보면 무슨 말인지 알게 될 것이다. 코루틴은 부모-자식 간의 관계를 설정하여 자식의 취소(코드 중단)를 부모에게 전달할 수 있다. (안드로이드 한정) 많은 Jetpack 라이브러리에서 코루틴을 완벽히 지원하고 있다. 시작하기 전에 사실 코루틴은 코틀린의 기본 패키지에 포함되어 있지 않다. 플러그인을 로드해야 코루틴을 제대로 ..
Sequence Sequence는 독특한 형태의 container이다. 기본적인 형태는 List 등의 Iterable과 같지만, 세부적인 동작 방법이 다르다. Iterable에 map(), filter(), take()을 적용한다고 해 보자. 우선 원본의 모든 원소에 map()이 적용되고, 그 결과에 filter()가 적용되고, 마지막으로 take()가 적용된다. 즉 코드에서 함수를 적용한 순서대로 중간 결과가 반환된다. Sequence에 같은 함수를 적용한다고 해 보자. Sequence는 Iterable과는 다르게 각 원소마다 모든 함수를 적용한다. 각 원소마다 map(), filter(), take()을 모두 적용해 본다는 뜻이다. 만약 원소가 filter()의 조건에 맞지 않는다면 filter()까..
Parcelable encountered IOException writing serializable object 객체의 멤버 변수가 Serializable하지 않아서 발생하는 오류이다. 모든 멤버 변수의 타입을 Serialziable하게 만들면 된다. 트윗 링크 공유하기 공유 버튼을 눌러 트윗 링크를 공유할 수 있다. 일단은 링크만 공유할 수 있게 했고, 나중에 북마크 등을 추가할 예정이다. 아래의 내용을 참고하여 구현했다. 다른 앱으로 간단한 데이터 보내기 | Android 개발자 | Android Developers 인텐트를 구성할 때 인텐트가 '트리거'할 작업을 지정해야 합니다. Android에서는 추측할 수 있듯이 인텐트가 하나의 활동에서 데이터를 보내는 것임을 표시하는 ACTION_SEND를 포..
그러게 몇 번 나누어질까? 1407번: 2로 몇 번 나누어질까 자연수 N이 주어지면, 자연수를 유지하면서 N을 2로 몇 번까지 나눌 수 있는지를 생각해 볼 수 있다. 즉, N의 모든 약수 중 2의 거듭제곱 꼴이면서 가장 큰 약수를 생각하는 것이다. 예를 들어 15의 www.acmicpc.net 입력 범위를 보아하니 선형으로 탐색하면 절대 안 된다. 이런 경우에는 규칙이 있을 거라는 강력한 믿음을 갖고 문제를 바라보자. 문제에서 제시한 ``N의 모든 약수 중 2의 거듭제곱 꼴이면서 가장 큰 수``를 $f(N)$으로 정의하자. 규칙을 찾기 위해 $N \le 50$까지의 $f(N)$을 출력해 보면 다음과 같다. 1 2 1 4 1 2 1 8 1 2 1 4 1 2 1 16 1 2 1 4 1 2 1 8 1 2 1 ..