12, 13강 수업화면에서 수업 내 에뮬레이터의 기본 시작이 상단 푸른색으로 "Flutter Demo Home Page"라고 보이는 화면인데, 이화면을 어떻게 띄우는지 모르겠습니다. 수강생들은 수업절차대로 했더니 안드로이드 기본화면입니다. 13강의 코드를 삭제해도 반영이 안되네요
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요 선생님. 다름이 아니라 강의를 듣다가 강의 마지막쯤에 GoRoute의 상위에서 redirect를 작성할 때와, routes안에 GoRoute(이하 하위)에서 redirect 할 때의 차이점을 설명해주셨는데요. 그래도 눈으로 확인하고 싶어서 print()를 통해 디버깅하고자 아래와 같은 코드로 작성한 상태입니다. 코드 -> 질문 순서로 하겠습니다. // 불필요한 코드는 임의로 삭제하겠습니다. import ... bool authState = false; final router = GoRouter( redirect: (context, state) { print(state.location); print('상위 redirect'); ... }, routes: [ ... GoRoute( path: 'login2', builder: (_, state) => LoginScreen(), routes: [ GoRoute( path: 'private', builder: (_, state) => PrivateScreen(), redirect: (context, state) { print(state.location); print('하위 redirect'); if(!authState) { return '/login2'; } return null; }, ), ], ) ], ), ], ); 작성한 코드는 이러합니다. 상위에서 print문을 2번 사용해서 현재 위치와 상위redirect임을 밝힙니다. 하위에서 마찬가지로 print문을 2번 사용해서 현재 위치와 하위redirect임을 밝힙니다. 여기서부터 궁금한게 여러가지 생겼습니다. login에 실패하여 /private으로 가지 못하는 상황입니다. 제가 생각했던 출력문은 상위에서는 I/flutter (20444): /login/private I/flutter (20444): 상위 redirect 이렇게 출력될 것이다 생각했는데 아래와 같이 나왔습니다. I/flutter (20444): /login/private I/flutter (20444): 상위 redirect I/flutter (20444): /login I/flutter (20444): 상위 redirect Q1. 이렇게 나오는 이유가 authState값을 모르는 채로 /private에 진입부터 했다가 (=출력문 1번), false값인걸 확인하고 /login으로 다시 돌아와서 출력문 3번이 나온것이 맞는지 궁금합니다. 또한 하위 redirect에서 질문이 있습니다. 먼저한 질문(Q1)이 맞다면 , 예상했던 출력값이 있습니다. 예상출력값) I/flutter (20444): /login2/private I/flutter (20444): 하위 redirect I/flutter (20444): /login2 I/flutter (20444): 하위 redirect 그러나 실제로 출력결과는 아래와 같았습니다. I/flutter (20444): /login2/private I/flutter (20444): 상위 redirect I/flutter (20444): /login2/private I/flutter (20444): 하위 redirect I/flutter (20444): /login2 I/flutter (20444): 상위 redirect 상위는 /private에 갔다가 /login으로 돌아오는게 출력된 반면, 하위는 /private에 갔다가 돌아오는 출력문이 찍히지를 않았습니다. Q2. 그렇다면 왜 이렇게 출력되는지 플로우나 실행흐름 같은게 궁금합니다. 또한 상위와 하위 redirect가 무조건적으로 동시에 실행하게 된다면, 상위의 redirect는 하위의 redirect로 덮어쓰여져서 하위만을 실행하거나 하위 우선적인 로직이 수행하는지 궁금합니다. 감사합니다 X)
Main.dart를 실행 시, 아래와 같이 오류가 발생합니다. ================================================================ Launching lib\main.dart on sdk gphone64 x86 64 in debug mode... Running Gradle task 'assembleDebug'... FAILURE: Build failed with an exception. * Where: Settings file 'C:\Users\pc\StudioProjects\first_flutter\android\settings.gradle' line: 20 * What went wrong: A problem occurred evaluating settings 'android'. > Could not read script 'C:\Users\pc\OneDrive\?��???? ?????��\????��?\flutter\packages\flutter_tools\gradle\app_plugin_loader.gradle' as it does not exist. * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 4s Exception: Gradle task assembleDebug failed with exit code 1 ================================================================= setting에서 Gradle user home 도 아래와 같이 설정했는데, 어떤 문제가 있을까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
디스코드 dm으로 프리미엄 채널 문의 드렸는데 초대가 안된것 같아서 여기에 질문드려요! 11:05 초 강의 처럼 resp.data 하려고 하지만, 저는 에러 렌즈때문에 debugPrint로만 찍어야 run이 가능합니다. 그래서 코드는 아래 resp 함수를 다 지우고 debugPrint하면 토큰은 잘 나오지만, 아래처럼 하고 debugPrint( resp.data )를 하면 아래와 같은 에러가 발생합니다. 저 코덱 뒤에가 다이내믹 타입이라는 그런거 때문이거 같습니다. 버전도 동일하게 일부러 맞춰봤는데도 그런거보면.. 이상하게 왜 강의에서는 에러가 안났을까요? 흠 ..
13강 예제파일로 실행 시 아래 오류가 발생하는데 문제가 뭘까요? (사람이 문제겠죠?) 소스코드 : import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: const MyHomePage(), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({Key? key}) : super(key: key); @override State<MyHomePage> createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { return Container(); } } 에러 Launching lib\main.dart on sdk gphone64 x86 64 in debug mode... Running Gradle task 'assembleDebug'... FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'android'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10. Required by: project : > Could not resolve org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10. > Could not get resource 'https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.7.10/kotlin-gradle-plugin-1.7.10.pom'. > Could not GET 'https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plugin/1.7.10/kotlin-gradle-plugin-1.7.10.pom'. > The server may not support the client's requested TLS protocol versions: (TLSv1.2, TLSv1.3). You may need to configure the client to allow other protocols to be used. See: https://docs.gradle.org/7.5/userguide/build_environment.html#gradle_system_properties (중략) * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 4s [!] Gradle threw an error while downloading artifacts from the network. Exception: Gradle task assembleDebug failed with exit code 1
잘 실행되던 에뮬레이터가 갑자기 에러가 발생합니다. 아래 질문에 링크 주신 내용으로 해도 안되네요. 2023-10-11 11:40:48,622 [ 565376] INFO - Emulator: Pixel 6 API 31 - C:\dev\sdk\emulator\emulator.exe -netdelay none -netspeed full -avd Pixel_6_API_31 2023-10-11 11:40:48,667 [ 565421] INFO - Emulator: Pixel 6 API 31 - Android emulator version 32.1.15.0 (build_id 10696886) (CL:N/A) 2023-10-11 11:40:48,667 [ 565421] INFO - Emulator: Pixel 6 API 31 - Found systemPath C:\dev\sdk\system-images\android-31\google_apis\x86_64\ 2023-10-11 11:40:48,754 [ 565508] WARN - Emulator: Pixel 6 API 31 - Please update the emulator to one that supports the feature(s): Vulkan 2023-10-11 11:40:48,811 [ 565565] WARN - Emulator: Pixel 6 API 31 - Failed to process .ini file C:\dev\androidavd\Pixel_6_API_31.avd\quickbootChoice.ini for reading. 2023-10-11 11:40:52,113 [ 568867] INFO - Emulator: Pixel 6 API 31 - Process finished with exit code -1073741819 (0xC0000005) 2023-10-11 11:40:52,114 [ 568868] SEVERE - Emulator: Pixel 6 API 31 - Emulator terminated with exit code -1073741819 java.lang.Throwable: Emulator terminated with exit code -1073741819 at com.intellij.openapi.diagnostic.Logger.error(Logger.java:202) at com.android.tools.idea.avdmanager.EmulatorProcessHandler$ConsoleListener.onTextAvailable(EmulatorProcessHandler.kt:89) at jdk.internal.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at com.intellij.execution.process.ProcessHandler$2.invoke(ProcessHandler.java:248) at jdk.proxy1/jdk.proxy1.$Proxy44.onTextAvailable(Unknown Source) at com.intellij.execution.process.ProcessHandler.notifyTextAvailable(ProcessHandler.java:222) at com.intellij.execution.process.ProcessTerminatedListener.processTerminated(ProcessTerminatedListener.java:54) at jdk.internal.reflect.GeneratedMethodAccessor283.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at com.intellij.execution.process.ProcessHandler$2.invoke(ProcessHandler.java:248) at jdk.proxy1/jdk.proxy1.$Proxy44.processTerminated(Unknown Source) at com.intellij.execution.process.ProcessHandler.lambda$notifyTerminated$2(ProcessHandler.java:206) at com.intellij.execution.process.ProcessHandler$TasksRunner.execute(ProcessHandler.java:281) at com.intellij.execution.process.ProcessHandler.notifyTerminated(ProcessHandler.java:189) at com.intellij.execution.process.ProcessHandler.notifyProcessTerminated(ProcessHandler.java:185) at com.intellij.execution.process.BaseProcessHandler.onOSProcessTerminated(BaseProcessHandler.java:61) at com.intellij.execution.process.BaseOSProcessHandler$1.lambda$startNotified$0(BaseOSProcessHandler.java:98) at com.intellij.execution.process.ProcessWaitFor.lambda$new$0(ProcessWaitFor.java:45) at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:212) at com.intellij.execution.process.ProcessWaitFor.lambda$new$1(ProcessWaitFor.java:23) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:833) 2023-10-11 11:40:52,115 [ 568869] SEVERE - Emulator: Pixel 6 API 31 - Android Studio Giraffe | 2022.3.1 Patch 2 Build #AI-223.8836.35.2231.10811636 2023-10-11 11:40:52,115 [ 568869] SEVERE - Emulator: Pixel 6 API 31 - JDK: 17.0.6; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o. 2023-10-11 11:40:52,115 [ 568869] SEVERE - Emulator: Pixel 6 API 31 - OS: Windows 10 2023-10-11 11:40:52,683 [ 569437] WARN - #com.android.tools.idea.avdmanager.AvdManagerConnection - Unable to determine if Pixel_6_API_31 is online, assuming it's not
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
세션2 Dio로 Auth API요청해보기 이전강의까지 실행후에, 서버 작동하는거 다확인했습니다. 문제없었습니다. http://127.0.0.1:3000/api 도 잘들어가졌습니다 서버 설정은 actual 플러터프로젝트 파일 말고, delivery_server라는 플러터프로젝트 파일을 만들어 작업했습니다. 본강의부분에서 플러터에 작업하려고 acual 프로젝트로 넘어갔고 강의부분 작업을 다한후에 ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ print( resp.data ); 로그인 버튼을 눌렀는데 에러가 발생하지도 않는데 refreshToken이 출력안되고 화면에 아무것도 출력이 안되네요 print( resp.data ); 부분이 출력이 안되는거같습니다 다른프로젝트로 넘어가면서 서버가 종료된거같은데 어떻게 해결해야할까요?
강의잘듣고있습니다. 잔재미 코딩님의 강의들은 대부분 파이썬 기반 웹개발이던데요;;; 커리큘럼 대부분이 파이썬 백엔드와 연관되어 한흐름을 이어나가시는걸 느낄수있었습니다. 갠적으로 궁금한 질문은 이겁니다. 질문1. 파이썬 자바 자바스크립트 각기 다른언어로 만약 웹사이트 백엔드서버를 구축한다면 스팩차이가 있을까요? 제가 예전에 학원에 문의했더니 자바로 만든게 가장 서버 스팩이 빠르고 셋중에 가장 떨어지는게 파이썬이란 이야길 들은적이있거든요 그래서 학원측 권유로 자바 스프링 백엔드를 국비가 아닌 사비로 6개월다녔었습니다. (국비수업 퀄리티가 많이떨어진다는 이야길 귀가따갑게들어서요) 질문2 제가 오프라인학원에서 자바 스프링 백엔드과정(6개월) 수료 한 상태에서 현재 웹사이트를 구축하고 그그걸연결시키는 앱을 만들려고 잔재미코딩님의 플러터강의를 구매해서 수강중입니다. 현재 스프링부트로 crud까진 할줄아는상태인데 잔재미 코딩님 단과강의들을보면 서버기술 강좌에도 파이썬 플라스크 배포방법 mysql에도 파이썬과연동하는법등 모든게 파이썬과 연동되는 내용이던데 이부분에있어서 자바쪽 공부해온 사람은 해당 강좌들을 들어도 무리가없을지요? 그렇다고 지금 파이썬을 첨부터 공부해서 커리큘럼을 따라가기엔 시간이 많이 걸릴것같아 좀두렵네요~ 자바스프링쪽으로 계속 파서 결과물을 만들고하는게 목표입니다. 혹시 자바나 자바스크립트계열로 시작한 수강생을위해 각단과강의들에 파이썬과 연동된 내용만있는게 아쉬웠는데 타언어 배포나 관련 내용을 만들어 업그레이드해주실순없는지요?? 질문3. 입문자 눈높이에 맞게 잘설명해주시던데 향후 자바스프링계열쪽 컨텐츠를 만들예정은없으신지요? 질문4. 현재 신청한 플러터 인강은 완강했지만 눈에만 발라놨지 아직 제것으로 체화가안된상태입니다. 향후 플러터 앱개발의 중고급 개발기술에대한 강의 런칭예정이있을지요??? 전 단순 취업목적으로 it쪽을 공부하는게아닌 현재 나이가 40대 초반이라 직접 앱과 웹을 만들어 창업을해보려고하는 수강생입니다. ㅠㅠ
JPQL를 데이터를 조회하면, DB에 먼저 조회한 후, 영속성 컨텍스트에 이미 동일한 엔티티가 있으면, DB에서 조회한 데이터를 버리고, 이미 있는 엔티티를 반환한다고 알고 있습니다. 만약, 기존 엔티티를 새로 검색한 엔티티로 대체한다면, 영속성 컨텍스트에 수정 중인 데이터가 사라질 수 있어, 위험하다고 하는데, 그러면, 조회시 수정 중인 데이터가 조회되어서, 의도치 않는 데이터가 조회될 수 있지 않나요? 오히려 수정 중인 데이터 대신 새로 조회한 데이터로 대체하는게 좋지 않을까 싶은데, 혹시, DB에서 조회한 데이터를 버리고, 이미 있는 엔티티를 반환하는게 더 장점인 구체적인 예시가 있을까요?
강의의 useTransition을 사용한 부분에서 input 태그의 value를 deferedFilter로 설정하고 handleChange 내의 setFilter를 제거해도 문제가 없나요? 아니면 input에서 다루는 value와 Words를 렌더링하기 위한 filter value를 따로 관리해야 하나요? 이렇게 해도 문제가 없는지 궁금합니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. * What went wrong: A problem occurred evaluating project ':app'. > Failed to apply plugin 'com.android.internal.application'. > Could not create plugin of type 'AppPlugin'. > Could not generate a decorated class for type AppPlugin. > com/android/build/api/component/Component * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. 도움이 필요합니다 ㅠㅠ
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요. 강의를 듣고 변형해서 개발해 보고 있습니다. drifrt를 통한 insert 시에 오류가 발생합니다. [ERROR:flutter/runtime/dart_vm_ initializer.cc (41)] Unhandled Exception: Bad state: GetIt: Object/factory with type LocalDataBase is not registered inside GetIt. 어떤 오류인지 검색을 해도 나오지가 않네요. 문제가 뭐인지 확인 좀 부탁드립니다. 감사합니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드팩토리 디스코드 https://bit.ly/3HzRzUM Flutter 강의를 구매하시면 코드팩토리 디스코드 서버 플러터 프리미엄 채널에 들어오실 수 있습니다! 디스코드 서버에 들어오시고 저에게 메세지로 강의를 구매하신 이메일을 보내주시면 프리미엄 채널에 등록해드려요! 프리미엄 채널에 들어오시면 모든 질의응답 최우선으로 답변해드립니다!
안녕하세요! 강의영상에서는 가능한 많은 예제를 보여주려고 다양한 연관관계 매핑을 사용했다고 하셨는데 단방향을 지향하는 실무 관점에서 궁금한게 있습니다. Order N:1 Member => 다대일 단방향이 가능한지 OrderItem N:1 Order => 다대일 단방향이 가능한지 Order와 Delivery 관계에서 단방향이 안되는 이유 Item과 Category를 일대다, 다대일로 풀어내는게 맞는지 답변해주시면 감사하겠습니다!!