강의를 따라가다 antMatchers 와 access 관련해서 도움이 되고자 글을 남깁니다. (1) access 스프링 시큐리티에서 authorizeRequests가 deprecate되면서 hasRole('ADMIN') or hasRole('SYS') 에 인자로 문자열만 받을 수 있게 되었습니다. 이로 인해 특정 경로에 대한 인가를 2개 이상의 role에 주고 싶을시 hasAnyRole을 사용해야 합니다. (2) antMatchers deprecate된 authorizeRequests 대신 스프링에서 사용을 권장하는 authorizeHttpRequests를 사용한 사용자별 인가를 설정하는 코드입니다. // 스프링 시큐리티 5.4에 맞춘 강의 예제 http .authorizeHttpRequests(authorizeHttpRequests -> authorizeHttpRequests .requestMatchers("/user").hasRole("USER") .requestMatchers("/admin/pay").hasRole("ADMIN") .requestMatchers("/admin/**").hasAnyRole("ADMIN", "SYS") .anyRequest().authenticated());
a:link, a:visited, a:active { text-decoration: none; color: #3f464d; } [모던HTML/CSS로 상용화도 가능한 반응형 모던 웹페이지 만들기4] 6:00 부분에서 text-decoration 등 중복되는 설정값이 여러 가상클래스에 적용이 되는데 이런식으로 한번에 써도 되나요 ?
[질문 내용] Test 클래스에 findByID를 구현해보려고 했는데 id를 하나 만들때마다 sequence를 하나씩 올려서 저장해야될 거 같은데 Main클래스의 sequence가 private여서 그런가 sequence 자체에 접근이 불가능한 거 같습니다. 구현 어떻게 해야될 지 힌트라도 얻고 싶습니다!!
https://www.inflearn.com/questions/913307/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-mysql-%EC%97%B0%EA%B2%B0%EC%9D%80-%ED%96%88%EB%8A%94%EB%8D%B0%EC%9A%94 전글에 올렸던 내용에서 덧붙이자면, Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary. 이런 오류가 나서 log4jdbc.log4j2.properties log4jdbc.drivers=com.mysql.cj.jdbc.Driver log4jdbc.auto.load.popular.drivers=false 에 코드 추가했어요. 그래서 지금 밑에 저 오류가 남았는데 저건 어떻게 해결해야하는지 모르겠습니다.. org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:180) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:164) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:554) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:90) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:50) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:79) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:56) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:120) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:56) at org.springframework.boot.SpringApplication.run(SpringApplication.java:298) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) at carrot.app.AppApplication.main(AppApplication.java:13)
강사님 안녕하세요, 7-W 문제 조건 중에 최초 0,0 위치를 제외하고는 양발이 같은 위치에 있을 수 없다고 되어있는데요. 풀이를 보면 왼발을 움직인 경우/오른발을 움직인 경우 각각에 대해서 min 값을 취하긴 하지만, 위에 말씀드린 양발이 같은 위치에 있는 경우에 대해 배제하는 조건이 없는 것 같아서요. 현재 상태에 대한 발의 위치를 아래와 같이 나타낸다고 할 때, (왼발 위치, 오른발 위치) 현재 상태가 (1,2) 이고 다음 밟아야하는 위치가 1 이면 (1,2) 로 그대로 두거나, (1,x) 로 이동하는 경우만 있을 수 있는습니다. 하지만, 풀이의 solve 함수에서, v[target] = 1 이 되니까, int left 의 경우에는 이므로 (1,2) 그대로 있지만, int right 의 경우에는 (1,1) 에 대해 solve 함수가 호출되지 않을까 생각이 됩니다. 어쨋든 움직이지 않는 경우 (1,2) 가 노력이 덜 들어가므로 left 가 선택이 되었을 것으로 추측이 되지만, (1,1) 로 흘러들어간 DFS 가 이후에 어떤 값을 내보낼지 알수가 없을 것 같아서요 문제는 통과했지만, 양발이 같은 위치에 들어오는 경우는 배제해야하지 않을까요? 제 코드는 다음과 같습니다. http://boj.kr/8617c099286e4650b615631a7d5974cb
안녕하세요 ! 포트폴리오 댓글,등록 삭제 과제 풀고있 었는데요 삭제 만드는중에 왜 포폴용 서버 문서에는 저렇게 리턴값을 명시해줘야한다고 돼있는데 코드는 export const DELETE_BOARD_COMMENT = gql` mutation deleteBoardComment($password: String, $boardCommentId: ID!) { deleteBoardComment(password: $password, boardCommentId: $boardCommentId) } `; 왜 이렇게 작성해야하는건가요? 풀다보니 저렇게 해야 댓글삭제할때 오류가 나지않더라구요 처음에는 export const DELETE_BOARD_COMMENT = gql` mutation deleteBoardComment($password: String, $boardCommentId: ID!) { deleteBoardComment(password: $password, boardCommentId: $boardCommentId) { ID } } `; 이렇게 작성했는데 오류가 떠서 혹시나 삭제해보니 오류가 나지 않아서 궁금합니다. 점점 복잡해지네요 ㅠㅠ 일단 이해는 다 못하지만 댓글삭제, 등록 기능을 구현하긴했는데 다음챕터로 넘어가도될까요 ? 아니면 처음부터 다시 31챕터까지 복습해야할까요?
class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() start() } func simpleWork() { print("doing simple work") } func someWork() async -> Int { try? await Task.sleep(nanoseconds: 1000 1000 1000 * 3) return 10 } func start() { Task { print("start !") let num = await someWork() print(num) print("finish !") } simpleWork() } } concurrency_1 강의를 듣고 위의 코드를 playground가 아닌 project파일을 만들어서 실행시켜보았습니다. 저는 아래와 같은 결과가 나올거라 예상했었습니다. start ! doing simple work 10 finish 그런데 빌드를 시켜서 터미널에 뜨는 것을 보니 아래와 같은 결과가 나옵니다. doing simple work start ! 10 finish ! Task 자체를 통째로 아예 비동기 작업으로 인식해서 이런 결과가 나오는 것일까요?? 결과가 이렇게 나오는 이유를 잘 모르겠습니다🥲
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/93b33cb812b94777862c0d948104ad7f 이 코드인데 왜 틀렸는지 도저히 모르겠습니다. ㅠㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요! 패키지를 분류하는 기준은 Entity별로 패키지를 분류할 수 있고 or 강의에서 설명해주신 것 처럼 기능별로 패키지를 분류할 수 있을것 같습니다. Entity별로 패키지를 분류한다면 -> member라는 패키지 안에 Member 엔티티 , MemberRepository , MemberService, MemberController 그리고 각종 MemberDto들을 저는 위치시켰습니다. 그리고 기능별로 패키지를 분류한다면 -> controller라는 패키지에 , 각 controller들을 모아놓았습니다. 이 두가지 방식이 있고 , 각 방식에 대한 장단점을 chatGPT에게 물어보았었는데요, 대규모 프로젝트에서는 entity 수가 많아지기 때문에 -> 기능별로 패키지를 분류하는 방법을 더 권장해주었습니다. 혹시 이러한 이유로 영한님께서도 기능별로 패키지를 분류하는 방식으로 강의를 진행하시는 건지 여쭤보고 싶습니다.
장바구나 목록 조회기능 API 연동 강의 학습하고있습니다. 이전 강의까지는 리스트에 담는것은 잘되었습니다 db.json 파일에 /carts 데이터를 지우니 장바구니에 잘 담기네요 ..;; 그 다음F5 누르면 남아있어야되는데 남아있는 상품이 없네요 뭐가 문제일까요? 혹시 이 문구과 상관이 있을까요?
스태틱으로 이미지를 이용하여 서버를 실행한 이후에동일이름으로 다른 파일을 사용하면 변경 후의 이미지가 나올 줄 알았는데요. 변경이 안되네요. 혹시나 해서 서버를 종료후에 다시 서버를 실행해도 이전 이미지 파일로만 보이는데 동일 이름의 다른 이미지를 적영되도록 하려면 어떻게 해야 하나요? {% extends 'first/base.html' %} {% load static %} {% block content %} <p> Hello 이미지 수정본 </p> <img src = "{% static 'first/img1.jpg' %}" alt="샘플이미지" /> <p>{{current_date}} </p> <p>{{current_date|date:"Y년 m월 d일 H시 i분 s초"}}</p> <a href="{% url 'select' %}">시작하기!</a> {% endblock %} stack over flow 에서 보니 캐시때문일 수 있다고 'crtl + f5'를 하라고 해서 해봤더니 이미지가 변경적용이 되네요. 그래도 뭔가 소스에서 반영해주는 코드가 있지 않을런지요??
아래와 같은 에러가 나서 질문 드립니다. Performing hot restart... Syncing files to device iPhone 13 Pro... Restarted application in 234ms. [VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: Bad state: Tried to read a provider that threw during the creation of its value. The exception occurred during the creation of type HomeViewModel. ══╡ EXCEPTION CAUGHT BY PROVIDER ╞═══════════════════════════════ The following ProviderNotFoundException was thrown: Error: Could not find the correct Provider<PhotoApiRepositoryImpl> above this _InheritedProviderScope<GetPhotosUseCase?> Widget This happens because you used a `BuildContext` that does not include the provider of your choice. There are a few common scenarios: - You added a new provider in your `main.dart` and performed a hot-reload. To fix, perform a hot-restart. - The provider you are trying to read is in a different route. Providers are "scoped". So if you insert of provider inside a route, then other routes will not be able to access that provider. - You used a `BuildContext` that is an ancestor of<…> ======== Exception caught by widgets library ======================================================= The following ProviderNotFoundException was thrown building HomeScreen(dirty, dependencies: [_InheritedProviderScope<HomeViewModel?>], state: _HomeScreenState#f4eba): Error: Could not find the correct Provider<PhotoApiRepositoryImpl> above this _InheritedProviderScope<GetPhotosUseCase?> Widget This happens because you used a `BuildContext` that does not include the provider of your choice. There are a few common scenarios: - You added a new provider in your `main.dart` and performed a hot-reload. To fix, perform a hot-restart. - The provider you are trying to read is in a different route. Providers are "scoped". So if you insert of provider inside a route, then other routes will not be able to access that provider. - You used a `BuildContext` that is an ancestor of the provider you are trying to read. Make sure that _InheritedProviderScope<GetPhotosUseCase?> is under your MultiProvider/Provider<PhotoApiRepositoryImpl>. This usually happens when you are creating a provider and trying to read it immediately. For example, instead of: ``` Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // Will throw a ProviderNotFoundError, because `context` is associated // to the widget that is the parent of `Provider<Example>` child: Text(context.watch<Example>().toString()), ); } ``` consider using `builder` like so: ``` Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // we use `builder` to obtain a new `BuildContext` that has access to the provider builder: (context, child) { // No longer throws return Text(context.watch<Example>().toString()); } ); } ``` If none of these solutions work, consider asking for help on StackOverflow: https://stackoverflow.com/questions/tagged/flutter The relevant error-causing widget was: HomeScreen HomeScreen:file:///Users/seongjin/Desktop/oliver/programming/Flutter/image_search/lib/main.dart:32:19 When the exception was thrown, this was the stack: #0 Provider._inheritedElementOf (package:provider/src/provider.dart:343:7) #1 Provider.of (package:provider/src/provider.dart:293:30) #2 new ProxyProvider.<anonymous closure> (package:provider/src/proxy_provider.dart:162:22) #3 _CreateInheritedProviderState.value (package:provider/src/inherited_provider.dart:767:36) #4 _InheritedProviderScopeElement.value (package:provider/src/inherited_provider.dart:590:33) #5 Provider.of (package:provider/src/provider.dart:303:37) #6 ReadContext.read (package:provider/src/provider.dart:649:21) #7 viewModels.<anonymous closure> (package:image_search/data/di/provider_setup.dart:40:50) #8 _CreateInheritedProviderState.value (package:provider/src/inherited_provider.dart:736:36) #9 _InheritedProviderScopeElement.value (package:provider/src/inherited_provider.dart:590:33) #10 Provider.of (package:provider/src/provider.dart:303:37) #11 WatchContext.watch (package:provider/src/provider.dart:693:21) #12 _HomeScreenState.build (package:image_search/presentation/home/home_screen.dart:44:31) #13 StatefulElement.build (package:flutter/src/widgets/framework.dart:5198:27) #14 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5086:15) #15 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11) #16 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7) #17 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5068:5) #18 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5242:11) #19 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5062:5) ... Normal element mounting (24 frames) #43 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16) #44 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36) #45 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6582:32) ... Normal element mounting (178 frames) #223 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16) #224 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36) #225 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6582:32) ... Normal element mounting (472 frames) #697 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11) ... Normal element mounting (7 frames) #704 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (7 frames) #711 _NestedHookElement.mount (package:nested/nested.dart:187:11) ... Normal element mounting (7 frames) #718 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11) ... Normal element mounting (7 frames) #725 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (7 frames) #732 _NestedHookElement.mount (package:nested/nested.dart:187:11) ... Normal element mounting (7 frames) #739 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11) ... Normal element mounting (7 frames) #746 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (7 frames) #753 _NestedHookElement.mount (package:nested/nested.dart:187:11) ... Normal element mounting (7 frames) #760 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11) ... Normal element mounting (7 frames) #767 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (7 frames) #774 _NestedHookElement.mount (package:nested/nested.dart:187:11) ... Normal element mounting (7 frames) #781 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11) ... Normal element mounting (7 frames) #788 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (7 frames) #795 _NestedHookElement.mount (package:nested/nested.dart:187:11) ... Normal element mounting (7 frames) #802 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (27 frames) #829 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16) #830 Element.updateChild (package:flutter/src/widgets/framework.dart:3708:18) #831 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1240:16) #832 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1209:5) #833 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1156:18) #834 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2720:19) #835 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1155:13) #836 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:988:7) #837 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:968:7) #841 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:189:12) (elided 3 frames from class _Timer and dart:async-patch) ==================================================================================================== ======== Exception caught by Flutter framework ===================================================== The following StateError was thrown during a service extension callback for "ext.flutter.platformOverride": Bad state: Tried to read a provider that threw during the creation of its value. The exception occurred during the creation of type HomeViewModel. ══╡ EXCEPTION CAUGHT BY PROVIDER ╞═══════════════════════════════ The following ProviderNotFoundException was thrown: Error: Could not find the correct Provider<PhotoApiRepositoryImpl> above this _InheritedProviderScope<GetPhotosUseCase?> Widget This happens because you used a `BuildContext` that does not include the provider of your choice. There are a few common scenarios: - You added a new provider in your `main.dart` and performed a hot-reload. To fix, perform a hot-restart. - The provider you are trying to read is in a different route. Providers are "scoped". So if you insert of provider inside a route, then other routes will not be able to access that provider. - You used a `BuildContext` that is an ancestor of the provider you are trying to read. Make sure that _InheritedProviderScope<GetPhotosUseCase?> is under your MultiProvider/Provider<PhotoApiRepositoryImpl>. This usually happens when you are creating a provider and trying to read it immediately. For example, instead of: ``` Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // Will throw a ProviderNotFoundError, because `context` is associated // to the widget that is the parent of `Provider<Example>` child: Text(context.watch<Example>().toString()), ); } ``` consider using `builder` like so: ``` Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // we use `builder` to obtain a new `BuildContext` that has access to the provider builder: (context, child) { // No longer throws return Text(context.watch<Example>().toString()); } ); } ``` If none of these solutions work, consider asking for help on StackOverflow: https://stackoverflow.com/questions/tagged/flutter When the exception was thrown, this was the stack: #0 Provider._inheritedElementOf (package:provider/src/provider.dart:343:7) #1 Provider.of (package:provider/src/provider.dart:293:30) #2 new ProxyProvider.<anonymous closure> (package:provider/src/proxy_provider.dart:162:22) #3 _CreateInheritedProviderState.value (package:provider/src/inherited_provider.dart:767:36) #4 _InheritedProviderScopeElement.value (package:provider/src/inherited_provider.dart:590:33) #5 Provider.of (package:provider/src/provider.dart:303:37) #6 ReadContext.read (package:provider/src/provider.dart:649:21) #7 viewModels.<anonymous closure> (package:image_search/data/di/provider_setup.dart:40:50) #8 _CreateInheritedProviderState.value (package:provider/src/inherited_provider.dart:736:36) #9 _InheritedProviderScopeElement.value (package:provider/src/inherited_provider.dart:590:33) #10 Provider.of (package:provider/src/provider.dart:303:37) #11 WatchContext.watch (package:provider/src/provider.dart:693:21) #12 _HomeScreenState.build (package:image_search/presentation/home/home_screen.dart:44:31) #13 StatefulElement.build (package:flutter/src/widgets/framework.dart:5198:27) #14 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5086:15) #15 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5251:11) #16 Element.rebuild (package:flutter/src/widgets/framework.dart:4805:7) #17 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5068:5) #18 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5242:11) #19 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5062:5) ... Normal element mounting (24 frames) #43 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16) #44 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36) #45 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6582:32) ... Normal element mounting (178 frames) #223 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16) #224 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6570:36) #225 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6582:32) ... Normal element mounting (472 frames) #697 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11) ... Normal element mounting (7 frames) #704 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (7 frames) #711 _NestedHookElement.mount (package:nested/nested.dart:187:11) ... Normal element mounting (7 frames) #718 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11) ... Normal element mounting (7 frames) #725 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (7 frames) #732 _NestedHookElement.mount (package:nested/nested.dart:187:11) ... Normal element mounting (7 frames) #739 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11) ... Normal element mounting (7 frames) #746 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (7 frames) #753 _NestedHookElement.mount (package:nested/nested.dart:187:11) ... Normal element mounting (7 frames) #760 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11) ... Normal element mounting (7 frames) #767 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (7 frames) #774 _NestedHookElement.mount (package:nested/nested.dart:187:11) ... Normal element mounting (7 frames) #781 _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11) ... Normal element mounting (7 frames) #788 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (7 frames) #795 _NestedHookElement.mount (package:nested/nested.dart:187:11) ... Normal element mounting (7 frames) #802 SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11) ... Normal element mounting (27 frames) #829 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3971:16) #830 Element.updateChild (package:flutter/src/widgets/framework.dart:3708:18) #831 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1240:16) #832 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1209:5) #833 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1156:18) #834 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2720:19) #835 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1155:13) #836 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:988:7) #837 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:968:7) #841 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:189:12) (elided 3 frames from class _Timer and dart:async-patch) ═════════════════════════════════════════════════════════════════ When the exception was thrown, this was the stack: #0 _CreateInheritedProviderState.value (package:provider/src/inherited_provider.dart:709:7) #1 _InheritedProviderScopeElement.reassemble (package:provider/src/inherited_provider.dart:422:60) #2 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #3 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #4 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #5 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #6 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #7 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #8 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #9 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #10 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #11 _InheritedProviderScopeElement.reassemble (package:provider/src/inherited_provider.dart:420:11) #12 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #13 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #14 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #15 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #16 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #17 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #18 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #19 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #20 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #21 _InheritedProviderScopeElement.reassemble (package:provider/src/inherited_provider.dart:420:11) #22 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #23 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #24 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #25 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #26 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #27 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #28 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #29 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #30 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #31 _InheritedProviderScopeElement.reassemble (package:provider/src/inherited_provider.dart:420:11) #32 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #33 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #34 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #35 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #36 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #37 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #38 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #39 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #40 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #41 _InheritedProviderScopeElement.reassemble (package:provider/src/inherited_provider.dart:420:11) #42 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #43 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #44 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #45 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #46 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #47 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #48 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #49 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #50 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #51 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #52 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #53 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #54 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #55 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #56 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #57 StatefulElement.reassemble (package:flutter/src/widgets/framework.dart:5213:11) #58 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #59 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #60 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #61 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #62 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #63 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #64 Element.reassemble.<anonymous closure> (package:flutter/src/widgets/framework.dart:3434:13) #65 RenderObjectToWidgetElement.visitChildren (package:flutter/src/widgets/binding.dart:1194:14) #66 Element.reassemble (package:flutter/src/widgets/framework.dart:3432:5) #67 BuildOwner.reassemble (package:flutter/src/widgets/framework.dart:3162:12) #68 WidgetsBinding.performReassemble (package:flutter/src/widgets/binding.dart:1008:19) #69 BindingBase.lockEvents (package:flutter/src/foundation/binding.dart:652:41) #70 BindingBase.reassembleApplication (package:flutter/src/foundation/binding.dart:691:12) #71 BindingBase.initServiceExtensions.<anonymous closure>.<anonymous closure> (package:flutter/src/foundation/binding.dart:587:19) #72 BindingBase.registerServiceExtension.<anonymous closure> (package:flutter/src/foundation/binding.dart:936:32) <asynchronous suspension> ==================================================================================================== ======== Exception caught by scheduler library ===================================================== The following _TypeError was thrown during a scheduler callback: type 'Null' is not a subtype of type 'GetPhotosUseCase' in type cast When the exception was thrown, this was the stack: #0 _CreateInheritedProviderState.value (package:provider/src/inherited_provider.dart:789:19) #1 _CreateInheritedProviderState.debugFillProperties (package:provider/src/inherited_provider.dart:806:44) #2 _InheritedProviderScopeElement.debugFillProperties (package:provider/src/inherited_provider.dart:631:20) #3 _InheritedProviderElement.debugFillProperties.<anonymous closure> (package:provider/src/inherited_provider.dart:180:28) #4 ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5138:14) #5 _InheritedProviderElement.debugFillProperties (package:provider/src/inherited_provider.dart:180:5) #6 DiagnosticableNode.builder.<anonymous closure> (package:flutter/src/foundation/diagnostics.dart:2891:17) #7 DiagnosticableNode.builder (package:flutter/src/foundation/diagnostics.dart:2894:8) #8 DiagnosticableNode.getProperties (package:flutter/src/foundation/diagnostics.dart:2908:105) #9 DiagnosticsProperty.toJsonMap (package:flutter/src/foundation/diagnostics.dart:2613:57) #10 DiagnosticsNode.toJsonList.<anonymous closure> (package:flutter/src/foundation/diagnostics.dart:1675:19) #11 MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31) #12 ListIterator.moveNext (dart:_internal/iterable.dart:344:26) #13 new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27) #14 new _GrowableList.of (dart:core-patch/growable_array.dart:150:28) #15 new List.of (dart:core-patch/array_patch.dart:47:28) #16 ListIterable.toList (dart:_internal/iterable.dart:214:7) #17 DiagnosticsNode.toJsonList (package:flutter/src/foundation/diagnostics.dart:1676:8) #18 DiagnosticsNode.toJsonMap.<anonymous closure> (package:flutter/src/foundation/diagnostics.dart:1637:25) #19 DiagnosticsNode.toJsonMap (package:flutter/src/foundation/diagnostics.dart:1650:6) #20 WidgetInspectorService._nodeToJson (package:flutter/src/widgets/widget_inspector.dart:1652:18) #21 WidgetInspectorService._reportStructuredError (package:flutter/src/widgets/widget_inspector.dart:929:44) #22 FlutterError.reportError (package:flutter/src/foundation/assertions.dart:1185:14) #23 _reportException (package:flutter/src/widgets/framework.dart:6628:16) #24 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2782:11) #25 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:903:21) #26 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:358:5) #27 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1284:15) #28 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1214:9) #29 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1072:5) #30 _invoke (dart:ui/hooks.dart:142:13) #31 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:359:5) #32 _drawFrame (dart:ui/hooks.dart:112:31) ====================================================================================================
OrderControllerV1 인터페이스에서 @RequestParam을 생략하면 안 되고 작성해줘야 한다고 하셨는데, '@RequestParam("itemId")'과 같이 "itemId"라는 속성도 생략하면 안 되는 것인가요? @RequestParam이 아닌 @RequestParam("itemId")로 적어주어야 하는 것인가요?