안녕하세요!오늘은 Modern Collection View 라는 것을 사용해보겠습니다.Modern Collection View란?Collection View는 아마 다들 접해보셨을텐데 Modern Collection View는 무엇이 다를까요? 공식문서를 통해 봤을 때 특징은 다음과 같습니다. - iOS 14.0+- Compositional layouts 사용- Diffable data sources 사용- 심플하게 UI 업데이트가 가능합니다. 그렇다면 Compositional layouts과 Diffable data sources은 무엇일까요?Compositional layoutsCompositional layouts은 UICollectionViewLayout 타입으로아래 그림처럼 Section, G..
ProjectWithGitAPI안녕하세요!이전에 혼자 Git API를 이용한 작은 프로젝트를 진행했습니다.당시에는 MVVM 아키텍처로 구현하려고 했는데....진행하다 보니 스스로 아키텍처 패턴에 대한 이해가 낮은 게 느껴지더라구요. 그래서 아키텍처 패턴을 다시 학습하고!동일한 기능을 다양한 아키텍처 패턴으로 구현하는 프로젝트를 진행하려고 합니다.(최대한 아키텍처 패턴을 준수하도록 신경 쓰면서 코드를 짰습니다.) 해당 프로젝트가 규모는 작아도 Rest API, 네트워킹, 이미지 Caching, 페이징 처리,외부 라이브러리 사용 등등 배웠던 기술들은 거의 다 적용되었습니다.그래서 ProjectWithGitAPI 라는 이름으로 아키텍처 패턴을 공부하기 위한 프로젝트로 채택하게 되었습니다.(MVVM 패턴 정리 ..
이전에 진행한 프로젝트에서 멘토님의 추천을 받아 TBD 방식을 채택하여 개발을 진행하였습니다.혼자 작은 토이 프로젝트를 할 때에도 TBD를 적용하려고 이전에 어떻게 했었지? 생각하다가TBD 방식에 대한 이해 자체가 부족한 것은 아닌가 싶어서 반성하고 조금 공부해보았습니다! TBD란?언제든 릴리즈 가능한 Trunk(or Main) 브랜치 위주의 작업 Flow 이름 그대로 단일한 브랜치(Main or Trunk) 위주로 작업을 하는 Work Flow입니다. 다른 Flow와 무엇이 다른가? 한다면세부 브랜치 없이 단일한 브랜치(Main or Trunk)에 수시로 병합(merge)한다는 점이 가장 큰 특징일 것 같습니다. 아래의 그림처럼 별도의 브랜치에서 작업할 경우 main 브랜치에 병합할 때 마다 작업량이 ..