찰쓰 코치님, 병현님, 나 3명 참여
1시간 토론
책 216페이지
착실하게 따르기만 하면 우수한 설계가 나오는 간단한 규칙 네 가지가 있다면?
책의 규칙 외에 각자가 추가하고 싶은 창발적 규칙 하나씩 말해보기
추가 토론: 코딩에서 '설계'라는 게 어디까지의 범위를 말하는 걸까?
- 의견 1: 코드 단에서의 설계 (상태나 API를 어떻게 구조화할 것인가)
- 의견 2: 디자인 패턴 (=> 설계에 도움되는 지식), DDD 등의 아키텍처 (도메인 주도), 함수지향/객체지향 (아키텍처 = 코드에서가 아닌 시스템 단에서의 설계)
책 172페이지
클래스는 작아야 한다.
함수는 물리적인 행 수로 크기를 측정했다. 클래스는 다른 척도를 사용한다. 클래스가 맡은 책임을 센다.
책임을 통해 클래스의 크기를 파악한다. 그러면 책임이란 무엇을 내포할까?
영속성
- 백엔드에서 자주 나온 개념
- 특정 장소에서만 사용할 수 있는 것은 영속성이 거의 없는 것
- 스토리지만 바꿀 수 있고 인터페이스는 그대로 둘 수 있다면 횡단 관심사처럼 영속성 있게 관리될 수 있는 것
- 프론트의 Indexed DB - 브라우저에서 제공하는 DB (이것도 영속성 개념이지만 프론트에서 잘 안 쓰는 듯함)
- 영속성은 백엔드적 지식인 듯 하나 프론트도 DB가 점점 생기면서 고민해볼 문제일 것 같다
관심사란?
- 예) '은행'의 관심사 종류: 입금, 출금, 이체 등
Global store : 전역 상태 관리(?)
- react-query
- DB에서 가져와서 프론트에서 잠깐 갖고 있음 (캐싱)
- 중간 레이어 표현 (실제 DB랑 거리가 있으나 브라우저가 확실히 갖고 있는 것도 아닌 것)
- 웹 API (setTimeout, setInterval 등) 해당!
배포가 편함
버전 업그레이드 부담 없음 / 웹과 앱만 통신하면 됨
BUT 나중에 Native 코드도 만져야 한다
큰 회사에선 native 팀이 따로 있고 나머지는 웹 개발자인 경우가 많음
앱은 디바이스에 딱 붙어서 돌아감 (성능적 이점)
요즘은 웹뷰 추세이나 나중에는 결국 native단 코드로 개발해야
RN의 expo는 원래 교육용
카카오는 native SDK를 따로 제공 X