묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
window claude 설치 문제
windows claude 설치 강의 중..강의를 똑같이 따라갔는데 안되네요, 어떤게 문제일까요?
-
해결됨한 입 크기로 잘라먹는 실전 프로젝트 - SNS 편
OAuth 프로필 생성 관련 질문입니다.
안녕하세요 강의 정말 잘 듣고있습니다.현재 강의를 무한 중첩 댓글 구현하기까지 수강했습니다!테스트를 위해 여러가지 사항들을 직접 체크하고있는데 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에 넣는걸 생각했습니다.createProfileexport 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.tsexport 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 19 with 스프링부트 API서버
챕터: React-Router 설정
React-Router 설정 강의다름이 아니고요강의 내용을 보면생성위치가 PS: C\r2025\front\ch2 폴더 (당연히 ch2 겠지만요...^^)로 되어있는데요 ch1 프로젝트에서 계속 진행하면 안되나요?아니면 ch2 로 다시 만들어서 진행해야 할까요?그리고 ch2 만들때 특이 사항이 없는지..갑자기.. frontend/ch2 폴더에서 진행을 하셔서요... (ch2 프로젝트 하나 생성해서 따라하면 땡이지만...ㅋㅋㅋ) 살짝 궁금해서 질문 드립니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
Vercel 배포 관련 질문 파비콘문제
안녕하세요!제가 vercel에 배포를하려고 시도하고 있습니다.현재까지 진행 상황과 문제를 정리하면 아래와 같습니다. 프로젝트 배포는 정상적으로 완료됨그러나 브라우저에 접속 시 파비콘이 표시되지 않음 <link rel="icon" type="image/svg+xml" href="/favicon.ico" /> public 폴더 내 favicon.ico 파일 존재로컬 개발 서버(npm run dev)에서는 정상적으로 표시됨배포 후 URL 접속 시 브라우저 캐시를 지워도 여전히 표시되지 않음 혹시 Vercel 환경에서 파비콘이 정상적으로 나오도록 하기 위해 추가로 확인해야 할 부분이나, 권장 설정이 있을지 조언 부탁드립니다.
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
할루시네이션을 방지하려면 항상 use context7을 붙여야하나요?
안녕하세요 짐코딩님강의 잘보고 있습니다.할루시네이션을 방지하려면 항상 use context7을 붙여야하나요? 아니면plan mode에서 해당 부분을 claude가 인지하고 있다면 이후엔 명시하지 않아도 괜찮을까요?next.js 같은 경우 향후에 계속 업데이트 할텐데, 저의 프로젝트도 그에 맞게 코드를 업데이트 해야하나요? 아니면 중요한 버그 문제가 아니면 이전 버전 그대로 두나요?현업에 종사하지 않아서 궁금한점이 이렇습니다. 감사합니다
-
해결됨한 입 크기로 잘라먹는 실전 프로젝트 - SNS 편
6.2 회원가입 구현 18:06 AuthResponse 관련 문의
안녕하세요, 강의 잘 듣고 있습니다!6.2강 회원가입 구현 강의 18:06경에 설명해주시는 AuthResponse 타입의 정의?가 변경된 것인지, 제 코드 에디터에는 아래와 같이 표시됩니다. 첫 번째 객체 부분 {data: T; error: null}은 이해가 가는데요, 두 번째 객체 부분은 강의상 화면과 차이가 좀 있어서, 추가로 설명해주실 수 있으면 감사하겠습니다.
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
claude.md 파일은 개발 시 꼭 참조를 하나요?
claude.md 파일의 내용은 프로젝트 내에서 늘 참조가 되나요?개발 시 분명 claude.md 파일에 작성해 놓은 사항 인데도 규칙을 따르지 않는 경우가 많던데요.이럴꺼면 claude.md 파일이 왜 필요한지를 모르겠던데요.. 제가 사용을 잘못하고 있는 건지..이런 경우가 많은 건지..어떤 방법이 있는건지..모르겠네요..
-
해결됨한 입 크기로 잘라먹는 실전 프로젝트 - SNS 편
포스트 리스트를 불러오는 hook에 대하여 질문드립니다!
안녕하세요!타입 스크립트부터 현재 강의까지 너무 유용하게 잘 듣고 있는 수강생입니다! 9-1 강의를 수강하다가 문득 궁금함이 생겨서 질문 남겨 봅니다. A 유저와 B 유저가 있다고 가정했을 때A 유저가 프로필 상세 화면을 보고 있는 상태에서 B 유저가 새로운 포스트를 올렸는데,이후에 A 유저가 메인 리스트 화면으로 이동하면 B 유저가 올린 새로운 포스트가 로드되지 않는 것으로 보입니다! (새로 고침하면 당연히 정상적으로 보이고요) 제가 코드 작성을 하면서 놓친 부분이 있어 이러한 현상이 발생하는 것인지,아니면 이후 강의에서 해당 부분이 수정되는 것인지 여쭤보고 싶습니다. 늘 좋은 강의 감사합니다! 🙂 좋은 하루 보내세요~!
-
미해결타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
공부 방향에 대해서
안녕하십니까 이번에 책을 샀으나 잘 이해가 안되 강의와 함께 보기로 결정해서 공부하고잇는 초보자입니다 선생님 제가 공부를 하고있는데 자꾸 다 메모 할려고 하는데 프로그래밍은 메모하면서 공부하지말라고 암기하는것이 아닌 그때마다 찾아보라는 말이 많습니다 그래서 그냥 메모 같은거 필요없이 그때 이해만하고 넘어가도 진짜 괜찮을가요 뭔가 아직 초보자입장에서는 잊어먹을가 두렵습니다 예를 들면 바이트 와 웹팩의 차이 이런것도 암기를해둬야하는가 아닌 불안감 나중에 나혼자 만들수있을가? 같은불안이 좀 큽니다. 긴글 죄송합니다
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
TodoItem, 구조 분해 할당 시 사용하지 않는 변수는 어떻게 처리하나요?
강의 수강하면서 궁금한 점이 생겨서 질문 드립니다. const TodoItem = ({ id, isDone, content, date }) => { return ( <div className="TodoItem"> <input readOnly checked={isDone} type="checkbox" /> <div className="content">{content}</div> <div className="date">{new Date(date).toLocaleDateString()}</div> <button>delete</button> </div> ); }; TodoItem.jsx에서 구조분해 할당으로 todo를 받아idisDonecontentdate를 가져와서 렌더링 하고 있는데 실제로 id값은 코드에서 사용되지 않고 있습니다. 저희는 eslint.config.js에서 'no-unused-vars' : off로 설정해 두었기 때문에 에러는 나지 않지만 만약 현업에서 이런 상황이라면 사용하지 않는 id 변수는 어떻게 처리하는지 궁금합니다.찾아본 결과언더스코어 사용const TodoItem = ({ _id, isDone, content, date }) => {rest 사용 const TodoItem = ({ isDone, content, date, ...rest }) => {이런 방식들이 있는데 강사님은 어떤 방식을 사용하시는지 어떤식으로 처리하시는지 궁금합니다.감사합니다.
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
Error Reading File 뜨네요. 버그인가요.
뭔가 되는가 싶어도 적용 안되어 있고. Error Reading File 계속 뜨네요.
-
미해결Next.js with Spring Boot
이미지 변환
안녕하세요이미지 가져올때 주소창에 http://localhost:8080/29c13610-d02f-41b2-b12d-b1a65ebbec7a_img3.webp이렇게 하면 잘뜨는데 images폴더안에도 파일명 webp로 잘들어와있고요 근데 db에서 받아오면fileName에 test1.webp로 29c13610-d02f-41b2-b12d-b1a65ebbec7a_img3.webp 이렇게 변환이 안됐는데 뭐가 문제인가요?
-
미해결React + Firebase 풀스택 개발 - 파이어베이스 파이어스토어 Data Modeling
html이 안넘어가네요
html 여러개를 만들었는데예를 들어 login.html을 누르면지금 url도 바뀌고, 개발자도구에 source도 바뀌는데 body에 바뀐 h1이 안바뀝니다.login.html에 여러개 다른 것도 추가해봤는데 아예 로딩이 안되는 것 같습니다. 왜그럴까요
-
미해결만들면서 배우는 리액트 : 기초
API 적용 안되는 코드 수정 방법입니다.
Q&A를 찾다가 '쏘뇽'님께서 수정해주신 코드로 해봤는데, 그 사이에 API사이트에서 뭔가 바뀌었는지 안되더라고요(2025년 기준). 제 생각에는 키값의 변수명이 _id에서 id로 바뀐 듯 합니다. 아래 코드 사용하시면 잘 돌아가네요. const fetchCat = async (text) => { const OPEN_API_DOMAIN = "https://cataas.com"; const response = await fetch( `${OPEN_API_DOMAIN}/cat/says/${text}?json=true` ); const responseJson = await response.json(); return `${OPEN_API_DOMAIN}/cat/${responseJson.id}/says/${text}`; };
-
해결됨한 입 크기로 잘라먹는 실전 프로젝트 - SNS 편
CommentItem에 props를 전달하지만 받지 않는데 TypeScript 에러가 안 나는 이유가 궁금합니다
(10.3) 댓글 조회 기능 구현하기 8:50 CommentItem에서 props를 작성하기전 <CommentItem key={comment.id} {...comment} />에 {...commnet}를 넣어도 TypeScript에서 에러가 나지 않던데 이유가 궁금합니다. // comment-list.tsx {comments.map((comment) => ( <CommentItem key={comment.id} {...comment} /> ))} // comment-item.tsx export default function CommentItem() { // props를 안 받음 return <div>하드코딩된 내용</div> }
-
해결됨한입 챌린지 7기 - React.js
Day10 미션 안내 이미지
Day10 미션 안내에서 예시 이미지가 보이지 않는 거 같습니다.
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
Pro 요금제 토큰(사용량) 차감 룰 ??
제가 /usage를 쳐보니Settings: Status Config Usage (tab to cycle)Current session▌ 1% usedResets 3:59pm (Asia/Seoul)Current week (all models)█ 2% usedResets Dec 23, 4:59pm (Asia/Seoul)Extra usageExtra usage not enabled • /extra-usage to enable이렇게 나오더라구요.Current Session은 5시간 단위Current week는 1주 단위 인 듯 한데요.세션 기준과 위크 기준을 꽉꽉채워 계속 쓸 수 있는 건지, 총액이 정해져 있는 건지 모르겠어요.pro와 max 차이는 각 세션과 위크마다 사용량이 다른건지..사용량에 대한 정확한 이해가 없으니 질문도 뭉툭합니다. 그리고 실습에도 소극적이게 되네요.
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
슈퍼 클로드 코드 강의도 예정되어 있나요?
클로드 코드 관련해서 ‘슈퍼 클로드 코드’라는 것도 있는 것 같은데, 이와 관련된 강의를 만드실 계획은 없으신가요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
수업질문 12.15)Edit 페이지구현하고 useEffect 관련
useEffect 함수 안에서 setCurDiaryItem을 호출했는데,“setState를 동기적으로 호출하면 안 된다” 는 경고가 발생합니다.기능적으로는 정상 동작하는 것처럼 보이는데,이런 방식이 올바른 사용인지, 아니면 구조를 수정하는 게 맞는지 궁금해서 질문드립니다.
-
미해결실전 AI SaaS 풀스택 개발: 화상채팅 앱 만들기
이 강의 학습 자료는 어디에서 받을 수 있나요?
학습 안내에는 아래와 같이 되어 있는데, 이제 강의를 몇 개 안들어서 못찾는것 같기도합니다. 강의 파일 어디에서 받을 수 있는지 알려주세요. 😃 수강 전 확인해주세요! 📢이 강의는 Code with Antonio 유튜브 채널에도 공개되어 있지만,실제로 클론코딩을 완성하려면 유료 학습자료가 꼭 필요합니다.(전체 코드베이스, 설정 파일, 구조화된 컴포넌트 포함)💬 오직, 인프런 강의에서만 제공됩니다!13시간의 긴 영상을 체계적인 커리큘럼으로 나누었습니다. 원하는 부분을 빠르게 찾아 학습하고 언제든 편하게 복습할 수 있어요.영어가 낯설어도 걱정 마세요!한국어 더빙이 제공돼서 편하게 들을 수 있어요.배운 내용, 그냥 넘기지 마세요 🙂중간중간 AI 퀴즈로 재미있게 복습해볼 수 있어요!