Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

반응형

전체 글 726

오늘의 개발일지: 웹 스크래핑 삽질에서 모듈화까지(ft Python)

오늘의 개발일지: 웹 스크래핑 삽질에서 모듈화까지 작성일: 2025년 10월 28일🚀 오늘의 목표: Daum.net 최신 뉴스, Python으로 가져오기!오늘의 목표는 Python을 이용해 Daum.net의 최신 주요 뉴스를 가져오는 것이었습니다. 이 기능을 구현하기 위해 requests 라이브러리로 웹페이지에 접속하고, BeautifulSoup 라이브러리로 HTML에서 원하는 정보를 추출하는 '웹 스크래핑(Web Scraping)' 기술을 사용하기로 했습니다.🚧 1차 시도와 교훈: 웹사이트는 살아있다!처음에는 Daum 뉴스 페이지의 HTML 구조를 예측해서 뉴스 제목을 가져오는 코드를 작성했습니다. 하지만 웹사이트의 구조는 생각보다 자주 바뀌더군요. 제가 사용했던 CSS 선택자(Selector)가 ..

🐍 Python | PC에 흩어진 .whl 파일, 한 곳으로 모으는 자동화 스크립트 개발기

🐍 Python | PC에 흩어진 .whl 파일, 한 곳으로 모으는 자동화 스크립트 개발기 📅 개요 (Intro)날짜: 2025.10.26목표: 여러 프로젝트와 폴더에 흩어져 있는 .whl(휠) 파일들을 하나의 지정된 폴더로 모아주는 Python 스크립트를 개발하여 라이브러리 관리를 효율화한다.기술: Python, os 모듈, shutil 모듈🧐 문제 정의 (Problem / Motivation)Python으로 여러 프로젝트를 진행하다 보니 가상 환경(venv), 다운로드 폴더 등 PC 곳곳에 .whl 파일들이 쌓이기 시작했습니다. 특정 라이브러리의 구버전이 필요하거나 오프라인 환경에서 설치해야 할 때, 이 파일들을 찾아 헤매는 일이 잦아졌습니다.수동으로 *.whl을 검색해서 일일이 옮기는 것은 너..

습관관리 앱 : 개발 일기, 인앱 업데이트, 코드 최적화, 그리고 험난했던 Gradle 플러그인 설정기

습관관리 앱 : 개발 일기, 인앱 업데이트, 코드 최적화, 그리고 험난했던 Gradle 플러그인 설정기 오늘의 목표: 사용자를 위한 편의 기능 추가와 Play Store 출시 준비!오늘은 앱에 두 가지 중요한 기능을 추가하고 출시 준비를 하는 날입니다. 하나는 사용자가 앱을 항상 최신 버전으로 유지할 수 있도록 '인앱 업데이트' 기능을 구현하는 것이고, 다른 하나는 출시를 위해 앱 용량을 줄이고 코드를 보호하는 '최적화' 작업입니다. 그리고 이 과정에서 예상치 못한 Gradle 플러그인 설정이라는 큰 산을 만났습니다. 그 험난했던 여정을 기록해 봅니다.1. In-App Update 구현하기사용자가 Play Store에 직접 방문하지 않아도 앱 내에서 업데이트를 확인하고 설치할 수 있게 하는 것은 사용자 ..

습관 관리 앱: 개발 일기, 광고 페이지 성능 개선 및 UI 리팩토링

습관 관리 앱: 개발 일기, 광고 페이지 성능 개선 및 UI 리팩토링 오늘은 기존에 구현했던 쿠팡 파트너스 API를 연동한 광고 페이지의 성능을 개선하고 전반적인 코드 구조를 다듬는 작업을 진행했다. 사용자가 앱을 더 쾌적하게 사용할 수 있도록 만드는 데 초점을 맞췄다.1. API 데이터 로컬 캐싱으로 성능 개선기존 광고 페이지는 화면에 진입할 때마다 네트워크를 통해 쿠팡 API를 호출하는 방식이었다. 이로 인해 이미지 로딩 시간이 길어졌고, 네트워크 상태가 좋지 않으면 사용자 경험이 저하되는 문제가 있었다. 이를 해결하기 위해 Room 데이터베이스를 사용하여 API 응답을 로컬에 캐싱하는 방식으로 변경했다.1.1. Room Entity 및 DAO 설정먼저 API 응답 데이터 클래스인 `BestProdu..

습관관리 앱 : Jetpack Compose 광고 페이지 개발 및 성능 개선기

Jetpack Compose 광고 페이지 개발 및 성능 개선기 오늘은 기존 습관 기록 앱에 쿠팡 파트너스 API를 연동하여 광고 상품을 보여주는 페이지를 개발하고, 사용자 경험을 개선하기 위해 이미지 로딩 성능을 최적화하는 과정을 거쳤습니다. 이 글에서는 전체 개발 과정과 마주쳤던 문제들, 그리고 해결 방법을 공유합니다.1. ViewModel 상태 관리 및 API 연동가장 먼저, API 통신 결과를 UI에 효과적으로 전달하기 위해 ViewModel에서 상태 관리를 구현했습니다. API 요청 상태를 Loading, Success, Error로 나누어 관리하는 AdProductState Sealed Interface를 정의하고, 이를 StateFlow로 UI에 노출시켰습니다.// MainViewModel.k..

습관관리 앱 구현 과정 : Jetpack Compose에서 TopAppBar 구현 과정, 동적 버전 표시 및 웹 연동

습관관리 앱 구현 과정 : Jetpack Compose에서 TopAppBar 구현 과정, 동적 버전 표시 및 웹 연동 Jetpack Compose를 사용한 안드로이드 앱 개발 중, 사용자에게 일관된 경험을 제공하기 위해 공통 TopAppBar를 구현한 과정을 공유합니다. 이 글에서는 TopAppBar에 앱 아이콘, 동적으로 가져온 앱 이름과 버전, 그리고 외부 URL로 연결되는 정보 아이콘을 추가하는 방법을 단계별로 설명합니다.1. TopAppBar 구현 위치 결정: MainActivity처음에는 각 화면(HomeScreen)에 TopAppBar를 추가할까 고민했지만, 앱 전체의 일관성 및 확장성을 위해 MainActivity.kt의 MainScreen Composable 내에 Scaffold를 사용해 ..

습관관리 앱 개발 일지: 대규모 리팩토링 및 기능 추가

습관관리 앱 개발 일지: 대규모 리팩토링 및 기능 추가 오늘은 '습관 추가 화면' 수정이라는 커밋 메시지 뒤에 숨겨진, Habit 앱의 대규모 구조 개선 및 기능 추가 작업을 기록합니다. 데이터베이스 설계부터 MVVM 아키텍처 도입까지, 앱의 내실을 다지는 중요한 변경이 있었습니다.1. 데이터 레이어(Data Layer) 대규모 개편이번 작업의 핵심은 데이터 모델을 확장하고 안정성과 성능을 개선하는 것이었습니다.습관 기록 기능 추가사용자가 매일의 습관 실천을 기록할 수 있도록 HabitRecord 엔티티와 HabitRecordDao를 새로 추가했습니다. 이를 통해 '어떤 습관을' '언제' 실천했는지 저장할 수 있게 되었습니다.데이터베이스 통합 및 안정화기존에 AppDatabase와 HabitDataba..

습관관리 앱, 개발 작업 일지

습관관리 앱, 개발 작업 일지 1. 하드코딩된 한글 문자열의 strings.xml 이전앱 내 하드코딩된 한글 텍스트를 strings.xml로 이동하여 다국어 지원 및 유지보수성을 개선함. 2. AlertDialog를 MaterialDialog로 변경기존 AlertDialog를 com.afollestad.material-dialogs 라이브러리의 MaterialDialog로 교체.다이얼로그의 테마와 색상 문제를 해결하기 위해 theme 속성 및 color.xml을 활용하는 방법을 검토함.3. 다이얼로그 색상 및 테마 적용MaterialDialog에서 배경색 투명 문제 발생 시, theme를 지정하거나 color.xml의 색상 리소스를 활용하여 해결.MaterialDialog의 md_title_color 등..

습관관리 앱 사용자를 위한 사용자 설명서 (ver 1.0.1 기준, ft AI of Gemini)

이 앱은 사용자의 일상적인 습관을 관리하면 알림을 노출 시킵니다. 아직 기능은 그것뿐이라, 추가적인 기능 추가가 계속 하게 될 예정 입니다. 메인화면 (홈) 이 화면에서는 추가 메뉴에서 등록된 습관 목록이 나오고, '수정', '삭제' 아이콘을 사용할 수 있습니다. 수정 아이콘을 클릭 하면 선택한 습관 정보를 수정할 수 있습니다. 삭제 버튼을 클릭 하면 해당 정보를 삭제 합니다. 추가 (수정) 화면 이 화면에서는 홈 화면에서 수정으로 들어 오면 수정을 진행하며, 홈 화면에서 추가 메뉴를 통해 들어 오는 경우 새로운 습관 정보를 기록 합니다. 아이콘으로 습관을 선택할 수 있습니다. 아이콘 선택시 지정된 습관 이름은 변경이 가능 합니다. 다만, 아이콘을 다른걸 클릭 하면 다시 설정 될 ..

자작앱 설명서 2025.10.13

습관관리, 사용자 경험을 한 단계 위로 (개발 일지)

습관관리, 사용자 경험을 한 단계 위로 (개발 일지)오늘은 기존의 습관 관리 앱을 더욱 똑똑하고 사용자 친화적으로 만들기 위한 대규모 개선 작업을 진행했습니다. 사용자의 작은 피드백에서 시작된 아이디어들이 어떻게 실제 코드로 구현되고, 그 과정에서 어떤 기술적 문제들을 해결했는지 공유하고자 합니다.오늘의 핵심 개선 사항 요약🎨 **UI/UX 개선**: 아이콘과 요일 선택 UI를 더 명확하고 직관적으로 개선.⚙️ **핵심 기능 구현**: '요일 선택'과 '시간 선택'이라는 두 가지 핵심 기능을 새롭게 구현하고, 데이터베이스부터 UI까지 앱의 모든 계층을 수정.🔧 **리팩토링 및 안정성 확보**: 여러 번의 오류와 수정을 거치며, 코드에 남아있던 버그를 잡고 하드코딩된 문자열을 제거하여 코드의 품질과 안..

반응형