profile
유잼코딩
post-thumbnail

ConcatAdapter 내부 코드 뜯어보기

통합검색은 원래 하나의 레이아웃을 재사용하는 구조로 설계되어 있었다. 다른 카테고리들은 하나의 리싸이클러뷰로 구성이 되어 있는 반면 통합검색은 구조가 다르게 구성되어 있다는 것이다. 추가적인 카테고리가 생기게 되면 레이아웃에 재사용뷰 추가, 더보기 클릭 리스너 추가 등

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

다양한 Adapter Click 이벤트 처리

RecyclerView를 사용하게 되면 대부분 클릭 이벤트를 처리해야하는 경우가 생긴다. 아이템을 클릭 했을 때, 아이템의 특정 버튼을 클릭 했을 때 등 여러가지 경우가 있다. 클릭 이벤트를 처리하기 위한 다양한 방법들을 알아보자.위 코드는 BlogViewHolder에

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

히스토리 목록 LRU 캐시 적용

최근 검색어. 검색창에서 검색하면 가장 최근에 검색한 키워드가 히스토리 목록 상단에 노출된다.요구사항에는 구체적으로 몇 개까지 표시되는지 나와있지 않지만 제한이 없다면 성능적으로 문제가 있을 것이다.그래서 제한을 두기로 결정하고 실제 네이버 검색창의 최근 검색어 개수는

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

RxJava2CallAdapterFactory 알아보기

RxJava2 를 사용하면서 이것 저것 적용해보다가 RxJava2CallAdapterFactory 라는 메서드를 적용하게 되었다. squareup에서 제공하는 retrofit과 rxjava의 adapter 라이브러리를 추가하여 사용할 수 있다.위 코드는 Hilt의 모듈

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

계층 간 날짜 데이터를 전달할 때 생긴 고민

네이버 검색 API에서 데이터를 응답받을 때 날짜 속성도 있다. 그런데 날씨 타입이 밀리세컨드 형태가 아닌 문자열 타입으로 전달받는다. 그래서 고민이 생겼다.이 날짜 데이터를 어떤 형태로 UI에 보내줘야하는가?만약 ms 형태로 전달받았으면 변환해주는 작업이 필요할 것이

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

가장 적합한 페이징 사이즈를 찾기 위해서는 어떤 요소들을 고려해야할까?

페이징 라이브러리를 사용했을 때 페이징 크기를 거의 고정적으로 10을 사용했었다. 그 이유를 물어보면 대답하지 못했다. 그냥.. 적당한거 같아서? 어떤 파라미터 값을 정할 때 그에 대한 이유를 정확히 설명할 수 있어야한다. 그래서 이번에 가장 적합한 페이징 크기를 알아

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

data계층의 datasource영역을 remote와 local 모듈로 분리하면 좋은 점?

전체적인 구조를 설계하던 중 한 가지 고민에 빠졌다. DataSource 영역을 따로 module로 분리하는 것은 좋은 방법일까? 여러 예제에서 remote, local(cache) 모듈이 추가된 구조를 볼 수 있다. 만약 나누게 된다면 어떤 장단점이 있을 지 고민해보

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

Hilt Module을 object or class로 선언했을 때 차이점?

위의 코드를 보면 NetworkModule은 object로 정의되어 있다.class로 정의하여도 문제없이 잘 돌아가는데, 두 정의 방식은 어떤 차이가 있을까?공식문서에는 이러한 문장이 있다.💡 In Kotlin, modules that only contain @Pro

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

ViewModel에서 Backing Property를 왜 사용해야될까?

다양한 예제들을 볼 때마다 위와 같은 코드 형식을 볼 수 있다. 구글 공식 예제인 sunflower 에서도 위와 같은 방식을 사용한다. 이거.. 왜 이렇게 하는 것일까? 그리고 = 방식을 사용하기도 하고 get() 방식을 사용하기도 하던데 어떤 차이점이 있을까?참고로

2023년 4월 30일
·
0개의 댓글
·
post-thumbnail

CleanArchitecture의 각 계층마다 각각의 모델이 존재해야하는가?

CleanArchitecture로 설계하게 되면 presentation, domain, data 계층으로 나눌 수 있다. 계층을 분리해 역할을 나누고 서로의 의존성을 분리하여 유지보수하기 쉽고 테스트에 용이한 구조로 설계할 수 있다. 그렇다면, presentation이

2023년 4월 30일
·
0개의 댓글
·
post-thumbnail

domain / usecase 는 왜 필요할까?

클린 아키텍처 구조로 설계를 하다보니 domain의 역할에 대해서 의문이 들었다. presentation과 domain의 중간 다리 같은 느낌인데, domain 모듈을 만듦으로써 느낄 수 있는 이점이 어떤 것이 있을까 고민을 해봤다.뷰모델에서 Repository로 바로

2022년 12월 5일
·
0개의 댓글
·
post-thumbnail

Parcelable vs Serializable

화면 간의 데이터 이동은 인텐트를 통해 이루어진다. String, Int와 같은 자료형 간의 이동은 바로 할 수 있지만 data class와 같은 객체를 이동시켜야하는 경우는 직렬화 과정이 필요하다. 이러한 직렬화 과정에는 두 가지 기법이 있다.Android SDK가

2022년 12월 5일
·
0개의 댓글
·
post-thumbnail

서버 응답 원하는 값만 필터링하기

Retrofit으로 서버에 필요한 데이터를 요청한다. 데이터를 응답받을 때 응답 받은 데이터 중 필요한 데이터만 사용하고 싶은 경우가 있다. 예로 살펴보자.위의 응답은 openweathermap api에서 응답받은 데이터이다. 여기서 우리가 사용해야할 데이터는 weat

2022년 12월 5일
·
0개의 댓글
·
post-thumbnail

Single Activity Architecture (SAA) 적용기

이번 부스트캠프에서 모글 프로젝트를 진행하면서 Navigation component를 사용하기로 했다. 그러면서 자연스레, “이왕 Navigation component를 사용하는거 Single Activity Architecture로 설계해보자!” 라는 얘기가 나와 S

2022년 12월 5일
·
2개의 댓글
·
post-thumbnail

JVM 구조

💡 OS의 메모리 영역에 접근해서 Java의 메모리를 관리하는 가상 프로그램즉, OS와 JAVA 기반 애플리케이션 사이에서 Java Byte Code를 OS에 맞게 해석해주는 역할을 하며, 자바 기반 애플리케이션을 클래스 로더를 통해 읽어들이고, 자바 API와 함께

2022년 10월 15일
·
0개의 댓글
·
post-thumbnail

크롤링과 LRU 캐시

💡 크롤링(crawling) 혹은 스크레이핑(scraping)은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위. 크롤링하는 소프트웨어는 크롤러(crawler)라고 부름.웹 상에는 데이터가 점점 많아지면서 필요한 데이터를 추출하는 것이 매우 힘들다. 하

2022년 9월 29일
·
0개의 댓글
·
post-thumbnail

[Algorithm] 깊이 우선 탐색 - DFS(Depth-First Search)

🎈 깊이 우선 탐색 - DFS (Depth-First Search) "깊이 우선 탐색(DFS)이란 그래프 탐색 알고리즘 중에서 루트 노드(또는 다른 임의의 노드)에서 시작해서 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법이다. 주로, 모든 노드를 방문

2022년 9월 18일
·
0개의 댓글
·
post-thumbnail

[Android] Kakao 지도 API 사용하기

이번에 구름톤에 참가했을 때 Kakao Maps API를 사용했다. 구글 지도 API는 사용한 경험이 있는데 Kakao 지도 API는 처음 사용해봤다. 클러스터링 기능도 지원하는 구글 지도를 사용하려했지만 카카오에서 주관하는 해커톤이다보니 카카오 지도를 사용하는 것이

2022년 9월 3일
·
2개의 댓글
·
post-thumbnail

[Android] 키해시(key hash) 추출하기

키해시의 종류는 디버그용, 릴리즈용, 구글 플레이용으로 총 3가지이다. debug key hash는 주로 앱 개발을 할 때 디버그용으로 사용되는 키해시이다. release key hash는 앱 개발을 완료 후 apk 파일을 추출했을 때 사용되는 키해시이다. 이때, de

2022년 9월 3일
·
0개의 댓글
·
post-thumbnail

[대외활동] 구름톤(9oormthon) 후기 (kakao x goorm)

카카오와 구름에서 주관하는 해커톤인 구름톤에 선발되어 참여했다. 4박 5일간의 교육 및 개발 과정을 기록하고 회고하기 위해 글을 작성한다.네이버 부스트캠프 챌린지 과정이 끝나고 멤버십 발표가 나기 전까지 여유가 생겼다. 쉬고 싶은 마음도 있고 챌린지에서 배웠던 학습 내

2022년 8월 28일
·
4개의 댓글
·