Kotlin(7)
-
[코루틴] 채널에 대한 모든것 1
안녕하세요~ 코루틴의 채널이란, 파이프와 같이 코루틴 간의 데이터를 공유하는 것입니다.파이프란, 프로세스 간 통신을 할 때 사용하는 도구입니다. 내부적인 동작은 파일에 전달할 메시지를 저장한 다음, 전달받을 프로세스는 그 파일을 읽고 사용하는 것입니다. 파이프는 producer , consumer 모델에서 자주 언급되는 통신 도구입니다. 큰 특징은 단방향성입니다.이러한 파이프의 동작은 코루틴의 채널과 굉장히 유사합니다. 다음은 간단한 채널 사용 예시 입니다. package org.exampleimport kotlinx.coroutines.*import kotlinx.coroutines.channels.*fun main() = runBlocking { val channel = Channel..
2025.05.28 -
[코루틴] 효율적이고, 빠른 경험을 주는 동시성(Concurrent) 구현하기.
안녕하세요. 오늘은 코루틴의 동시성을 구현할 것입니다. 이전 핸즈 랩의 내용 중 5. concurrency와 관련하여 포스팅을 하고자 합니다. 1~4번까지가 기본적인 기능에 대한 맛보기였다면 이때부터는 좀 더 효율적인 코드 작성을 알수 있는 팁들이 본격적으로 시작됩니다. 여기서 효율성은 역시 속도가 빠른 코드를 짜는 것입니다. 1. Blocking Requests2. Callbacks2-1. Use a background thread 2-2 Use the retrofit callback API 3. Suspending function4. Coroutines 5. Concurrency6. Structured concurrency7. Showing progress8.Channels9. Testing cor..
2025.05.26 -
[코루틴] 윈도 어플리케이션 실전 사용을 위한 준비물 2
안녕하세요~ 앞선 코루틴 애플리케이션 실전 사용을 위한 준비물 1에 이어서 2를 준비했습니다. 깃허브의 개발자 도구를 사용하여 토큰을 발급할 예정입니다. 1. https://github.com/ 으로 접속을 합니다. 2. 깃허브의 우측 상단을 보면, 자신이 설정한 아이콘을 클릭합니다. 클릭하면 아래와 같은 메뉴들이 보이고 가장 하단의 Settings를 누릅니다. 3. Developer Settgins를 클릭합니다. 해당 사이트까지 링크는 https://github.com/settings/tokens입니다. 4. Tokens 를 클릭한 다음 Generate new token을 클릭합니다. 5. 스윙 기반에 Password로 들어갈 Token을 생성합니다. Note 에는 Token의 이름을 정합니다..
2025.05.24 -
[코루틴] 윈도 어플리케이션 실전 사용을 위한 준비물 1
안녕하세요~ 스윙 기반의 윈도우 애플리케이션 예제 프로그램입니다. 코틀린에서 코루틴을 처음 접하실 때, 환경을 만드는 방법을 짧게 공유해 봅니다. IntelliJ IDE 설치하기 첫번 째로 Intellij Community Edition을 다운로드합니다. ( 유료버전인 Ultimate로 하셔도 무방합니다. ) 홈페이지에 들어가셔서 아래쪽에 보면, Community Edition을 다운로드 할 수 있습니다. IntelliJ의 Ultimate Edition은 더 많은 기능으로 효율적인 개발을 할 수 있으니 기회가 된다면 한번쯤 써보시길 바랍니다. [시스템 요구사항]64비트 버전의 Windows 10 1809 이상 또는 Windows Server 2019 이상2GB 이상의 여유 메모리, 총 8GB 이상의 ..
2025.05.03 -
[코루틴]작업 캔슬하지 못하게 하기
안녕하세요~ 코루틴을 배우면서, 어떤 로직에는 작업이 캔슬되지 않아야 하는 경우가 있습니다. 상상을 해보자면, 안드로이드 앱을 사용하면서 자동 동기화 기능이 그것이죠. 사용자가 다른 작업을 하더라도 보이지 않은 영역에서는 그 작업을 계속 이어가야 하죠. 예제 코드입니다.import kotlinx.coroutines.*class NoneCancellationBlock {}suspend fun doCountOneTwoThreeNoneCancel() = coroutineScope { val job1= launch { // withContext 와 NonCancellable은 코틀린에서 제공되는 것입니다. withContext(NonCancellable){ prin..
2025.04.30 -
[Kotlin][MVVM] 2. 실전 MVVM 합니다.
안녕하세요~ 2025.04.08 - [Kotlin] - 1. 실전 MVVM 합니다.이전 글에 이어서 실전 편입니다. ViewModel과 함께 LiveData 사용하기 위 링크의 3~6 단계를 다루고 있습니다. (LiveData란? ~ LiveData객체에 관찰자 연결하기 MVVM에서 View Model에 들어가는 Live Data을 다뤄볼 것입니다. 1. 뒤섞인 글자인 새로운 단어를 Live Data에 추가합니다. [부연설명] Kotlin 기본문법 MutableLiveData는 LiveData의 저장된 변수 값을 변경할 수 있는 변수의 종류입니다. 함수형 패러다임을 지향하는 코틀린에서는 기존 Java와는 다르게 저장된 값을 변경할 수 있다면 Mutable이라는 접두사가 들어갑니다. 그냥 Li..
2025.04.12