Keep
: 이번 챕터에서 진행한 과정 중 다음에도 유지했으면 하는 부분유지했으면 하는 부분
UI를 간결하고 직관적으로 디자인 한 점과 사용자 중심으로 레이아웃을 구성한 덕분에 앱이 보기 쉬웠습니다.
팀원들과의 원활한 의사소통과 코드리뷰를 꾸준히 진행했기에 협업의 질을 높일 수 있었습니다.
RxSwift를 활용해서 네트워크 요청과 UI업데이트를 효율적으로 처리했는데 특히 비동기 작업의 흐름을 간결하게 관리할 수 있어 코드 가독성도 높일 수 있었습니다.
잘한 점
앱의 주요 기능인 날씨 정보를 실시간으로 업데이트 될 수 있도록 구현한 점
Moya와 Codable을 조합해서 네트워크 계층을 좀 더 체계적으로 설계할 수 있던 점
snapkit 을 사용해서 AutoLayout을 효율적으로 구성한 점
Problem
: 이번주 진행하면서 겪은 문제점, 어려웠던 점문제점
섭씨 화씨 변경 로직이 중복으로 실행되다보니 잘못된 결과가 나타남. 단순히 단위를 변경했을 뿐인데 이미 변경된 값이 또다시 변환되어 데이터가 일관성을 잃었다.
UICollectionView의 cell 특성을 제대로 알지 못하여 원하는 기능을 제대로 구현하지 못했던 점
해결 방안
현재 상태와 사용자 요청을 비교해서 필요할 때만 로직을 실행하게 변환조건을 추가해보기. 예를 들면 현재 단위와 변환 대상 단위가 같으면 변환하지 않고 유지 시키는 중첩을 방지하는 메서드를 추가하기
프로젝트 시작 전에 UICollectionView의 구조와 cell의 재사용 방법에 대해 공부해보고 관련 예제를 참고해서 특성과 동작 방식을 확인해보기
Try
: 이런 시도도 해보면 좋지 않을까?깃헙의 이슈기능으로 마일스톤을 대체할 수 있다는걸 알게되었는데 다음번 프로젝트에는 사용해 보고싶다.
화면 전환이 사용자로써 어색한 부분은 출시된 기본 앱을 많이 보고 학습하면 좋을것 같다.
테마 변경 기능을 넣어서 다크모드 및 사용자 지정 색상을 지원해보고 싶다.
Feel
: 이번 챕터에서 느낀 점Moya를 사용하면서 네트워크 계층을 모듈화 시키고 그 과정에서 가독성이나 재사용성을 높였던 부분이 좋았다.
네트워크 작업을 페어프로그래밍을 통해 담당해보면서 API 호출부터 데이터 파싱까지 정리하는 흐름이 눈에 보였고 익숙해지는 느낌이 들었다.
이번 프로젝트를 통해서 협업의 중요성과 초기 설계의 중요성도 알게 되었다.
Moya와 RxSwift를 활용한 네트워크 계층의 구조화를 더 공부해보고 재사용 가능한 모듈을 혼자서 만드는 연습을 해보고 싶다.