본문 바로가기

전체 글19

[Android] Room을 활용해 Android 오프라인 캐시 구현 목차. 1. offline cache를 개발하게 된 계기 2. 왜 캐싱에 Room을 사용해야 할까? 3. Room을 활용해 offline cache 구현하기 4. offline cache 개발 후기 안녕하세요 :) 오늘은 안드로이드 Room을 이용한 오프라인 캐시에 대해 얘기해 보겠습니다. 로딩 애니메이션을 좋아하는 사람은 아무도 없습니다. 우리는 좀 더 나은 사용자 경험을 제공하기 위해 오프라인 캐시를 사용해야 합니다. 데이터를 로컬로 유지하는 것은 여러 가지 면에서 유리하게 작용됩니다. 많은 데이터를 처리할 때 캐싱을 통해 응답 속도를 개선할 수 있고, 또 사용자가 네트워크에 액세스 할 수 없는 상황에서 오프라인 상태로 계속 콘텐츠를 탐색할 수 있게 해줍니다. offline cache를 개발하게 된 .. 2022. 12. 6.
[Android] Service를 활용한 Timer 개발 목차. 1. Android Service란? 2. Service 생명주기 3. Service를 활용해 Timer 개발하기 4. Service 개발 후기 Android Service란? 안드로이드 4대 컴포넌트(Activity, Service, BroadCast Receiver, Content Provider) 중 하나로 백그라운드 작업을 위한 구성 요소입니다. 서비스의 종류에는 크게 세 가지가 있습니다. 1. Foreground 사용자에게 잘 보이는 몇몇 작업을 수행하며, 진행 상황을 지속적으로 보여줘야 하는 경우에 사용합니다. 예를 들어 음악 앱에서 음악을 재생할 때 또는 러닝 앱에서 달리기를 할 때 사용됩니다. 포그라운드 서비스는 Notification을 사용하여 실행 중인 작업을 사용자에게 반드시 .. 2022. 11. 30.
MVP 앱 개발 목차. 1. MVP란? 2. MVP 개발 계기 3. MVP 개발 과정 4. MVP 개발 후기 1. MVP란? MVP ( Minimum Viable Product) 최소 비용으로 시장의 가능성을 확인하는 효율적인 방법 『린 스타트업(The Lean Startup)』의 저자 에릭 리스(Eric Ries)의 말에 의하면 MVP는 최소한의 노력과 개발 공수로 완성할 수 있는 제품을 말합니다. 즉 최소한의 리소스로 고객의 피드백을 얻고, 쉽게 이를 제품 개발에 반영할 수 있도록 설계된 제품 또는 서비스라고 할 수 있습니다. 완전한 제품을 구축하기 위해서 많은 시간과 돈을 투자하지 않고도 제품의 아이디어를 검증 MVP 개발은 빠르고 간결한 프로세스를 보장함으로써 재무적 위험을 최소화할 수 있습니다. 제품과 사용자의.. 2022. 11. 6.
[Android] 앱 아키텍처 설계 이 글은 원격 진료 프로젝트의 안드로이드 아키텍처 설계를 정리한 내용입니다. 아키텍처 설계의 필요성 그동안 여러 프로젝트를 개발하며 기획이 중간중간 변경되는 경우가 빈번했고 그때마다 코드 대공사를 거쳤습니다. 배포 후 유지 보수는 산 넘어 산이였습니다. 기획이 변경될 때 의존성 규칙 없이 꼬여 있는 코드는 수정할 부분이 매우 많았고 점점 복잡해졌습니다. 이로 인해 좋은 아키텍처 설계에 대한 고민을 하기 시작했습니다. 그동안의 경험을 바탕으로 어떤 조건이 필요한지 정리해 보았습니다. 1. 기능 변경, 확장에 유연할 것 2. 테스트가 용이할 것 3. 코드 간 의존성이 적을 것 4. 구조를 이해하기 쉬울 것 앱 아키텍처 설계 Robert C. Martin의 클린 아키텍처를 참고해 구조를 설계했고 디자인 패턴은.. 2022. 11. 3.
[Android] Sentry를 활용한 앱 에러 트래킹 및 모니터링 목차. 1. Sentry 2. Sentry 안드로이드 연동 3. Sentry를 사용한 에러 트래킹 4. Slack으로 Sentry알림 받기 5. Sentry 도입 후기 앱에서 발생하는 오류는 개발자 도구 콘솔에서 확인하거나 오류가 발생한 사용자 디바이스와 동일한 환경에서 재현하며 원인을 파악할 수 있습니다. 하지만 사용자 디바이스는 워낙 다양하며, 오류가 발생한 환경조차 파악하기 쉽지 않습니다. 또한 개발자 도구에서 테스트가 성공하더라도 실제 사용자 환경에서 예상치 못한 에러가 발생할 수 있으며, 사용자 에러 발생 시 사용자가 리뷰를 달지 않으면 에러 발생 사실조차 모를 수 있습니다. 사용자 경험을 제대로 파악하며 오류를 개선하고 비즈니스 연속성을 유지하기 위해서는 모니터링 도구를 사용해야 합니다. 이전.. 2022. 10. 29.