목록분류 전체보기 (163)
Simple&Natural
협업을 하던 개인 프로젝트를 진행하던 소스코드의 형상관리 방법으로 가장 많이 쓰이는 것이 Git입니다. 단순히 소스코드를 기록하는 용도를 넘어서 효율적으로 관리할 수 있는 방법은 없을까요? 현재 널리 알려져 있는 방법과 제가 개인적으로 사용하고 있는 깃 형상관리 전략에 대해 공유하고자 합니다. 가장 널리 쓰이는 전략으로는 크게 다음과 같은 세 가지가 있습니다. Git-flow 2010년에 Vincent Driessen이 처음 제안한 방법으로 형상관리 전략으로 가장 널리 알려져 있습니다. master : 제품으로 출시될 수 있는 브랜치 develop : 다음 출시 버전을 개발하는 브랜치 feature : 기능을 개발하는 브랜치 release : 이번 출시 버전을 준비하는 브랜치 hotfix : 출시 버전에..
cannot access class 'android.support.v4.view.pageradapter' 오류 해결 방법 UltraViewPager라는 외부 라이브러리를 사용하던 도중 다음과 같은 호환성 이슈를 마주하게 되었다. androidx의 PagerAdapter를 구현한 Adapter를 Support.v4의 PagerAdapter를 사용하는 UltraViewPager에 넣어주려고 하였으나 호환이 되지 않는다. 공식문서에 무언가 힌트가 있는지 찾아보자 android.enableJetifier=true를 이용해 기존 타사 라이브러리를 자동으로 이전할 수 있다고 한다. 그럼 내 프로젝트의 gradle.properties를 살펴보자. 응? 해당 flag가 없다. 아래와 같이 한 줄을 추가하고 다시 syn..
예전에도 rx사용시 제대로 try-catch 가 작동하지 않았던 이슈가 있었는데 Interceptor에서는 IOException이 아니면 스레드 외부로 throw를 하지 않는 것이 원인이었다. https://stackoverflow.com/questions/58697459/handle-exceptions-thrown-by-a-custom-okhttp-interceptor-in-kotlin-coroutines Handle exceptions thrown by a custom okhttp Interceptor in Kotlin Coroutines I'm using a custom Interceptor along with Retrofit client in my Android app, that throws an..
import java.util.*; class Solution { public int solution(String[][] clothes) { int answer = 1; HashMap hashMap = new HashMap(); for (String[] cloth : clothes) { hashMap.put(cloth[1], hashMap.getOrDefault(cloth[1], 0) + 1); } for (Integer count : hashMap.values()) { answer *= count+1; } answer -= 1; return answer; } }