본문 바로가기

분류 전체보기310

Android Dokka를 통한 KDoc 문서화하기 정리 배경 작성된 코드를 문서처럼 팀에게 공유하고 싶을 때 Swagger처럼 가독성이 좋은 문서를 만들고 싶었습니다. 찾다보니 Android Dokka를 통해 Swagger처럼 문서화(KDoc)가 가능하다는 것을 알 수 있었고 이를 공유하고자 합니다. KDoc란 무엇일까? Kotlin 문서에서 KDoc를 다음과 같이 소개하고 있습니다. The language used to document Kotlin code (the equivalent of Java's Javadoc) is called KDoc. In essence, KDoc combines Javadoc's syntax for block tags (extended to support Kotlin's specific constructs) and Mar.. 2023. 4. 30.
ListAdapter의 submitList와 notifyDataSetChanged의 차이 정리 배경 최근 프로젝트를 진행하다 ListAdapter를 활용해 데이터가 추가되었을 때 RecyclerView가 갱신되는 화면을 구현했습니다. 하지만 submitList를 호출해줬지만 화면이 갱신되지 않아 어려움을 겪었는데 그 이유를 분석해보려 합니다. Layout의 경우 RecyclerView의 사이즈 변경에 대비해 wrap_content를 설정해준 모습입니다. 버튼 클릭 시 데이터를 submitList를 통해 adapter로 전달하고 있습니다. 문제 당시의 간략한 UI 구성은 다음과 같습니다. 문제점 분석 1. RecyclerView.Adapter와 ListAdapter 비교하기 일단 이 경우를 파악하기 위해 기존에 잘 동작했던 RecyclerView.Adapter와 ListAdapter를 비교해보.. 2023. 4. 28.
[Android] Toml은 무엇인가요? - Gradle Version 관리 개요 저는 주로 프로젝트에 BuildSrc와 kts를 주로 사용해왔습니다. 하지만 다른 프로젝트에 toml이 적용되어 있었고 저는 library를 추가하고 싶은데 libs.hilt 와 같은 형태로 되어있어서 어떻게 사용하는거지? 라는 생각이 들었고 이번 기회에 정리해보고자 합니다. Toml이란 무엇일까? TOML(Tom's Obvious Minimal Language)은 읽기 쉬운 최소한의 구성 파일 형식을 목표로 삼고 있습니다. TOML은 해시 테이블에 분명하게 대응되도록 설계되어있습니다. TOML은 다양한 언어로 된 데이터 구조를 쉽게 구문분석할 수 있어야 합니다 by https://toml.io/ko/v0.5.0 사이트에 다음과 같이 정의되어 있습니다. Android Developer 에서도 Mig.. 2023. 4. 12.
[Android] Sticky Header 만들기 정리 배경 프로젝트를 진행하며 특정 부분이 스크롤 됨에 따라 상단에 붙어 있어야 하는 기능들이 존재합니다. 이 때 간편하게 적용할 수 있도록 단계별로 정리해보고자 합니다. 저의 경우 아래 그림과 같이 배너 (가로 스크롤), 카테고리 (스크롤 시 상단 고정), 컨텐츠(ViewPagers 가로 스크롤 with 내부 RecyclerView)를 가진 형태를 기준으로 테스트해보겠습니다 Sticky Header 만드는 방법 1. 오픈소스가 존재합니다 구글에 StickyScrollView Github 라고 검색하게 되면 amarjain07님께서 만들어주신 StickyScrollView가 있습니다. 또한 사용법 역시 간단해서 빠르게 구현할 수 있습니다. https://github.com/amarjain07/Sticky.. 2023. 4. 9.
Java Swing 으로 만든 산성비 2023. 4. 9.
Java Swing으로 만든 한성 윷놀이 2023. 4. 9.
테크 스펙이란 무엇일까?? 정리 배경 현재 업무를 하다보니 문서화가 되어 있지 않은 코드를 보고 이해하는 것이 새로 들어온 동료들에게 그들의 리소스를 소비하게 만드는 것이라는 것을 느끼고 있습니다. 기존에 문서가 정리되어 있었다면 그들이 초기에 코드를 파악하는 시간을 줄여서 업무에 빨리 적응할 수 있도록 도울 수 있다고 생각했습니다. 그러면 이 문서화의 기준이 뭘까? 라고 고민하다가 테크 스펙을 찾게 되었습니다. (이 글은 뱅크샐러드의 테크 스펙을 정리하고 하나의 예시를 통해 설명하고자 합니다) 테크 스펙엔 뭐가 들어갈까? 저는 간단한 하나의 예시를 들고 그에 맞춰 상황을 써보려고 합니다. 현재 배포된 화면에서 특정 텍스트가 미노출되었다는 상황을 가정하고 작성해보겠습니다. 1. 요약 (Summary) 가장 먼저 테크 스펙을 세 줄.. 2023. 3. 24.
[번역] Android Development | Best Practices | by JGeun 해당 글은 공부를 위해 원본을 번역하였습니다. [원본 글] Android를 하면서 어떻게 개발을 해야하는지에 대한 방향성을 제시해줄 수 있을 것 같아 번역하게 되었습니다. Android development는 모바일 개발 시장에 계속 지배하고 있습니다. 재밌는 프로젝트, 높은 보수, 그리고 수 많은 일자리 전망은 개발자들이 안드로이드 운영체제의 흥미로운 세계로의 여정을 시작하게 만드는 이유 중 일부일 뿐입니다. 일부 전문가들은 특히 코틀린의 추가와 구글의 정책 개선과 같은 최근 업데이트 이후로 안드로이드 기술을 배우기 더 없이 좋은 시기라고 말합니다. 안드로이드 개발을 한지 5년이 지났고, 새로운 것을 배우지 않은 날이 단 하루도 없었습니다. 세월이 흐르면서 제가 깨달은 것은 다음과 같습니다. 단지 코드.. 2023. 3. 5.
[LeetCode] 변경된 UI에 따른 LeetHub 미동작 해결방법 개요 LeetHub는 설치 후 레포를 연동하면 이후 leethub문제를 풀 때 자동으로 커밋하여 기록을 남겨준다. 하지만 LeetCode UI가 변경 됨에 따라 다른 조치가 필요하게 되었습니다. 다른 블로그들에서는 이전 UI로 변경해서 사용하는 방법도 있었는데 저는 조금 다른 방법을 소개하고자 합니다. 연결 방법 1. 터미널에서 아래 명령어들을 입력해줍니다. // 원하는 폴더로 이동 cd ~~ git clone https://github.com/Ahmed-Shukri02/LeetHub.git cd LeetHub git checkout patch_1 2. 크롬 익스텐션에 추가하기 1) chrome://extensions로 이동 2) 우측 상단에 "개발자 모드"를 킵니다. 3) 좌측 상단에 있는 "압축해제된.. 2023. 2. 27.