###### tags: `README` # 사전과제 ## 📑 개발환경 - Xcode 15.0.1 - 실기기 iPhone12Promax - 시뮬레이터 iPhone15pro, iPhoneSE - 최소버전 : iOS 15.0 <br> ## 🔑 핵심기술 - **`UI 구현`** - SwiftUI - **`비동기처리`** - Combine - DispatchQueue - **`로컬 푸시`** - UNUserNotification - **`실시간 데이터처리`** - Timer <br> ## ⚙️ 적용한 기술 ### ✅ 로컬 푸시알림 - 입/출금이 발생할 때, 로컬 푸시알림이 오도록 설정했습니다. ### ✅ 그래프 애니메이션 - 프로토타입에 요구된 애니메이션을 적용했습니다. - 그래프 탭시, 가장 높은 값을 표시하도록 설정했습니다. ### ✅ 폰트 적용 - 피그마에서 사용된 Poppins 폰트를 적용했습니다. <br> ## ⚠️ Trouble Shooting ### 🛠 로컬 리소스 용량 부하 - Mock데이터 양이 방대하여 어떻게 처리할지 고민했습니다. - 화면에 필요한 데이터만 받아오도록 offset을 적용하여 데이터를 불러왔습니다. - 비용이 많이드는 연산을 비동기적으로 처리하기 위해 DispatchQueue.global() 을 사용했습니다. - JSON Decoding 과정에 UI 끊김현상이 생겨 앱이 켜지고 바로 Decoding 하도록 처리했습니다. ### 🛠 그래프 데이터 정제 - 그래프의 x축 y축에 적용될 데이터에 대해 고민했습니다. - x축 단위를 day 단위로 정의했습니다. - y축의 값은 해당 일의 모든 expense액수를 더한 값, 모든 income을 더한 값 을 사용했습니다. <br>