본문 바로가기

분류 전체보기

(169)
[Github Actions] Github Actions를 사용해보자 - 3. APK 생성 및 업로드 본 게시글은 이전 게시글에 이어서 작성된 부분입니다. 2022.03.23 - [Android/CI CD] - [Github Actions] Github Actions를 사용해보자 - 1. 기본 개념 정리 2022.03.24 - [Android/CI CD] - [Github Actions] Github Actions를 사용해보자 - 2. 기본 Setting [Github Actions] Github Actions를 사용해보자 - 2. 기본 Setting 본 게시글은 이전 게시글에 이어서 작성된 부분입니다. 2022.03.23 - [Android/CI CD] - [Github Actions] Github Actions를 사용해보자 - 1. 기본 개념 정리 [Github Actions] Github Actio..
[Github Actions] Github Actions를 사용해보자 - 2. 기본 Setting 본 게시글은 이전 게시글에 이어서 작성된 부분입니다. 2022.03.23 - [Android/CI CD] - [Github Actions] Github Actions를 사용해보자 - 1. 기본 개념 정리 [Github Actions] Github Actions를 사용해보자 - 1. 기본 개념 정리 CI/CD Tool 중 Github에서 제공하는 Github Actions라는 Tool을 사용해 보았다. Github Actions을 적용하는 예제를 작성한 많은 게시글을 확인할 수 있었는데, 가이드를 보아도 필자는 정상적으로 설정하는 것 heegs.tistory.com Github Actions에 대한 기본적인 개념에 대해서는 이전 게시글에서 확인하면 되며, 이번 게시글에서는 기본 Setting 하는 방법에 ..
[Github Actions] Github Actions를 사용해보자 - 1. 기본 개념 정리 CI/CD Tool 중 Github에서 제공하는 Github Actions라는 Tool을 사용해 보았다. Github Actions을 적용하는 예제를 작성한 많은 게시글을 확인할 수 있었는데, 가이드를 보아도 필자는 정상적으로 설정하는 것 까지의 시간이 상당히 오랜시간이 걸렸다. 글을 작성하다보니, 생각보다 길이가 길어져 이번 글에서는 Github Actions의 개념과 yml 파일에 대하여 알아보고자 한다. 게시글의 흐름은 필자가 해당 부분을 공부하고 적용하면서 찾아보았던 순서대로 작성해보았다. 우선, Github Action을 사용하는 방법부터 알아보자. Github Actions은 Github에 올라와있는 Repository에서 사용할 수 있기 때문에 테스트할 Repo를 생성해준다. 필자는 Dumm..
[CI/CD] CI/CD 란 ? 예전에 스터디를 진행할 목록을 작성한적이 있는데, 그 당시에 CI/CD에 관련한 항목도 공부할 항목으로 작성해 둔 것이 있었다. 회사 업무를 진행하면서 있으면 좋았겠다, 편했겠다 라고 생각한 적은 적지 않은 것 같다. 따라서, 추후에 적용 가능성이 보이고 있기 때문에 한발 앞서 먼저 스터디를 해보고자 한다. 우선, CI와 CD가 무엇인지 한번 알아보자. CI란 ? Continuous Integration의 약자로 지속적인 통합을 의미한다. 지속적인 통합을 위한 프로세스를 CI라고 부를 수 있는데 Build, Test를 진행하는 통합 프로세스를 상시로 실시해 주는것을 의미한다. 즉, 위의 통합 프로세스를 지속적으로 수행하여 코드의 품질을 유지시키도록 도와주는 것을 CI라고 한다. 그렇다면, CD는 무엇인가..
[Android] Repository Pattern 디자인 패턴을 살펴보던 도중, Repository Pattern을 적용해본적은 있지만 정리를 하지 않았던 것을 발견하여 간단하게 정리를 하면서 글을 작성해보고자 한다. Clean Architecture 예제를 확인해보면 repository를 적용했다는 것을 확인할 수 있으니, 해당 샘플을 Repository Pattern의 예제로 보면 될 것으로 보인다. 우선, Repository Pattern에 대하여 검색하면 다음과 같은 이미지를 어렵지 않게 볼 수 있다. 이 이미지로 확인할 수 있는 구조가 Repository Pattern을 아주 잘 설명한 것이기 때문이다. Repository Pattern은 Data의 출처에 관계 없이 동일한 인터페이스로 데이터에 접근할 수 있도록 하는 패턴이다. 즉, DataS..
[Android] Coroutine Flow를 사용하여 API를 호출해보자. DataStore를 사용하면서 Flow를 처음 적용해 보았는데, Flow를 조금 더 많은 범위에서 사용해보고자 한다. 하나의 게시글에 Flow에 대한 정리를 하는 것이 아니라, 하나의 작업을 진행할 때 정리가 필요하다 싶은 것들을 골라 글을 작성해볼 예정이다. DataStore다음으로 Flow를 적용해볼 법 한 부분을 찾아보았을 때, 아무래 통신 부분인 API 호출 부분이 아닐까 싶어서 적용해 보았다. 우선, Flow가 무엇인지 간단하게 설명하고 진행하도록 하겠다. Flow란, Coroutine을 기반으로 빌드되며, 비동기식으로 계산할 수 있는 데이터 스트림의 개념. 이라고 한다. 간단히 말하자면, 코루틴 상에서 리액티브 프로그래밍을 지원하기 위해 만들어진 것이라고 생각할 수 있다. 뭐, 흔히 알고 있는..
[okHttp] HttpLoggingInterceptor와 Koin을 사용하여 API 통신 Log를 찍어보자. 저번 라이브러리 모듈을 만들다가 API 통신 시에 사용하는 Retrofit, okHttp 중에 데이터를 보여주는 방법이 있을 것 같다고 생각하고 찾아보던 와중, okHttp에서 지원하는 HttpLoggingInterceptor 에 대해서 찾을 수 있었다. 따라서, LogInterceptor를 Koin을 통해 설정하고 사용하는 방법에 대해서 작성해 보고자 한다. HttoLoggingInterceptor를 사용하기 위해서는 Gradle에 라이브러리를 추가해 주어야 한다. // okhttp3 Logging implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0' 해당 라이브러리를 추가하였으면, 적용하여 사용해보도록 하자. 우선 Retrofit과 okHt..
[Android] JitPack을 사용하여 라이브러리 모듈을 배포해보자. 업무를 보는 도중 이전 프로젝트에서 사용하던 모듈을 가져와서 사용하고 싶다는 생각이 문득 들었다. 해당 모듈이 다른 외부 라이브러리처럼 배포가 되어있었다면 간단하게 사용하기 쉬울 텐데..라는 생각을 하던 와중 라이브러리로 배포를 하는 방법에 대해서 찾아보게 되었다. JitPack을 사용하면 아주 간단하게 라이브러리 모듈 배포가 가능하다고 해서 사용해 보았는데, 자료를 잘못 봤는지 오류가 상당히 많이 발생하였다. 따라서, 해당 문제들을 해결하는 방법에 대하여 작성해보고자 한다. 우선, 라이브러리로 만들어 볼 샘플 프로젝트를 만들어 보자. 필자가 업무를 보다가 API 관련 데이터를 확인하려고 임시로 만들어 둔 함수를 클래스로 만들어 보았다. private val gson = Gson() fun printDa..