-
Notifications
You must be signed in to change notification settings - Fork 5
221118_2주차회고록_S013
이번 주는 Swift 문법 보다는 프로젝트 세팅, 빌드 툴 같은 도구들을 새로 배웠던 것 같다.
- Cocoapods-binary-cache (다만, 스크립트 파일 작성후, 런타임 에러를 해결하지 못해, 우선순위를 미뤄 나중에 하기로 계획이다)
- Tuist (기술 공유때 배웠는데, Swift로 직접 프로젝트를 관리하여 좋을 것 같지만, 발표자께서도 배우는것이 쉽지 않고, Cocoapod을 사용한다면 좀더 많은 작업이 필요해, 여유가 없으면 추천하시진 않으셨다)
- App Icon 하나만 사용하기 (Single) (macOS는 미지원)
클린 아키텍쳐, MVVM, 코디네이터 등 디자인 패턴 개념 이해에 어려움을 겪었다. 특히, Coordinator와 UseCase의 역할을 가장 이해하지 못했고, UI도 키보드에서 AutoLayout을 다루는 것이 쉽지 않았다. RxKeyboard 프레임워크가 있지만, RxCocoa와 같이 사용하려 했지만, 그러지 못했다. (다만, 아키텍처는 멘토님께서 말씀하신 것 처럼, 책에 집중하는 것보다는, 좀 더 많은 예시 코드들을 많이 보면서 이해를 해봐야 할 것 같다.)
키보드 문제를 포함하여, UI는 뷰 라이프 싸이클과, AutoLayout에 대한 개념을 한번 직접 그림도 그려보고 문서화를 하면서 개념을 먼저 제대로 짚어야 할 것 같다. 안그러면 멘토님께서 말씀하셨던, UI가 자주 바뀌는 요구 사항에 적응이 어려워 질것 같다. 어차피 다음 주는 Domain, Data, Repository 등 비지니스 로직 부분을 구현할 일이 많을 것이라, UI 코드를 짤 시간도 없다. MVP는 이미 되었으니, 그때 하면 된다 생각한다.
문서화를 신경쓰겠다고 다짐은 했지만, 좀 더 개선이 필요한 것 같다. 마스터 클래스에서 새로 배운 키워드와 수업 내용은 받아 적고, 잘 안되서 해결한 방법은 코드만 노션에 기록해두고, 나중에 보충하려 했는데, 미루다 보니 키워드는 많은데, 설명이 부족해 키워드만 알고, 구조나 동작 원리에 대해 모르는 것이 너무 많아, 하나도 설명하기가 어려운 것 같다. 특히, lazy var vs let, coordinator 패턴, dicontainer 역할 등, 1시간 넘게 토론한 주제도 있었고, 창묵님이나 병학님께서 근거로 말씀하시는 내용들은 모두 도움이 되는 내용인데 생각보다 많이 기록해두지 못했었다. 앞으로는, 회의록 담당일이 아니라도, 개인적으로 꼼꼼히 기록하야 한다. 그리고, 구현이나 설계할 때 어려웠던 점과 해결한 방법을, 기록하는 습관도 가져야 한다. 그리고, 키워드만 기록하거나 수업때 받아적기만 한 내용은 미루지 말고, 주말에 최대한 정리해야 할 것 같다.
그리고 다음에 비지니스 로직을 구현 때, 테스트 코드와 테스트 조건 및 기대값에 대해서도 생각해야 할 것 같다. 오늘 데모 발표때, CoreData 사용을 하면서, 테스트 코드를 작성하고, 얼마나 줄었는지 발표한 조가 있었다. 병학님도 Cocoapods-binary-cache에 대해 소개하실 때, 기존 빌드 시간에 비해 얼마나 줄였는지 직접 수치를 언급하시면서 유용성을 보여주셨었다. 지금 당장은 성능에 대한 테스트는 기준도 못정했고, 얼마나 되어야 하는지는 팀원들과 토의 해봐야 할 것 같아 아직 잘 몰라, 그거는 미뤄야 할 것 같다. 당장은, 비지니스 로직들의 예외 케이스들을 잘 통과하는지 등, 단위 테스트에 우선시 할 것 같다.
태스크 구현 작업 전에, 미리 필요한 기능들에 대한 기술 문서를 검색하고, 어떻게 설계할 지 로직 등을 그림을 그리면서 설계를 먼저 해보고 구현해볼 것이다. 다음주는 Firebase와 애플 로그인 등, 비지니스 로직 구현에 집중 할 것이니 코드부터 먼저 치지 말고 하는 것이, 문서 기록화 때 필요한 자료가 되고, 쓸데없는 디버깅 작업을 줄여 효율적인 개발을 해야 한다.
Copyright © 2022 NearTalk