일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 가상머신
- Linux
- VM
- DART
- 오블완
- 주유
- 리눅스
- 일상
- 티스토리챌린지
- ubuntu
- virtualmachine
- 잡담
- VMware
- 오류
- 객체지향프로그래밍
- 퇴근길
- 유심
- Flutter
- 인프라
- 주유소
- Bloc
- postgres
- USIM
- 휘발류
- podman
- 오토바이
- SICP
- 템플릿
- FreeBSD
- 개발
- Today
- Total
목록Flutter (17)
sync86 블로그
코드를 수정하면 수정한 곳 이외에 다른 곳에서 오류가 생기는 경우가 많아졌다. 해결 방법으로 테스트를 작성하여 만약 문제가 생긴다면 빨리 발견하면 좋을 것 같다. 그러나 TDD (Test Driven Development)로 코드를 작성하길 원하는 것은 아니다. 적어도 코드를 수정하면 어디서 문제가 생겼다는 것만 발견할 수 있으면 된다. 그러나 아직 습관이 안되서 테스트를 작성하는 것에 손이 가지 않는다. 그래서 블로그에 글 작성을 빌미로 시도해보려고한다.Dart 프로젝트 생성목표는 Flutter 위젯과 함께 통합 테스트까지 작성하는 것이다. 하지만 처음에는 간단하게 시작하길 원한다.$ dart create putifabsentCreating putifabsent using template console..
위젯의 크기는 가능한한 가장 작은 단위로 쪼개야 한다. 몇 개월 고생을 하다보니, 가장 작은 단위로 쪼개야 한다는 생각을 가지게 되었다. 그런데 사소하면서 큰 문제가... 작은 단위로 나누다 보니 위젯이나 파일 이름이 비슷 비슷해져서 해깔리고,이들의 이름이 길어진다는 문제도 있다. ㅠㅠ 영어가 모국어가 아니라 이름을 정하는데 한계를 느낀다.
이전에 "[Flutter] BLoC Concepts - 훑어보기 (3)"에서 Cubit과 Bloc가 공존하는 이유에 대해 알 수 없다며 불평불만을 이야기 하는 식의 글을 작성하였다. 이 글을 작성한 이후 스크롤을 올렸다가 내렸다 하면서 내용을 좀 더 보던 중에 노트라고 적힌 문구를 발견하였다.노트Cubit의 기원에 대한 자세한 내용은 해당 Issue에서 확인하세요. 이 링크를 타고 가서 내용을 보니 영어로 작성되어 있었다. ChatGPT에서 번역해서 내용을 읽어보았는데, Bloc 상태 관리 라이브러리가 초기 버전을 사용해보지 않았으니 자세히는 알 수 없지만 처음에는 Bloc만 있었던 것 같다. Bloc를 사용하던 개발자 중 아니 팀이라고 해야할까? 팀장이었던 것 같은데, 팀원들이 Bloc 라이브러리를 다..
가장 큰 이유는 Flutter로 앱 개발을 하고 있고, Provider를 사용하고 있는데 뭔가 불편함을 느끼고 있기 때문이다. Flutter를 접하고 얼마되지 않아 상태 관리 라이브러리는 Provider를 처음 접하였고, Provider를 사용하여 앱 개발을 했었다. 좀 더 지나서 GetX, Riverpod, BLoC와 같은 라이브러리들을 알게 되었으며, 당시에 Provider를 이미 상당히 많은 코드를 작성하였기에 다른 라이브러리로 갈아타기엔 조금 늦은감이 있었다. 아래의 Provider를 사용하면 아래의 간단한 예제이다.class Counter with ChangeNotifier { int _count = 0; int get count => _count; void increase() { ..

시작하기 가이드를 보다 문뜩 Cubit에 대해 설명하다가 Bloc에 대해 나온다. 무슨 연관이 있는거지? 싶었는데 좀 더 자세히 보니 차이가 있다. Cubit는 state 변화를 촉발하기 위한 함수를 외부에 노출한다. Bloc는 함수가 아닌 event에 의존하여 state 변화를 촉발하는 고급 클래스이다. 둘다 BlocBase를 상속 받아 구현되고, state를 변화를 함수를 노출시켜 를 통지하느냐, 이벤트 형태 변화를 통지하느냐의 차이인 것 같다. 무슨 차이일까? 그리고 왜 이렇게 분리가 되어 있을까? 이 생각만 멤돌고 있다. 아래에서 Cubit vs Bloc라고 각각의 장단점에 대해 설명한다. Cubit의 가장 큰 장점은 단순성이라고 하는데, Bloc 보다 함수만 외부에 노출하기 때문에 보다 쉽게..
아래의 링크의 BLoC "시작하기 가이드" 문서 내용 중 onChnage(Changeint> change)의 내용이 나온다. 이 코드도 테스트를 해보았다. 테스트 내용은 이전 내용과 동일하다.class CounterCubit extends Cubit { CounterCubit() : super(0); void increment() => emit(state + 1); @override void onChange(Change change) { super.onChange(change); print(change); }}void main() { final cubit = CounterCubit(); cubit.increment();} 이전과 달라진 점은 아래와 같다.CounterCubit 클..

아래의 링크의 BLoC "시작하기 가이드" 문서를 보고 있다. 이 문서의 내용 중 BLoC Concepts 항목의 내용을 보고 있는데 "Cubit 사용하기" 섹션에서 나오는 코드를 작성하며 몇 가지 테스트를 해보았다.https://bloclibrary.dev/ko/bloc-concepts/#cubit-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0 핵심 컨셉package:bloc의 핵심 개념에 대한 개요입니다.bloclibrary.dev 위 링크의 문서 바로 위 항목인 "Cubit의 state 변화"의 코드를 참고하여 Cubit 클래스를 상속 받은 CounterCubit 클래스를 생성하고 increment() 함수를 추가하였다. 그리고 main 함수에서 CounterCubit 객체를..