강사님 안녕하세요. 강의 잘 듣고 있습니다. 감사합니다. 세가지 질문이 있습니다. 1. 아래와 같이 코드 짜도 되나요? 2. 코드가 맞다면, 제가 탐색 알고리즘 원리로 푼게 맞나요? 3. 강사님 코드가 더 효율이 높다고 보면 되는건가요? 이정도 차이면 코딩테스트에서 큰건가요? - 제 코드 실행시간: 0.00021576881408691406 - 강사님 코드 시간: 0.00020885467529296875
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
죄송하지만, 어제 질문을 남겼는데 제가 제대로 궁금한 사항을 전달하지 못한 거 같아 다시 질문드립니다. paginate함수에서 왜 꼭 final pState = state as CursorPaginationFetchingMore<T>; 해주어야만 하는지 잘 이해를 못하겠습니다. 강의에서 처럼, final resp = await repository.paginate(paginationParams: paginationParams); if (state is CursorPaginationFetchingMore) { final pState = state as CursorPaginationFetchingMore<T>; // 기존 데이터에 새로운 데이터 추가 state = resp.copyWith( data: [ ...pState.data, ...resp.data, ], ); 이 아닌, final resp = await repository.paginate(paginationParams: paginationParams); if (state is CursorPaginationFetchingMore) { state as CursorPaginationFetchingMore<T>; // 기존 데이터에 새로운 데이터 추가 state = resp.copyWith( data: [ ...state.data, ...resp.data, ], ); 으로 하게 되면 왜 data가 자동완성이 안되는 걸까요? state의 상태를 CursorPaginationBase로만 인식을 해서 안되던데, CursorPaginationFetchingMore extends CursorPaginationBase를 했으니, state as CursorPagination<T>이라고 해도 .data를 인식해야 하는거 아닌가요?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요, 선생님. 기초적인 것 같은데 이해되지 않는 부분이 있어 질문드립니다. 다트 공식문서상에 있는 예제입니다. void main(){ print(createOrderMessage()); } String createOrderMessage() { var order = fetchUserOrder(); return 'Your order is $order'; } Future<String> fetchUserOrder() async { return await Future.delayed(const Duration(seconds: 2), () => 'Large Latte'); } 결과: Your order is Instance of 'Future<String>' 로직적으로 해석를 시도해보았고 다른 예제들도 실행하면 잘 되는데..이 예제만 궂이 main함수에 Future를 집어 넣어주야 'Large Latte'를 받을 수 있다는게 ....기본 강의를 돌려보아도 이해가 되지 않는데...좀 상세히 설명 해 주실 수 있을까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
paginate 함수에서, final pState = state as CursorPagination 하는 분에서요, state as CursorPagination 하면 state.data라고 자동완성이 안되던데 왜 그런가요? 데이터타입을 CursorPaginationBase로만 인식하던데 as CursorPagination을하면 확실한 다운캐스팅에선 data가 인식 되어야 맞는거 아닌가요?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
어떡해야 하나요? ㅠ 인터넷보고 ~/.zshrc 파일을 수정도 해봤는데 안되네요 - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
AuthRepository 클래스에서 token() 함수는 전혀 호출되지 않는거 같은데, Dead Code인가요? (Dead Code가 아니라면, 어디서 호출 되는지 설명 부탁드립니다) Dead Code 가 맞다면, 아래 2개 파일도 필요가 없어서 삭제해도 되는 걸까요? token_response.dart token_response.g.dart
안녕하세요 코드팩토리님! 선생님의 dart강의를 듣고 flutter로 혼자 사이드 프로젝트를 진행하고 있는 중에 질문이 있어 이렇게 글을 남깁니다. 다만 무료 dart 강의만 듣고 flutter 질문을 드리는 것이 죄송하네요..ㅜㅜ 우여곡절끝에 제가 생각하던 앱을 비슷하게나마 완성을 했는데요. 아기 사진을 가족들과 공유할수 있는 사진앨범 앱을 만들었습니다. 기본적으로 firebase를 연동하여 데이터를 받아와서, gridview 이미지들을 보여주고있습니다. 스크롤 시, 추가적으로 데이터들을 받아와서 이미지들을 보여주게 되는데요 여기서 이미지들이 다 불러와지지 않은 상태에서 빠르게 스크롤을 하면 앱이 꺼져버리는 문제가 생겼습니다. 구글링 및 디버깅을 해보니 memory leak으로 앱이 꺼지는 것 같은데 Image.network를 CachedNetworkImage로 바꿔도 보고 setState를 남발해서 그런가 싶어서 코드팩토리님 유튜브의 'provider로 sns 스타일 infinite scroll 구현하기!' 를 참고하여 provider로 상태관리를 하도록 바꿔도 보고 const를 선언할수 있는 부분은 선언하고 최대한 build를 호출 안하게끔, build에 복잡한 로직이 안들어가게끔 수정하였는데요. 그럼에도 불구하고 이 문제는 고쳐지지가 않더라구요 ㅜㅜ 불러오는 이미지 url을 CachedNetworkImage로 보여주지 않고 그냥 Text로 보여주면 해당 문제가 안나오는걸로 봐선 뭔가 이미지 관련해서 문제가 있는것 같긴한데 어떻게 해결해야하는지 감이 잡히지도 않고, 답답한 심정입니다 ㅜㅜ 괜찮으시다면 방법을 제시해주실수 있을까 싶어 질문남깁니다. 감사합니다!
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 학습중 궁급해서 질문 드립니다. test@codefactory.ia:testtest 이 부분을 인코딩하고 포스트맨에서 로직 검사를 여러번 시험해보면서 username 즉 ID값을 다르게 변경해도 패스워드만 정확하게 맞다면 accessToken 과 refreshToken을 받을 수 있었습니다. Password부분 같이 값이 같아야 토큰을 받을 수 있는건데 ID값은 달라도 왜 토큰 값이 받아지는 거죠? 사진은 ID값을 다르게 해서 토큰을 받은 겁니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
저는 이런식으로 계속해서 뜨는데 이것만 끄는 방법이 있을까요? 필요한 정보만 보고 싶은데 textfield의 깜빡깜빡하는 부분까지도 다 뜨는 것 같아서요. ㅠㅠ 수업내용은 선생님께서 잘 알려주셔서 너무 좋아요!! 그리고 현재 안드로이드로 배우고 있는데, 선생님처럼 Appbar의 title이 이처럼 다음 페이지로 이동시 살짝 오른쪽으로 가는데 어떻게 설정하면 될까요??
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요 에러문제로 골머리를 앓다가 질문합니다 색상정보 DB에 넣기를 따라하면서 db를 만들고 색상 쿼리를 넣고 문제없이 따라 코딩했지만 처음보는 에러를 보고 혼자 해볼려고 노력했지만 안되네요 ㅠㅠ import 'dart:ffi' 여기에서 Error: Not found: 'dart:ffi' 이 종류의 에러가 나와서 크롬으로 앱이 실행이 안되네요 ㅠㅠ 어떤 문제일까요? 사진첨부합니다
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
리프래시 토큰이 기간 만료되었다는 거는 어플 쪽에서 확인을 해서 재발급 요청을 보내야 하나요? 예를 들어서 페이로드에 있는 만료일을 어플 백그라운드에서 계속 체크하면서 만료되면 재발급 요청을 서버쪽에 보내는 건지 궁금 합니다. 액세스토큰이 만료일 때 리프레시 토큰까지 만료이면 바로 로그아웃인데 리프래시 토큰만 만료인 경우는 어떻게 검증하는지 궁금합니다
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
간단하게 만들고있는데 ListView 를 사용했더니 아래와 같은 오류가 뜹니다. 뭐가 문제일까요?! RenderFlex children have non-zero flex but incoming height constraints are unbounded. Flexible , Expanded 사용해봤습니다 ㅠ
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요, 시간이 없어 어떻게든 꾸역꾸역 듣고 있는데도 많은 도움을 얻고 있습니다. _App 클래스에서 MaterialApp 위젯을 .router 생성자로 부르고 _App 클래스가 ConsumerWidget를 상속 받게끔 코드를 고치니 에러가 발생합니다. 가장 위에 보이는 에러는 이렇습니다. 다시 ConsumerWidget에서 StatelessWidget을 상속 받게 하니 에러는 발생하지 않습니다. .router 생성자를 빼도 에러가 발생하는 것을 보아 리버팟과 관련된 이슈인 듯 합니다. 저는 강의가 나온 후 조금 지난 시점에 듣기 시작해서 이미 리버팟이 2.1.대 버전일 때 시작했는데 강의와 시차가 있어 발생하는 문제일까요? 강사님 아니더라도 해결하신 분이 있다면 조언 부탁드립니다. 감사합니다. 에러 메시지 및 스택은 다음과 같습니다. [VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 2609 pos 20: '_debugCurrentBuildTarget == context': is not true. #0 AssertionError. doThrowNew (dart:core-patch/errors_patch.dart:51:61) #1 AssertionError. throwNew (dart:core-patch/errors_patch.dart:40:5) #2 BuildOwner.buildScope.<anonymous closure> (package:flutter/src/widgets/framework.dart:2609:20) #3 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2613:12) #4 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1110:13) #5 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:945:7) #6 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:925:7) #7 Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15) #8 Timer. runTimers (dart:isolate-patch/timer_impl.dart:398:19) #9 _Ti<…> ======== Exception caught by widgets library ======================================================= The following assertion was thrown building UncontrolledProviderScope: Got a stack frame from package:stack_trace, where a vm or web frame was expected. This can happen if FlutterError.demangleStackTrace was not set in an environment that propagates non-standard stack traces to the framework, such as during tests. 'package:flutter/src/foundation/stack_frame.dart': Failed assertion: line 192 pos 7: 'line != '===== asynchronous gap ==========================='' The relevant error-causing widget was: UncontrolledProviderScope UncontrolledProviderScope:file:///Users/letmebelazy/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_riverpod-2.1.1/lib/src/framework.dart:250:12 When the exception was thrown, this was the stack: #2 StackFrame.fromStackTraceLine (package:flutter/src/foundation/stack_frame.dart:192:7) #3 MappedIterator.moveNext (dart:_internal/iterable.dart:391:20) #4 WhereTypeIterator.moveNext (dart:_internal/iterable.dart:869:20) #5 new GrowableList. ofOther (dart:core-patch/growable_array.dart:202:26) #6 new GrowableList.of (dart:core-patch/growable array.dart:152:26) #7 new List.of (dart:core-patch/array_patch.dart:51:28) #8 Iterable.toList (dart:core/iterable.dart:470:12) #9 StackFrame.fromStackString (package:flutter/src/foundation/stack_frame.dart:93:10) #10 StackFrame.fromStackTrace (package:flutter/src/foundation/stack_frame.dart:78:12) #11 FlutterErrorDetails.debugFillProperties (package:flutter/src/foundation/assertions.dart:712:57) #12 DiagnosticableNode.builder.<anonymous closure> (package:flutter/src/foundation/diagnostics.dart:2940:17) #13 DiagnosticableNode.builder (package:flutter/src/foundation/diagnostics.dart:2943:8) #14 _FlutterErrorDetailsNode.builder (package:flutter/src/foundation/assertions.dart:1289:56) #15 DiagnosticableNode.emptyBodyDescription (package:flutter/src/foundation/diagnostics.dart:2954:77) #16 DiagnosticsNode.toJsonMap.<anonymous closure> (package:flutter/src/foundation/diagnostics.dart:1632:13) #17 DiagnosticsNode.toJsonMap (package:flutter/src/foundation/diagnostics.dart:1661:6) #18 WidgetInspectorService._nodeToJson (package:flutter/src/widgets/widget_inspector.dart:1606:18) #19 WidgetInspectorService._reportStructuredError (package:flutter/src/widgets/widget_inspector.dart:937:44) #20 FlutterError.reportError (package:flutter/src/foundation/assertions.dart:1184:14) #21 _debugReportException (package:flutter/src/widgets/framework.dart:6493:16) #22 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4887:9) #23 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5050:11) #24 Element.rebuild (package:flutter/src/widgets/framework.dart:4604:5) #25 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4859:5) #26 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5041:11) #27 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4853:5) ... Normal element mounting (7 frames) #34 UncontrolledProviderScopeElement.mount (package:flutter riverpod/src/framework.dart:309:11) ... Normal element mounting (9 frames) #43 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16) #44 Element.updateChild (package:flutter/src/widgets/framework.dart:3592:18) #45 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1195:16) #46 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1164:5) #47 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1111:18) #48 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2605:19) #49 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1110:13) #50 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:945:7) #51 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:925:7) (elided 6 frames from class AssertionError, class RawReceivePortImpl, class _Timer, and dart:async-patch) ==================================================================================================== ======== Exception caught by widgets library ======================================================= The following assertion was thrown building ProviderScope(state: ProviderScopeState#5859c): 'package:flutter/src/widgets/framework.dart': Failed assertion: line 4606 pos 14: 'owner!._debugCurrentBuildTarget == this': is not true. Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause. In either case, please report this assertion by filing a bug on GitHub: https://github.com/flutter/flutter/issues/new?template=2_bug.md The relevant error-causing widget was: ProviderScope ProviderScope:file:///Users/letmebelazy/StudioProjects/code_factory/lib/main.dart:9:5 When the exception was thrown, this was the stack: #2 Element.rebuild.<anonymous closure> (package:flutter/src/widgets/framework.dart:4606:14) #3 Element.rebuild (package:flutter/src/widgets/framework.dart:4609:6) #4 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4859:5) #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4853:5) #6 UncontrolledProviderScopeElement.mount (package:flutter riverpod/src/framework.dart:309:11) ... Normal element mounting (9 frames) #15 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16) #16 Element.updateChild (package:flutter/src/widgets/framework.dart:3592:18) #17 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1195:16) #18 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1164:5) #19 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1111:18) #20 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2605:19) #21 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1110:13) #22 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:945:7) #23 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:925:7) (elided 6 frames from class AssertionError, class RawReceivePortImpl, class _Timer, and dart:async-patch) ==================================================================================================== ======== Exception caught by widgets library ======================================================= The following assertion was thrown attaching to the render tree: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 4606 pos 14: 'owner!._debugCurrentBuildTarget == this': is not true. Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause. In either case, please report this assertion by filing a bug on GitHub: https://github.com/flutter/flutter/issues/new?template=2_bug.md When the exception was thrown, this was the stack: #2 Element.rebuild.<anonymous closure> (package:flutter/src/widgets/framework.dart:4606:14) #3 Element.rebuild (package:flutter/src/widgets/framework.dart:4609:6) #4 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4859:5) #5 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5041:11) #6 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4853:5) #7 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863:16) #8 Element.updateChild (package:flutter/src/widgets/framework.dart:3592:18) #9 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1195:16) #10 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1164:5) #11 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1111:18) #12 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2605:19) #13 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1110:13) #14 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:945:7) #15 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:925:7) (elided 6 frames from class AssertionError, class RawReceivePortImpl, class _Timer, and dart:async-patch) ====================================================================================================
선생님 안녕하세요 이번에 선생님강의 머신러닝2개, 컴퓨터비젼2개를 모두 완강한 열혈팬 회사원입니다 ㅎㅎㅎ 선생님 강의 덕분에 이번에 회사에서 세그멘테이션을 담당하게 되엇는데, 세그멘테이션강의관련 질문이 잇어서 이렇게 메일을 드립니다 ㅎ 바쁘시겟지만 조언 좀 부탁드리겟습니다 <배경> 이번에 검출할 객체(첨부파일)는 바늘과 같이 아주 가늘고 긴 객체(섬유)인데 이미지1장당 객체전체면적이 0.5 - 2%밖에 없는 아주 미세한 객체입니다. 실제원본데이터에서도 객체는 눈으로 자세히 보아야 검출할수 잇을정도입니다 ㅎ (학습데이터30장, 학습마스크영상 30장, 테스트데이터 5장 ). 사용모델은 깃헙에서 공개한 U-NET모델로 세그멘테이션을 수행햇는데, 첫epoch부터 정확도가 90%이상, 로스가 0.1이하로 상당히 높은 성능을 보엿는데 예측결과이미지영상에는 아무것도 검출이 안된 상태(완전검은영상)입니다. 참고로 다른 이미지데이터를 가지고 U-NET모델로 세그멘테이션을 수행해본결과 예측결과도 상당히 잘되어서 모델에는 문제가없는것으로 판단햇습니다. 여기서 조언을 좀 부탁드리겠습니다. 1> 정확도는 90%이상, 로스가 0.1이하인데 아무것도 검출이 안되엇다는 것은 , 객체가 너무미세해서 검출을 못한걸로 이해해도 되는지요? 2> 이런경우 성능을 올리기 위한방법으로 오그멘테이션방법도 잇는데, 특히 사용해야할 오그멘테이션방법이 잇는지요? 참고로 확대기능등을 사용햇습니다. 3> 다른방법으로 선생님CNN강의에서사용한 mark-rcnn 방법도 해볼려고 하는데, 어떻게 생각하시는지요? 글을 적다보기 글이 너무 길어져서 죄송합니다, 바쁘시겟지만 조언 좀 부탁드리겟습니다 ㅎ