월 26,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
ChangeNotifier랑 StateNotifier의 차이가 뭔가요?
authProvider에서는 changeNotifier를 사용하시고 나머지 provider는 stateNotifier를 사용하셨는데 다르게 진행하신 이유가 있는건가요?? changeNotifier를 stateNotifier로 변환하여도 동일하게 동작하나요??
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
asset 위치 문의
안녕하세요.실례지만 프로젝트 asset은 어디서 확인이 가능할까요? 동일한 질문에서 답변 주신 것과 같이, 강의 상세 내역에서 찾으려 했으나 보이지 않아 문의드립니다.
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Stateless와 Stateful 사용 차이
제가 생각할 때는 provider를 사용하면 stateless위젯으로 거의 다 대체가 가능한거 같은데 statful 위젯을 사용해야만 하는 경우가 있나요
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
sliverList 이중 리스트 처리 궁금증,,,,
안녕하세요 강의 잘 보고 있습니다 감사합니다 !혹시 이중 리스트 처리를 어떻게 하시는지 궁금해요SliverList안에 listView shrinkWrap true 하면 쉽게 해결이 되지만, 성능 이슈가 있더라구요 (버벅거림)(shrinkWrap true 하지 말고, SliverList 사용해라 라는 내용을 보았어요)그래서 SliverList 안에 SliverList를 넣는 법도 검색해봤는데 안되는 것 같구요,,,혹시 선생님은 이런 경험이 있으실까요~
- 해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
state 에 data를 변경할때 관련 질문드립니다.
안녕하세요. 좋은 강의 감사합니다.restaurant_provider.dart의 RestaurantStateNotifier getDetail() 메소드에서 state = pState.copyWith( data: pState.data .map<RestaurantModel>((e) => e.id == id ? resp : e) .toList(), )이 구문은 array 전체를 돌아야되는 반면에pState.data[pState.data.indexWhere((element) => element.id == id)] = resp; state = pState.copyWith( data: pState.data, );이 구문은 array를 index를 찾을때까지만 돌면되서 더욱 효율적인것이 아닌가 싶어서 혹시 위와같이 map으로 로직을 구성하신 이유가 있는지 궁금합니다.
- 해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
강의에 활용되는 api 서버구축과 스웨거관련 강의 개설 예정이 있으신가요?
강의 잘 듣고 있습니다. 혹시 강의에 활용되는 api 서버구축과 스웨거관련 강의 개설 예정이 있으신가요?
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Flutter로 웹을 만들 때,
선생님, 안녕하세요. 강의 잘 듣고 있습니다.궁금한 게 있어서 질문 남깁니다. Flutter를 이용해서 웹과 앱을 동시에 사용하는 서비스를 만들려고 하는데요,Dart로 만들고 Chrome 브라우저로 실행시켜 보면 뒤로가기와 새로고침이 되지 않더라고요.(Spring처럼 URL로 라우팅 하려고 Navigator.pushReplacementNamed() 사용했습니다.) 여쭤보고자 하는 것을 정리하자면기본적으로 웹/앱 동시 지원이라는 게 Dart로 앱을 만들면 웹 브라우저에서 앱을 실행할 수 있도록 해주는 것 같은데, 맞는 것인지 궁금합니다.앱보다 웹 기능을 우선으로 구현하려면 Dart로 UI로 구성하고 Spring 같은 프레임워크로 백엔드를 구성하여 연동해야 한다고 하는데, 어떻게 하는 것인지 궁금합니다.
- 해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
IModelWithId 와 IBasePaginationRepository 의 역할이 궁금합니다.
안녕하세요. 중급강의에서 IModelWithId, IBasePaginationRepository 을 정의해 놓고 사용하셨는데요. 이렇게 하신 이유가 "자식 클래스에서 id 변수 혹은 paginate 함수를 갖는걸 강제하기 위한 목적"이 맞을까요? 충분히 설명은 해주셨는데 제가 지식이 부족해서 제대로 이해한게 맞는지 궁금해서 질문 드립니다. 어제 드디어 중급강의를 완강 했습니다.좋은 강의 만들어 주셔서 다시한번 감사드립니다!
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
GoRouter 에서 context의 사용
최신버전을 사용할 때, go 가 작동되지 않는 경우context 의 type이 dynamic으로 되어있습니다.이럴 경우 context. 의 properties는go_router 의 기능을 포함하지 않습니다.이경우, context as BuildContext 로 치환하여 사용하면 작동이 잘되는데 이렇게 사용할 경우 문제가 있을까요?
- 해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
List 에 item 추가시에 add 와 ... 의 차이점이 궁금합니다.
안녕하세요.중급강의 장바구니 제작 부분 수강중입니다.state 에 item 을 추가하실때이런 식으로 spread operator 를 사용하시던데요. 혹시 add 메서드를 사용해서 추가해도 결과는 똑같은가요?state.add(BasketItemModel(product: product, count: 1)); 나름대로 찾아보니깐spread operator 를 사용하면 deep copy가 되고add 메서드는 단순히 reference 만 추가하는 방식인거 같은데,,맞는지 궁금합니다. 나중에 다른 코드에서도 List 에 item 을 추가할때spread operator 를 사용하는게 더 좋은지도 궁금하고요. 좋은 강의 감사합니다!
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
주문 목록 API 호출 시 500 에러 (undefined (reading '0'))
주문 목록 실행 시 서버쪽 로그에서 아래와 같은 에러가 발생합니다. [Nest] 89380 - 04/14/2023, 5:33:24 PM ERROR [ExceptionsHandler] Cannot read properties of undefined (reading '0')TypeError: Cannot read properties of undefined (reading '0')at /cf-flutter-lv2-server/src/order/order.service.ts:35:39 호출 API 는 아래처럼 보내집니다.http://127.0.0.1:3000/order/?count=20 혹시 위 현상에 대해서 어떤 이유가 있을까요? 아래 서버 로그 추가로 올립니다. { basket: [ { productId: '76e4ddb0-0a4c-44c2-be91-b35fdd3e32a9', count: 1 }, { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 2 } ]}PatchMeBasketDto { basket: [ { productId: '76e4ddb0-0a4c-44c2-be91-b35fdd3e32a9', count: 1 }, { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 2 } ]}{ basket: [ { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 2 } ]}PatchMeBasketDto { basket: [ { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 2 } ]}{ basket: [ { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 1 } ]}PatchMeBasketDto { basket: [ { productId: 'faea6be9-f5ca-4005-9922-98c04ff2c89d', count: 1 } ]}{ basket: [] }PatchMeBasketDto { basket: [] }
- 해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
GoRouter 사용 방식이 바뀐건지 궁금합니다.
안녕하세요.중급강의 GoRouter 부분 수강중입니다. 강의내용 대로 초기설정을 해봤는데에러가 발생하지는 않지만화면이 이동되지 않더라고요. 제가 사용하는 버전이 go_router: ^6.5.6 이라바뀐 부분이 없나 공식문서를 살펴보니초기 설정부분이 좀 다르더라고요. GoRouter configuration 정보를 _MyApp 외부에서 선언하고,설정은 routerConfig 파라미터 하나만 설정하고 끝내더라고요. 공식문서대로 하면 작동은 잘 합니다. 혹시 공식문서대로 계속 사용해야 하는건지아니면 강의 내용대로 해도 되는건데제가 받아 적은 코드가 잘못된건지궁금합니다. 아래는 공식문서 스샷 입니다.
- 해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
주문 탭에서만 force refetch가 안되는 이유
안녕하세요.드디어 완강을 하게 되었습니다! 여러번 복습을 해야겠지만 일단 너무 감격스럽네요 ㅜㅜ다름 아니라, 완강후 완성된 코드에서는 주문 탭에서 force refetch를 하면 주문 내용이 새로고침 되지가 않습니다.throttle과 debounce 를 적용하기 전에는 결제 내용이 주문 탭에 즉시 반영되지는 않아도, force refetch를 하면 반영되었거든요.깃헙에 올려주신 소스코드로도 같은 증상입니다.다른 탭에서의 force refetch는 이상없이 작동하는데 왜 그럴까요?
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
실제 핸드폰 연결하여 실습하고 싶습니다.
같은 질문 해주신 글을 보았는데,실제 컴퓨터의 ip를 넣어주어야 한다는 답변을 써주셨던데login_screen.dart 파일에서final emulatorIp = '';final simulatorip = '';이 부분의 ip주소만 바꾸면 되는게 맞나요?어느 부분을 더 수정해야 하는지 궁금합니다..
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Dio로 Auth API 요청해보기 강의 / rest.data가 print가 되지 않습니다
강의를 순차적으로 따라해보면서 이전까지는 모두 실행되었었는데 이 부분에서 print가 되지 않습니다.http://127.0.0.1:3000/api/이 정상적으로 나오는 거로 봐서 서버도 켜져있습니다 현재 dio 패키지는 5.1.1 이 최신이지만강의대로 yaml 파일에 dio: ^4.0.6으로 작성하였습니다.
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
RestaurantCard.fromModel 의 인자
RestaurantCard.fromModel 의 인자로required RestaurantModel model가 할당되어 있는데, RestarauntDetailScreen 위젯에서 RestaurantCard 위젯을 사용할 때, RestaurantDetailModel 을 사용합니다.변수의 type이 달라도 문제가 없는 것일까요?
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Gorouter 사용에 질문이 있습니다.
안녕하세요 먼저 강의는 잘보고있습니다.Gorouter에 대해 다시 정리하는 도중 하나 궁금한게 생겨서 질문드립니다.이론에서 사용하셨던 프로젝트 기준으로만약 이런식으로context.go('/one'); Home -> one로 이동한다고 가정했을때 Home에 print buildOne에 print build를 해두면 flutter: One Screen buildflutter: HomeScreen didChangeDependenciesflutter: HomeScreen build이렇게 찍히더라구요 (Home은 ful위젯으로 바꿔서 찍어봤습니다) 제가 의문인건 Home -> One 이동하는건데왜 Home이 다시 빌드가 되며, 이는 메모리 낭비라고 생각하는데다른 대안이나 원래 구조상 이렇게 짜여져있는건가요? 기존방식이었던Navigator.of(context).push( MaterialPageRoute(builder: (_) => OneScreen()) );이런식으로 이동을 한다면 기존스택은 남아 제가 원하는 대로 flutter: One Screen build만 찍히는데, 감사합니다.
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
IBasePaginationRepository를 U로 바꾼 이유가 궁금해요.
U로 바꾸고 extends를 하면 똑같이 쓸 수 있다고 하신 말씀은 무슨 뜻인지 이해를 했는데요, 왜 그렇게 써야 하는지를 잘 모르겠어요. 그냥 그럴 수 있다는 걸 알려주신 걸까요? 아니면 제너릭으로 U를 쓰고 extends해서 쓰는 게 어떤 이득이 있는 건가요?
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
마지막 강의보니 강의가 더나올거 같은데 언제 추가되나요?
보너스 강의가 약간 더 남았습니다~ 조금만 기다려주세요! Optimistic Response + Form + 글로벌 캐시관리를 한번에 보여주는 "리뷰 작성 페이지" 강의가 9월이 가기전에 추가될 계획입니다! 기대해주세요! (지금까지 배운 내용을 한번에 조합하는 강의입니다!)이렇게 글을 쓰셨던데 빨리 배워보고 싶네요 ㅠㅠ강의가 너무 좋아서 그런데 중급 이상강의 혹시 하나더 나올 계획은 없나요? 이 강의보단 조금더 복잡한... 너무 기다려집니다 ㅠㅠ 항상 감사합니다.
- 미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
collection.dart 임포트할 때요.
에러는 아니지만 pubspec.yaml에 추가해달라고 워닝이 뜨는데, 이건 추가해도 되고 안해도 되는 건가요? 아니면, mapIndexde만 사용하는 정도면 펍스펙에 추가 없이 그냥 쓸수 있지만 그 이상을 사용하려면 추가해야 하는 건가요?