SwipeRefreshLayout을 이용하여 RecyclerView를 새로고침 하는 기능을 만들고 있었다. 평상시에는 정상적으로 작동하는듯 하는데 간헐적으로 아래와 같은 에러가 발생하며 앱이 종료되었다. java.lang.IndexOutOfBoundsException: Inconsistency detected. 불일치가 감지되었다고 하는데 무슨 에러일까? 데이터 변경에 대한 범위를 정상적으로 지정해주지 않았을 때 발생해야 하는 에러인 것으로 추정된다. 나는 정상적으로 지정해준거같은데.. Inconsistency detected 에러가 발생하는 것을 보아 고민을 해본 결과 notifyItemRangeChanged(position, size)가 실행되는 동안 새로고침으로 또 데이터를 notifyItemRan..
학교를 졸업하기 전 무작정 판교로 가겠다며 부모님께 1년 간의 취준생 생활을 예고했다. 지금 생각해보면 나 자신이 포기할지도 모른다는 생각에 학교 친구들이나 주변인들에게 1년간 준비한다고 더 이야기하며 내 각오를 더 다져왔던 것 같다. 그렇게 취업을 준비하는 것이 아닌 공부하는 백수 생활이 시작되었고 많은 감정을 느끼며 취준생으로 전직(?)했다. 다행히도 올 한해를 마무리 하기 전에 취준생 생활을 반쯤 마무리하는 인턴이 되었지만 이 과정에서 느낀 감정들을 월별로 해온 일들과 함께 글로 적어보며 올 한 해를 마무리해보려고 한다. 1월 - 알고리즘과 친해지기 대부분의 기업은 코딩테스트를 요구하지만 학부생 내내 알고리즘에 대해 공부한 적이 거의 없었던 나는 알고리즘 스터디를 따라다니며 일주일 내내 고민해도 2..
Retrofit에 Rx를 같이 적용하면서 생긴 궁금증이었다. 처음에 Observable을 이용하여 만드는 소스를 봐서 당연히 Observable을 사용해야한다고 생각했었는데 Single을 사용해보라는 이야기를 들었는데 찾아보니 Observable에는 종류가 있었다. 과연 Single과 Observable에는 어떤 차이가 있을까? 먼저 Observable은 전송된 데이터를 관찰하는 관찰자 클래스이다. 따라서 Retrofit에서 데이터가 오는 것을 관찰하고있는다. Observable은 데이터가 전송되는 것을 계속 감지하게되는데 내가 사용한 REST API에서는 데이터를 1번 request하고 그에 대한 응답을 받은 뒤에는 계속해서 관찰할 필요가 없었다. 계속해서 관찰하는게 결국엔 메모리 낭비가 됨으로 dis..