본문 바로가기

IT/Android

8/23 read post

728x90
반응형

1.

출처 : https://medium.com/proandroiddev/android-custom-view-level-1-67ed1c3febe1 , https://proandroiddev.com/android-custom-views-level-2-7a0f110a2ce9, https://proandroiddev.com/android-custom-view-level-3-81e767c8cc75

제목 : Android Custom View Level 1 Basic Terms and Creation of Custom View, Android Custom Views Level 2 AttributeSet, Android Custom View Level 3 View Life-Cycle

요약 : custom view 에 관해서 3단계에 걸쳐 1편에서는 용어와 custom view 의 생성자에 관해서, 2편에서는 attributeSet 이 무엇인지 여기에 포함되는 속성은 무엇인지 속성 정의는 어떻게 하는지, 3편에서는 어떤 life-cycle(onMeasure->onDraw까지)을 가지고 그리게 되는지에 대해서 설명합니다.

 

2.

출처 : How to avoid typo-fueled bugs when working with time

제목 : How to avoid typo-fueled bugs when working with time

요약 : 시간과 관련된 상수를 사용할 때 시간 상수의 오타로 인한 문제는 발생하기 쉽고 발견하기가 어렵습니다. 이에 대한 해결방안으로 java.util.concurrent.TimeUnit 을 사용하거나 변수 이름에 시간 단위를 포함하거나 밑줄을 사용해서 0의 단위를 쉽게 파악하거나 주석을 통한 방법을 설명합니다.

 

3.

출처 : https://medium.com/oheadline/lets-scroll-to-the-created-item-on-recyclerview-inside-nestedscrollview-23fa8700a200

제목 : Let’s scroll to the position of the posted item, which just created by a user, on the list using RecyclerView inside NestedScrollView.

요약 : NestedScroolView 안에 ReyclerView 에서 댓글을 달았을 때 댓글이 있는 위치로 스크롤을 이동시키는 법을 코드 와 동영상으로 설명합니다. 이 방법은 list item이 재배열 될 수 있는 경우 유용하다고 설명합니다.

 

4.

출처 : Threading models in Coroutines and Android SQLite API

제목 : Threading models in Coroutines and Android SQLite API

요약 : room 에서 transaction 과 코루틴을 사용할 경우에 교착상태에 빠지는 것을 설명합니다. transcation 은 하나의 스레드만을 허용하고 코루틴은 같은 코루틴이라도 반드시 하나의 스레드에서만 실행되지 않기 때문에 실행도중 transaction 도중 바뀐 스레드의 코루틴을 block 하여 교착상태에 빠지는 것을 설명합니다. 이에 대한 해결방안으로 커스텀하게 transaction api 를 구현하여 해결하는 방법을 소개합니다.

선정 : transaction 과 코루틴 사용시에 주의해야 하는 부분이라 선정합니다.

 

5.

출처 : Notifications in Android — Everything You Need to Know

제목 : Notifications in Android — Everything You Need to Know

요약 : notification 이 무엇인지, 구성은 어떻게 이루어져있고, 채널은 무엇인지, notification importance 는 무엇인지에 대해서 설명합니다. 그리고 버전별 제약사항에 대해서 설명합니다. custom notification 및 notification 의 구현에 대해서는 다루지 않습니다. standard notification template 에 대해서만 설명합니다.

 

6.

출처 : KSP for Code-Generation

제목 : KSP for Code-Generation

요약 : KSP 를 사용하여 코드를 구현하는 법에 대해서 설명합니다. KotlinPoet 을 사용하여 stringBuilder 나 다른 수동 방법보다 체계적인 방법을 사용합니다.

 

7.

출처 : https://proandroiddev.com/dont-use-livedata-in-repositories-f3bebe502ed3

제목 : Don’t use LiveData in Repositories

요약 : repository 에서 liveData 를 사용하며 db 나 서버에서 data 를 가져와서 변환하는 경우에 liveData 의 map 을 사용해서 변환하는데 이 경우 liveData 를 메인스레드에서 옵저빙하므로 메인스레드에서 data 변환이 이루어져 liveData 대신 flow 를 사용하라는 대안을 제시합니다. 하지만, 댓글에서는 liveData 의 사용보다 먼저 문제가 되는 것은 도메인 레이어에서 데이터를 가져오는 부분을 분리하지 않고 바로 liveData 에 넣어주는 부분이 문제라고 지적합니다.

 

8.

출처 : Kotlin: Known Unknowns

제목 : Kotlin: Known Unknowns

요약 : scoped function 이 어떻게 동작하는지, 데이터 클래스에 왜 DefaultConstructorMarker 인자가 추가 되는지, Unit 과 Nothing 은 어떤 차이가 있는지에 대해서 설명합니다.

 

9.

출처 : How to write Scalable and Robust Code? Real-life coding examples.

제목 : How to write Scalable and Robust Code? Real-life coding examples.

요약 : 확장 가능한 코딩과 강력한 코딩을 하려면 어떻게 해야 하는지 예를 들어서 구체적으로 설명합니다. 강력한 코딩을 위해서 대안책을 마련한다거나, 테스트 케이스를 작성하거나 등 발생할 수 있는 예시와 그에 대한 해결책을 제시합니다.

 

10.

출처 : Android WebView Hacking — Enable WebView Debugging

제목 : Android WebView Hacking — Enable WebView Debugging

Android WebView 가 무엇인지 설명하고 webview 를 해킹하는 2가지 방법을 소개합니다. 하나는 디컴파일 하고 smali 코드를 직접 수정해서 다시 컴파일하고 사이닝해서 사용하는 방법이고 , 다른 하나는 Frida 해킹앱을 사용해서 스크립트를 사용하는 방법입니다.

 

소요시간 : 4시간 30분

728x90
반응형