요즘 Reactive Programming 에 대한 관심이 높습니다. 서버 백엔드부터 Front 클라이언트들까지 많은 곳에서 이야기되고 있습니다. Reactive Programming 은 위키에서는 다음과 같이 정의하고 있습니다. "컴퓨팅으로써 반응형 프로그래밍은 데이터의 흐름과 변화에 대한 전달을 기반으로 하는 프로그래밍 패러다임이다." 끊임없이 요청/변경되는 데이터에 반응하기 위해나온 Reactive Programming 은 데이터를 처리함에 있어서 비동기적으로 데이터를 처리할 때 효율적으로 할 수 있도록 하기 위한 방법입니다. 다음 그림을 보면 좀 더 쉽게 이해할 수 있습니다. 일반적인 동기화 방식의 프로그래밍에서는 메소드 콜이 발생했을 때 데이터 처리가 끝날때까지 쓰레드를 대기시키거나 콜백을 받아..
빠른 빌드를 위한 10가지 팁 1. 최신 안드로이드 그래들 플러그인을 사용합니다. 안드로이드 스튜디오 팀에서는 빌드 속도와 버그수정을 위해 그래들 플러그인을 계속 업데이트 하고 있습니다. 그래들 3.0 부터는 구글 메이븐 저장소를 통해 그래들이 배포됩니다. 따라서 메이븐 구글 저장소를 추가해주고, dependency에 gradle 3.0.0 혹은 그 이후 버전을 추가해줍니다. buildscript { repository { jcenter() maven { url 'https://maven.google.com' } } dependency { classpath 'com.android.tools.build:gradle:3.0.0-alpha1' } } 2. 레거시 멀티덱스를 피하도록 합니다. 멀티덱스 사용 시 ..
LeakCanary Leak Canary 경우 메모리 누수를 감지해주는 디버깅 툴이다. 액티비티에서 메모리 누수가 발견될경우 사용자에게 알람을 띄워주며, 별도의 프래그먼트에서 누수를 감지하고싶으면 refWatcher로 집어넣어준다음에 onDestory 가 호출될때 refWatcher도 별도로 호출해야한다. 사용법 dependencies { debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5' releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5' testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5' } @Overr..
0%가 완전 투명, 100%가 불투명입니다. 즉, 50%에 해당하는 투명도를 적용한 흰색을 나타내기 위해서는 아래와 같이 ARGB값을 써주시면 됩니다. #80FFFFFF 100% = FF 99% = FC 98% = FA 97% = F7 96% = F5 95% = F2 94% = F0 93% = ED 92% = EB 91% = E8 90% = E6 89% = E3 88% = E0 87% = DE 86% = DB 85% = D9 84% = D6 83% = D4 82% = D1 81% = CF 80% = CC 79% = C9 78% = C7 77% = C4 76% = C2 75% = BF 74% = BD 73% = BA 72% = B8 71% = B5 70% = B3 69% = B0 68% = AD 67% =..