이번 주차는 잠을 줄이고 개발을 하자는 식으로 했다.
비몽사몽결에 작성해도 내가 뭘 했는지 놓치지 않기 위해 주석을 최대한 많이 작성하도록 노력 했으며
북마크 기능을 사용하여 이전 코드간의 비교와 관계성에 대해 생각하게 되었다.
1. database
database를 담당하여 많은 우여곡절이 많았다.
비동기 실행에 의해 scope를 맞추는 과정에서 잘못된 생각들을 많이 했는데, 해당 부분은 캡슐화를 하는 과정을 거치지 않아서 생긴 문제다.
repository에 비즈니스 로직을 작성하여 모두 susspend fun임에도 불구하고 viewmodel에서 함수 하나하나를 끊어서 사용하여 동일한 scope안에 들어가지 못하였다.
내가 원했던 방식은 같은 scope안에서 작동을 해야 제대로 동작을 하는 로직인데 말이다.
따라서 coroutine과 scope에 대해 좀 더 공부할 필요성을 느꼈다.
2. 생각의 확장
지금까지 단편적인 조각조각을 모았더라면, 지금은 지금까지 해온 지식들을 이어붙여서 구현을 해봐야 하는 단계가 분명하다. list로 넣지 못한다면 굳이 list로 넣을 필요 없이 json으로 넣으면 된다는 사실을 잊지 말아야 할 것이다.
viewmodel을 observe하면서 해당 값이 바뀔 때 마다 전환을 해주며, init{}을 사용하여 역직렬화한 값을 각 리스트에 뿌려주면 되는 일이 아닌가.
이에 대한 생각을 제대로 거치지 않고 무조건 데이터 테이블간의 join만을 생각했던 것을 보면 한 가지에 너무 몰두할 필요는 없었다고 생각한다.
오히려 너무 집중한 나머지 시야가 좁아지는 사태가 발생한 것이다.
몰두하는 것도 좋지만, 지금 단계에서는 어느정도의 중간 중간 짧막한 휴식을 통해 생각을 리프레쉬 할 필요가 있다는 것을 깨달았다.
다른 정보를 보지 않고 조용히 아무것도 보지 않는 시간을 주기적으로 가진다면 자연스럽게 생각이 정리되고 다른 파편들과 이어져 사진이 아닌 필름처럼 생각이 확장될 것이다.
휴식도 필요하다.
'개발노트' 카테고리의 다른 글
파이널 프로젝트 3주차 4일 (0) | 2023.10.26 |
---|---|
파이널 프로젝트 3주차 1일 (0) | 2023.10.23 |
룸 데이터베이스 템플릿 관리하기 및 유저 사용측면 고려 (0) | 2023.10.21 |
5주차를 끝내며 (0) | 2023.08.13 |
4주차 2일 안드로이드 입문 (0) | 2023.08.01 |