이번에는 Gradle 빌드 변형 구성에 대해 알아보겠습니다. 먼저, 현재 빌드정보를 담고있는 buildConfig에 필드를 추가하는 방법 필드의 정보들을 불러오는 방법을 알아보겠습니다. 그리고 BuildType, ProductFlavors마다 BuildConfig을 변형 구성하는 방법과 Source Set을 바꿔서 구성하는 방법을 알아보겠습니다. BuildType이란? buildType은 일반적으로 개발자가 새 모듈을 생성하면 debug와 release 두 가지를 생성합니다. debug는 빌드 유형을 선언하지 않더라도 Android Studio에서는 debuggable true를 default값으로 구성하며 이 속성 덕분에 Android 기기에서 앱을 디버깅할 수 있습니다. release는 출시용 bui..
이번에는 .gitconfig을 이용하여 clone시 remote url을 https 혹은 ssh로 바꾸게 만들어서 편하게 git url을 설정할 수 있는 방법을 알아보겠습니다. 설정할 수 있는 gitconfig 세 가지 입니다. 또한, 각 설정은 .git/config > ~/.gitconfig > /etc/gitconfig 순으로 우선시 됩니다. 1. /etc/gitconfig 파일 시스템의 모든 사용자와 모든 저장소에 적용되는 설정 파일입니다. 이 파일은 시스템 전체 파일에 대한 설정이기 때문에 수정하려면 시스템의 관리자 권한이 필요합니다. $ git config --system https -> ssh로 사용하기 // git fetch or git push url git config --system u..
flatMap의 원리와 Observable 스트림 종료 후 다시 이어가기 RxJava는 데이터 스트림에 여러 연산자들을 체이닝하여 데이터를 조작할 수 있습니다. 원본 데이터에 체이닝하면서 데이터를 처리하기 위해서 거의 대부분의 경우에 flatMap, concatMap, switchMap을 사용하여 처리할 텐데, 이유는 이 연산자들은 방출되는 각각의 데이터 마다 Observable을 생성하여 데이터를 처리할 수 있게 해주므로 스레드 관리에 효과적이기 때문일 것입니다. 그런데 여기서 생산자에 따라 차이가 생기게 되며, 이 포스트에서는 flatMap을 예로 들어보겠습니다. Single, Maybe, Completable은 1 혹은 0개의 데이터를 발생하고 스트림을 종료합니다. 그래서 이 생산자들은 어짜피 하..
안녕하세요. 이번에는 Git rebase에 대해 정리하겠습니다! Git rebase란? Git rebase는 두 개의 공통 Base를 가진 Branch에서 한 Branch의 Base를 다른 Branch의 최신 커밋으로 branch의 base를 옮기는 작업입니다. 용어 그대로 베이스를 다시 설정하는 작업입니다. Git rebase의 장점 1. 공유 branch의 최신 변경사항을 즉각 반영할 수 있다. git merge는 공유 branch에 대한 변경사항을 즉각 대응하기 어렵습니다. 반면에 Git rebase를 사용한다면, 동료 개발자들이 올린 commit들의 수정사항을 내가 작업하고 있는 branch에 즉각 반영할 수 있습니다. 즉, 공유 branch에 대한 최신 commit을 반영하면서 작업을 해야할 때..