2021.04.29 TIL ⬇️

Jackson·2021년 4월 29일
0

TIL(Today I Learned)

목록 보기
30/42

생각해보자. 이 길이 과연 맞는 것인지

기초가 아직 많이 부족한거같다 🙉

2번째 프로젝트를 진행하는 도중에 생기는 많은 부분들을 이해하는데 참 시간이 많이 걸린다고 생각했다. 내가 구연하지 못한 부분을 어물쩡 이해하려고 하니 기초가 안되어있어서 계속 헷갈리고 결국 다시 첫장을 보게된다. 물론 공부라는게 그렇지만 이런 일이 반복되다보니 기초실력이 부족하다는 점을 많은 깨닫는 하루다.

Error Handling! 너가 문제구나. 😾

Realm DB를 사용하다보니 일단 구현에 급급하다보니 MVVM 구조에 위반하는 중대한 실수를 하고 있었다.

ViewModel에서 Database layer를 알아챈점.

내가 공부한 클린 아키텍쳐에서는 DB쪽은 훨씬 더 위의 계층으로 ViewModel은 DB가 있는지 없는지 아예 몰라야되는데, Realm학습하면서 접목하려다보니 ViewModel이 Realm을 알고 있었다. 그래서 그 부분을 구현하려다 보니 UseCase에서(이것도 사실 Repository가 담당하는 것을 친구덕분에 알았다.) DB를 관리해줘야 하는데 네트워크매니져와 겹치다보니 파고파다보니 네트워크 핸들링이 구성이 안되어 있었다. 이걸 어떻게 처리하는지를 모르니(특히 비동기여서 print()를 써도 나오지 않는다) 몇시간째 삽질을 하고 있었다.

우연찮게 찾아본 Result<T,E> 를 이용해 @escapingHandler 관리를 할 수 있었고, 이로 인해 결국 네트워크가 됐을 때와 안됐을 때를 case로 찾을 수 있었다.

이 부분에 대해서 팀원과 내 친구 둘 다 case 쓰면 되지않어? 라는 말에 어떻게 써야하는지 자체를 몰라서 난감해 했는데 새벽 2시가 다 돼야 겨우 풀이법을 알았다. 이번기회로 Error Handling에 대해서 알게 되어서 다행이다.


결론

  • "아 몰라" 하면 결국은 회귀하더라

0개의 댓글