분류 전체보기87 새 블로그를 만들었습니다. 앞으로 게시글들은 모두 아래 게시글에서 작성할 예정입니다.개인적으로 티스토리가 다소 불편한 부분도 있고, Velog 와는 달리 실시간 게시글 확인 기능이 없다보니 많이 불편해서 옮기게 되었습니다. https://velog.io/@devgyu/posts devgyu (오규성) / 작성글 - velog안드로이드 개발자 Gyu 의 개발 블로그 !velog.io 꽤 편리해서 몇 년 뒤의 미래가 아닌 경우 Velog 에서만 글을 작성할 것 같네요 ! 2025. 7. 31. [Kotlin] 제너릭 가변성 (Generic Variance) 에 대해서 알아보자. 우리가 클래스나 인터페이스, 함수 등을 사용할 때 파라미터 타입을 하나로 고정하지 않고 여러 다른 데이터 타입을 가질 수 있도록 하는 방법을 Generic 이라고 한다. 이는 보통 다음과 같은 방법을 사용한다.fun genericTest(parameter: T){ when (parameter) { is Int -> println("이것은 숫자입니다.") is String -> println("이것은 문자입니다.") }}// 호출부fun main(){ val intA = 1 val stringA = "1" genericTest(intA) // "이것은 숫자입니다." genericTest(stringA) // "이것은 문자입니다."} 또한 클래스나 .. 2025. 5. 27. [Kotlin] Coroutine 의 예외 전파가 진행되는 순서에 대해 자세히 알아보자 (AbstractCoroutine, JobSupport, Continuation, CompletedExceptionally) 본 게시글을 살펴볼 때 이전 게시글을 살펴본다면 더욱 많은 도움이 될 수 있으니, 이를 참고하시며 확인해주시면 감사하겠습니다.또한 구조화된 동시성에서 사용되는 AttachChild 가 예외 전파와 매우 밀접한 관련이 있으므로 이도 봐주시면 감사하겠습니다. 2025.05.16 - [프로그래밍/kotlin] - [Kotlin] Coroutine Structured Concurrency (구조화된 동시성) 에 대해 알아보자 [Kotlin] Coroutine Structured Concurrency (구조화된 동시성) 에 대해 알아보자들어가기에 앞서, 우선 아래와 같이 테스트 코드를 하나 만들어보자class DevGyuTest { @Test fun test() = runTest { launch { launch .. 2025. 5. 20. [Kotlin] Coroutine 의 시작 순서에 대해 깊이 알아보자 (BaseContinuationImpl, AbstractCoroutine) 우리는 코루틴을 사용하면서 CoroutineScope 내에 launch 나 asnyc 등을 이용하면 코루틴 디스패처에 스케줄링된 빌더가 실행된다는 것을 알고 있다.하지만 나는 코루틴의 실행이 Continuation.resumeWith 을 통해 진행된다는 것을 알고 있었으나 이 과정이 자세하게 어떤 방식으로 진행되는지에 대해 잘 모르고 있었다. 이에 대해 이번 글을 작성해보았으므로 코루틴의 시작 순서에 대해 자세히 알아보자이번 과정에서 CoroutineStart.Lazy 의 경우 이전 게시글의 JobSupport.kt 의 AttachChild 관련 글이 약간이나마 도움이 될 수 있으니 이를 참고하면 될 듯 하다. 2025.05.16 - [프로그래밍/kotlin] - [Kotlin] Coroutine Str.. 2025. 5. 19. [Kotlin] Coroutine Structured Concurrency (구조화된 동시성) 에 대해 알아보자 들어가기에 앞서, 우선 아래와 같이 테스트 코드를 하나 만들어보자class DevGyuTest { @Test fun test() = runTest { launch { launch { delay(1000) println("실행1") } launch { delay(3000) println("실행2") } delay(1500) println("부모 실행") cancel() } }} 이를 실행하게 되면 아래와 같이 delay(30.. 2025. 5. 16. [Computer Science] 분할 정복 알고리즘 (Divide and conquer algorithm) 과 대표적인 사용 예시들을 알아보자 # 분할 정복 알고리즘 (Divide and conquer algorithm) 이란?우리가 알고리즘 문제를 풀 때 지문이 요구하는 조건이 크거나 반복적이라면 이를 해결하기 위해 조건을 아주 작은 단위로 쪼개어 시작해야 하는 경우가 많다.이러한 것처럼 조건 대상을 분할하여 더 작게 만들고, 각각을 정복하여 문제를 해결하는 방식을 분할 정복 알고리즘 Divide and conquer algorithm이라고 명칭한다. # 분할 정복 알고리즘을 사용하는 예시들분할 정복 알고리즘 기법을 사용하는대표적인 예시로는 병합 정렬 (Merge Sort) 와 퀵 정렬(Quick Sort), 이진 탐색 (Binary Search) 가 있다. # 병합 정렬병합 정렬이란 배열을 절반으로 나눈 뒤, 정렬한 후 이들을 다시 병합하는.. 2025. 5. 14. 이전 1 2 3 4 ··· 15 다음