안녕하세요. Mobile Application 팀 전계원입니다. QA 과정에서 발견된 이슈를 분석하던 중 원인이 OS 에 있어서 발생한 이슈였던 경험이 있었습니다. 원인이 OS 자체에 있다는 점이 신기했던 면도 있었지만, 해당 버그가 OS 10 이하를 지원하는 앱이라면 누구나 겪을 수도 있다는 사실이 인상 깊었습니다. 그래서 많은 분들께 공유드리고자 버그의 원인을 분석하고 해결방안을 찾아갔던 그 당시의 이야기를 작성하였습니다. 0. 프롤로그 - 버그 발견 G마켓에는 QA 부서가 별도로 존재합니다. 그리고 어느 날 QA 담당자분을 통해 재연영상과 함께 이슈를 할당받았습니다. 무엇이 문제인지 알 것 같나요?? 천천히 영상의 상황을 살펴보겠습니다. 옥션에서 새로운 페이지로 이동하였습니다. 그리고 정상적인 상황..
Android DiffUtil 이해하기 안녕하세요 Mobile Application 팀 전계원입니다. DiffUtil 은 androidx 패키지에 포함되어 두 리스트 간의 차이를 계산하고, 새로운 리스트로 변경하기 위한 작업목록을 반영하는 것에 도움을 주는 유틸리티 클래스입니다. 현재 G마켓에는 상당히 많은 영역에서 리스트를 업데이트하기 위해 DiffUtil 을 사용하고 있습니다. G마켓에 입사하기 전에는 DiffUtil 에 대해 들어보기만 했지만, 입사 후 G마켓에 적용된 코드를 이해하기 위해 개인적으로 공부를 했었습니다. 이번 글을 통해서 DiffUtil 에 대해 공부한 내용을 공유드리고자 합니다. 1. Before DiffUtil - notify 패밀리 샘플 코드와 함께 RecyclerView.Ad..
버그와 함께 알아보는 RecyclerView 에서 wrap_content 사용을 조심해야 하는 이유 안녕하세요. G마켓에서의 첫 돌이 지난 Mobile Application 팀 전계원입니다. 작년 여름, 지마켓 내부코드 리팩토링 과정에서 버그를 만났었습니다. 버그의 원인을 이해하기 위해 분석하고 공부했던 내용들을 이번 글을 통해 공유해보고자 합니다. 0. 프롤로그 - 버그 발견 G마켓 Mobile Application 팀에서는 원활한 유지보수와 Android 시장의 개발 트렌드를 따라가기 위해 리팩토링 작업을 매우 권장하고 있습니다. 당시 신규 입사자였던 저도 G마켓의 코드에 빠르게 적용하기 위해 코드를 분석하며 간단한 화면 리팩토링 프로젝트를 진행했었습니다. 그리고 개발한 내용을 홀로 테스트하던 중 이..