묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
koreanjson 관련 사이트가 접속이 안되요
koreanjson.com 접속이 계속 안되서 대체 사이트가 있을까요?
-
해결됨React Native with Expo: 제로초에게 제대로 배우기
react-native의 SafeAreaView를 쓴 이유?
안녕하세요! react-native의 SafeAreaView 는 기본적으로 안드로이드 지원이 안되고 유연하지 않아 react-native-safe-area-context의 SafeAreaView를 사용하는게 권장된다고 하더라구요. react-native의 SafeAreaView를 쓰신 이유가 궁금해요
-
미해결React Native with Expo: 제로초에게 제대로 배우기
expo go 안에 threads-clone이 나타나지 않습니다
npm ls react npm ls react-nativenpm ls expo버전을 알려주시면 질문자분과 동일한 환경에서 답변 드릴 수 있습니다. npm run android 했을때› Using development build› Press s │ switch to Expo Go› Press a │ open Android› 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 commandsLogs for your project will appear below. Press Ctrl+C to exit.Android Bundled 1357ms node_modules\expo-router\entry.js (1280 modules)다음과 같이 development build로 실행됩니다 그래서인지 expo go 안에도threads-clone이 나타나질않네요그래서 s 키를 눌러서이렇게 바꾼 후에도 나타나지 않습니다
-
미해결React Native with Expo: 제로초에게 제대로 배우기
이미지가 바뀌는 현상
<FlashList data={data} className="mt-5" estimatedItemSize={610} showsVerticalScrollIndicator={false} initialScrollIndex={targetIndex} renderItem={({ item }) => <DiaryItem item={item} />} onEndReached={onEndReached} onEndReachedThreshold={1} ListFooterComponent={() => hasNextPage && <InfiniteScrollFooter />} />안녕하세요 제로초님 개발중인 앱에서 FlashList로 이미지가 포함된 일기 리스트를 렌더링하는데, 스크롤을 하다가 멈추면 스크롤 하기전 이미지가 잠시동안 보이다가 알맞은 이미지로 바뀌는 현상이 있습니다. 현재 일기를 생성할때 갤러리에 있는 사진은 사용하지 못하고 카메라로 바로 촬영해서 업로드하는 형태입니다. 이런 현상은 어떻게 해결하면 좋을지 조언 주시면 감사하겠습니다!
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
사전 렌더링과 getServerSideProps
안녕하세요, 강의 잘 듣고 있습니다.강의를 들으며 이해하지 못한 부분들이 있습니다.NextJS는 페이지 요청을 받았을 때 기본적으로 사전 렌더링(서버에서 JS 렌더링)을 한다고 이해하고 있었는데, 그러면 getServerSideProps함수를 선언하지 않아도 사전 렌더링이 진행되는거 아닌가요? 그런데 본 강의에서는 SSR을 진행하기 위해서는 getServerSideProps를 선언한다고 나와있는데, 그러면 SSR=기본적 사전 렌더링이 아닌건가요? 사전 렌더링은 기본적으로 되는게 아니라 명시적으로 getServerSideProps를 선언해야 가능한건가요?사전 렌더링은 초기 접속 요청 시에만 진행되는게 맞을까요? 페이지 이동 시에는 진행되지 않나요? 따라서 이 페이지 이동 시에 사전 렌더링을 진행하기 위해서 getServerSideProps를 명시적으로 선언하려는 것인가요? (그렇다면 1번질문 해결)감사합니다.
-
미해결Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)
cursorAI에 rule 생성 시 rule type이 안 나오는 현상 발생
안녕하세요,cursor에서 설정 > rules & memories 선택 > Project Rules에서 +Add Rule 선택 > project-structure.mdc생성하면 강사님 화면처럼 rule type 선택할 수 있는 창이 안 뜹니다. 이유가 뭔지 잘 모르겠습니다 ㅜ
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
useEffect 비동기 관련 질문
비동기가 되기 때문에 콘솔로그를 쓰면 안된다에대한 질문입니다. 위(setCount 내부)에는 count + value를 했고아래 콘솔로그는 count로 예시를 보여주셨습니다.궁금한건아래 콘솔로그에도 +value를 달면 렌더링 결과는 똑같이 나오는거 아닌가요?물론 실질적인 값은 동일하지 않더라도 이렇게 되면 렌더링 되는 결과는 같은거 아닌가요?
-
미해결React Native with Expo: 제로초에게 제대로 배우기
expo location foreground, background
만약 배달앱을 만든다고하면,앱을 켤 때, foreground, background 모두 권한을 받아두는 식으로 개발하나요 ?
-
해결됨React Native with Expo: 제로초에게 제대로 배우기
npm run android 시 build app 우선 실행
저는 npm run android 하면 빌드앱이 우선으로 실행되고, expo go 로 계속 switch 해야하는데요 혹시 expo go 로 디폴트로 시작하게는 못하나요 ?
-
미해결Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)
클라이언트 컴포넌트 사전 렌더링
클라이언트 컴포넌트는 서버에서 사전렌더링이 된다고 했는데 이 의미가 하이드레이션 하는부분만 제외하고 html로 렌더링해준다는 말인가요?서버는 <div data-nextjs-client-component="..."></div>같은 placeholder만 내려주고 서버에서 HTML로 렌더링되지 않는다는 말도 있어서 헷갈립니다ㅠㅠ!!
-
해결됨기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
4.6강 초기 로딩 속도 케이스 비교
4.6강 초기 로딩 속도 케이스 비교 세가지 케이스를 적어주셨는데 case1, case3이 같은 건가요?제가 이해를 못한 건가 싶어서 세 번 돌려봤는데 같아 보여서요.
-
해결됨React & FastAPI로 만드는 투표 커뮤니티 플랫폼: 결제 시스템으로 수익화까지!
섹션2 퀴즈 정답 이상함..( Docker 핵심구성요소가 아닌 것)
섹션2 퀴즈에 Docker 핵심 구성요소가 아닌 것에서 답이 잘못 되어 있는 것 같네요. 해설은 Volume 이라고 하면서 막상 답은 Docker Container 를 선택해야 정답이라고 하는군요..
-
해결됨React Native with Expo: 제로초에게 제대로 배우기
eas update 시 build에서 채널이 안보임
✘ chaejinjeong😝 ~/Desktop/lukas/Study/reactnative/zerocho/threads ↱ main ± eas update --channel development --message "fix: apiUrl"[expo-cli] env: load .env[expo-cli] env: export KAKAO_NATIVE_KEY[expo-cli] Starting Metro Bundler[expo-cli] iOS ./index.ts ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 99.9% (1879/1883)[expo-cli] Android ./index.ts ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 99.9% (1886/1886)[expo-cli] iOS ./index.ts ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 99.9% (1884/1884)[expo-cli] Android ./index.ts ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 99.9% (1886/1886)[expo-cli] Android Bundled 8190ms index.ts (1886 modules)[expo-cli] iOS ./index.ts ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 99.9% (1884/1884)[expo-cli] Android ./index.ts ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 99.9% (1886/1886)[expo-cli] iOS ./index.ts ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 99.9% (1884/1884)[expo-cli] iOS Bundled 12572ms index.ts (1884 modules)[expo-cli] iOS ./index.ts ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░ 99.9% (1884/1884)[expo-cli] Creating asset map[expo-cli] [expo-cli] › Assets (54):[expo-cli] assets/images/avatar.png (17.5 kB)[expo-cli] assets/images/react-logo.png (3 variations | 13.9 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/AntDesign.ttf (70.3 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/Entypo.ttf (66.2 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/EvilIcons.ttf (13.5 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/Feather.ttf (56.2 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome.ttf (166 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf (134 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf (33.7 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf (203 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Brands.ttf (209 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Regular.ttf (68 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/FontAwesome6_Solid.ttf (424 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/Fontisto.ttf (314 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/Foundation.ttf (57 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/Ionicons.ttf (443 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf (1.15 MB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/MaterialIcons.ttf (357 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/Octicons.ttf (49.4 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/SimpleLineIcons.ttf (54.1 kB)[expo-cli] node_modules/@expo/vector-icons/build/vendor/react-native-vector-icons/Fonts/Zocial.ttf (25.8 kB)[expo-cli] node_modules/@react-navigation/elements/lib/module/assets/back-icon-mask.png (653 B)[expo-cli] node_modules/@react-navigation/elements/lib/module/assets/back-icon.png (8 variations | 359 B)[expo-cli] node_modules/@react-navigation/elements/lib/module/assets/clear-icon.png (4 variations | 425 B)[expo-cli] node_modules/@react-navigation/elements/lib/module/assets/close-icon.png (4 variations | 235 B)[expo-cli] node_modules/@react-navigation/elements/lib/module/assets/search-icon.png (7 variations | 592 B)[expo-cli] node_modules/expo-router/assets/arrow_down.png (9.46 kB)[expo-cli] node_modules/expo-router/assets/error.png (469 B)[expo-cli] node_modules/expo-router/assets/file.png (138 B)[expo-cli] node_modules/expo-router/assets/forward.png (188 B)[expo-cli] node_modules/expo-router/assets/pkg.png (364 B)[expo-cli] node_modules/expo-router/assets/sitemap.png (465 B)[expo-cli] node_modules/expo-router/assets/unmatched.png (4.75 kB)[expo-cli] [expo-cli] › android bundles (2):[expo-cli] _expo/static/js/android/index-76e11ae11c34c3503a6dbd90ed0b7a03.hbc (5.82 MB)[expo-cli] _expo/static/js/android/index-76e11ae11c34c3503a6dbd90ed0b7a03.hbc.map (14.5 MB)[expo-cli] [expo-cli] › ios bundles (2):[expo-cli] _expo/static/js/ios/index-4cdfeb96d45c0edbe3d45931022e8005.hbc (5.82 MB)[expo-cli] _expo/static/js/ios/index-4cdfeb96d45c0edbe3d45931022e8005.hbc.map (14.5 MB)[expo-cli] [expo-cli] › Files (2):[expo-cli] assetmap.json (25.4 kB)[expo-cli] metadata.json (6.42 kB)[expo-cli] [expo-cli] Exported: dist✔ Exported bundle(s)✔ Uploaded assetmap.json ⠇ Uploading (0/56)(node:12056) [DEP0044] DeprecationWarning: The util.isArray API is deprecated. Please use Array.isArray() instead.(Use node --trace-deprecation ... to show where the warning was created)✔ Uploaded 2 app bundles✔ Uploading assets skipped - no new assets foundℹ 50 iOS assets, 50 Android assets (maximum: 2000 total per update). Learn more about asset limits✔ Computed project fingerprints✔ Published!Branch developmentRuntime version 1.0.0Platform android, iosUpdate group ID 36193c9d-e3cb-43b3-abb0-1b0a945b68afAndroid update ID 4c505558-7e8e-4837-89eb-67c40f4d84ceiOS update ID d1473ce0-3b64-4d6a-a907-c14cb46ac87bMessage fix: apiUrlCommit 53e7e483149d3a1c11158dc6d82e1d275d1817dd*EAS Dashboard https://expo.dev/accounts/lukasdiego/projects/threads/updates/36193c9d-e3cb-43b3-abb0-1b0a945b68afNo compatible builds found for the following fingerprints: iOS fingerprint: 0ccba201890a2a4b134bfc3a01a91979c8c32e83 URL : https://expo.dev/accounts/lukasdiego/projects/threads/fingerprints/0ccba201890a2a4b134bfc3a01a91979c8c32e83 Android fingerprint: 676271bcdf365731eeac1b2652140fffb81ea64f URL : https://expo.dev/accounts/lukasdiego/projects/threads/fingerprints/676271bcdf365731eeac1b2652140fffb81ea64f chaejinjeong😝 ~/Desktop/lukas/Study/reactnative/zerocho/threads ↱ main ± eas update 는 된 것 같은데 Builds에서는 안보이네요 업데이트가 잘 못 된걸까요 ?우선 commit들은 확인이 됩니다.
-
미해결React Native with Expo: 제로초에게 제대로 배우기
orbit으로 install 후 npm run android에서 에러
Error: adb: failed to install /Users/chaejinjeong/Desktop/lukas/Study/reactnative/zerocho/threads/android/app/build/outputs/apk/debug/app-debug.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Existing package com.lotto.threads signatures do not match newer version; ignoring!]현재 npm run android 시 이런 에러를 겪고 있습니다.. 혹시 어떤게 잘 못 된걸까요 ?앱을 삭제했습니다orbit으로 다시 instsall 했습니다
-
미해결React Native with Expo: 제로초에게 제대로 배우기
eas update:configure
eas configure 성공하려면app.config.js 가 아니라 app.json으로 있어야하나요 ?
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
MODULE_NOT_FOUND 오류
code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\CompanyWebsite\\backend\\index.js' ] } Node.js v22.17.0 [nodemon] app crashed - waiting for file changes before starting... app.use("/api/auth", userRoute); 라우트 구성 후 thunder client로 apt 테스트 시 발생하는 오류입니다.
-
미해결만들면서 배우는 리액트 : 기초
npx 명령어 사용 불가
안녕하세요.ls를 할 경우 소스파일들이 보이지 않습니다.혹시 어떤 경로로 이동하면 될까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
자바스크립트 이해도
자바스크립트 부분이 끝났는데, 혹시 자바스크립트에 대한 이해도는 어느 정도로 되어야 하나요,테스트 해볼 수 있는 방법이 있을까요?(미션 퀴즈를 혼자 처음부터 못 풀면 다시 복습하고 혼자 할 수 있을때까지 하는게 답 안 보고 하는게 맞을까요?)다음 챕터로 넘어가기전에 확인하고 싶어서 질문합니다 🙂 !
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
그랩님, 해결되지 않은 에러 메시지 [꼭] 답변 부탁 드립니다.
그랩 선생님, 좋은 강의 만들어 주셔서 잘 듣고 있습니다.그런데 아무리 해도 에러가 나는 것을 해결하지 못하고 있어 2주 이상 진도를 나가지 못하고 있어 부득이하게질문을 여러번 올리게 됩니다. 현재 [그랩마켓] React로 웹 개발하기 -2 듣고 있는데요,1.그랩 선생님 소스 코드와 동일하게 아래 작성한 index.js 소스 첨부하는데요,실행하면,1초 동안 잠깐 판매되는 상품들 이미지 없이 전체 페이지 뜨다 바로 아래 첨부한 그림과 같이에러가 발생 합니다.이 에러는 어떻게 해결 할 수 있을까요?--------2. index.js 소스 아래에 작성 첨부 합니다. import './index.css'; import axios from "axios"; import React from 'react'; function MainPage(){ const [products, setProducts]=React.useState([]); React.useEffect( function(){ axios.get("이곳에는 제 mock 목 서버 주소를 넣었습니다/products") .then(function(result){ const products=result.data.products; setProducts(products); }).catch(function(error){ console.error("에러 발생:",error); }); },[]); return ( <div> <div id="header"> <div id="header-area"> <img src="../images/icons/logo.png" /> </div> </div> <div id="body"> <div id="banner"> <img src="../images/banners/banner1.png" /> </div> <h1>판매되는 상품들</h1> <div id="product-list"> { products.map(function(product, index){ return ( <div className="product-card"> <div> <img className="product-img" src={product.imageUrl} /> </div> <div className="product-contents"> <span className="product-name">{product.name} </span> <span className="product-price">{product.price}원 </span> <span className="product-seller"> <img className="product-avatar" src="../images/icons/avatar.png" /> <span>{product.seller}</span> </span> </div> </div> ); }) } </div> </div> <div id="footer"></div> </div> ); } export default MainPage;그리고, 추가적으로 아래 그랩님 답변 본 뒤 다시 시도해 본 후 질문이 있어 추가적으로 글을 적습니다.현재 postman을 실행하고요, 제 해당 목 mock 서버 주소를 입력 후 끝에 /products까지하면요, 아래와 첨부한 사진과 같이 잘 데이터를 받아오는 것 같은데요, 위에 에러 화면이 그대로 표시되어 어떻게 해결해야 하는지 방법을 모르겠습니다. 조금 구체적으로 어떻게 해결해야 하는지 단계별로 친절한 설명 부탁드립니다 위에는 mock 서버인 postman(포스트맨) 화면이고요,아래는 크롬 브라우저 에러 메시지를 첨부합니다. 참고> app.js 소스 첨부합니다.import logo from './logo.svg'; import './App.css'; import MainPage from "./main/index.js" function App() { return ( <div> <MainPage /> </div> ); } export default App; 또한 만약 그랩님께서 제 소스를 보시고 수정하여 에러가 해결된 완성된 index.js 소스가 있다면요,최종 완성된 수십 줄의 소스 코드를 아래 답변 댓글에 길더라도 다 첨부해주시면 완성된 소스 코드를 그대로 복사하여 vs code에 붙여 넣기 하고 싶은데요, 아래 답변 글에 남겨주시면 감사하겠습니다.-------------------------------------------------------------------------------------------------그리고, 아래 글에 나와 있는 답변데로,TypeError: Cannot read properties of undefined (reading ‘map’) 해결 방법서버 데이터 문제로 인한 map 함수 에러 고치기React 데이터 바인딩과 undefined 에러 처리위 해결책의 코멘트와 답변 대로 수정해 보아도 에러가 해결 되지 않았습니다.어떻게 해결 해야 하는지요? 빠른 답변 부탁 드립니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
context를 사용하니 Editor 컴포넌트 최적화가 풀리는 이유
안녕하세요. 강의 잘 듣고 있습니다.context 를 사용하기 전 코드에서 export default memo(Editor);Editor 컴포넌트에도 memo 를 사용해서 TodoItem의 수정/삭제로 인해 계속 리렌더링되는 것을 막는 최적화를 했었는데요. context를 사용하고 나니까 Editor 컴포넌트의 최적화가 풀리는 이유가 궁금합니다.useCallback과 useMemo를 사용해서 함수를 App 컴포넌트가 마운트 될 때 한번만 생성하고 3개의 함수를 묶은 객체도 다시 생성되지 않도록 만들었는데, Editor 컴포넌트는 컨텍스트에서 onCreate 함수만 받아서 사용하고 있는데, 왜 리렌더링이 발생하나요?챗지피티에 질문을 했더니,"props가 없는 상태에서 useContext만 쓰고 있으면 memo는 props 비교를 하지 못해서 무조건 리렌더링 발생한다" 라고 하는데맞는 말인가요?맞는 말이라면 설명 좀 부탁드립니다.ㅠㅠ