일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- mockito
- viewmodel
- g 단위테스트
- k8s
- Kotlin
- 스레드
- Rxjava
- 안드로이드스튜디오
- theming
- 코틀린
- Compose
- 책
- 코루틴
- 디자인패턴
- 알게되는
- 병렬프로그래밍
- Gradle
- 안드로이드강좌
- android
- ReactiveProgramming
- 병럴프로그래밍
- Coroutine
- 커스텀상태
- 테스트
- kotlin강좌
- 알고리즘
- 글또
- 자바
- 안드로이드
- 회고
- Today
- Total
목록분류 전체보기 (154)
선생님, 개발을 잘하고 싶어요.
two-way binding을 하기 위해서 총 3가지의 함수가 필요합니다. 각 용도는 이런 식으로 생각할 수 있는데요. 데이터를 받아서 view에 설정하는 것 (BindingAdapter) view의 데이터가 변경되었을 때, 변경된 데이터 받아오는 것 (InverseBindingAdapter) 그런데, InverseBindingAdapter는 어떻게 view 데이터 변경을 알아차리는 걸까요? 바로, InverseBindingAdapter의 관련된 event를 등록하고, 해당 이벤트의 인자로 들어오는 InverseBindingListener.onChange()가 호출되는 순간을 알게되는 겁니다. view의 데이터가 변경되었음을 알리는 이벤트를 등록하는 것 (android:xxxxAttrChanged) 여기..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bEs8ub/btrdesLANkx/hAt3yCb40huPagGaoHYtak/img.png)
상황 개인 프로젝트를 개발하고 있는데 잘만 동작하던 앱이 갑자기 죽기 시작했습니다. 내가 최근 작업에서 건드린 부분이 아닌데 왜 이러나 한참 헤매었습니다. CustomFont로드 시점에 OutOfMemory가 나면서 죽는 경우였습니다. 코드는 다음과 같았습니다. fun getSLightTypefaceSpan(context: Context): CustomTypefaceSpan { return CustomTypefaceSpan( Typeface.create( ResourcesCompat.getFont( context, R.font.s_light ), Typeface.NORMAL ) ) } 이 코드를 모든 화면에서 사용하고 있었습니다. TLDR Resource를 접근하는 코드는 캐시 하자. 폰트 사이즈가 너무..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YwZ7E/btrcRpA9x3s/wPS2s5aYW0mkcE2tlKkZ51/img.png)
https://www.acmicpc.net/problem/16637 문제 조건 잘못 보고 조금 해맨 문제. 문제 분류 브루트포스 비트마스크 문제 해결 아이디어 문제의 조건은 수식의 길이가 N (N ≤ 19, 홀수) 숫자는 한자리로 구성됨. 괄호는 중첩될 수 없음. 괄호 안에는 연산자가 하나만 들어 있어야 함. 4번 문제 조건을 생각 안해서 좀 해맸다. 문제 해결 아이디어는 괄호에 넣을 연산자를 고르는 것이다. 연산자의 총 갯수는 N/2이고 N은 19이므로 괄호에 넣을 연산자와 괄호에 안 넣을 연산자를 구분해서 생각한다면 모든 케이스를 비트마스크 연산으로 손쉽게 순회할 수 있다. 예를 들면 이런 식인데 문제에 주어진 예제 입력 3에서 처음 *와 마지막 +는 괄호에 넣지 않는 연산자. 그 다음 +는 괄호에 ..
https://www.acmicpc.net/problem/17267 문제 카테고리 BFS 접근 방법 처음에는 벽 부수기 문제 처럼, 왼쪽으로 갈 수 있는 횟수, 오른쪽으로 갈 수 있는 횟수를 Node 정보로 저장하는 방법을 생각했지만 그렇게 되면... (x, y, l, r) 각 숫자 모두 1000의 크기를 가지므로 평생 풀 수 없다. 따라서 다음과 같은 아이디어를 고안했다. 별로 안어렵다. 한 번의 BFS를 하며 각 x,y에 도달하기 위한 L, R을 기록한다. 문제의 조건에 만족하는 노드만 count한다. 독특하게 처리해야 하는 곳은 "위 아래로 노빠구" 하는 부분이다. 코드 보면 이해하기 쉽다. 도움을 준 문제들 레이저 통신: https://www.acmicpc.net/problem/6087 상남자보다..