inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

리렌더링 관련 문의

미해결

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

toggleTodo = useCallback( ( id : number) => { <-- 여기 이 지점에 todos 라는 state 값이 필요한 상황 ( 체크 로직 등등.. ) setTodos( (todos) => todos.map( (todo) => todo.id === id ? { ...todo, completed: !todo.completed } : todo ); }, []); 위 부분에 todos 의 state 값이 필요하게 되면 의존성 배열에 todos 를 넣어줘야 될꺼 같은데요. 이렇게 되면 React.memo 에 의해 전달될 toggleTodo props 도 변경되게 될것으로 예측 되고 결국 자식 컴포넌트들이 리렌더링이 계속 발생되지 않을까 싶은데요. 위 부분에 todos 의 state 값이 필요하게 될 경우에는 어떻게 처리를 해줘야 될까요?

  • react
  • react-router
  • redux-toolkit
  • zustand
  • react.js
최병국 댓글 2 좋아요 0 조회수 73

좋은 강의 듣고 합격했습니다!

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

유튜브 유입입니다 :D 인강에서 알려주신대로 직접 따라하면서 공부했더니 합격했어요. 인강 1회쭉 따라서만해도 충분히 합격할 수 있었습니다. 실무와 실전(수험) 노하우를 잘 알려주셔서 좋았습니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
beomws 댓글 2 좋아요 0 조회수 78

flake8과 linter

해결됨

남박사의 파이썬으로 실전 웹사이트 만들기

지금 linter가 vscode에서 안뜨는데 자꾸 코드 실행은 되는데 빨간줄이 뜹니다 어떻게 고칠 수 있을까요

  • python
김성관 댓글 3 좋아요 0 조회수 118

업로드 자동화에서 갑자기 안 돼요

해결됨

원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)

업로드 잘 되다가 갑자기 이렇게 나오는데 어떻게 해야 될까요

  • python
  • youtube-api
  • n8n
  • ai-활용-(ax)
sws6054 댓글 2 좋아요 0 조회수 86

설치오류

미해결

[2025 신규] 어서와, Fast API는 처음이지?

SQL 설치하는데 이거 왜이럴까요 ㅠㅠ

  • python
  • postgresql
  • FastAPI
  • database
  • python-dash
김성관 댓글 1 좋아요 0 조회수 109

응시권 신청

미해결

비개발자도 쉽게 시작하는 코딩 입문 강의: PCCE 합격을 위한 파이썬 기초 & 알고리즘

응시권 신청했는데 언제올까요? 시험이 다음날이라 기출 문제를 보고 싶은데 권한이 없어서 못보고 있습니다. 메일은 구글 연동 메일로 가입 진행하였습니다. (kyoungbinseo@gmail.com)

  • python
  • 코딩-테스트
janus014 댓글 1 좋아요 0 조회수 56

[해결]그랩님 답변 주세요.

해결됨

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

102강 강의를 듣고 있는데요, react-native-reanimated-carousel 설치 위해 노션에 링크대로 npm install react-native-reanimated-carousel@3.3.0 명령어로 설치하고 그 이후 expo install --npm react-native-reanimated react-native-gesture-handler 를 입력하여 터미널에서 설치 완료 하였습니다 질문 1. 이후 babel.config.js 파일 에 가서 plugins: ["react-native-reanimated/plugin"], 추가 해야 하는데 문제 는 babel.config.js 파일 이 존재하지 않아 어디에 플러그인 작성해야 하는지 모르겠습니다 첨부 사진 package.json에 디펜던시를 보면 아래와 같아요 "react": "19.1.0", "react-native": "0.81.5", "react-native-reanimated-carousel": "^3.3.0", "react-native-reanimated": "~4.1.1", "react-native-gesture-handler": "~2.28.0" 질문 2. Babel 설정 위해 Cache 초기화 하는 부분도 위에 질문1이 순서대로 정상적으로 진행이 되지 않아 스킵 했는데 babel.config.js에 플러그인 문구부터 저장한 뒤 바벨 설정 캐시 초기화 하는 것이 옳지요? 질문 3 102강 시작부터 ~ 18분 56초 까지 타이핑 한 grab-market-mobile의 App.js 소스 내용 아래와 같은데 이것을 실행 하면 사진과 같이 안드로이드 스튜디오(runtime not ready) 에서 에러 발생 아래 App.js 는 강의 전체 완성본 소스 가 아니라 에러가 난 시점까지의 소스 입니다 질문4 ->여기서 Carousel 부분 살펴보면 아래 App.js 소스 에서 아래와 같이 작성하는 것 맞나요 ? 만약 아래 작성 소스 가 다르면 어떻게 작성 해야하는지 댓글에 소스 적어주세요 < Carousel data = {banners} width = {Dimensions.get( " window ") .width } height = {200} autoPlay = {true} renderItem = {(obj) =>{ return( < TouchableOpacity > < Image source = {{uri :obj.item.imageUrl }} /> </ TouchableOpacity > ) }} /> import { StatusBar } from "expo-status-bar"; import React from "react"; import { StyleSheet, Text, View, Image, ScrollView, Dimensions, TouchableOpacity } from "react-native"; import BasketballImage from "./assets/products/basketball1.jpeg"; import Avatar from "./assets/icons/avatar.png"; import {API_URL} from "./config/constants"; import axios from "axios"; import dayjs from "dayjs"; import relativeTime from "dayjs/plugin/relativeTime"; import "dayjs/locale/ko"; import Carousel from "react-native-reanimated-carousel"; dayjs.extend(relativeTime); dayjs.locale("ko"); export default function App() { const [products, setProducts] = React.useState([]); const [banners, setBanners] = React.useState([]); React.useEffect(()=>{ axios.get(`${API_URL}/products`).then((result)=>{ setProducts(result.data.products); }).catch((error)=>{ console.error(error); }) axios.get(`${API_URL}/banners`).then((result)=>{ setBanners(result.data.banners); }).catch((error)=>{ console.error(error); }) },[]) return ( <View style={styles.container}> <ScrollView> <Carousel data={banners} width={Dimensions.get("window").width} height={200} autoPlay={true} renderItem={(obj)=>{ return( <TouchableOpacity> <Image source={{uri : obj.item.imageUrl}} /> </TouchableOpacity> ) }} /> <Text style={styles.headline}>판매되는 상품들</Text> <View style={styles.productList}> { products.map((product, index)=>{ return (<View style={styles.productCard} key={product.id}> {product.soldout === 1 && <View style={styles.productBlur}/>} <View> <Image style={styles.ProductImage} source={{uri: `${API_URL}/${product.imageUrl}`,}} resizeMode={"contain"} /> </View> <View style={styles.productContents}> <Text style={styles.productName}>{product.name}</Text> <Text style={styles.productPrice}>{product.price}원</Text> <View style={styles.productFooter}> <View style={styles.productSeller}> <Image style={styles.productAvatar} source={Avatar} /> <Text style={styles.productSellerName} >{product.seller}</Text> </View> <Text style={styles.productDate}>{dayjs(product.createdAt).fromNow()}</Text> </View> </View> </View>); }) } </View> </ScrollView> </View> ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#fff', paddingTop: 32, }, productCard: { width: 320, borderColor: 'rgb(230,230,230)', borderWidth:1, borderRadius: 16, backgroundColor: "white", marginBottom: 8, }, ProductImage :{ width: '100%', height: 210 }, productContents : { padding: 8 }, productSeller : { flexDirection: 'row', alignItems: 'center' }, productAvatar: { width:24, height:24, }, productFooter: { flexDirection: 'row', justifyContent:'space-between', alignItems: 'center', marginTop: 12, }, productName : { fontSize: 16 }, productPrice: { fontSize: 18, fontWeight: '600', marginTop: 8 }, productSellerName: { fontSize: 16, }, productDate: { fontSize: 16, }, productList: { alignItems:"center", }, headline : { fontSize: 24, fontWeight: "800", marginBottom:24 }, productBlur : { position: 'absolute', top: 0, bottom: 0, right: 0, left: 0, backgroundColor: "#ffffffaa", zIndex: 999, }, }); 에러 해결 차근차근 알려주셨으면 좋겠습니다 --------------------------------------------------------------------------------------------- 질문 5 babel.config.js 없기에 프로젝트 루트에 파일 을 직접 생성 하고 module.exports = { presets: ['babel-preset-expo'], plugins: ['react-native-reanimated/plugin'], }; 위 소스입력 후 저장 완료 후 캐시 초기화 를 위해 expo start -c 까지 차례대로 수행 후 ngrok과 모바일/서버로 연동 후 결과 가 위 버전 에러와 다르게 새로운 에러가 발생 했습니다 어떻게 해결 하죠? 질문6 아래 게시글 답변대로 질문 2까지 수행 하니 아래와 같은 에러가 발생 질문7 아래게시글 답변에 질문 3 및 3-1은 하라는대로 실행해보면 에러가 발생할까 실행을 안했는데 3개를 입력해 줘도 괜찮은건가요 ? 명령어 1: npm uninstall react-native-reanimated-carousel react-native-reanimated 명령어 2: npm install react-native-reanimated-carousel@3.3.0 react-native-reanimated@^2.0.0 명령어 3: expo install react-native-gesture-handler 질문8 잘 되던 안드로이드 스튜디오가 로딩을 왜 못할까요?

  • HTML/CSS
  • javascript
  • react
  • node.js
  • react-native
  • 머신러닝
  • express
  • tensorflow
isbcom1004 댓글 2 좋아요 0 조회수 217

vs코드에서 vercel

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

PS D:\programming\react-Lee\projects\section12> vercel login vercel : 'vercel' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름 이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + vercel login + ~~~~~~ + CategoryInfo : ObjectNotFound: (vercel:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException PS D:\programming\react-Lee\projects\section12> --- vercel login이란 명령어를 입력하니 위와 같은 에러가 뜨는데요. vscode에 아무것도 안깔고 회원가입만 했다고 vercel이란 명령어를 쓸 수 있는건가요??

  • javascript
  • react
  • node.js
  • 카카오공채-개발
김성관 댓글 2 좋아요 1 조회수 133

숏츠 제목 글씨가 겹쳐요

해결됨

원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)

여러번 시도했는데 똑같이 나와요. 이럴 땐 어떻게 해야 되나요

  • python
  • youtube-api
  • n8n
  • ai-활용-(ax)
sws6054 댓글 1 좋아요 0 조회수 63

window claude 설치 문제

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

windows claude 설치 강의 중.. 강의를 똑같이 따라갔는데 안되네요, 어떤게 문제일까요?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
임승범 댓글 4 좋아요 0 조회수 1544

OAuth 프로필 생성 관련 질문입니다.

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

안녕하세요 강의 정말 잘 듣고있습니다. 현재 강의를 무한 중첩 댓글 구현하기까지 수강했습니다! 테스트를 위해 여러가지 사항들을 직접 체크하고있는데 Github로 로그인한 사용자의 정보들(avatar_url, name)들은 기본적으로 사용하지 않고 랜덤한 닉네임과 기본 아바타 이미지가 나오는게 정상 동작일까요? 제가 이해한 흐름은 다음과 같습니다. 1. Github(OAuth) 로그인 2. Supabase Authentication > Users에 사용자 생성 (profile 테이블에는 아직 생성 되지 않음) 3. SessionProvider에서 useProfileData 호출 export default function SessionProvider({ children }: { children: ReactNode }) { const session = useSession(); const setSession = useSetSession(); const isSessionLoaded = useIsSessionLoaded(); const { data: profile, isLoading: isProfileLoading } = useProfileData( session?.user.id, ); useEffect(() => { supabase.auth.onAuthStateChange((event, session) => { setSession(session); }); }, []); if (!isSessionLoaded) return <GlobalLoader />; if (isProfileLoading) return <GlobalLoader />; return children; } 4. fetchProfile(userId) 실행 export async function fetchProfile(userId: string) { const { data, error } = await supabase .from("profile") .select("*") .eq("id", userId) .single(); if (error) throw error; return data; } Supabase Table Editor > profile 에는 아무런 결과가 저장되어 있지 않기 때문에 PostgrestError: PGRST116 에러 발생 useProfileData catch 블록 실행 → createProfile 호출 랜덤한 닉네임 + avatar_url이 기본으로 저장 만약 제가 이해한 흐름이 맞다면 어떤 방법을 써야할까요? 제일 먼저 드는 생각은 createProfile에 session을 매개변수로 받아서 session.user.user_metadata.full_name 과 avatar_url 을 insert에 넣는걸 생각했습니다. createProfile export async function createProfile(userId: string, session?: Session) { const { data, error } = await supabase .from("profile") .insert({ id: userId, // ↓ 여기 수정 했어용 nickname: session?.user.user_metadata?.full_name || getRandomNickname(), avatar_url: session?.user.user_metadata?.avatar_url || null, }) .select() .single(); if (error) throw error; return data; } use-profile-data.ts export function useProfileData(userId?: string) { const session = useSession(); const isMine = userId === session?.user.id; return useQuery({ queryKey: QUERY_KEYS.profile.byId(userId!), queryFn: async () => { try { const profile = await fetchProfile(userId!); return profile; } catch (error) { if (isMine && (error as PostgrestError).code === "PGRST116") { return await createProfile(userId!, session!); // 여기 session 추가 했어용 } throw error; } }, enabled: !!userId, }); } 이렇게 코드를 수정하고 profile table을 삭제한 후 다시 Github로 로그인 하면 사용자의 프로필 이미지와 이름이 받아와졌습니다. 더 효율적이거나 더 좋은 방법이 있을까요? 혹은 제가 잘못 알고 있는게 있을까요?

  • react
  • typescript
  • react-query
  • supabase
  • zustand
jjk5050123 댓글 2 좋아요 0 조회수 96

포트폴리오 웹사이트에대해 질문드립니다.

해결됨

포트폴리오 어나더레벨 | 합격하는 이력서 작성법

큰돌님 안녕하세요. 알고리즘강의부터 유튜브까지 잘 시청하고있습니다. 프론트엔드를 목표로 준비를 하고있는데 대부분 포트폴리오 페이지를 하나씩 구축을 하고 이력서와 같이 첨부하더라구요.. 과거에 리액트 + GSAP로 인터렉션 위주로 만들어놓은게 있지만 손볼것도 많고 요즘은 NextJS가 추세라하여 새로 만들어야할것같은데 이부분이 프론트 지원시 거이 필수적인지 궁금합니다.

  • HTML/CSS
  • javascript
  • python
  • java
  • 포트폴리오
AMSTD - 댓글 2 좋아요 0 조회수 134

챕터: React-Router 설정

미해결

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

React-Router 설정 강의 다름이 아니고요 강의 내용을 보면 생성위치가 PS: C\r2025\front\ch2 폴더 (당연히 ch2 겠지만요...^^) 로 되어있는데요 ch1 프로젝트에서 계속 진행하면 안되나요? 아니면 ch2 로 다시 만들어서 진행해야 할까요? 그리고 ch2 만들때 특이 사항이 없는지.. 갑자기.. frontend/ch2 폴더에서 진행을 하셔서요... (ch2 프로젝트 하나 생성해서 따라하면 땡이지만...ㅋㅋㅋ) 살짝 궁금해서 질문 드립니다.

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

질문이 이있어요

미해결

썸머의 챌린지 온보딩 for 지식공유자

질문이 있어요 !

  • python
  • 국비지원-부트캠프
썸머 댓글 1 좋아요 0 조회수 42

합격했어요

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

강의를 다 듣지 않으면 수강평을 못남길까요? 2유형이 과적합이였는지 예상외로 점수가 꽤 깎였지만 도움많이받고 합격했어요~

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
key.nam 댓글 2 좋아요 0 조회수 86

Vercel 배포 관련 질문 파비콘문제

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요! 제가 vercel에 배포를하려고 시도하고 있습니다. 현재까지 진행 상황과 문제를 정리하면 아래와 같습니다. 프로젝트 배포는 정상적으로 완료됨 그러나 브라우저에 접속 시 파비콘이 표시되지 않음 <link rel="icon" type="image/svg+xml" href="/favicon.ico" /> public 폴더 내 favicon.ico 파일 존재 로컬 개발 서버(npm run dev)에서는 정상적으로 표시됨 배포 후 URL 접속 시 브라우저 캐시를 지워도 여전히 표시되지 않음 혹시 Vercel 환경에서 파비콘이 정상적으로 나오도록 하기 위해 추가로 확인해야 할 부분이나, 권장 설정이 있을지 조언 부탁드립니다.

  • javascript
  • react
  • node.js
  • 카카오공채-개발
강정빈 댓글 2 좋아요 0 조회수 172

할루시네이션을 방지하려면 항상 use context7을 붙여야하나요?

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

안녕하세요 짐코딩님 강의 잘보고 있습니다. 할루시네이션을 방지하려면 항상 use context7을 붙여야하나요? 아니면plan mode에서 해당 부분을 claude가 인지하고 있다면 이후엔 명시하지 않아도 괜찮을까요? next.js 같은 경우 향후에 계속 업데이트 할텐데, 저의 프로젝트도 그에 맞게 코드를 업데이트 해야하나요? 아니면 중요한 버그 문제가 아니면 이전 버전 그대로 두나요? 현업에 종사하지 않아서 궁금한점이 이렇습니다. 감사합니다

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
은석 댓글 1 좋아요 1 조회수 190

6.2 회원가입 구현 18:06 AuthResponse 관련 문의

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

안녕하세요, 강의 잘 듣고 있습니다! 6.2강 회원가입 구현 강의 18:06경에 설명해주시는 AuthResponse 타입의 정의?가 변경된 것인지, 제 코드 에디터에는 아래와 같이 표시됩니다. 첫 번째 객체 부분 {data: T; error: null}은 이해가 가는데요, 두 번째 객체 부분은 강의상 화면과 차이가 좀 있어서, 추가로 설명해주실 수 있으면 감사하겠습니다.

  • react
  • typescript
  • react-query
  • supabase
  • zustand
Haemin Park 댓글 2 좋아요 0 조회수 115

결제정보

해결됨

빠르게 시작하는 Gemini API With Python

처음 듣는 경우라 이어 문의 드립니다. 결제정보를 하지 않으면 진행하는데 문제 있는지 궁금합니다.

  • python
  • gemini
  • 인공지능(ai)
  • ai-활용-(ax)
olivetree 댓글 1 좋아요 0 조회수 71

강의자료 문의

해결됨

빠르게 시작하는 Gemini API With Python

안녕하세요? 강의자료를 아래 한글로 받을 수 있나요? 불필요한 툴 없이 강의 내용을 정리했으면 합니다 답변 부탁드려요.

  • python
  • gemini
  • 인공지능(ai)
  • ai-활용-(ax)
olivetree 댓글 1 좋아요 1 조회수 80

인기 태그

인프런 TOP Writers

주간 인기글