Collection.Map의 Good 케이스를 알 수 있을까요? 맵을 사용할 때 맵 안에 맵이 있고 이런 형태를 사용하지 않는게 좋은건지 아니면 따로 dto로 변환해서 사용해야하는건지 구분이 안 가서 질문 드립니다 ! 지정된 scope를 넘나들지 않는다는 것도 이해가 가지 않습니다 ㅠㅠ 조금만 더 쉽게 설명 붙여주시면 감사드리겠습니다!
[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
개남님 좋은 강의 감사합니다. 현재 초기 페이지 연결하기까지 진행했습니다. 조금 오류가 있는 것 같은데 순수하게 궁금해서 여쭙니다! main.dart에서 AppDataLoadCubit을 lazy:false로 뒀잖아요? 그럼 앱을 처음 다운 받았을 때 init page가 보여지고 lazy가 false이기 때문에 스플래시 화면에 도달하기 전 이미 데이터를 로드해서, 시작하기 버튼을 눌러 스플래시 화면에 도달했을 때면, 바로 로그인 체크 중 입니다..가 보여야 하는 것 아닌가요?? 제 에뮬레이터에는 데이터 로드 중 입니다..가 보이길래 영상을 다시 돌려봤는데 개남님도 같은 현상이십니다. 그리고 시작하기 버튼을 통해 init -> splash에 도달했을 때 새로고침하지 않으면 데이터 로드 중 입니다..에서 로그인 확인 중 입니다..로 바뀌지 않습니다. 단순 오류인가 해서 앱을 지워 hydrated bloc을 초기화하고 다시 확인해 보았지만 같은 현상이 일어납니다.
강의에서는 아래와 같이 select 쿼리를 이용해 업데이트 된 회원을 조회후 response로 전달해 주었는데 @PutMapping("/api/v2/members/{id}") public UpdateMemberResponse updateMemberV2(@PathVariable("id") Long id, @RequestBody @Valid UpdateMemberRequest request) { memberService.update(id,request.getName()); Member findMember = memberService.findOne(id); return new UpdateMemberResponse(findMember.getId(), findMember.getName()); } 아래와 같이 하지 않은 이유가 있을까요?? @PutMapping("/api/v2/members/{id}") public UpdateMemberResponse updateMemberV2(@PathVariable("id") Long id, @RequestBody @Valid UpdateMemberRequest request) { memberService.update(id, request.getName()); return new UpdateMemberResponse(id, request.getName()); }
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
제대로 한것 같은데 에러가 뜨네요 ㅠㅠ 에러 점검 부탁드립니다~~ lib/database/drift_database.dart:34:7: Error: The non-abstract class 'LocalDatabase' is missing implementations for these members: - GeneratedDatabase.schemaVersion - QueryExecutorUser.schemaVersion Try to either - provide an implementation, - inherit an implementation from a superclass or mixin, - mark the class as abstract, or - provide a 'noSuchMethod' implementation. class LocalDatabase extends _$LocalDatabase{ ^^^^^^^^^^^^^ ../../AppData/Local/Pub/Cache/hosted/pub.dev/drift-2.10.0/lib/src/runtime/api/db_base.dart:27:11: Context: 'GeneratedDatabase.schemaVersion' is defined here. int get schemaVersion; ^^^^^^^^^^^^^ ../../AppData/Local/Pub/Cache/hosted/pub.dev/drift-2.10.0/lib/src/runtime/executor/executor.dart:66:11: Context: 'QueryExecutorUser.schemaVersion' is defined here. int get schemaVersion; ^^^^^^^^^^^^^ Target kernel_snapshot failed: Exception FAILURE: Build failed with an exception. * Where: Script 'C:\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1201 * What went wrong: Execution failed for task ':app:compileFlutterBuildDebug'. > Process 'command 'C:\flutter\bin\flutter.bat'' finished with non-zero exit value 1 * 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 7s Exception: Gradle task assembleDebug failed with exit code 1
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안드로이드 폰에서 BouncingSrollPhysics를 적용해서 iOS같은 효과를 내고 싶습니다. 그런데 bouncing을 적용해도 자식 위젯들이 화면을 넘어가지 않으면 바운싱 되지않으며 스크롤도 되지 않습니다. 자식 위젯이 1개일 때, 안드로이드에서도 iOS같은 효과를 어떻게 낼 수 있나요??
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
섹션 9 상태관리 프로젝트에 적용하기 > 완성된 Pagination 로직 실행해보기 8분경에 요청이 중복으로 들어가는 부분을 고친다고 말씀하셨는데 저부분을 고치는 강의가 뒤에 있나요? 다른 프로젝트에 적용할때 같은 문제가 발생해서 언급을 하셨다면 어느부분인지 찾지를 못하겠네요.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요 강사님 또 저입니다ㅠㅠ 중급강의의 로그인과 인증로직을 조금씩 변형해 현재 진행중인 프로젝트에 적용하려하는데 회원가입 POST가 필요한데 이를 예를들면 강의기준으로 UserMeStateNotifier내부에 Future<UserModelBase> login가 있듯이, Future<UserModel> postUser(UserModel userModel)로 Provider파트에 선언하고 @POST() Future<UserModel> postUser(@Body() UserModel user); 이런형태로 한 UserModel내에 선언해도될지 감이 안잡혀서 여쭤봅니다.이런부분에서 막힌거보니 아직 완전 이해를 못한거같습니다ㅠㅠ
클래스의 상속과 관련된 다형성은 부모객체로 인스턴스를 생성하여 부모클래스의 메소드와 자식클래스 메소드 2가지를 업/다운캐스팅하여 자유롭게 호출할 수 있지만, 단일상속이라는 한계 때문에 다른 부모클래스의 메소드는 호출할 수가 없잖아요? 그래서 인터페이스가 존재하는 이유구요. 마찬가지로, 인스턴스를 생성할 때 다형성을 활용하여 인터페이스 객체(부모 객체)로 생성할 수는 있지만, 이것은 ISP(Interface Segregation Principle)원칙에 따라 detect(), report() 2개의 메소드를 호출하려면 Detectable, Reportable 객체 2개를 생성해야 하기 때문에 메모리가 효율적으로 관리되지 못하는거구요. 따라서 구상클래스인 FactoryCam에서 인터페이스 변수를 직접 생성하고 setter함수로 필요한 인터페이스 변수를 주입한 다음(Dependency Injection) , 주입당한 객체는 인터페이스에 의존하기 때문에(Reportable, Detectable) 동시에 기능이 다른 2가지 메소드를 호출할 수 있는거구요.(Dependency Inversion Principle) ... 과정을 이해하였지만 말로 풀어내니까 굉장히 장황하군요 사실 이 부분은 인터페이스 문법이라기보다는 디자인 패턴과 관련이 있지 않나싶습니다.
방향 그래프 무방향 그래프에 따라서 자료구조에 자료를 저장하는 방법이 다르다고 하셨습니다. 그런데 지금 이 문제에서는 방향그래프 아닌가요?? 간선,엣지들을 보면 모두 방향이 있는 거 같은데, 왜 무방향그래프를 저장할 때처럼 arraylist에 값을 저장하는지 모르겠습니다.