- 앱 배포 전 Firebase crashlytics 사용해라.
- abstract class
- 클래스에 특정 함수를 추가할 땐 extension 파일을 별도로 만들어.
- 향후 익스텐션이 상당히 많아질 수 있기에 룰을 잘 만들어둬야함.
- 제네릭을 이용하면 타입을 추후 정할 수 있게됨. (타입지정은 반환시가 아닌 변수 선언시 추천)
- 그리고 그 제네릭은 메소드에도 적용 가능.
- 제네릭은 많이는 안쓰이는데 똑같은 로직이 타입을 달리하여 자주 사용될 때 쓰인대.
- 보통 서버에서 데이터를 불러올 때 비동기 문법 사용함.
- FutureOr는 future이거나 아니거나. (실무에선 잘 안쓰인대)
- Stream은 여러번의 데이터를 받을 수 있음 지속적으로 (Future는 한 번인데) async*
- iterator는 순서대로 뭔가를 진행시켜주는 것.
- 대표적으로 리스트가 바로 iterable인 것.
- sync*로도 함수로 이터러블 만들 수 있음.
- 어떤 데이터를 생성하는 걸 generator라 함 (eg. yield*)
- Lamda : (int 파라미터1, String 파라미터2) => 반환값;
- 중괄호는 안에 다양하게 쓸 수 있지만 화살표를 쓰면 세미콜론으로 바로 마무리할 수 있어야 함.
- 함수형 프로그래밍은 선언형 프로그래밍 vs 절차적 프로그래밍은 명령형 프로그래밍 (boiling plate code, 불필요한 코드들이 많이 발생함)
- 코드를 헤비하게 돌릴 일이 보통 없음. eg) 동영상 인코딩이나, 몇십mb짜리 파일을 압축한다거나, 복잡한 이미지를 프로세싱 처리하거나, 머신러닝하는 경우 등의 동작을 수행하는 것.
- isolate은 그래서 쓸 일이 거의 없을 것임.
- scheme은 https 같은 것. host는 첫번째 슬래시까지, path는 물음표까지 (슬래시마다 pathSegments라 부름), 파라미터는 key value 값으로 물음표 뒤에 나옴.
--- 전반적으로 어렵기에 여러번 봐야함. 주니어 개발자도 어려울 수 있다함.
3.4.1) Generic을 주로 설명함. extension, list, set, map 등
3.4.2) Future 기본 개념, 생성과 수행, timeout, error handling, FutureOr
3.4.3) Stream 기본개념, map과 같은 반복문이랑 같이 씀, StreamBuilder, BroadCastStream 쓰면 여러 위젯에서 한 번에 스트림 사용 가능, yield*
3.4.4) iterable, sync, async
3.4.5) Lamda, List Sort
3.4.6) Functional Programming (FP), runEach, (fxDart 강사 개발) 등
3.4.7) isolate
3.4.8) core libraries, 정규식(RegExp), 해시태그
3.4.9~10) programming 이론 (CS) : SOLID, DRY, KISS, OOP
3.4.11) 디자인패턴 : Singleton, Factory, Command, Builder --- 어려움. 근데 흥미로운 개념들.
여기 정리 엄청 잘함:
https://velog.io/@cyb9701/Dart-%EB%AC%B8%EB%B2%95-%EC%A0%95%EB%A6%AC
디버그 모드 사용법
chapter 4는 오만번 들어야 할 듯.
[Flutter] Todo 앱 (로컬저장, 웹소켓) (0) | 2024.04.30 |
---|---|
[Flutter] Todo 앱 (상태관리 Cubit, BLoC, riverpod, get_it, GetX, 아키텍처) (0) | 2024.04.30 |
[Flutter] 개념정리, 기초*** (1) | 2024.04.28 |
[Flutter] 간단 또스2 (애니메이션) (0) | 2024.04.24 |
[Flutter] 간단 또스 (Pagination, GetX, 폴더 구조, 개발 순서) (0) | 2024.04.24 |