전체 글 412

[Git] 소스트리(SourceTree) Permission Denied 될 때

Git 소스트리(SourceTree) Permission Denied 될 때 깃을 설정하고 ssh key를 생성하여 깃 계정에 등록을 하였다. 그런데 Sourcetree로 소스를 가져오거나 fetch할 때 무한로딩이 걸리며 Permission Denied(publickey) 발생 로컬에도 ssh key를 등록해줘야 한다고 한다. ssh-add -l 로 등록된 ssh key가 있는지 확인 ssh-add ~/.ssh/sshKey아이디 로 ssh key를 등록해주니 된다. 만약, 추후에 또 등록이 안되어있다고 나올 때(ssh가 맥에 저장이 초기화됌) ssh-add -K 2>/dev/null; bash_profile에 추가해준다. 참조 : https://jinnify.tistory.com/73 https://w..

Git 2022.05.16

[Android] 페이징3(Paging3)에 대해 알아보자

Android 페이징3(Paging3)에 대해 알아보자 # Paging이란? 데이터를 가져올 때 한 번에 모든 데이터를 가져오는 것이 아니라 일정한 덩어리로 나눠서 가져오는 것을 뜻합니다. 페이징을 사용하면 성능, 메모리, 비용 측면에서 굉장히 효율적입니다. # Jetpack Paging Library Android Jetpack에서는 페이징을 위한 Paging3 라이브러리를 제공. Paging3 라이브러리는 로컬 저장소에서나 네트워크를 통해 데이터를 나누어 효율적으로 로딩할 수 있게 도와줍니다. Paging3은 구글에서 권장하는 Android 앱 아키텍처에 맞게 설계되었으며, 다른 Jetpack 컴포넌트와 잘 동작할 수 있도록 설계되었습니다. # Paging3의 장점 페이징 된 데이터의 메모리 내 캐싱..

안드로이드 2022.05.13

[Android] 샘플앱을 추가했더니 빌드 에러 Duplicate class, DuplicateRelativeFileException

안드로이드 샘플앱을 추가하였더니 빌드에러가 났다. DuplicateRelativeFileException Duplicate class com.google.protobuf.AbstractMessageLite 등등.. 해당 글의 답변 ! 안녕하세요. protobuf-java 와 protobuf-lite 의 충돌로 인한 문제로 보입니다. 앱의 build.gradle에 protobuf-java를 제외하고 실행을 시켜보셨으면 합니다. android { . . configurations { implementation.exclude module: 'protobuf-java' } } # 뭔가 다른 라이브러리와 충돌되는 것 같다. 해당 protobuf-java부분을 exclude하니 나는 해결되었다. 참조 : https..

텍스트뷰에 숫자가 길게 써있을 때 버벅 거리는 경우

문제 : 해당 텍스트뷰에 숫자가 길게 입력 되어있다 본문에 autolink 옵션이 적용되어 있습니다. autolink 적용된 옵션은 "web|email|phone|map" 입니다. 본문이 숫자로 길게 입력되어, phone 관련 처리하는 부하기 걸려 느리게 동작 해결을 하려면, autolink 를 제거 하거나 옵션을 줄여보는게 방법일 수 있으나, phone 이 있는 상태에서, 위 본문과 같은 숫자가 길게 입력된 경우는 동일한 문제가 발생될 것 같습니다.

Coroutine suspend function

코루틴은 일시중단이 가능하다. launch로 실행하든 async로 실행하든 내부에 해당 코루틴을 일시 중단 해야하는 동작이 있으면 코루틴은 일시 중단 된다. # suspend 사전적 의미로는 '중지하다'라는 뜻이다. coroutine에서는 시작하고, 멈추고, 다시 시작할 수 있는 함수라고 한다. suspend란 비동기 실행을 위한 중단 지점의 의미 즉, 잠시 중단(suspend)한다는 의미이고, 잠시 중단 후에 다시 시작(resume) 된다는 뜻 # Suspend function이 없다면? 하나의 thread가 block될 경우, 해당 thread는 다른 작업을 할 수 없는 block상태에 놓이게 된다. 즉, blocked 상태가 끝날 때까지 해당 thread는 중지 상태인 것. 하지만, suspend..