전체 글 3

2022 GDG 썸머 해커톤 : 오프티벌 참여 후기

오랫동안 지속되었던 코로나 팬데믹이 어느정도 마무리 되어가는 분위기가 형성되자, IT 관련 분야에서도 오프라인 행사가 조금씩 진행되기 시작했습니다. 저는 그 중에서 해커톤 행사에 많은 관심을 가졌고 GDG Campus Korea 에서 주관하는 오프라인 해커톤 행사에 참여하게 되었습니다. 이전 해커톤 참여 경험 저는 개발 공부를 시작할 때 이미 코로나가 유행 중이었기 때문에 각종 오프라인 행사에 참여한 경험이 거의 없었습니다. 대외 IT 창업 동아리인 SOPT, Mash-Up 에서 한 기수 씩 활동을 해보았으나 대부분의 프로그램이 비대면으로 진행되었습니다. 그러다보니 오프라인 해커톤 또한 두 번밖에 경험하지 못했습니다. 해커톤이라는 행사가 정형화된 룰이 있는 건 아니지만, 이전에 경험해보았던 해커톤은 동아..

Experiences 2022.06.29

Retrofit Call, 제대로 사용하기 - (2)

응답 에러를 wrapping 하기 앞서 소개한 Retrofit suspend 함수는 HTTP status code 혹은 각종 조건에 따라서 에러를 throw 하고 있다. 따라서 해당 함수를 사용하기 위해서는 try-catch 문 등으로 에러를 잡아줘야한다. 혹시 실수로 try-catch 를 사용하지 않을 경우, 앱이 비정상 종료될 수 있다. 조금 더 안전하게 에러를 wrapping 해서 반환받을 수는 없을까 ? 확장함수 사용 앞서 Retrofit suspend 함수는 내부적으로 Call.await() 를 호출해서 enqueue()를 실행하고 있음을 알게 되었다. 이 await() 함수를 사용해서 다음과 같이 확장함수를 만들 수 있다. interface GitHubService { @GET("users/{..

Android 2022.04.04

Retrofit Call, 제대로 사용하기 - (1)

Retrofit은 안드로이드에서 네트워크 통신 작업을 위해 가장 많이 사용하는 라이브러리이다. 하지만 많은 사람들이 Retrofit이 내부적으로 어떻게 동작하는지 모른채 사용하고 있다. 물론 내부 동작을 모두 알 필요는 없지만, 어느정도는 알아야 반환되는 값이 어떤 과정을 거쳐 검증되었는지, 발생할 수 있는 에러는 어떤 게 있는지, 어떤 상황에 발생하는지 등을 알고 대응할 수 있다. 그리고 Retrofit 을 사용하면서 자주 보는 클래스는 Call 이다. RxJava 나 Coroutine 을 사용하면서 Call 을 직접 사용하지 않는 경우도 많다. 하지만 Call 은 항상 내부적으로 중요하게 사용되고 있는 클래스이다. 이를 중심으로 Retofit 의 동작 방식에 대해 알아보고, Call 을 활용할 수 있..

Android 2022.04.01