묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결React Native with Expo: 제로초에게 제대로 배우기
혹시 딥링킹 uri-scheme 테스트 안 되시는 분
질문 글을 올리려다가 방법을 찾고, 혹시 같은 상황이신 분이 있을지도 몰라서 공유합니다.빌드 환경에 Expo Go인지 development build인지 확인이 필요하더라구요... 저는 왜 안되는지 이것저것 삽질하며 살펴보다가 현재 환경이 Expo Go 환경이 아니라는 걸 알고 너무 허무했습니다 ㅠuri-scheme은 expo 환경만 테스트 되니까 development build 이신 경우에 s를 눌러서 Expo Go로 바꾸시면 됩니다!
-
미해결React Native with Expo: 제로초에게 제대로 배우기
activity/replies가 [username]/replies로 빠져나가는 문제
안녕하세요 중첩 라우터와 그룹폴더의 활용 듣고있는데activity/replies가 [username]/replies로 빠져나가는 문제가 발생하고 있습니다어떻게 해결하면 될까요?
-
미해결React Native with Expo: 제로초에게 제대로 배우기
tab 을 stack 에 쌓았을 때 문제
<Stack> <Stack.Screen name="(tabs)" options={{ headerShown: false }} /> <Stack.Screen name="modal" options={{ presentation: "modal", headerShown: false }} /> </Stack>위와 같이 작업하면 탭을 누를 때마가 스택이 쌓이는게 아닌가요? 그러면 물리 백버튼을 눌렀을 때 탭 이동이 될 것 같아서요. 카카오를 예시를 보면 탭은 스택을 쌓지 않고 있어서 탭 이동을 아무리 해도 뒤로 가기를 누르면 탭 이동을 하고 있지 않네요.
-
미해결React Native with Expo: 제로초에게 제대로 배우기
wipe data 이후에 npm run android 오류
wipe data 이후에 npm run android 를 실행하면 아래와 같은 오류가 발생합니다. CommandError: No development build (com.devparkoon.rntutorial) for this project is installed. Install a development build on the target device and try again. 강의 영상과 다르게 npm run android 를 실행했을 때 expo 를 다시 설치하는 과정이 없는데 어떤 문제일까요?위 이슈를 해결하기 위해 eas build 를 다시 하면 되긴 합니다 (10분 넘게 다시 소요됨)
-
미해결[입문] Qt QML과 C++로 시작하는 크로스플랫폼 앱 개발
강의 자료 pdf 다운로드 할 수 있을까요?
안녕하세요 강의 자료 pdf 다운로드 할 수 있을까요?
-
미해결React Native with Expo: 제로초에게 제대로 배우기
router.navigate동작이 달라요 ㅠ
<View> <TouchableOpacity onPress={() => router.navigate(`/activity`)}> <Text style={{ color: pathname === '/activity' ? 'red' : 'black' }}> All </Text> </TouchableOpacity> </View> <View> <TouchableOpacity onPress={() => router.navigate(`/activity/follows`)}> <Text style={{ color: pathname === '/activity/follows' ? 'red' : 'black', }} > Follows </Text> </TouchableOpacity> </View>일단 코드는 '/activity', '/activity/follows' 만 붙였습니다만, 다른 TouchableOpacity에도 router.navigate를 붙여서 동작을 확인해봤는데 저는 router.push와 같은 동작만 하네요...강의와 최대한 같은 상황으로 경로를 눌러봐도 push 처럼 동작합니다. 터미널에서 r을 눌러서 재시작도 해보고, npm run android도 다시 해봐도 똑같네요.어디를 살펴봐야 router.navigate가 제대로 동작할까요? npm ls react: 19.0.0npm ls react-native: 0.79.5npm ls expo: ~53.0.16
-
미해결[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
유저 포인트 관련해서 질문 드립니다
유저의 상품을 다른 사용자가 구매할 시 '거래 후 잔액'과 '포인트'의 값이 일치해야 되는 게 아닌지 궁금합니다!
-
미해결React Native with Expo: 제로초에게 제대로 배우기
푸시 토큰 만료 시간?
최신 버전 쓰고 있어요expo push token이 만료시간이 따로 있나요? 지금은 프로젝트에서 하루에 한번씩 앱 시작할때마다 토큰 갱신하고 있는데 이렇게 할 필요가 있는지 궁금해요
-
미해결React Native with Expo: 제로초에게 제대로 배우기
router 질문있습니다.
현재 expo 제일 최신버전인 53.0.20 버전으로 강의를 듣고있습니다.강사님처럼 const router= useRouter() 말고import {router} from 'expo-router' 에서router.push 이런거도 동일하게 동작하나요?
-
미해결React Native with Expo: 제로초에게 제대로 배우기
` /home -> / ` 아니라 ` /index -> / ` 아닌가요?
7.중첩 라우터와 그룹폴더의 활용 / 영상 시작 0:30 질문: ### /home -> / ### 이 아니라 ### /index -> / ### 아닌가요?이 부분 설명에서 /home 은 실제 home 디렉토리를 찾습니다.상위 경로에 _layout.tsx, index.tsx 가 있으면 상위 경로 index.tsx 로 이동하니까index.tsx 파일이 설명에 부합하는거 같아서 질문드립니다.### /index -> / ###
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
npx create-react-app
npx create-react-app myproject 입력하니까 무한로딩만 되고 설치가 안 돼서 yarn create react-app myproject으로 했는데도 안 되더라구요 다른 방법이 있을까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Asset folder??
레퍼지토리 링크는 어디있죠? Asset 폴더 다운로드 받고 싶은데 못하고 있네요..
-
미해결[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
fetchTravelproductsIPicked 관련 질문 드립니다
해당 API 요청 시사진처럼 $regex 오류 때문에 data를 받아오지 못하고 있습니다.백엔드 문제일까요?
-
미해결React Native with Expo: 제로초에게 제대로 배우기
apk 파일 추출 관련 문의 드립니다.
만들어보고 있는 앱을 실 기기에 설치해서 테스트 해볼 일이 있어 apk 파일을 추출하려 합니다.백엔드 url이 http 라 app.json android 내에 useClearTextTraffic true 도 추가해주었습니다. "usesCleartextTraffic": trueeas.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
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
강의에서 사용하는 api 접속 불가
안녕하세요~강의에서 사용하는 api 2개 다 접속이 안되네요1번은 외부 서버라 안될수 있는데,2번은 서버가 죽은 건가요? koreanjson.comhttp://main-example.codebootcamp.co.kr/graphql
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
강의 커리큘럼에 대해 질문이 있습니다.
안녕하세요 강의를 구매 후 듣다가 일이 생겨서 오랜만에 다시 공부하려고 하는데 커리큘럼을 다시 보니 처음에 html, css 강의 순서대로 나오다가 js가 나오고 또 섹션04부분에서 다시 css가 나오고 또 js가 나오더라구요 그래서 이 부분이 헷갈리는데 그냥 처음부터 순서대로 강의를 들으면 될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
윈도우 -> 맥 파일 옮기기 / 실행
안녕하세요! 지금까지 수업을 윈도우 노트북으로 듣고 있었습니다. 그런데 노트북에 문제가 생겨 새로운 노트북으로 구매 후 파일을 옮기려고 하는데 이번에 구매한 노트북 운영체제 맥os입니다. 간편하게 옮기고 빠르게 실행 할 수 있는 방법이 있을까요?? 일단 node, npm, yarn까지 다운 받은 상태 입니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
디자이너와 협업 시 프레임 크기 설정 관련 질문
반응형 UI를 만들기 위해서 모든 위젯에 정적인 값을 주기 보단, 각 휴대폰의 높이, 너비에 대응할 수 있는 동적인 높이, 너비 값 등을 줘야 하는 것으로 알고 있습니다. 보통 디자이너와 협업하면 피그마라는 툴로 디자이너가 만든 화면을 바탕으로 제가 개발해야 될텐데요. 이 때 runApp( ProviderScope( child: ScreenUtilInit(designSize: Size(402, 874), child: _App()), ), );이런 식으로 메인 함수에서 프로젝트를 RUN할 때 피그마 환경의 휴대폰 너비, 높이 값을 주고 이를 바탕으로 개발을 해야 될까요?
-
미해결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과 같은 로그인 여부 로그가 안뜹니다..
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
FutureProvider, StateNotifierProvider 선택 기준
안녕하세요 강사님. 서버 API 통신 시 응답을 받아서 상태 관리를 할 때 일반적으로 StateNotifierProvider를 통해 추상 클래스 기반으로 상태 관리(로딩, 에러, 성공 등)를 하는 것으로 알고 있습니다. 그런데, FutureProvider의 AsyncValue 객체로도 이러한 작업이 가능한 것으로 알고 있습니다. 강의에서는 StateNotifierProvider의 유연함, 확장성, 캐싱 기능 덕분에 강사님은 보통 이것을 사용하시는 것 같은데, 간단한 작업 같은 경우는 FutureProvider를 사용해도 괜찮나요? 또한, 둘 중 어떤 것을 선택하는지 정하는 강사님만의 기준이 있을까요? 감사합니다.