코틀린 54

[코틀린] 그래서 코루틴이 뭔데?

코틀린을 이용해서 안드로이드 앱 개발을 하다 보면 비동기 프로그래밍을 위해서 코루틴을 흔하게 사용하게 됩니다. 또 코틀린으로 스프링 프레임워크를 이용해서 서버를 구축할 때도 코루틴을 자주 사용하게 되지요. 그런데 코루틴에 대해 정말로 자세히 알고 있는 사람은 많지 않습니다. 코루틴은 간단하게 사용할 수 있지만 깊고 자세하게 알고 있는 사람은 잘 없는데, 그만큼 코루틴을 쉽게 사용할 수 있도록 잘 만들었다는 것이겠죠? 아무튼 코루틴에 대해 자세히 알아보겠습니다. 코루틴(Coroutine) 코루틴은 일단 비동기 프로그래밍 및 동시성 작업을 효율적으로 다룰 수 있는 기능을 제공하는 라이브러리와 언어 기능입니다. 사실 코루틴은 코틀린에 종속적인 기술은 아니고 C#, JS, Python, Go 같은 언어에서도 지..

Kotlin 2023.10.04

안드로이드 통신에 자주 사용하는 Retrofit 알아보기 (2) - create 뜯어보기

이전 글에서 이어집니다. https://sh1mj1-log.tistory.com/167 안드로이드 통신에 자주 사용하는 Retrofit 알아보기 (1) - HttpURLConnection, OkHttp, Retrofit 장점을 중심 Jwt 토큰 관련해서 프로젝트의 버그 픽스, 간단한 리팩토링(리팩토링이라고 하기도 뭐하지만) 을 진행하면서 이 김에 Retrofit 클래스의 내부 구조에 대해서 조금 이해를 해야 할 필요가 있을 것 같 sh1mj1-log.tistory.com 이번에는 Retrofit 을 사용해서 서버와 통신을 할 때 Retrofit 클래스 내부가 어떻게 구현이 되어 있는지에 대해 조금 더 자세히 알아보겠습니다. Retrofit 클래스 이전 글(안드로이드 통신에 ... Retrofit 장점을 ..

안드로이드 레트로핏 api 호출하는 인터페이스에서 @Header 중복을 제거하기

지난 4개월 전쯤 친구를 통해서 여러 다른 분들과 플레이스토어에 바바-BABA 라는 앱을 출시했습니다. 작성했던 코드들을 천천히 보면서 리팩토링 및 버그 픽스를 하며 공부를 더 해보려고 합니다. 일단 오늘 볼 부분은 서버와 api 통신을 하는 부분인데요. 이 프로젝트에서는 Retrofit 을 사용했고, Di 는 Hilt 를 사용하였습니다. 서버와 api 통신을 하는 전체 구조 먼저 간단한 UML 을 통해 기존에 어떻게 서버 통신을 진행하고 있는지를 간단히 표현하자면 아래와 같습니다. 클라이언트에서 AlbumApi 를 호출할 때 Retrofit 객체를 만들어 주고, 또 OkHttpClient 객체를 만들어 주는 부분은 Hilt 로 구현되어 있습니다. 화살표가 UML 의 표준으로 그린 것도 아니고 실제로 H..

Android Thread, Handler, Runnable

이번에는 Android 에서의 Thread, Handler, Runnable 에 대해서 알아봅니다. 사실 작년에 프로젝트를 할 때도 자주 사용되는 기능이고, 또 클론 코딩 등 공부를 하면서도 자주 사용했지만 이번에도 누군가 저에게 완벽하게 설명해보라 하면... 자신이 없어서 꼭 한 번 정리해보고 싶었습니다. 포스팅을 읽다보면 뒤의 내용이 조금씩 앞에 나올 수도 있지만 끝까지 쭉 읽어보면 이해가 될 겁니다! 그럼 Thread 부터 봅시다.Thread (스레드)Thread는 프로세스 내에서 “순차적으로 실행되는 실(실행 흐름)" 의 최소 단위이다.안드로이드 앱에서는 메인 스레드는 메시지 큐 수신을 기다리는 루프를 실행하고, 사용자 입력, 시스템 이벤트, 화면 그리기 등의 메시지가 수신되면 각 메시지에 매핑된..

Android/Theory 2022.09.03