로그인 성 공시 defaultSuccessUrl 에서는 "/todos" 로 설정하고 successHandler의 CustomLoginSuccessHandler 에서는 "/" 로 되어 있을때 어디로 리다이렉트 되어야하나요? 설명에는 defaultSuccessUrl 가 우선순위라고 하셨는데, 실행해보면 / 로 갑니다.
안녕하세요 강의때 사용하시는 강의 노트 자료는 어디서 다운 받으면 되나요? (설명하실 때 사용하시는 자료 문의드립니다. ) 소스코드는 다운 받기가 가능한데 강의때 사용하시는 pdf 인지는 모르겠지만 어디서 다운받을 수 있나요? 만약에 없으면 강의때 링크 클릭해서 들어가시던데 그 링크는 따로 강의마다 딸려 있을까요? 답변 부탁드립니다.
강사님 강의 잘봤습니다, 개인적으로 만들고 싶은게 있어서 하다가 postgres_changes로 채팅방 기능을 만들어서 배포를 하였는데 로컬에서는 평균 속도가 200ms인데 vercel 무료로 하니까 1.2s 정도 잡히더라구여 그래서 쿼리문제인가 싶어서 컬럼도 필요한것만 가져오고 나름대로 최적화를 진행했는데도 배포에서만 느려가지고 제가 잘못하고 있나... 그래가지고 무료버전이라서 그런지 궁금합니다.
안녕하세요 제가 지금 토이프로젝트로 8월 말까지 앱의 mvp 기능을 만들고 싶어서 expo 강좌를 수강 신청 및 수강하게 되었습니다 제가 웹, 앱에 대한 지식이 전혀 없어서 gpt한테 물어보면서 진행을 해도 잘 이해하면서 하고 있지는 않은 것 같습니다 핵심개념들이 없는 것 같습니다 react, ts를 공부해야 이해가 될까요 ..?
next 공식문서를 살펴보면 단순 서버 fetch (서버액션x) 관련 에러 핸들링 방법은 딱히 안나와 있는 것 같아 질문드립니다. 만약 SectionA, SectionB, SectionC 서버 컴포넌트 내에서 각각 서버 fetch가 일어난다 가정했을 때 SectionB에서만 요청이 실패했다면 SectionB 영역만 fallback ui를 띄우고 나머지 SectionA, SectionC는 정상적으로 데이터를 렌더링하도록 구현하는 방법이 없을까요? error-boundary 라이브러리는 클라이언트 환경에서만 사용가능해 서버 컴포넌트에선 사용할 수 없고 next 내부적으로 설계되어있는 에러 바운더리(error.js 등)는 전역에러를 캐치하는 걸로 알고있습니다. 때문에 페이지 내 특정 영역만 fallback ui를 띄우는 용도는 아닌 것 같더라구요. 혹시 다른 방법이 있나 궁금합니다 감사합니다!!
next 공식문서를 살펴보면 단순 서버 fetch (서버액션x) 관련 에러 핸들링 방법은 딱히 안나와 있는 것 같아 질문드립니다. 만약 SectionA, SectionB, SectionC 서버 컴포넌트 내에서 각각 서버 fetch가 일어난다 가정했을 때 SectionB에서만 요청이 실패했다면 SectionB 영역만 fallback ui를 띄우고 나머지 SectionA, SectionC는 정상적으로 데이터를 렌더링하도록 구현하는 방법이 없을까요? error-boundary 라이브러리는 클라이언트 환경에서만 사용가능해 서버 컴포넌트에선 사용할 수 없고 next 내부적으로 설계되어있는 에러 바운더리(error.js 등)는 전역에러를 캐치하는 걸로 알고있습니다. 때문에 페이지 내 특정 영역만 fallback ui를 띄우는 용도는 아닌 것 같더라구요. 혹시 다른 방법이 있나 궁금합니다 감사합니다!!
안녕하세요. 정말 바보같은 질문이라고 생각하고 있는데요. 이런 질문 정말 죄송합니다. 리퀘스트 메모이제이션은 서버 측에서 렌더링하는 과정에서 일어난다고 하셨는데 클라이언트 컴포넌트도 서버 측에서 렌더링이 되긴 하니까 리퀘스트 메모이제이션이 가능하지 않을까 생각했습니다. 근데 useEffect에서 GET 요청으로 보낼 경우 서버측에서는 렌더링되지 않으니까 메모이제이션이 안 될 것으로 생각이 되었습니다. 클라이언트 컴포넌트에 리퀘스트 메모이제이션이 적용되지 않는다고 이해하면 될까요? 이런 리퀘스트 메모이제이션은 서버에서 일어나는거니까 당연히 Network 탭에서 확인이 불가능하겠죠? 그리고 병렬 라우트에서도 리퀘스트 메모이제이션이 동작하나요?
추가로 npx expo start 해서 expo go 로 앱열면 이런 에러가나요.. 구글 OAuth 도전하다가 오류나는것 같은데.. 이제 메트로를 못쓰는건가요? development build로 들어가야하나요? › › Choose an app to open your project at http://192.168.10.54:8081/_expo/loading › Metro waiting on exp://192.168.10.54:8081 › Scan the QR code above with Expo Go (Android) or the Camera app (iOS) › Web is waiting on http://localhost:8081 › Using Expo Go › Press s │ switch to development build › Press a │ open Android › Press i │ open iOS simulator › Press w │ open web › Press j │ open debugger › Press r │ reload app › Press m │ toggle menu › shift+m │ more tools › Press o │ open project code in your editor › Press ? │ show all commands iOS Bundled 539ms node_modules/expo-router/entry.js (1439 modules) WARN expo-notifications: Android Push notifications (remote notifications) functionality provided by expo-notifications was removed from Expo Go with the release of SDK 53. Use a development build instead of Expo Go. Read more at https://docs.expo.dev/develop/development-builds/introduction/ . WARN expo-notifications functionality is not fully supported in Expo Go: We recommend you instead use a development build to avoid limitations. Learn more: https://expo.fyi/dev-client . WARN Require cycle: services/notificationService.ts -> services/firebaseService.ts -> services/notificationService.ts Require cycles are allowed, but can result in uninitialized values. Consider refactoring to remove the need for a cycle. LOG Firebase Messaging not available in Expo Go LOG Firebase Messaging not available in Expo Go ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(auth)/login.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(auth)/signup.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/add-asset.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/add-book.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/add-category.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/add-transaction.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/advanced-stats.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/asset-detail.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/book-sharing.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/budget-settings.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/change-password.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/manage-categories.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/profile.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/select-book.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(modals)/user-id-code.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(onboarding)/create-first-book.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNGoogleSignin' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes WARN Route "./(tabs)/asset.tsx" is missing the required default export. Ensure a React component is exported as default. ERROR Invariant Violation: TurboModuleRegistry.getEnforcing(...): WARN [Layout children]: No route named "profile" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"] WARN [Layout children]: No route named "add-transaction" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"] WARN [Layout children]: No route named "add-book" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"] WARN [Layout children]: No route named "add-category" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget", "friends/requests", "ledger/[id]"] WARN [Layout children]: No route named "select-book" exists in nested children: ["about", "book-settings", "help", "index", "invite-code", "join-book", "notifications", "settings", "book/[id]", "book/[id]/budget",