[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
abstract class IModelWithId { final String id; IModelWithId({required this.id}); } 인터페이스를 선언시 똑같이 했는데 @JsonSerializable() class ProductModel implements IModelWithId { @override final String id; final String name; @JsonKey(fromJson: DataUtils.pathToUrl) final String imgUrl; final String detail; final int price; final RestaurantModel restaurant; ProductModel({ required this.id, required this.name, required this.imgUrl, required this.detail, required this.price, required this.restaurant, }); factory ProductModel.fromJson(Map<String, dynamic> json) => _$ProductModelFromJson(json); } @JsonSerializable() class ProductModel extends IModelWithId { final String id; final String name; @JsonKey(fromJson: DataUtils.pathToUrl) final String imgUrl; final String detail; final int price; final RestaurantModel restaurant; ProductModel({ required this.id, required this.name, required this.imgUrl, required this.detail, required this.price, required this.restaurant, }) : super(id: id); factory ProductModel.fromJson(Map<String, dynamic> json) => _$ProductModelFromJson(json); } 이 두가지 모델은 기능적으로 완전히 동일한가요? 동일하다면 구현방식은 개발자와 팀의 선호에 따라 달라지는 정도인지 궁금합니다. 그리고 인터페이스 키워드가 없다고 말씀하셨었는데 버전이 업되고 interface가 생긴것 같은데 지금과 같은 기능이면 abstract interface를 사용하는 것이 더 좋은가요? 질문을 많이 드려 죄송합니다 ㅠㅠ
result_screen.dart 페이지에 stl 까지 입력하여 자동완성된 코드에서부터 살짝 다르게 되어있었습니다. 강사님께서는 "const ResultScreen ({Key? key}) : super (key: key); 라고 되어있었으나, 제 쪽 화면에는 const ResultScreen ({super.key}) ; 까지만 자동완성이 되어있어서 수동으로 남은 값을 채워넣어주고 진행했습니다만, "const ResultScreen ({Key?" 에서 Key 부분이 색상이 다르게 활성되어있어서 약간 찝찝한 마음이 들어서 어떤 부분 때문에 자동완성이 달랐는지 여쭙고자 문의남깁니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
abstract class CursorPaginationBase {} //에러 class CursorPaginationError extends CursorPaginationBase { final String message; CursorPaginationError({ required this.message, }); } //로딩 class CursorPaginationLoading extends CursorPaginationBase {} 여기까지 커서페이지네이션모델 파일을 만들었고 if (data is CursorPaginationLoading) { return Center( child: CircularProgressIndicator(), ); } 로 로딩상태이면 인디케이터를 보여주고 있는 것 까지 완료했습니다. 그리고 CursorPaginationBase는 여러 상태의 부모로 로딩,정상,에러 등을 받을 수 있다는 것은 알겠는데, 아직 로딩은 무엇이다라는 것이 없이 단지 CursorPaginationBase를 상속받았을 뿐인데 어떻게 screen에서 로딩중인 것을 확정하고 코드가 작동하는지 잘 모르겠습니다...
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
강의에서는 final storage = ref.read(secureStorageProvider); 이 코드를 checkToken과 deleteToken에서 불러 사용하고 있는데 여러번 부르는 것이 싫다면 class _SplashScreenState extends ConsumerState<SplashScreen> { late final storage = ref.read(secureStorageProvider); @override void initState() { super.initState(); //토큰 검사 checkToken(); // deleteToken(); } 또는 class _SplashScreenState extends ConsumerState<SplashScreen> { late final FlutterSecureStorage storage; @override void initState() { super.initState(); storage = ref.read(secureStorageProvider); //토큰 검사 checkToken(); // deleteToken(); } 으로 한번만 불러서 storage를 바로 사용해도 될까요? 이렇게 사용해도 버그나 라이프사이클에 문제가 있을지 궁금합니다. 강의 잘 듣고 있습니다!! 감사합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. build.gradle에서 code insight unavailable이라고 뜨는데 link gradle project에서 다른 외부 build.gradle을 연결해도 새로운 오류가 발생합니다. 연결을 안해도 되는 걸까요?
[2025 리뉴얼] Container, Stack으로 프로필 페이지 만들기 여기에서 Column 안에 Stack 넣고 꽉차게 flex 옵션 선택한 상태에서 container, circle을 추가했습니다. 궁금한것이 있는데 파란색 container를 컬럼의 딱 절반만 채우고 싶어서 height를 50% 지정했습니다. 그런데 아무리 봐도 50% 이상 대략 60 ~ 70% 정도 인거 같습니다. circle은 화면 정 가운데 배치를 했구요. 원래 그런건지요? 딱 절반은 못채우는 걸까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 강의로 정말 많은 걸 배우고 있습니다. 막상 실전으로 넘어가려 하면 되게 막막하게 느껴지는게 코딩을 어디서부터 시작해야 할지 고민입니다. 강의에서는 학습자의 의도적인 시행착오를 통해서 학습 시킬려는 점은 도움이 되었지만 실제로 강의에서 만든 앱을 만들게 된다면 플러터로 어디서부터 만들어야 할지 감이 안 잡힙니다. 강의에서도 이런 부분을 딱히 알려주지 않은 것 같습니다. 실제로 개발을 하게 된다면 어디서부터 차례로 만들어야 할지 간략하게 나마 설명해주시면 감사합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
247. Postman으로 API 테스트하기 에서 GET 요청하는데 에러 나는것 같네요. 강의하고 실제 환경공단 화면이 조금 틀리는데 url 을 End Point 내용을 넣었습니다. 500 Internal Server Error 인데 아마 보내는 코드가 어디가 틀린것 같아서 에러 나는것 같네요. 첨부 사진 올립니다.
https://gist.githubusercontent.com/junsuk5/bb7485d5f70974deee920b8f0cd1e2f0/raw/063f64d9b343120c2cb01a6555cf9b38761b1d94/sample.json 강의 자료에 따로 없는것 같아서 공유드립니다!
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요 강의 정말 유용하게 듣고 많이 배우고 있습니다. "92. Product Tab Pagination" 강의에서 코드팩토리님은 ProductCard에 factory을 2개 생성하여 강의를 진행하셨을때 가능하면 일반화 해서 사용하라고 하셔서 직접 구현하여 올바른 방향인지 질문 올립니다. 일반화한 Factory 생성자 IModelWithProductCard 각각 RestaurantModel과 ProductModel에 IModelWithProductCard을 implements한 모습 기존에 IModelWithId을 implements한 모델(RestaurantProductModel)은 IModelWithProductCard로 대체한 대신 IModelWithProductCard에 IModelWithId을 implements 하였습니다. 코드 팩토리님 이라면 어떻게 일반화 했을지 궁금하여 직접 질문 올려드립니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 강의 잘 듣고 있는 수강생 중 한 명입니다. 다름이 아니라 기술 블로그를 간단하게 작성하고 있는데 혹시 코드팩토리님 강의로 공부한 내용을 정리해서 올려도 괜찮을까요?? 유료 강의인만큼 당연히 프로젝트에 관련된 코드들을 올리는 것이 아닌 위젯 사용법 정도를 올리려고 합니다. 보니까 깃헙에도 코드가 공개되어 있길래 질문드립니다..! 좋은 강의 만들어 주셔서 너무 감사합니다! 좋은 하루 보내세요!
저는 플러터 완전 아무 것도 모르고 들어온 사람인데요 이렇게 옛날 버전으로 되어 있으면 지금 안드로이드 스튜디오도 처음인 사람에게는 너무 버겁거든요 안드로이드 스튜디오 설치하는것도 제대로 된것도 없고 옛날 강의 들을려고 이렇게 비싼 가격을 주고 하지는 않을거 같은데 같은 내용으로 지금 버전으로 다시 찍으셔야 하는거 아닐까요? 아니면 가격을 낮춰서 오래된거라도 볼려면 봐 이렇게 하시는게 맞지 않을까요? 유투브를 돌아다니면서 이것저것보는거 보다 인강을 제대로 돈주고 보자 해서 듣는건데 이건 너무하는거 아닌가 싶네요
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요 강사님, 강의 잘 듣고 있습니다. 질문이 하나 있는데요, 저는 현재 웹과 앱을 모두 개발해야 하는 상황입니다. 예를 들어 쇼핑몰이나 ERP, 관리자 페이지 같은 경우 대부분 웹도 필요하고 앱도 함께 제공하는 경우가 많잖아요. 그래서 Flutter로 앱과 웹을 한 번에 개발하면 생산성이 높지 않을까 생각하고 있는데, Flutter Web의 한계점(SEO, 초기 로딩 속도, 웹 전용 UX 등)도 있다는 이야기를 들어서 고민이 됩니다. 강사님께서는 웹과 앱을 모두 만들어야 하는 경우, Flutter 하나로 통합해서 개발하는 걸 어떻게 보시는지 궁금합니다. 실무에서는 어떤 방식을 추천하시는지도 듣고 싶습니다.