
1. 안드로이드 리사이클러뷰와 그리드 레이아웃 매니저를 이용한 해상도별 item 그리기 프로젝트를 진행하며 마주친 문제인데, 리사이클러 뷰 에서 여러 종류의 아이템(헤더, 아이템카드, 푸터)을 뿌려주고 있는 상황이며, 가이드로 나온 디자인은 특정 해상도에서 아이템 뷰를 다르게 보여주기를 원하고 있었습니다. 아래는 디자인 가이드 예시 입니다. 리사이클러 내부에 들어가는 아이템이 한 가지 종류가 아니라 위 디자인 가이드를 보시면 알겠지만 최 상단에는 타이틀 헤더(Header)가 최 하단에는 푸터(Footer)가 붙어있는 상황입니다. 기본적으로 사용하고 있었던 LinearLayoutManager 를 걷어내고 GridLayoutManager 를 사용해야 함은 얼추 알고는 있었는데, 아이템 타입이 여러개 일 때는..
First-party tooling 🧐 Exploring Android KTX Android KTX는 Android 프레임워크 및 Jetpack을 위한 다양한 확장 세트입니다. 그는 Android KTX 확장 자체가 Jetpack의 일부이며 간단한 Gradle 종속성으로 프로젝트에 추가할 수 있습니다. Android KTX에서 제공하는 기능은 확장 기능 및 고차 기능과 같은 기능을 활용하여 Android API를 보다 Kotlin 관용적으로 만드는 것을 목표로 합니다. 종속성을 보다 가볍게 만들기 위해 Android KTX는 제공하는 기능에 따라 여러 개의 작은 종속성으로 나뉩니다. 그 중 일부는 다음과 같습니다. Core KTX Fragment KTX SQLite KTX ViewModel KTX Nav..
Better companion companion object 는 바깥 클래스(enclsosing class) 에서 메서드나 프로퍼티를 접근할 수 있게하는 효율적인 방법입니다. 약간 Java 의 Static 느낌이라고 할 수도 있습니다. 하지만, companion object 를 자바에서 참조할 떄는 살짝 복잡할 수 있습니다. 그럼 어떻게 효율적으로 사용할 수 있는지 알아봅시다. 어떻게 companion object 가 동작할까 코틀린 클래스에 컴패니언 객체가 선언되면 컴파일러는 컴파일 때 명명된 내부 클래스를 생성하게 됩니다. 아래 코드는 빈 컴패니언 객체를 사용했습니다. class Widget { companion object { } } 앞의 코드에 의해 Java 코드가 컴파일러에 의해 생성되면 아래와..

1. Google Developers Jetpack Compose Codelab 2021 이번에 GDG Korea Android 에서 진행했던 행사인 DevFest 2021 Android Compose 코드랩 행사를 참여한 후기를 기록한다 Jetpack Compose 는 네이티브 UI 를 빌드하기 위한 Android 의 최신 툴킷으로, UI 개발을 간소화하고 가속화할 수 있다. 위에서 처럼 compose 는 즉 UI 를 기존 보다 쉽게 디자인, 개발, 빌드 할 수 있는 최신 라이브러인데, 기존 성능문제를 해결하면서도 쉬운 개발이 가능한.. 그런 멋진 녀석이다. (여기서는 보다 자세한 설명은 생략한다) 최근 이직하게된 회사에서 안드로이드 앱 개발 직무를 맡고 있기도하고 평소에 관심이 많은지라 이번 행사의 ..

1. 네이버 피싱 메일 주의 ⚠ 새로운 환경에서 접속이 시도되었습니다 얼마전 부터 "네이버 메일로 새로운 환경에서 접속이 시도되었습니다." 라는 메일이 한달에 한번 정도 주기적으로 오는 것을 발견했다. 네이버 메일 앱에서 알림이 떠서 확인을 해보면 아래와 같은 메일을 확인할 수 있는 경우다. 정말 교묘한 것이 보낸사람 이름 자체가 네이버알림이다. 그리고 새로운 환경에서 네이버 로그인을 할 때마다 항상 위와 비슷한 메일을 받았기 때문에 아무 의심없이 진짜 네이버에서 알림을 보냈다고 생각했고, 해외에서 내 아이디가 유출되어 누군가 접속한 것이라고 생각했다. 그래도 나는 2차 인증까지 해두었기 때문에 2차 인증이 오지 않은 것을 봐서는 로그인이 시도에서 그쳤다고 생각했는데 잘 생각 해보니까 사실 피싱 메일이라..