## FE - 지금까지 어떻게 구현됐나 (시연) - develop/web 기준으로 시연 - 네이버 아이디 로그인 - 캘린더 - 구현하면서 특별히 힘준💪 부분이 어딘가 - 상태 관리와 컴포넌트 재랜더링에 대해 고민하며 코드를 작성하였습니다. - 앞으로 남은 부분, 계획, 어려운 점/막혀있는 부분은 - 남은 부분 및 계획 - css 디자인 통일, 색상 변경 css - 메인 페이지, 보드 상세 페이지 - 어려운 점 / 막힌 부분 - 상태 관리하는 부분이 어려웠습니다. - 로그인이 안 되어있을 때 화면이 깜빡 거리며 로그인 화면으로 전환 - 리스트, 카드 순서 유지? 변경? 구현방법에 대해서..,, - 코드 레벨에서 꼭 피드백 받고 싶었던 부분은 어딘가 <- 이건 길어지면 개별 코칭으로 따로 이어가겠습니다. - API 호출 시 에러 처리는 어떻게? ## BE - 지금까지 어떻게 구현됐나 (시연) - 전체 보드 조회 API - 보드 생성 API - 본인 정보 조회 API - 일별 카드 개수 조회 API - 보드 상세 조회 API - 네이버 클라우드 배포 - 구현하면서 특별히 힘준💪 부분이 어딘가 - 테스트 코드 작성 - 에러 처리 - 데이터베이스 접근 - 앞으로 남은 부분, 계획, 어려운 점/막혀있는 부분은 뭔가 - 남은 부분 및 계획 - 남은 API...를 테스트 코드와 함께 구현 - 어려운 점 / 막힌 부분 - typeORM으로 복잡한 쿼리를 작성하는 것이 어려웠습니다. - 객체지향적으로 개발하기 어려웠습니다. - 코드 레벨에서 꼭 피드백 받고 싶었던 부분은 어딘가 <- 이건 길어지면 개별 코칭으로 따로 이어가겠습니다. - 요청 유효성 검사 - dto 활용 ## iOS - 지금까지 어떻게 구현됐나 (시연) - 구현하면서 특별히 힘준 부분이 어딘가 - 코드 모듈화: 뷰의 속성들을 적용하는 코드를 분리하려고 했습니다. - 코드 컨벤션: 주기적으로 페어프로그래밍을 통해 리팩토링하는 시간을 가졌습니다 - 테스트 가능한 구조로 짜기 위해 노력했습니다. 1. 의존성 역전 원칙 + 주입 2. 역할 분리(단일 책임 원칙) 1. 프레젠테이션 로직은 Coordinator 2. 비즈니스 로직은 ViewModel 3. UI 로직은 ViewController - 앞으로 남은 부분, 계획, 어려운 점/막혀있는 부분은 뭔가 - 계획 - HIG: accessibility - WidgetKit - PushKit - 오프라인 기능: Realm - 어려운 점 / 막혀있는 부분 - 테스트코드 작성: ViewModel 을 제대로 테스트하는 방법 - API 호출 시점 1. 업데이트API를 호출하고 로컬에서만 바꿔주고 detailcard를 나간 후 다시 들어오면 fetch 2. 업데이트API를 호출하고 detailcard의 viewWillappear에서 다시 fetch - 코드 레벨에서 꼭 피드백 받고 싶었던 부분은 어딘가 - view가 CollectionView를 갖는 것에 대해(DataSource, Delegate 포함) - DataSource 를 서브클래싱해서 DataSource 의 메소드(numberOfItemsInSection, cellForItemAt) 를 분리하는 것이 좋을까요 ? - shadowOffset 쓰면 UI Debugging 할 때 비효율적이라는 경고창이 나오는데 shadowPath 를 쓰는 것이 좋을까요 ? # FE 피드백 - 같은 기능이 두 개가 존재한다면 혼란을 일으킬 수 있음 - 보드 생성 버튼이 로그아웃 근처에 있음 - UI 깔끔함 - 캘린더 바디에 너무 많은 기능을 담당하고 있음 - row로 묶어 놓을 필요 없음 -> date 단위로 - axios interceptor request, 글로벌 설정이 존재함 - request라는 axios wrapper를 사용하게 되면 부가적인 axios 설정을 사용하지 못함 - document.location vs window.location.href - Modal 구현 시 dialog (native element로 사용할 수 있음) - 카드, 리스트 이동 -> integer - 대기 중일 때 로그인 버튼 disable, 로딩 중 페이지 띄워주기 - API 호출 중이라는 피드백을 사용자에게 줘야 함 # BE 피드백 -