inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

버전 3.2.2 테스트 오류 - 해결은 했지만 궁금한 점

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] id 'java' id 'org.springframework.boot' version '3.2.2' id 'io.spring.dependency-management' version '1.1.4' java { sourceCompatibility = '17' } 현재 쓰는 버전입니다. 애플리케이션 실행에는 문제가 없지만 테스트시에 아래와 같이 오류가 뜹니다. Execution failed for task ':test'. > There were failing tests. See the report at: file:///C:/Workspace/jpa_%EA%B0%95%EC%9D%98/jpashop/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 1s 4 actionable tasks: 1 executed, 3 up-to-date 이에 대한 해결 방법을 찾아 보던 중 파일 - 설정 - 빌드,실행,배포 - gradle - 다음을 사용하여 테스트 실행 - IntelliJ IDEA 로 변경을 하여 해결하였습니다. 해결은 했지만 왜 이와같은 오류가 일어났었는지 IntelliJ IDEA 로 테스트를 실행하도록 했을 때 왜 동작하는지 앞으로 다른 문제가 발생하지는 않을지 궁금합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
은돌 댓글 1 좋아요 0 조회수 687

테스트를 실행해도 db에 반영이 안되는 것 같습니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 처음에 db delete 안 해주고 실행했을 때도 체크 표시가 떴고 delete 해주고 실행, db에서 회원 목록 조회하니 목록에 아무도 없습니다. test가 db에 연결이 안된 걸까요?

  • java
  • spring
  • mvc
  • spring-boot
이서영 댓글 1 좋아요 0 조회수 610

수정이라는 작업을 할 때 PUT을 더 사용하는 이유가 있을까요?

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

HTTP 메서드에 처음 공부할 때 수정의 경우에는 PUT과 PATCH를 사용한다고 배웠는데요. PUT의 경우에는 통째로 갈아끼우는 방식의 갱신이고 PATCH의 경우에는 부분 수정이 가능하다고 배웠습니다. 이 강의에서는 USER의 정보중에 이름만받고 있어서(PUT은 전체 필드를 명시해주어야 한다고 배웠습니다.) PATCH가 더 적당한 방식이 아닌가라는 생각이 들었습니다. PATCH가 아닌 PUTMapping을 사용하신 이유가 있으실까요? 그리고 이와 관련된 블로그 글들이 많은데 저마다 내리는 결론이 달라서 조금 혼란스럽습니다. 강사님의 생각을 듣고 싶습니다. 좋은 강의 만들어주신 태현님을 존중하고 존경하며 이만 글 줄이겠습니다!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
wisehero 댓글 1 좋아요 4 조회수 2462

웹뷰 내에서 스크롤이 안돼요

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

flutter_webview 강의에서 ios 애뮬레이터에서 웹뷰를 띄운 뒤 화면 안에서 스크롤이 안됩니다!! 코드는 강의와 동일하구요

  • flutter
  • 클론코딩
lsg 댓글 2 좋아요 0 조회수 488

ios 이미지 전송 질문

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

Future<void> uploadFile() async { // file picker를 통해 파일 선택 final filePath = _image!.path; // 파일 경로를 통해 formData 생성 var dio = Dio(); var formData = FormData.fromMap({ 'file' : await MultipartFile.fromFile(filePath!) }); dio.options.contentType = 'multipart/form-data'; dio.options.maxRedirects.isFinite; final token = await ref.read(secureStorageProvider).read(key:ACCESS_TOKEN_KEY); dio.options.headers.addAll({ 'authorization': 'bearer $token', }); print("ok"); // 업로드 요청 final response = await dio.post("http://$ip/s3/upload", data: formData); _downloadUrl = response.data; print(response.statusCode.toString() + "hihi"); } 이미지 업로드 코드로 위 코드를 사용하고있는데 안드로이드 애뮬레이터에서는 전송이 잘 되지만 ios에서 해당 코드를 실행하면 [ERROR:flutter/runtime/dart_vm _initializer.c c(41)] Unhandled Exception: DioError [DioErrorType.response]: Http status error [401] 계속 위와 같은 에러가 뜹니다 구글에 검색해도 잘 안나와서 질문드립니다.

  • flutter
  • 하이브리드-앱
dlckdals9467 댓글 2 좋아요 0 조회수 238

IconButton 위치(정렬??) 질문

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

안녕하세요. 질문이 있어서 글올립니다. 8강 web_view까지 봤는데요, appBar에서 actions하위 IconButton home icon위치를 우측에서 좌측으로 변경하고 싶습니다. 방법이 있을까요??? IconButton에 alignment속성이 있어서 추가해줘봤는데 어떤 값을 지정해도 우측에만 나오더라구요 ㅠㅠ return Scaffold( appBar: AppBar( title: Text('Wonsun'), backgroundColo r: Colors. ora nge , centerTitle: true, actions: [ IconButton( alignment: Alignment. topLeft , onPressed: () { controller.loadRequest(homeUrl); }, icon: const Icon( Icons. home , color: Colors. white , )) ], ), body: WebViewWidget( controller: controller, ), );

  • flutter
  • 클론코딩
heart_rose 댓글 2 좋아요 0 조회수 703

커스텀 위젯 변수 선언 위치 차이

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

StatelessWidget이나 StatefulWidget에서 변수를 선언할 때 빌드 함수 내에 선언하는 것과 빌드 함수 밖에 선언하는 것은 어떤 차이가 있나요?

  • flutter
  • 클론코딩
장우준 댓글 1 좋아요 0 조회수 213

변수 선언 위치

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

웹뷰 앱 만드는 부분 진행중입니다. HomeScreen 클래스 안에 homeUrl을 선언하면, ..loadRequest(homeurl) 부분에 인스턴스 멤버는 생성자?(initializer)안에 can't be accessed 라고 오류가 뜨는데, chatgpt랑 계속 대답을 주고 받았는데 제가 이해를 못해서 그런건지 안 와닿아서요.. HomeScreen 위젯을 생성할 때, 위에서부터 코드가 실행되니까 homeUrl이 먼저 초기화되서 될 것 같은데 왜 오류가 나나요? ㅠㅠ

  • flutter
  • 클론코딩
Lee 댓글 2 좋아요 0 조회수 243

뷰모델 생성자로 리스트 불러오

미해결

Flutter 중급 2편 - 실전 앱 개발 - 미국 주식 앱 (with 클린 아키텍처)

class StoreViewModel with ChangeNotifier { String? regionName = ''; String barName = '지역별 서점'; bool isLoading = false; final StoreRepository repository; StoreViewModel(this.repository) { print('생성자호출'); _loadSimpleStores(); print(stores); } List<SimpleStore> stores = []; void onEvent(StoreEvent event, BuildContext context) { event.when(touchTile: (id) async { StoreInfo store = await repository.getStoreInfo(id); Navigator.push( context, MaterialPageRoute( builder: (context) => StoreDetailScreen(storeDetail: store)), ); }, searchStore: (query) async { }); } //지역 전체 Future<void> _loadSimpleStores() async { isLoading = true; notifyListeners(); stores = await repository.getStores(); isLoading = false; notifyListeners(); } } --------------------------------------------- class StoreViewScreen extends StatefulWidget { StoreViewScreen({ super.key, this.barName, this.regionName, }); String? barName; String? regionName; @override State<StoreViewScreen> createState() => _StoreViewScreenState(); } class _StoreViewScreenState extends State<StoreViewScreen> { TextEditingController _controller = TextEditingController(); @override Widget build(BuildContext context) { final customerInfoViewModel = context.watch<CustomerInfoViewModel>(); final storeViewModel = context.watch<StoreViewModel>(); return Scaffold( appBar: AppBar( centerTitle: true, title: Text( storeViewModel.barName, style: TextStyle( fontWeight: FontWeight.bold, ), ), leading: IconButton( onPressed: () { Navigator.pop(context); }, icon: Icon(Icons.close), ), ), body: Column(children: [ //입력창 + 검색창 Container( child: Row( children: [ Expanded( child: Container( decoration: BoxDecoration( border: Border.all(color: Colors.grey), // 테두리 색상 설정 borderRadius: BorderRadius.circular(8.0), // 테두리 둥글기 설정 ), child: TextField( controller: _controller, decoration: InputDecoration( hintText: '텍스트를 입력하세요.', // 힌트 텍스트 contentPadding: EdgeInsets.all(12.0), // 텍스트 입력 필드 내부의 여백 설정 border: InputBorder.none, // 기본 테두리 제거 ), ), ), ), TextButton(onPressed: () {}, child: Text('검색')) ], ), ), //지역 이름 or 내주변 Container( child: Row( children: [ Text( storeViewModel.regionName ?? '내 주변', style: TextStyle( fontSize: customerInfoViewModel.screenHeight / 20, fontWeight: FontWeight.bold), ), Text( '${storeViewModel.stores.length}가 검색 됨', style: TextStyle( fontSize: customerInfoViewModel.screenWidth / 20, fontWeight: FontWeight.bold), ), ], )), //서점 리스트 표시 Expanded( child: Container( child: !storeViewModel.isLoading ? ListView.builder( itemCount: storeViewModel.stores.length, itemBuilder: (BuildContext context, int index) { return GestureDetector( child: StoreSimpleInfo( id: storeViewModel.stores[index].id, profileUrl: storeViewModel.stores[index].imageUrl, storeName: storeViewModel.stores[index].name, storeAddr: storeViewModel.stores[index].address, category: storeViewModel.stores[index].category), onTap: () { storeViewModel.onEvent( StoreEvent.touchTile( storeViewModel.stores[index].id, ), context, ); }, ); }, ) : CircularProgressIndicator(), ), ), ]), ); } } 스크린을 열면 viewmodel 생성자로 리스트를 불러오고 싶은데 viewmodel 생성자가 작동을 안합니다 이유가 뭘까요 ㅠㅠ? 의존성주입 문제는 아닌것같아요

  • flutter
  • ios
  • android
댓글 1 좋아요 0 조회수 243

비디오 플레이어 만들기에서요

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

비디오 플레이어 만들기에서요 Setstate를 쓰지 않고요!!! 멈추고 시작하는 부분에서 시작중인가 그럼 멈춰라 멈추었나 그럼 시작해라. 이런 코드를 넣잖아요 그래서 아이콘이 바뀌지는 않지만!! 누르면 멈추고 실행이 동작은 되는데 왜 Setstate를 넣지 않으면 아이콘이 바뀌지않는건 당연하다 생각하는데. 멈추고 실행하는 동작도 안되야 하지 않나 싶어서요 이런 동작을 안할 거 같은데 말이죠…,,

  • flutter
유하 댓글 1 좋아요 0 조회수 223

전체 크기를 차지하게 할 때

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

double.infinity를 써야 할지 MediaQuery. of (context).size.width를 써야 할지 헷갈리는데 어떤 걸 써야 하나요?

  • flutter
  • 클론코딩
장우준 댓글 1 좋아요 0 조회수 189

.g 파일이 안생기네요

해결됨

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

flutter pub run build_runner build 터미널에서 실행 터미널창 내용 PS E:\_flutter\section24_calendar> flutter pub run build_runner build Deprecated. Use `dart run` instead. Building package executable... (6.4s) Built build_runner:build_runner. [INFO] Generating build script completed, took 352ms [INFO] Precompiling build script... completed, took 7.4s [INFO] Building new asset graph completed, took 994ms [INFO] Checking for unexpected pre-existing outputs. completed, took 1ms [INFO] Generating SDK summary completed, took 4.2s [WARNING] drift_dev on lib/database/drift_database.dart: Could not resolve Dart library package:section24_calendar/database/drift_database.dart This builder requires Dart inputs without syntax errors. However, package:section24_calendar/database/drift_database.dart (or an existing part) contains the following errors. drift_database.dart:24:1: A function body must be provided. Try fixing the errors and re-running the build. [WARNING] drift_dev on lib/database/drift_database.dart: Could not resolve Dart library package:section24_calendar/database/drift_database.dart This builder requires Dart inputs without syntax errors. However, package:section24_calendar/database/drift_database.dart (or an existing part) contains the following errors. drift_database.dart:24:1: A function body must be provided. Try fixing the errors and re-running the build. [INFO] Running build completed, took 14.4s [INFO] Caching finalized dependency graph completed, took 75ms [INFO] Succeeded after 14.5s with 68 outputs (158 actions) PS E:\_flutter\section24_calendar> [INFO] Succeeded after 14.5s with 68 outputs (158 actions) 라고 68개 생긴다고 나오는데 마우스 우클릭 해도 파일은 안생김 검색해보니 flutter pub add --dev drift_dev flutter pub run build_runner clean flutter pub run build_runner build --delete-conflicting-outputs 각각 해봐도 안생기네요 flutter pub add --dev drift_dev 해봄 PS E:\_flutter\section24_calendar> flutter pub add --dev drift_dev "drift_dev" is already in "dev_dependencies". Will try to update the constraint. Resolving dependencies... _fe_analyzer_shared 64.0.0 (67.0.0 available) analyzer 6.2.0 (6.4.1 available) ffi 2.1.0 (2.1.2 available) flutter_lints 2.0.3 (3.0.1 available) intl 0.18.1 (0.19.0 available) js 0.6.7 (0.7.0 available) lints 2.1.1 (3.0.0 available) matcher 0.12.16 (0.12.16+1 available) material_color_utilities 0.5.0 (0.8.0 available) meta 1.10.0 (1.12.0 available) ! path 1.9.0 (overridden) test_api 0.6.1 (0.7.0 available) web 0.3.0 (0.4.2 available) web_socket_channel 2.4.0 (2.4.3 available) Got dependencies! 13 packages have newer versions incompatible with dependency constraints. Try `flutter pub outdated` for more information. PS E:\_flutter\section24_calendar> flutter pub run build_runner clean 해봄 PS E:\_flutter\section24_calendar> flutter pub run build_runner clean Deprecated. Use `dart run` instead. Building package executable... (6.3s) Built build_runner:build_runner. [WARNING] Deleting cache and generated source files. This shouldn't be necessary for most applications, unless you have made intentional edits to generated files (i.e. for testing). Consider filing a bug at https://github.com /dart-lang/build/issues/new if you are using this to work around an apparent (and reproducible) bug. [WARNING] No asset graph found. Skipping cleanup of generated files in source directories. [INFO] Cleaning up source outputs completed, took 1ms [INFO] Cleaning up cache directory completed, took 37ms PS E:\_flutter\section24_calendar> flutter pub run build_runner build --delete-conflicting-outputs 해봄 PS E:\_flutter\section24_calendar> flutter pub run build_runner build --delete-conflicting-outputs Deprecated. Use `dart run` instead. [INFO] Generating build script completed, took 335ms [INFO] Reading cached asset graph completed, took 100ms [INFO] Checking for updates since last build completed, took 911ms [INFO] Running build completed, took 17ms [INFO] Caching finalized dependency graph completed, took 78ms [INFO] Succeeded after 102ms with 0 outputs (0 actions) PS E:\_flutter\section24_calendar> 어찌 해야 조을까요

  • flutter
  • 클론코딩
cdway 댓글 2 좋아요 0 조회수 983

@ManyToOne 매핑 질문입니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

게시글과 댓글을 매핑 하려고 하는데 게시글에 어떤 댓글이 달렸는지 조회 하기 위해 게시글 -> 댓글 OneToMany 단방향 매핑을 하려고 했더니, @OneToMany는 지양하라고 해서 댓글에 @ManyToOne 매핑을 하려고 했는데요. 이러면 댓글->게시글 단방향이 되는 것 아닌가요? 게시글에 어떤 댓글이 있는지 확인을 하고 싶을 뿐인데 ManyToOne을 지양하는 이럴 땐 어떻게 해야하는지 궁금합니다 .. 매핑이 아니라 차라리 int communitySeq 를 멤버 변수로 갖도록 하고 jpql에서 join문을 통해 데이터를 가져오는 것이 맞을까요??

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 299

OpenJDK 64-bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended경고가 뜹니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) A. 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) A. 아니요 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) A. 네 [질문 내용] 테스트 코드 실행을 하면 OpenJDK 64-bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 이 경고가 계속 뜹니다. https://www.inflearn.com/questions/917150/openjdk-64-bit-server-vm-warning 찾아보면서 이 답변을 따라해도 로그가 뜨지 않고 경고가 뜨는데 어떻게 해야하나요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
jaemoon 댓글 4 좋아요 0 조회수 13553

접근 제어자 문제 풀이

해결됨

김영한의 실전 자바 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 문제 풀이를 다음 날 새로 만들어서 풀어보니까 조금 다른 부분이 생겼는데 1. 본인 2. 강의 각 배열의 총 가격 값만 더하는 거라면 1번처럼 하는 게 좋아 보이는데 Item item = items[i];를 추가하신 이유와 어떤 차이점이 있는지 궁금해요

  • java
  • 객체지향
ᄒᄉ 댓글 1 좋아요 1 조회수 271

어떻게 MemberForm 클래스가 선택이 되는지 과정이 궁금합니다.

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 강의 잘 듣고 있습니다. 재밌게 강의를 듣던 중 궁금증이 생겨 이렇게 질문 드리게 되었습니다. 7분40초~7분50초 쯤 설명에 의하면 "우리가 웹에서 입력한 name값이 MemberForm의 name 필드로 전달이 된다"라는 식으로 말씀을 하셨는데, 어떻게 Member 클래스가 아닌 MemberForm 클래스의 name을 찾아가게 되는 건가요?? 제가 워낙에 초보라서 그런지, 코드 상에서 "Member의 name이 아닌 MemberForm의 name을 찾아가도록 하는" 코드도 발견을 못하겠습니다.. 또한 다른 분들의 말씀에 의해서 질문을 드리고 싶은데, MemberForm 클래스에서 setName() 메서드가 사용이 안되는 것 같은데, 7분55초~ 8분 쯤의 설명으로는 setName() 메서드를 사용하시는 것처럼 말씀하시더라구요. 이 역시도 제가 잘 몰라서 그러는데 실제로 setName() 메서드가 사용되는 건가요?? 자세한 설명 부탁드리겠습니다. 감사합니다:-)

  • java
  • spring
  • mvc
  • spring-boot
김수환 댓글 1 좋아요 1 조회수 398

riverpod 2 (async) notifier 사용?

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

https://riverpod.dev/ko/docs/migration/from_state_notifier riverpod 2 공식문서에 보면 Notifier/ AsyncNotifer 가 새롭게 도입되면서 StateNotifier는 더이상 사용되지 않는다고 나오는데 새로운 방식 강의 업데이트 안 해주시나요...?

  • flutter
  • 하이브리드-앱
DSC HUFS 댓글 1 좋아요 0 조회수 359

remote data source impl

해결됨

Flutter 중급 3편 - 의존성 주입 가이드

안녕하세요. 강의 잘 보고 있습니다. remote data source impl 관련해서 질문이 있습니다. @prod @Singleton(as: CommunityRemoteDataSource) class CommunityRemoteDataSourceApiImpl implements CommunityRemoteDataSource { final _dio = Session().dio; @override Future<CommunityResponseDTO> fetchCommunities() async { Response<dynamic> response = await _dio.get('get/community/path'); final responseDto = CommunityResponseDTO.fromJson(response.data); return responseDto; } } CommunityRemoteDataSource 의 구현체 CommunityRemoteDataSourceApiImpl 를 만들어서 사용중입니다. ApiImpl 은 실제 서버와 통신중 이며, http 라이브러리 Dio를 사용하고 있습니다. 여기서 테스트를 위해 DioMock 객체를 만들어서 사용하고자 합니다. 원래 CommunityRemoteDataSourceApiImpl 에 final _dio = Session().dio; 로 싱글턴으로 dio를 내부에 객체를 생성하고 있는데 이거를 주입받는 식으로 변경하여 테스트 시만 CommunityRemoteDataSourceApiImpl(DioMock()) 을 넣는 것인지, 아니면 CommunityRemoteDataSourceApiMockImpl 를 새로 또 만드는지 궁금합니다. 만약 CommunityRemoteDataSourceApiImpl(DioMock()) 로 주입을 받는 식이라면 Response<dynamic> response = await _dio.get('get/community/path'); final responseDto = CommunityResponseDTO.fromJson(response.data); 해당 코드들이 Dio() 일 때, DioMock() 일 때 달라야 할 것 같은데 어떻게 처리하는 것이 맞는지 궁금합니다. 감사합니다.

  • flutter
  • mvvm
  • provider
  • 클린-아키텍처
  • dependency
김보겸 댓글 1 좋아요 0 조회수 291

댓글 입력 후 FeedCardWidget의 FeedCcount 업데이트 관련

해결됨

Flutter로 SNS 앱 만들기

안녕하세요 댓글 입력 후 메인 화면 코멘트카운트가 업데이트 되지 않고 있습니다. CommentScreen에 callback 멤버 추가해서 하면 될것 같은데. 잘안되네요.. 도움 부탁드리겠습니다.

  • flutter
  • android
  • firebase
  • dart
이주한 댓글 1 좋아요 0 조회수 307

플러터 다트 질문

미해결

처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)

플러터 강의를 들으려고 하는데 로드맵대로 하지않고 바로 플러터를 들어도되나요? 플러터만 익히고싶고 파이썬부터 듣고싶진않아서요

  • flutter
  • dart
  • frontend
lkckss123 댓글 1 좋아요 0 조회수 319

인기 태그

인프런 TOP Writers

주간 인기글