분류 전체보기
-
사용자 수면 시간 추적하기Android 2025. 8. 31. 21:15
안녕하세요. 오늘은 사용자의 수면 시간을 추적하는 원리에 대해 한번 소개해볼려고 합니다!1. 사용자가 잠든 시각 추적하기시스템 정보로부터 사용자가 잠든 시간을 추적해 볼 수 있습니다. 하나씩 살펴보겠습니다!1-1. 매니저 받아오기/사용 권한 받아오기val usageStatsManager = getSystemService(USAGE_STATS_SERVICE) as UsageStatsManager 안드로이드에서 getSystemService() 호출할 때, 어떤 종류의 시스템 서비스 객체를 얻고 싶은지 문자열 상수로 지정해줘야 합니다. USAGE_STATS_SERVICE 상수를 통해 앱 사용 통계 관련 서비스를 요청합니다. 이때, UsageStatsManager는 안드로이드에서 앱 사용 기록, 화면 사용 시..
-
UI 레이어란?Clean Architecture 2025. 8. 24. 22:00
안녕하세요~ 올해 새로운 취미를 가지고 싶어서 소설책을 조금씩 읽고 있어요!! 뭘 읽을지 몰라 무작정 유명한 것만 골라서 파과, 스토너, 구의 증명, 홍학의 자리, 급류 이렇게 다섯 권 읽었어요. 기억에 남는 책은 구의 증명 > 파과 > 홍학의 자리 > 스토너 > 급류 였던 것 같아요. OTT 중 쿠팡플레이에서 '파과'가 얼마 전까지만 해도 유료였다가 무료로 풀렸더라고요. 소설이랑 영화랑 무슨 차이가 있을까 궁금해서 보고 있어요. 아직 초반까지만 봤는데 원작(소설)이 훨씬 나은 것...같아요^^ 하.하.하 (개인적인 생각입니다) 댓글로 괜찮은 소설 있으면 추천해주세요😊 오늘은 클린 아키텍처의 마지막 레이어, UI 레이어에 대해 알아보겠습니다! 1. UI 레이어란?UI 레이어는 User Interface..
-
Presentation 레이어란?Clean Architecture 2025. 8. 17. 21:46
안녕하세요~ 여러분은 MBTI가 어떻게 되시나요? 저는 INTJ인데요. I를 제외하면 N성향이 제일 강하고, J는 노력형에 가까워요. T는 예전엔 그렇게 많이 높진 않다고 생각했는데 대학교 전공도 그렇고, 개발 공부가 꽤 영향을 주는 것 같아요. 참고로 전 F성향의 사람을 좋아해요. 가장 좋아하는 MBTI는 ENFP, INFJ고 그 다음으로 좋아하는 MBTI는 ESFP, ISFJ에요. 제일 존경하는 MBTI는 ESFJ구요🫠 본론으로 넘어가서 오늘은 안드로이드 클린 아키텍처의 Presentation 레이어에 대해서 알아보겠습니다! 1. Presentation layer의 역할프레젠테이션 레이어는 UI 레이어와 도메인 레이어 사이에 존재하는데요. 도메인 레이어의 UseCase를 사용하여 데이터를 가져와 ..
-
Local 레이어란?Clean Architecture 2025. 8. 10. 20:40
안녕하세요~ 주말에 '좀비딸'이라는 영화를 봤는데요. 좀비 영화인데 공포랑 코미디랑 같이 섞어서 재밌더라고요ㅎㅎ 감동적이면서도 비교적 가볍게 보기 좋은 영화였던 것 같아요. 저번주에는 데이터 레이어를 의존하는 원격 레이어에 대해서 알아봤었는데요. 오늘은 데이터 레이어를 의존하는 또 다른 레이어인 로컬 레이어에 대해서 알아보려고 합니다. 1. 로컬 레이어 정의와 구성요소로컬 레이어는 로컬 데이터를 저장하고 읽어오는 계층으로 DB, SharedPreferences, 파일 시스템으로 관리합니다. 로컬 레이어의 구성요소로는 DataSource Implementation, Database, Local model, Local Model Mapper가 있습니다. 하나씩 살펴보겠습니다. 2. DataSource Imp..
-
Remote 레이어란?Clean Architecture 2025. 8. 3. 20:06
안녕하세요 벌써 8월이네요! 여러분은 다음 생에 동물로 태어난다면 어떤 동물로 태어나고 싶나요? 저는 새로 태어나고 싶은데요. 그중에서도 비둘기도, 참새도 아닌 독수리로 태어나고 싶어요. 하늘을 훨훨 날아다니면서 자유를 만끽하고 싶네요. 오늘은 데이터 레이어(data layer)에 의존하는 원격 레이어(remote layer)에 대해 알아보려고 합니다! 1. 원격 레이어란?원격 레이어(remote layer)는 원격 서버와 통신하여 데이터를 주고받는 계층입니다. 데이터를 요청하거나, 요청에 대한 응답 처리 및 네트워크 오류 처리를 하게 됩니다. 이때 Retrofit이나 OkHttp같은 네트워크 라이브러리를 사용하여 API 호출을 관리하게 됩니다. 구성요소는 DataSourceImplementation,..
-
Data 레이어란?Clean Architecture 2025. 7. 27. 19:40
안녕하세요🙌 오늘 UMC x 구름톤 유니브에서 주관한 컨퍼런스에 참여하기 위해 공덕역 창업허브센터에 다녀왔어요. 연사님들로부터 30분씩 총 아홉 분의 강연을 들었는데요. SDK, Coil 라이브러리 외에도 "여러분의 아키텍처 안녕하신가요?" 라는 주제로 밥아저씨의 클린 아키텍처를 강연해주시더라고요. 레이어의 개수보다 의존 관계 및 방향이 중요하다는 점, 엔티티와 유즈케이스를 외부 관심사로부터 분리해야 한다는 점을 말씀하셨습니다. 또한 안드로이드는 compose, hilt/koin(DI), flow, coroutine 등 정형화된 구조를 딥다이브하는게 좋다고 하셨는데요. 공부하는 데에 있어 힘들지만 좋은 동기부여가 될 수 있었던 유익한 시간이었습니다. 오늘은 저번에 이어 클린 아키텍처의 도메인 레이어를..
-
Domain 레이어란?Clean Architecture 2025. 7. 20. 21:43
안녕하세요. 오늘 초복이네요 ^^ 비 온 뒤로 햇빛이 너무 강해서 우산을 양산처럼 쓰고 다니고 있어요. 오늘은 클린 아키텍처의 도메인 레이어에 대해 알아보고자 합니다. 먼저 저번에 보여드린 밥아저씨의 클린 아키텍처 그림을 한번 살펴보겠습니다! 밥아저씨의 클린 아키텍처에서 안쪽의 UseCases 와 Entities 가 위치하는 곳이 바로 도메인 레이어로 볼 수 있습니다. 도메인 레이어는 순수 비즈니스 로직과 앱의 핵심 규칙을 정의하는 영역입니다. 다른 어떤 레이어도 의존해서는 안되며, 어떤 외부 변경이 도메인 영역에 영향을 주면 안됩니다. 위의 클린 아키텍처 영역을 6개의 레이어(모듈)로 분리하면 아래와 같습니다. User Interface(UI) 레이어, Presentation 레이어, Domain 레이..
-
코루틴을 이해해보자! (기초 3편)Coroutines & Flow 2025. 7. 13. 22:37
안녕하세요~ 글의 도입부에는 내용의 딱딱함을 줄이고자(?) 다른 이야기로 시작하려고 해요. 저는 재수를 하고 정시로 대학에 왔어요. 1지망엔 통계학과, 2지망엔 생명공학과, 3지망에 정보융합학부(AI 관련 소프트 학부)를 넣었는데요. 1지망에서 예비 2번으로 떨어지고 2지망, 3지망 학교를 붙었는데 고등학교때 생명과학을 좋아했었지만, 뭔가 아예 새로운걸 배우고 싶은 마음도 있었어요. "컴퓨터? IT? 와 멋있고 신기하다!" 라는 단순한 호기심에 고민하다가 결국 3지망 대학에 최종 원서를 지원했었어요. 근데 4학년 중반쯤 돼서 돌아보니 "만약에 연극영화과에 갔으면 내 일상이 어떻게 달라졌을까?" 라는 생각이 문득 들어요. 아무래도 사람의 감정을 분석하고 표현하는 것 자체가 공부다보니 궁금하더라구요. 연극 ..