기본적인 개념같아서 구글링도 해봤는데 object 와 object[] 배열간의 형변환에 대한 내용이 안보여서 질문드립니다. 다름이 아니라 Object o = resultList.get(); Object[] result = (Object[])0; 에서 왜 Object 타입에서 Object[] 타입으로 형변환을 해야하는지, 그냥 o[0], o[1] ... 로 쓰면 왜 컴파일 오류가 나는지 궁금합니다. Object 타입에서 어떻게 Object[] 타입으로 형변환이 가능한지 궁금합니다. Obect[] 배열은 Object가 여러개 포함된 배열 아닌가요?.. 아니면 Object 타입이 Object[] 타입까지도 포함한 포괄적인 개념이라 위처럼 형변환이 가능한 건가요? 기본적인 내용같은데 개념이 잘 이해가 안가서 질문드립니다 ㅠㅠ
영속성 컨텍스트에 프록시 객체도 저장이 되나요? 강의 내용중 프록시 객체의 초기화를 보면 getName()을 요청했을때 최초의 요청이면 영속성 컨텍스트에서 조회를 하고 DB에서 조회를 한다고 나와있는데 .getReference를 했을때 생성되는 프록시객체도 영속성컨텍스트에서 관리를 하나요? 그리고 .getName을 요청해서 실제 엔티티를 받아오게되면 이 객체도 영속성 컨텍스트에서 관리를하나요? 그리고 2번째 .getName 메서드를 요청해도 꼭 프록시 객체를 거쳐서 값을 받게되나요?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
일단 정확하게 오류보다는 앱이 강제 종료 되어 버리는 현상이 발생 합니다. 시뮬레이터는 ios 14Pro max로 실행하고 있습니다. 유일하게 아래와 같은 메시지가 떨어지는 것 말고는 오류 log가 나오는 부분은 없어 질문 드립니다. Failed to send request: {"jsonrpc":"2.0","id":"43","method":"getMemoryUsage","params":{"isolateId":"isolates/2034536295462095"}} 무슨 문제일까요... 이 외에는 아무런 단서가 없어 자체 해결을 못하고 있네요.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
토큰 만료 이후 GoRouter & Authentication 따라할 경우 401 에러를 저도 만났어요. 유사 질문들과 답변이 있어, 저도 경험기 공유합니다. 증상 GoRouter 적용 후 재실행시 Splash 화면에서 무한 로딩 http://127.0.0.1:3000/user/me/ 호출에서 401 로그 확인 원인 refreshToken 이 있거나 accessToken이 있는 경우에 토큰이 만료된 상태이면 증상 발생 의심 해결 user_me_provider.dart 파일 > getMe() 에서 try catch & state 초기화 추가 재실행 Future<void> getMe() async { // ... 중략 try { final resp = await repository.getMe(); state = resp; } catch(e, stack) { print(e); print(stack); state = null; } } 저와 동일한 오류를 만나는 분에게 소소한 도움이 되길 바래요 :)
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
색상 상태관리 페이지에서 color를 선택하기 전 database에서 color를 가져오는 부분까지는 잘 작동이 되었는데 기본 값을 list의 인덱스0설정 과 selected 값 설정을 한 이후 부터 계속 'hasSize': is not true. 와 Null check operator used on a null value 에러가 계속 뜨며 스케쥴 세부 항복 보기가 작동을 안합니다. 수업 따라가며 그대로 클론 코딩 중이였는데 (달력 색깔 제외) 무엇이 문제인지 잘 모르겠습니다.
공부하다가 의문이 생겼는데요, 낙관적 락 - 충돌 잦으면 락 획득 재시도 로직 때문에 성능 안좋음 비관적 락 - 충돌 잦으면 낙관적 락보다 성능좋음. 분산 락 - 스케일 아웃된 DB 환경에서도 사용 가능 - Redis 라이브러리마다 다른데 Lettuce는 스핀락으로 구현되서 재시도 많으면 불리 Redisson은 pub-sub 기반이라 재시도 많으면 유리 정확하진 않지만 이렇게 알고있습니다. 질문은 1. 잘못 알고 있나요? 2. 제가 공부한게 맞다면, 무조건 비관적 락, 낙관적 락 말고 분산락 + Redis(Lettuce/Redisson) 쓰는게 좋은건가요?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
색상정보 DB에 넣기 과정 중 InvalidDataException 에러가 발생합니다. 내용은 id 가 누락되었다고 하는데요 (아래 코드 블럭에 오류 추가했습니다) category_color.dart 에도 id 는 integer().autoIncrement()(); 로 해두었습니다. 앱 삭제 후 다시 설치해도 동일하게 문제가 발생하는데... id 값을 강제로 입력을 해야할까요? 입력을 해야한다면 어떤 식으로 입력을 하면 되는걸까요?? [VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: InvalidDataException: Sorry, CategoryColorsCompanion(id: Value.absent(), hexCode: Value(F44336)) cannot be used for that because: • id: This value was required, but isn't present #0 VerificationContext.throwIfInvalid (package:drift/src/runtime/data_verification.dart:74:5) #1 InsertStatement._validateIntegrity (package:drift/src/runtime/query_builder/statements/insert.dart:257:51) #2 InsertStatement.createContext (package:drift/src/runtime/query_builder/statements/insert.dart:125:5) #3 InsertStatement.insert (package:drift/src/runtime/query_builder/statements/insert.dart:70:17) #4 LocalDatabase.createCategoryColor (package:calendar_scheduler/database/drift_database.dart:36:28) #5 main (package:calendar_scheduler/main.dart:38:22) <asynchronous suspension>
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
플러터 강의 중 구글맵 사용하는 강의 중에서요 GoogleMap( myLocationEnabled: true, 사용시 현재 위치 마커가 나오지않는데 .. 이유를 알수있을까요..? google_maps_flutter: ^2.1.11 사용중입니다. 강의 그대로 따라하는데 다되는데 이 마커만 안나오네요
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 위와 같이 테스트를 구현하고 테스트 실행 시 Insert 쿼리가 나갑니다. 그런데 예외가 발생했기 때문에 롤백이 되어서 또는 테스트의 트랜잭션 디폴트 값이 Rollback이라서 Insert 쿼리가 나가지 않아야 하는 것 아닌가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] gradlew build를 하면 이런 에러가 발생합니다. 인텔리제이 설정에서 build Tools > Run tests using 항목을 IntelliJ IDEA로 변경을 해보았으나 에러는 동일하게 발생했지만 해결책을 모르겠습니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 제가 한 게시판에서 이런 글을 읽었습니다. "요즘에는 논리적인 연관관계는 만들지만 db에서는 만들지 않고 조인 연산을 거의 안 하고 여러 번 쿼리해서 애플리케이션에서 조합합니다." 이유로는 연관관계를 맺으면 테이블 설계에 있어 유연성이 떨어짐 조인연산은 db 자원을 많이 잡아먹는 무거운 연산이고 db 성능에는 한계가 있어 서버를 확장해서 자원을 쓰는 것이 유리함 라는 근거를 들었습니다. 이것이 맞는 판단인지 궁금합니다 (금융권에 계신 분이 쓴 듯 합니다)
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요 선생님. 플러터 책 같이보면서 실제 아이폰(11 pro max)으로 실습하고 있습니다. 그런데, 실습 예제를 처음 실행할 때, 항상 다음과 같은 에러가 뜹니다. < 안드로이드 스튜디오 콘솔> Xcode build done. 13.3s Installing and launching... (lldb) 2023-03-12 22:04:14.984533+0900 Runner[22785:8080178] [SceneConfiguration] Info.plist contained no UIScene configuration dictionary (looking for configuration named "(no name)") Warning: Unable to create restoration in progress marker file Debug service listening on ws://127.0.0.1:52817/-hSFUdbN4AY=/ws Syncing files to device Leibniz의 iPhone... fopen failed for data file: errno = 2 (No such file or directory) Errors found! Invalidating cache... fopen failed for data file: errno = 2 (No such file or directory) Errors found! Invalidating cache... < 아이폰 화면 > 물론 처음 한번 허용을 해주고 나면 두번째 실행부터는 오류가 뜨지도 않고, 허용 여부를 물어보지도 않습니다. (invalidate caches 문제인 듯 하지만, 매번 수동으로 해줄 수도 없는 노릇이라) 하지만 설정을 통해 안 뜨게 하는 방법이 있을까요? 혹시 있다면 여쭙고 싶습니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
NativeDatabase 클래스를 사용하는데 문제가 있었습니다. 무언가가 자동으로 import되지않고 빨간밑줄인상태가 지속되었습니다. 한참 해메다가 A drift database implementation based on dart:ffi 라는 글을 보고 dart:ffi를 import 하고 다시 자동완성을 실행하니 정상적으로 native.dart패키지가 import되었습니다. 평소에는 자동import기능이 잘 작동했었는데 왜이러는걸까요?( getApplicationDocumentsDirectory()또한 자동완성, 자동import가 되지않아 따로 path_provideer를 임포트해주었습니다.) 질문 하나만 더 드리겠습니다. localDatabase() : super (_openConnection()); 와 localDatabase({super._openConnection()}); 은 같은 로직일텐데 아래코드는 애러가 나네요 왜그런걸까요?