이번 프로젝트는 RxSwift를 처음으로 적용한 프로젝트였다. 처음에는 익숙하지 않은 문법과 개념으로 개발하는데 어려움이 있었지만, 조금씩 익숙해지면서 프로젝트를 마무리 할 수 있었다. Book2OnNon를 개발하게 된 이유Book2OnNon를 개발하게 된 이유는 RxSwift를 공부하면서 개념적인 부분은 이해했지만 실전에서의 활용 방법에 대한 어려움이 있었기 때문에, 실제 프로젝트에서의 적용 경험이 필요했다. 이를 위해 이번 프로젝트를 시작하게 되었다. 앱 소개📆 개발 기간24.03.11 ~ 24.05.16 ⚽️ 목표1. RxSwift와 친해지기➡️ 프로젝트를 통해 RxSwift를 이해하고 익숙해지기.2. 연산자 이해하기➡️ RxSwift에는 정말 많은 연산자가 있다. 직접 사용해보면서 이해하기.3..
책을 추가하기 위한 View이다. 위의 View를 구성하기 위해서는 많은 UI Component가 필요한데, ViewController에서 모든 UI Component를 Code로 작성하면 코드가 길어져 가독성이 떨어질 뿐만 아니라 유지보수에도 어려움이 있다. 그래서 나는 View를 모듈화 하여 상위 ViewController에서 View Component를 생성해서 사용하도록 구현했다. 문제점 문제는 하위 View의 UI Component는 private로 선언되어있기 때문에 상위 ViewController에서 직접적으로 하위 View의 UI Component에 접근할 수 없고, ViewModel의 Output 값을 하위 View에 Bind 할 수 없다는 것이다. 생각하기 ✅ 하위 View의 UI Co..
Book2onNon는 알라딘 도서 API(알라딘 Open API 매뉴얼)를 사용하고 있다. 알라딘 도서 API는 QueryPram으로 Start(검색결과 시작페이지), MaxResults(검색결과 한 페이지당 최대 출력 개수)를 전달할 수 있다. 이는 개발자가 검색 결과를 한번에 다 받을지, 나누어 받을지 결정할 수 있음을 의미한다. ➡️ 검색 결과의 수가 적다면 문제가 되지 않겠지만, 검색 결과가 몇 백 ~ 몇 천 단위이면 앱에서 처리하는데 과부화가 발생할 수 있다고 판단이 되었고, Book2onNon에서는 MaxResults를 10으로 지정하여 한번 검색 요청 시 10개의 데이터만 받아도록 했다. 문제는 "그럼 나머지 검색 결과 값은 어떻게 처리할래?" 였다. 내가 생각한 가장 좋은 방법은 무한 스크..