inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

apk 파일 추출 관련 문의 드립니다.

미해결

React Native with Expo: 제로초에게 제대로 배우기

만들어보고 있는 앱을 실 기기에 설치해서 테스트 해볼 일이 있어 apk 파일을 추출하려 합니다. 백엔드 url이 http 라 app.json android 내에 useClearTextTraffic true 도 추가해주었습니다. "usesCleartextTraffic": true eas.json 내 build 에 release 를 추가하였고, "release": { "android": { "buildType": "apk" } } eas build --platform android --profile release 명령어를 통해 빌드 했습니다. 생성된 apk 를 실 기기에 설치 후 실행 했을 때 api 호출을 통해 데이터를 받아와서 뿌려주는 부분에 데이터가 하나도 나오고 있지 않습니다. 설치 된 development build 를 에뮬레이터에서 실행해보아도 마찬가지로 데이터가 하나도 나오지 않고, catch 부분에서 에러도 콘솔에 찍히지 않고 있습니다.ㅠㅠ npm run android 실행 후 s > a 입력해서 expo go 환경에서 확인해봤을 땐 데이터도 잘 받아와지는데 혹시 어느 부분을 확인해봐야할까요? npm ls react ├─┬ @expo/vector-icons@14.1.0 │ └── react@19.0.0 deduped ├─┬ @react-native-community/datetimepicker@8.4.1 │ └── react@19.0.0 deduped ├─┬ @react-native-kakao/core@2.4.0 │ └── react@19.0.0 deduped ├─┬ @react-native-kakao/user@2.4.0 │ └── react@19.0.0 deduped ├─┬ @react-navigation/bottom-tabs@7.4.6 │ └── react@19.0.0 deduped ├─┬ @react-navigation/drawer@7.5.7 │ ├─┬ react-native-drawer-layout@4.1.12 │ │ └── react@19.0.0 deduped │ ├── react@19.0.0 deduped │ └─┬ use-latest-callback@0.2.4 │ └── react@19.0.0 deduped ├─┬ @react-navigation/elements@2.6.3 │ ├── react@19.0.0 deduped │ └─┬ use-sync-external-store@1.5.0 │ └── react@19.0.0 deduped ├─┬ @react-navigation/native@7.1.17 │ ├─┬ @react-navigation/core@7.12.4 │ │ └── react@19.0.0 deduped │ └── react@19.0.0 deduped ├─┬ expo-blur@14.1.5 │ └── react@19.0.0 deduped ├─┬ expo-font@13.3.2 │ └── react@19.0.0 deduped ├─┬ expo-image@2.4.0 │ └── react@19.0.0 deduped ├─┬ expo-linear-gradient@14.1.5 │ └── react@19.0.0 deduped ├─┬ expo-linking@7.1.7 │ └── react@19.0.0 deduped ├─┬ expo-router@5.1.4 │ ├─┬ @radix-ui/react-slot@1.2.0 │ │ ├─┬ @radix-ui/react-compose-refs@1.1.2 │ │ │ └── react@19.0.0 deduped │ │ └── react@19.0.0 deduped │ ├─┬ @react-navigation/native-stack@7.3.25 │ │ └── react@19.0.0 deduped │ └─┬ react-native-is-edge-to-edge@1.2.1 │ └── react@19.0.0 deduped ├─┬ expo-status-bar@2.2.3 │ ├─┬ react-native-edge-to-edge@1.6.0 │ │ └── react@19.0.0 deduped │ └── react@19.0.0 deduped ├─┬ expo@53.0.20 │ ├─┬ expo-asset@11.1.7 │ │ └── react@19.0.0 deduped │ ├─┬ expo-keep-awake@14.1.4 │ │ └── react@19.0.0 deduped │ └── react@19.0.0 deduped ├─┬ react-dom@19.0.0 │ └── react@19.0.0 deduped ├─┬ react-native-gesture-handler@2.24.0 │ └── react@19.0.0 deduped ├─┬ react-native-gifted-charts@1.4.63 │ ├─┬ gifted-charts-core@0.1.65 │ │ └── react@19.0.0 deduped │ └── react@19.0.0 deduped ├─┬ react-native-reanimated@3.17.5 │ ├─┬ react-native-is-edge-to-edge@1.1.7 │ │ └── react@19.0.0 deduped │ └── react@19.0.0 deduped ├─┬ react-native-safe-area-context@5.4.0 │ └── react@19.0.0 deduped ├─┬ react-native-screens@4.11.1 │ ├─┬ react-freeze@1.0.4 │ │ └── react@19.0.0 deduped │ └── react@19.0.0 deduped ├─┬ react-native-svg@15.11.2 │ └── react@19.0.0 deduped ├─┬ react-native-web@0.20.0 │ └── react@19.0.0 deduped ├─┬ react-native-webview@13.13.5 │ └── react@19.0.0 deduped ├─┬ react-native@0.79.5 │ ├─┬ @react-native/virtualized-lists@0.79.5 │ │ └── react@19.0.0 deduped │ └── react@19.0.0 deduped └── react@19.0.0 npm ls react-native ├─┬ @expo/vector-icons@14.1.0 │ └── react-native@0.79.5 deduped ├─┬ @react-native-async-storage/async-storage@2.1.2 │ └── react-native@0.79.5 deduped ├─┬ @react-native-community/datetimepicker@8.4.1 │ └── react-native@0.79.5 deduped ├─┬ @react-native-kakao/core@2.4.0 │ └── react-native@0.79.5 deduped ├─┬ @react-native-kakao/user@2.4.0 │ └── react-native@0.79.5 deduped ├─┬ @react-navigation/bottom-tabs@7.4.6 │ └── react-native@0.79.5 deduped ├─┬ @react-navigation/drawer@7.5.7 │ ├─┬ react-native-drawer-layout@4.1.12 │ │ └── react-native@0.79.5 deduped │ └── react-native@0.79.5 deduped ├─┬ @react-navigation/elements@2.6.3 │ └── react-native@0.79.5 deduped ├─┬ @react-navigation/native@7.1.17 │ └── react-native@0.79.5 deduped ├─┬ expo-apple-authentication@7.2.4 │ └── react-native@0.79.5 deduped ├─┬ expo-blur@14.1.5 │ └── react-native@0.79.5 deduped ├─┬ expo-constants@17.1.7 │ └── react-native@0.79.5 deduped ├─┬ expo-image@2.4.0 │ └── react-native@0.79.5 deduped ├─┬ expo-linear-gradient@14.1.5 │ └── react-native@0.79.5 deduped ├─┬ expo-linking@7.1.7 │ └── react-native@0.79.5 deduped ├─┬ expo-router@5.1.4 │ ├─┬ @expo/metro-runtime@5.0.4 │ │ └── react-native@0.79.5 deduped │ ├─┬ @react-navigation/native-stack@7.3.25 │ │ └── react-native@0.79.5 deduped │ └─┬ react-native-is-edge-to-edge@1.2.1 │ └── react-native@0.79.5 deduped ├─┬ expo-status-bar@2.2.3 │ ├─┬ react-native-edge-to-edge@1.6.0 │ │ └── react-native@0.79.5 deduped │ └── react-native@0.79.5 deduped ├─┬ expo-symbols@0.4.5 │ └── react-native@0.79.5 deduped ├─┬ expo-system-ui@5.0.10 │ └── react-native@0.79.5 deduped ├─┬ expo-web-browser@14.2.0 │ └── react-native@0.79.5 deduped ├─┬ expo@53.0.20 │ ├─┬ expo-asset@11.1.7 │ │ └── react-native@0.79.5 deduped │ ├─┬ expo-file-system@18.1.11 │ │ └── react-native@0.79.5 deduped │ └── react-native@0.79.5 deduped ├─┬ react-native-gesture-handler@2.24.0 │ └── react-native@0.79.5 deduped ├─┬ react-native-gifted-charts@1.4.63 │ ├─┬ gifted-charts-core@0.1.65 │ │ └── react-native@0.79.5 deduped │ └── react-native@0.79.5 deduped ├─┬ react-native-reanimated@3.17.5 │ ├─┬ react-native-is-edge-to-edge@1.1.7 │ │ └── react-native@0.79.5 deduped │ └── react-native@0.79.5 deduped ├─┬ react-native-safe-area-context@5.4.0 │ └── react-native@0.79.5 deduped ├─┬ react-native-screens@4.11.1 │ └── react-native@0.79.5 deduped ├─┬ react-native-svg@15.11.2 │ └── react-native@0.79.5 deduped ├─┬ react-native-webview@13.13.5 │ └── react-native@0.79.5 deduped └─┬ react-native@0.79.5 └─┬ @react-native/virtualized-lists@0.79.5 └── react-native@0.79.5 deduped npm ls expo ├─┬ @react-native-community/datetimepicker@8.4.1 │ └── expo@53.0.20 deduped ├─┬ @react-native-kakao/core@2.4.0 │ └── expo@53.0.20 deduped ├─┬ expo-apple-authentication@7.2.4 │ └── expo@53.0.20 deduped ├─┬ expo-blur@14.1.5 │ └── expo@53.0.20 deduped ├─┬ expo-build-properties@0.14.8 │ └── expo@53.0.20 deduped ├─┬ expo-constants@17.1.7 │ └── expo@53.0.20 deduped ├─┬ expo-dev-client@5.2.4 │ ├─┬ expo-dev-launcher@5.1.16 │ │ └── expo@53.0.20 deduped │ ├─┬ expo-dev-menu-interface@1.10.0 │ │ └── expo@53.0.20 deduped │ ├─┬ expo-dev-menu@6.1.14 │ │ └── expo@53.0.20 deduped │ ├─┬ expo-manifests@0.16.6 │ │ └── expo@53.0.20 deduped │ ├─┬ expo-updates-interface@1.1.0 │ │ └── expo@53.0.20 deduped │ └── expo@53.0.20 deduped ├─┬ expo-font@13.3.2 │ └── expo@53.0.20 deduped ├─┬ expo-haptics@14.1.4 │ └── expo@53.0.20 deduped ├─┬ expo-image@2.4.0 │ └── expo@53.0.20 deduped ├─┬ expo-linear-gradient@14.1.5 │ └── expo@53.0.20 deduped ├─┬ expo-router@5.1.4 │ └── expo@53.0.20 deduped ├─┬ expo-splash-screen@0.30.10 │ └── expo@53.0.20 deduped ├─┬ expo-symbols@0.4.5 │ └── expo@53.0.20 deduped ├─┬ expo-system-ui@5.0.10 │ └── expo@53.0.20 deduped ├─┬ expo-web-browser@14.2.0 │ └── expo@53.0.20 deduped └─┬ expo@53.0.20 ├─┬ expo-asset@11.1.7 │ └── expo@53.0.20 deduped ├─┬ expo-file-system@18.1.11 │ └── expo@53.0.20 deduped └─┬ expo-keep-awake@14.1.4 └── expo@53.0.20 deduped

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
simjeongwoo 댓글 2 좋아요 0 조회수 121

UI 뎁스에 관한 질문이 있습니다

해결됨

한 입 크기로 잘라먹는 Next.js

중첩된 라우팅에서 다른 레이아웃 혹은 레이아웃을 사용하고싶지 않을 때 어떻게 제어할 수 있는지 궁금합니다. 현재 소스를 보면 (with-searchbar) search book ... 와 같은 형태로 되어있는 것을 알 수 있는데요 만약에 search가 1 depth 라고 했을 때, search 페이지 아래에 예를 들어 detail-search 라는 주소를 가진 페이지가 있다고 가정할 때 (with-serachbar) serach detail-search 파일 구조 및 중첩된 라우터 구조가 위와 같이 되잖아요? 이 때 detail-search는 with-searchbar 대신 가령 with-detail-serachbar 라던가, 아예 with-searchbar 레이아웃을 사용하고 싶지 않을 수 있잖아요? 이럴 때 어떻게 해야하는지 궁금합니다 😀

  • react
  • typescript
  • next.js
김동훈 댓글 1 좋아요 0 조회수 68

13-1, 13-2 질문

미해결

실무 중심! FE 입문자를 위한 React

강의에서 나온대로 다 따라 갔는데 아무것도 안됩니다. 콘솔창에서는 const [surveyData, setSurvey] = useRecoilState(surveyState).questions; 에서 Uncaught TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator)) 라는 에러 뜹니다

  • react
  • redux
  • node.js
  • sass
  • swr
안건하 댓글 1 좋아요 0 조회수 152

강의에서 사용하는 api 접속 불가

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

안녕하세요~ 강의에서 사용하는 api 2개 다 접속이 안되네요 1번은 외부 서버라 안될수 있는데, 2번은 서버가 죽은 건가요? koreanjson.com http://main-example.codebootcamp.co.kr/graphql

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
김주원 댓글 2 좋아요 0 조회수 142

기본 셋팅과 관련하여

해결됨

Slack 클론 코딩[실시간 채팅 with React]

settings/ts 폴더 front로 바꿔서 진행할 경우 셋팅 강의 하나도 들을 필요없이 바로 섹션2부터 진행해도 되는건가요?

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
서호 댓글 1 좋아요 0 조회수 122

revalidateTag 에 대해서 질문이 있습니다.

미해결

한 입 크기로 잘라먹는 Next.js

안녕하세요! 좋은 Next.js 강의 덕분에 열심히 배워나가고 있는 학생입니다. 😀 다름이 아니라 revalidateTag를 사용했을 때, 첫 번째 인수로 전달한 태그 값을 가지는 데이터 캐시가 재검증된다고 이해했는데요! 제가 revalidateTag의 인수와 data fetch에 사용되는 옵션의 태그 값을 다르게 세팅해봤는데도 갱신이 되어서요. 제가 잘못 이해한 걸까요..?? 이 부분이 이상해서 질문 남깁니다. 아래는 제가 작성한 코드입니다! createReviewAction export async function createReviewAction(formData: FormData) { const bookId = formData.get('bookId')?.toString(); const content = formData.get('content')?.toString(); const author = formData.get('author')?.toString(); if (!bookId || !content || !author) { return; } // JSON.stringify 객체를 문자열 형태로 직렬화 해서 보내줘야 함 try { const response = await fetch( `${process.env.NEXT_PUBLIC_API_SERVER_URL}/review`, { method: 'POST', body: JSON.stringify({ bookId, content, author }), }, ); revalidateTag(`revew-${bookId}`); // 일부로 오타 냄 } catch (error) { console.error(error); return; } } ReviewList 컴포넌트 async function ReviewList({ bookId }: { bookId: string }) { const response = await fetch( `${process.env.NEXT_PUBLIC_API_SERVER_URL}/review/book/${bookId}`, { next: { tags: [`review-${bookId}`] } }, ); if (!response.ok) { throw new Error(`Review fetch faild: ${response.statusText}`); } const reviews: ReviewData[] = await response.json(); return ( <section> {reviews.map((review) => ( <ReviewItem key={`review-item-${review.id}`} {...review} /> ))} </section> ); }

  • react
  • typescript
  • next.js
fud3725 댓글 3 좋아요 0 조회수 104

강의 커리큘럼에 대해 질문이 있습니다.

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

안녕하세요 강의를 구매 후 듣다가 일이 생겨서 오랜만에 다시 공부하려고 하는데 커리큘럼을 다시 보니 처음에 html, css 강의 순서대로 나오다가 js가 나오고 또 섹션04부분에서 다시 css가 나오고 또 js가 나오더라구요 그래서 이 부분이 헷갈리는데 그냥 처음부터 순서대로 강의를 들으면 될까요?

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
부드러운 족제비 댓글 2 좋아요 0 조회수 125

svg질문

미해결

따라하며 배우는 리액트 네이티브 기초

안녕하세요 react-navie 강의중 18강 보고 있는데요 svg 잘 설치 되어있고, 이미지도 잘 넣었는데 저는 이미지 스타일 편집하는게 안보이고 svg 파일 클릭을 하면 svg 파일 모양만 보이고 있어서 svg 테스트시 화면에 이미지 너무 크게 보입니다. 툴에서 어떻게 설정하면 svg 스타일이 보일까요?

  • react
  • react-native
  • expo
kimdk1406 댓글 1 좋아요 0 조회수 90

Github repository는 없나요?

해결됨

React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!

Notion에 있는 코드말고, Github Repository는 따로 없나요?

  • react
  • mysql
  • docker
  • rest-api
  • FastAPI
정재웅 댓글 1 좋아요 0 조회수 114

윈도우 -> 맥 파일 옮기기 / 실행

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

안녕하세요! 지금까지 수업을 윈도우 노트북으로 듣고 있었습니다. 그런데 노트북에 문제가 생겨 새로운 노트북으로 구매 후 파일을 옮기려고 하는데 이번에 구매한 노트북 운영체제 맥os입니다. 간편하게 옮기고 빠르게 실행 할 수 있는 방법이 있을까요?? 일단 node, npm, yarn까지 다운 받은 상태 입니다.

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
skykwj0422 댓글 1 좋아요 0 조회수 157

커서 유료버전 써야하나요?

미해결

제로베이스부터 배우는 웹개발의 개념과 바이브 코딩

현재 2주 free같은데 claude3.5 3.7 4 등등 모든 버전에서 코드짜는게 안되고 Anthropic's latest models are currently only available to paid users. Please upgrade to a paid plan to use these models. (Request ID: aec9ae0d-5eb4-4514-a54e-478383ef2f0a) 라고 뜹니다. Free users can only use GPT 4.1 or Auto as premium models (Request ID: 849c6230-8e63-4751-9b03-9def2bab9e86) 라고 뜰 때도 있고요

  • react
  • 웹앱
  • next.js
  • cursor
  • 인공지능(ai)
ㄹㄹㄹ 댓글 2 좋아요 0 조회수 1380

초기 셋팅 back과 front만 남겨두고 다 지운 후 진행 방법

미해결

Slack 클론 코딩[실시간 채팅 with React]

강좌에서 언급한대로 직접 세팅하기보다는 그냥 settings/ts 폴더 클론받아서 하시는 것을 추천드립니다. 직접 세팅하기에는 버전이 자꾸 달라져서 세팅법이 바뀌고, 입문자분들한테는 버겁습니다. 폴더가 많아서 헷갈리니 back 폴더는 백엔드 용으로 남겨두시고, setting/ts 폴더를 front 폴더로 바꾼 뒤 나머지 폴더는 전부 지워버리세요. 라는 말씀에 따라 다음과 같이 세팅을 했는데, alecture 폴더로 들어가 npm init 을 하라고 하시는 부분이 이해가 어렵습니다.

  • react
  • 웹팩
  • typescript
  • socket.io
  • babel
  • 클론코딩
서호 댓글 2 좋아요 0 조회수 126

Object.assign 문법

미해결

React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지

function create(baseURL, options) { const instance = axios.create( Object.assign({ // baseURL: baseURL, baseURL, // key 와 값이 같으면 생략 가능 }), options, ); return instance; } 제가 사용한 코드입니다.(강의 내용 그대로 담았습니다. 주석 빼고 보면 강의 시 사용한 코드와 동일합니다. 제가 궁금한 것은, 인터넷으로 관련 문법을 찾아 본 결과 Object.assign(A,B,C)같은 형식으로 하여, A,B,C 각각의 객체를 merge한다고 알고 있는데, 강의에서는 Object.assign({baseURL}),options 으로 options객체를 object.assign 함수 바깥에 위치하더라구요? 이러면 아무 의미 없는 코드가 되어 버리는것 아닌가요? Object.assign({baseURL,},options)를 해야 되는거 같은데, 제가 놓친 부분이 있는걸까요? (코딩이 전공이 아니라 제가 잘 모르는 걸수도 있습니다. 알려주시면 감사하겠습니다)

  • react
  • React-Context
  • react-router
  • tailwindcss
  • react-query
주병규 댓글 1 좋아요 0 조회수 88

백엔드 도커 실행 에러가 뜹니다 ㅠ

해결됨

React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!

에러 로그는 아래와 같아요 File "<frozen importlib._bootstrap_external>", line 999, in exec_module File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "/app/ main.py ", line 6, in <module> from app.db.database import Base, async_engine File "/app/app/db/ database.py ", line 1, in <module> from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine ModuleNotFoundError: No module named 'sqlalchemy' WARNING: WatchFiles detected changes in 'app/db/crud/ user.py '. Reloading... Process SpawnProcess-2: Traceback (most recent call last): File "/usr/local/lib/python3.12/multiprocessing/ process.py ", line 314, in _bootstrap self.run () File "/usr/local/lib/python3.12/multiprocessing/ process.py ", line 108, in run self._target(*self._args, **self._kwargs) File "/usr/local/lib/python3.12/site-packages/uvicorn/_ subprocess.py ", line 80, in subprocess_started target(sockets=sockets) File "/usr/local/lib/python3.12/site-packages/uvicorn/ server.py ", line 67, in run return asyncio.run (self.serve(sockets=sockets)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/asyncio/ runners.py ", line 195, in run return runner.run (main) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/asyncio/ runners.py ", line 118, in run return self._ loop.run _until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run _until_complete File "/usr/local/lib/python3.12/site-packages/uvicorn/ server.py ", line 71, in serve await self._serve(sockets) File "/usr/local/lib/python3.12/site-packages/uvicorn/ server.py ", line 78, in _serve config.load() File "/usr/local/lib/python3.12/site-packages/uvicorn/ config.py ", line 436, in load self.loaded_app = import_from_string( self.app ) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/uvicorn/ importer.py ", line 22, in import_from_string raise exc from None File "/usr/local/lib/python3.12/site-packages/uvicorn/ importer.py ", line 19, in import_from_string module = importlib.import_module(module_str) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module return bootstrap. gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1387, in gcd import File "<frozen importlib._bootstrap>", line 1360, in find and_load File "<frozen importlib._bootstrap>", line 1331, in find and_load_unlocked File "<frozen importlib._bootstrap>", line 935, in load unlocked File "<frozen importlib._bootstrap_external>", line 999, in exec_module File "<frozen importlib._bootstrap>", line 488, in call with_frames_removed File "/app/ main.py ", line 6, in <module> from app.db.database import Base, async_engine File "/app/app/db/ database.py ", line 1, in <module> from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine ModuleNotFoundError: No module named 'sqlalchemy' 위 에러 때문인지 코드에서 아래 에러? 도 뜨네요 uvicorn main:app --reload도 당연 에러 뜨구요.. 어떤 부분을 확인하면 될까요? ㅠ

  • react
  • mysql
  • docker
  • rest-api
  • FastAPI
호호하하 댓글 2 좋아요 0 조회수 171

next Request Memoization과 react cache

미해결

Next.js 까보기: "쓸 줄 아는 개발자"에서 "알고 쓰는 개발자"로

next.js에서 제공하는 Request Memoization 기능은 같은 엔드포인트 경로로 여러 개의 요청이 들어왔을 때 하나의 요청으로 캐싱해주는걸로 알고있습니다. 이와 관련해서 3가지 궁금증이 있습니다. Request Memoization 기능은 같은 페이지 한정인가요. 아님 프로젝트 전역에 적용되는걸까요?? 예를 들어 /dashboard 와 /home 두 페이지 모두에서 getUserInfo 라는 fetch 함수를 호출한다면 이 경우도 Request Memoization 이 적용되는건가요. 만약 같은 엔드포인트지만 넘겨주는 파라미터가 다를 경우도 Request Memoization이 적용되나요? axios를 사용한다면 Request Memoization 기능을 활용할 수 없는걸로 알고있는데 react에서 제공하는 cache 함수를 사용하면 동일한 효과를 기대할 수 있나요? 감사합니다!!

  • react
  • typescript
  • next.js
변재정 댓글 1 좋아요 0 조회수 96

next Request Memoization과 react cache

미해결

Next + React Query로 SNS 서비스 만들기

next.js에서 제공하는 Request Memoization 기능은 같은 엔드포인트 경로로 여러 개의 요청이 들어왔을 때 하나의 요청으로 캐싱해주는걸로 알고있습니다. 이와 관련해서 3가지 궁금증이 있습니다. Request Memoization 기능은 같은 페이지 한정인가요. 아님 프로젝트 전역에 적용되는걸까요?? 예를 들어 /dashboard 와 /home 두 페이지 모두에서 getUserInfo 라는 fetch 함수를 호출한다면 이 경우도 Request Memoization 이 적용되는건가요. 만약 같은 엔드포인트지만 넘겨주는 파라미터가 다를 경우도 Request Memoization이 적용되나요? axios를 사용한다면 Request Memoization 기능을 활용할 수 없는걸로 알고있는데 react에서 제공하는 cache 함수를 사용하면 동일한 효과를 기대할 수 있나요? 감사합니다!!

  • react
  • next.js
  • react-query
  • next-auth
  • msw
변재정 댓글 2 좋아요 0 조회수 134

ch5-1 관리자 페이지 IP블랙리스트 기능구현 관련

해결됨

React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드

안녕하세요.. 아래와 같이 에러가뜨는데요;; code: 'MODULE_NOT_FOUND', requireStack: [ '/Users/sungwon/Desktop/Project/Web/company_website/backend/index.js' ] } Node.js v24.4.0 [nodemon] app crashed - waiting for file changes before starting... . backend > index.js코드 입니다. require("dotenv").config(); const express = require("express"); const mongoose = require("mongoose"); const cookieParser = require("cookie-parser"); const cors = require("cors"); const app = express(); const PORT = 3000; const userRoutes = require("./routes/user"); app.use(express.json()) app.use(express.urlencoded()) app.use(cookieParser()); app.use(cors({ origin: "*", credentials: true, })); app.use("/api/auth", userRoutes); app.get("/", (req, res) => { res.send("Hello world"); }); app.get("/api/check-ip", (req, res) => { const clientIP = req.ip || req.connection.remoteAddress; const blacklistedIPs = JSON.parse(process.env.IP_BLACKLIST || '[]'); console.log("Client IP:", clientIP); console.log("Blacklisted IPs:", blacklistedIPs); if (blacklistedIPs.includes(clientIP)) { return res.status(403).json({ allowed: false, message: "Access denied - IP is blacklisted" }); } res.json({ allowed: true }); }); mongoose .connect(process.env.MONGO_URI) .then(() => console.log("MongoDB와 연결이 되었습니다.")) .catch((error) => console.log("MongoDB와 연결에 실패했습니다: ", error)); app.listen(PORT, () => { console.log("Server is running"); });

  • HTML/CSS
  • javascript
  • react
  • node.js
  • mongodb
댓글 2 좋아요 0 조회수 109

소셜 로그인 질문 있습니다

미해결

코드로 배우는 React 19 with 스프링부트 API서버

social 유저는 기존 회원보다 위험한 유저이므로 회원 정보 수정 페이지로 이동시켜야 한다 라고 하셨는데 이유가 뭔가요??

  • react
  • typescript
  • spring-boot
  • jpa
  • jwt
moriental 댓글 2 좋아요 0 조회수 86

카카오 로그인이 안됩니다.

미해결

React Native with Expo: 제로초에게 제대로 배우기

//app\login.tsx import { initializeKakaoSDK, getKeyHashAndroid } from "@react-native-kakao/core"; const onKakaoLogin = async()=>{ console.log(await getKeyHashAndroid()); try{ const result = await kakaoLogin(); // 로그인 완료될 때까지 대기 console.log("로그인 결과:", result); } catch (error) { console.error("로그인 실패:", error); } }; 코드를 이렇게 작성해서 콘솔창에 출력된 키 해시를 kakao dev 홈페이지에도 등록했습니다. 이 화면까지는 잘 뜨는데, accept and continue를 눌러도 다시 앱으로 돌아가지도 않고 콘솔창에도 access token과 같은 로그인 여부 로그가 안뜹니다..

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
dbrud5804 댓글 3 좋아요 0 조회수 549

react-router 전혀 기능 안함

미해결

React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지

lean-canvas 프로젝트 생성부터 react-router-dom 설치하기까지 중간중간 보이는 package.json 을 보고 전부 버전을 맞췄는데, react-router 를 통해 home 에서 about, contact 가는 그게 전혀 작동하지 않습니다. 버전에 맞춰서 새로 영상을 찍어주시거나 가능할까요? 버전을 맞춰도, 작동이 안돼서 어렵네요.. ㅠㅠ 아래는 영상의 package.json 을 보고 버전을 맞춘 코드 입니다. { "name": "lean-canvas-make-downversion", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vite build", "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", "lint:fix": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0 --fix", "preview": "vite preview", "format": "prettier --write --cache ." }, "dependencies": { "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.25.1", "styled-components": "^6.1.12" }, "devDependencies": { "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react-swc": "^3.5.0", "eslint": "^8.57.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-react": "^7.34.3", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", "prettier": "3.6.2", "vite": "^5.3.4" } }

  • react
  • React-Context
  • react-router
  • tailwindcss
  • react-query
댓글 1 좋아요 0 조회수 82

인기 태그

인프런 TOP Writers

주간 인기글