7주차(23.09.13~19)
💖 핵심 3줄 요약
- 사소한 코드에 대한 시간 소비 줄이기
- Animation 강의 2강 까지 완료
- 강의 과제 DM 생성 & 목록 구현 완료
🎯 이번 주 목표
✅ 과제 제출
✅ Animation 강의 2강까지 완료
🚧 Dart 3 migration
👏 칭찬하고 싶은 점
- 클린 코드에 대한 집착을 버리고 구현을 우선시하기 시작함
😭 고치거나 버려야 할 점
🏃♀️ 일일 스프린트
23.09.13
✅ Day38-State Management 과제 완료
23.09.14
✅ Day39-MVVM + Provider + Dark Mode 과제 완료
23.09.15
✅ Day40-Provider + 🔥 = Riverpod 과제 완료
✅ 홍대 모각코
23.09.16
✅ Day41-Authentication 과제 (1/2)
✅ 서초 모각코
23.09.17
✅ Day41-Authentication 과제 (2/2)
✅ 강의 과제 DM 생성 & 목록 구현 완료
23.09.18
✅ Day43-Real Data 과제 (1/2)
23.09.19
✅ Day43-Real Data 과제 (2/2) 완료
✅ Animation 강의 2강까지 완료
✍️ 이번 주 배운 내용
- Cascade Notation 에 대해 복습 하였다. Dart 는 타 언어의 장점들을 많이 흡수하는 편이라 신기한 문법들이 많은데 이건 어디서 온지 모를 처음보는 문법이다. 각 property에 대해 mutable한 점은 불안하긴 하지만 self에 대해 여러 메서드를 순차적으로 수행할 때는 유용한 syntax sugar 로 보인다.
var henry = Player(name: 'henry', xp: 1200, team: 'red');
var updated = henry
..name = 'new_henry'
..xp = 9999
..team = 'blue'
..sayHello();
🤔 질문
- 스터디에 처음와서 했던 질문인 firebase 의 모든 data를 최대한 DocumentRef 로 처리하는 것에 대해서 한계점을 발견했다. StreamProvider 로 실시간 DM 데이터를 렌더링 하고 싶었으나 firebase의 snapshot은 해당 Collection 하위에 있는 subCollection 에 대해서만 적용 가능한 것으로 보인다. ref를 통해 새로운 Collection에 접근하는 순간 커서를 그대로 Stream 할 수가 없었다. 하지만 복잡도가 올라갈 수록 Ref를 사용할 일이 생기는데 그 경우에는 Stream 처리를 어떻게 할지 고민이다.
- DocumentRef를 안쓰기로 마음 먹었지만 여전히 논리적으로 DocumentRef 를 의미하는 데이터를 authorId: string 으로 한정하는 것은 추후 협업 시에도 소통 오류가 발생할 가능성이 있어보인다. firebase 에 document add 시에 dart 상에서 string 이었던 것을 DocumentRef 로 바꿔 add 하려면 어떻게 해야할까?
💖 주간 회의와 조별 활동
- 6주차 주간회의(23.09.13)에서 과제 공유 및 발표를 하였다. 과제에 대한 일반적인 내용을 언급하는건 시간 낭비일 것 같아서 오픈소스 이슈 찾는법, 버전 migration 가이드 등을 공유했는데 다들 반응은 별로였던 것 같다. 다음 번에는 그냥 화려해보이는 UI 나 만들어서 공유하는게 나을지도.
기억에 남는 것
- 현재 공부 방식에 대한 고민을 많이 했던 한 주. 지금 처럼 스터디 해서는 또 안주하기만을 되풀이하게 될 것 같으니 두 세 배는 더 많이 해야 한다.