inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

여러 사진 중 일부 사진의 허용 사이즈 초과로 실패한 경우에 대해

해결됨

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

안녕하세요 정환님! 항상 강의 감사한 마음으로 잘 듣고 있습니다. 이번 이미지 업로드 구현하기2 강의를 끝까지 듣고 따라하던중 스토리지에 이미지 업로드 병렬로 요청 시 제가 업로드 시도한 이미지 4장 중 1장이 허용 사이즈 초과로 스토리지 업로드 요청이 실패 했었는데요, 당연히 이미지 업로드 실패로 await deletePost(post.id); 가 호출되 post.id를 받기위해 먼저 생성한 포스트가 삭제되어 포스트 자체가 안된것처럼 동작했습니다. 근데 storage에서는 업로드 요청이 실패된 이미지를 제외하고 나머지 3장의 이미지가 저장이 되어있더라고요! 간단하게 4장 병렬 이미지 업로드 요청 > 3장 성공 1장 실패 > 이미지 업로드 일부 실패로 포스트 삭제 > storage에는 성공한 3장의 이미지만 존재, 포스트는 없음 이 상태여서 혼자 찾아봐서 추가해봤는데 맞는지도 궁금하고 맞다면 다른 분들도 비슷한 상황에서 도움이 될까 싶어 올립니다!! images.ts 파일에 스토리지에서 이미지 삭제하는 비동기 요청 함수 export async function deleteImages(filePath: string[]) { const { data, error } = await supabase.storage .from(BUCKET_NAME) .remove(filePath); if (error) throw error; return data; } post.ts > createPostWithImages 함수 에서 try, catch문 밖에 업로드전 생성한 filePath 저장할 배열 값을 갖는 변수 선언 const uploadedFilePaths: string[] = []; const imageUrls = await Promise.all( images.map((image) => { const fileExtension = image.name.split(".").pop() || "webp"; const fileName = `${Date.now()}-${crypto.randomUUID()}.${fileExtension}`; const filePath = `${userId}/${post.id}/${fileName}`; uploadedFilePaths.push(filePath); return uploadImage({ file: image, filePath, }); }), ); uploadImage 리턴 전에 생성한 filePath값 저장 catch문에서 if (uploadedFilePaths.length > 0) { await deleteImages(uploadedFilePaths); } 조건문 추가 최종 결과 병렬 요청중 일부의 요청이 파일의 크기 초과 등으로 실패하면 throw error > await deletePost(post.id); if (uploadedFilePaths.length > 0) { await deleteImages(uploadedFilePaths); } throw error; 포스트 삭제, 스토리지 이미지 삭제 글을 잘 못써서 가독성이 떨어지는 부분은 양해부탁드립니다..

  • react
  • typescript
  • react-query
  • supabase
  • zustand
재환 댓글 2 좋아요 3 조회수 152

회원가입, 로그인 요청 시 400 에러

미해결

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

안녕하세요 강의 열심히 듣고 있는데 회원가입, 로그인 성공하고 요청 보낼 때 요청이 잘 들어왔다가 한 0.5초 뒤에 400에러로 바뀝니다. 코드는 모든 부분이 똑같은데 혹시 왜 이러는걸까요?? 의심가는 행동은 section05를 다 듣고 section06 폴더를 만들고 section05에서 사용한 파일을 그대로 복사하여 사용 중인데, 이 부분에서 문제가 있을까요?

  • react
  • typescript
  • react-query
  • supabase
  • zustand
프론취준생 댓글 5 좋아요 0 조회수 154

Supabase 외 다른방법

미해결

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

안녕하세요. 강의 듣다 질문 드리는데요 강의에서는 supabase를 사용하는데요 그러면 supabase가 아닌 다른 DB(Mysql, PostgreSQL 등) 를 사용한다면 auth.ts 는 다른 방식으로 사용을 해야 되나요? 아니면 별도의 인증 라이브러리가 있을까요?

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

개인사업자 조직계정 등록에 관하여

미해결

비전공자 혼자서 하루 만에 수익화 앱 출시하기

선생님 안녕하세요 개인사업자로 duns를 발급받아 조직계정으로 계정을 생성을 하면 테스트없이 앱출시가 가능한걸로 알고 있는데 여기저기 확인해보니 인앱결제, 구독 서비스 같은 경우는 문제가 될 확률이 매우높고(개인사업자가 조직계정을 생성하였기때문에), 하지만 애드몹 광고 수익은 문제가 되지 않을거라는 말이 있는데 어떻게 생각하시는지 궁금합니다. 이것도 약간으 꼼수가 되는건지 여기서 꼼수라하는것은 조직계정을 발급을 통한 테스트 패스입니다.

  • flutter
  • 모바일-디자인
  • cursor
  • supabase
  • 수익화
댓글 1 좋아요 0 조회수 215

수업 자료 없나요?

해결됨

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

전 강의들은 PDF으로 있었는데 이번에는 수업자료가 없는거 같은데 맞나요?ㅠ

  • react
  • typescript
  • react-query
  • supabase
  • zustand
kangmin kim 댓글 2 좋아요 0 조회수 94

text overflow 관련 문의

해결됨

[플러터플로우] 실전! 앱 출시를 위한 끝장 노하우!

테스트 오버플로어 상황이.. 강의 내용과 다르게 화면이 좀 다르게 나오는데.. 버전 차이인가요?

  • flutter
  • no-code
  • supabase
  • flutterflow
Kitae Kim 댓글 3 좋아요 1 조회수 144

11강 수업자료가 수업영상입니다.

해결됨

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

안녕하세요. 11강 수업자료를 다운로드 받아보니 해당 수업영상입니다. 괜찮을까요?

  • react
  • typescript
  • react-query
  • supabase
  • zustand
hanbrang 댓글 1 좋아요 0 조회수 89

프로필 수정시 포스트변경

해결됨

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

프로필 수정시 자신이 작성한 PostItem 의 이미지, 닉네임도 같이 변경이 되어져야 하지 않을까요? 새로고침해야 변경이 되어성., 프로필 버튼은 잘 변경이 됩니다.

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

hooks 파일 분리 질문 드립니다.

해결됨

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

안녕하세요, 강의 잘 보고 있습니다. 저는 1년 차 백엔드 개발자 입니다. 미니 프로젝트에 프론트로 투입이 되어 zustand와 tanstack 학습을 위해 강의를 듣게되었습니다. 선생님께서 hook을 작성하실 때 함수를 각각 별도 파일로 분리하는 방식으로 진행하셨는데, 실무에서도 보통 함수마다 파일을 나누는 방식으로 진행하나요? 아니면 도메인 단위로 묶어서 하나의 파일안에 관련함수들을 관리하시는지 궁금합니다. 선생님 강의 덕분에 쉽고 재밌게 학습하고 있습니다. 감사합니다 : )

  • react
  • typescript
  • react-query
  • supabase
  • zustand
조하영 댓글 2 좋아요 1 조회수 134

소셜 로그인 질문

해결됨

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

(6. 5) 소셜 로그인 구현하기 부분 보고 질문 드립니다. 현재는 사전에 자신 Github의 OAuth 정보를 입력해야 로그인 되는 것으로 보입니다. 혹시 이 정보를 사전에 등록하지 않고, github 로그인 버튼을 눌렀을 때, 아이디 비밀번호를 입력해, 그 때 인증을 유도하는 방법은 없나요?? 각기 다른 사용자들이 이 정보를 매번 등록할 수는 없지 않을까 싶어서 그렇습니다 !

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

타입스크립트 버전 선택 안되시는분

미해결

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

7:33 초 타입스크립트 버전 선택 ctrl + shift + p 입력후 select type 로 하면 검색 결과가 안나오고 TypeScript: Select 검색해야 버전선택이 가능하니 안되시는분 참고하시길.. 처음 하는 분들은 안되고 한번 검색한 적이 있는경우 최근에 사용한 항목으로 검색이 되는듯하네요..

  • react
  • typescript
  • react-query
  • supabase
  • zustand
김주원 댓글 1 좋아요 1 조회수 117

tsconfig.app.json에서 에러발생

해결됨

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

안녕하세요 선생님이 shadcn을 설치하고 있는데요 tsconfig.app.json에서 위와 같은 에러가 발생합니다. 혹시 몰라서 선생님이 올려두신 자료로 해봤지만 똑같네요... 그냥 "ignoreDeprecations": "6.0" 이걸 추가할까요?

  • react
  • typescript
  • react-query
  • supabase
  • zustand
박 태영 댓글 3 좋아요 0 조회수 457

useSignInWithPassword에 넘기는 콜백 VS mutate의 두번째 인자 사용

해결됨

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

안녕하세요, 선생님. 강의 잘 듣고 있습니다:) 먼저 클린코드 작성 방법까지 알려주시면서 생각없이 따라 치지 않게 해주셔서 감사합니다. 이번 챕터에서 useSignInWithPassword 에 넘기는 콜백을 통해 성공, 에러 등의 처리를 진행하셨습니다. 이걸 보고 이전에 진행했던 프로젝트 리팩토링 부분이 생각나서 잠시 보고왔는데, 당시에는 mutate 함수에서 자체적으로 제공하는 두번째 인자로 콜백을 넘겨주는 기능을 활용했더라구요. mutate: (variables: TVariables, { onSuccess, onSettled, onError }) => void 선생님이 알려주신 방식과 이 방식의 차이점을 알고 싶습니다. 그리고 차이가 없다면 어떤 방식이 조금 더 효율적일지 선생님 의견이 궁금합니다. 이 방식을 사용했을 때 콜백 타입 정의는 제대로 이루어집니다. 다만, 이렇게 하면 협업 시 코드 스타일 통일이 안될 것 같다는 생각이 들긴 합니다. 읽어주셔서 감사합니다.

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

lovable cloud 에서 카카오 로그인이 지원이 안됩니다.

해결됨

비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE

[진도] 실용적인 도구 만들기 1: 개인 비용 관리 앱 (Supabase, 로그인 기능) [질문] 강의에서는 supabase 를 사용해서 카카오 로그인을 추가 했으나 현재 lovable 에서는 업데이트가 되어서 ai 로 명령시 supabase 를 추가로 연결 하지 않고 자동 Lovable Cloud 기능을 탑재합니다. 이경우 카카오 기능 추가를 명령하면 아래와 같이 지원이 안된다고 나옵니다. 그럼 supabase 추가로 연결 해야하나요? 카카오 로그인은 Lovable Cloud에서 기본 지원하지 않습니다. 현재 사용 가능한 소셜 로그인은 다음과 같습니다: 지원되는 소셜 로그인: Google ✅ (현재 활성화됨) GitHub Facebook Apple Discord Twitter Slack Spotify 카카오 로그인을 원하시면 커스텀 OAuth 구현이나 카카오 REST API를 직접 연동해야 하는데, 이는 복잡한 작업입니다. 추천 방안: 구글 로그인 사용 (대부분의 한국 사용자가 구글 계정 보유) 이메일/비밀번호 로그인 사용 카카오 로그인은 Lovable Cloud에서 기본 지원하지 않습니다. 현재 사용 가능한 소셜 로그인은 다음과 같습니다: 지원되는 소셜 로그인: Google ✅ (현재 활성화됨) GitHub Facebook Apple Discord Twitter Slack Spotify 카카오 로그인을 원하시면 커스텀 OAuth 구현이나 카카오 REST API를 직접 연동해야 하는데, 이는 복잡한 작업입니다. 추천 방안: 구글 로그인 사용 (대부분의 한국 사용자가 구글 계정 보유) 이메일/비밀번호 로그인 사용

  • flutter
  • next.js
  • cursor
  • supabase
  • 바이브코딩
winwin 댓글 2 좋아요 0 조회수 195

Google Search Console에 Sitemaps

해결됨

비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE

Google Search Console에 Sitemaps로 이동하여 sitemap.xml, rss.xml, robots.txt를 제출하였습니다. robots.txt는 오류 발생, rss.xml, sitemap.xml은 가져올 수 없음 이라는 상태가 발생하였는데 GPT나 Cursor에게도 물어봤는데 같은 에러 발생하였습니다.어떻게 해결하면 될까요? 네이버 서치 어드바이저에는 등록을 완료하였는데 특이사항은 없습니다.

  • flutter
  • next.js
  • cursor
  • supabase
  • 바이브코딩
pcr123 댓글 2 좋아요 0 조회수 76

어플리케이션 테스트

해결됨

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

안녕하세요 강사님 강의를 열심히 수강하고 있는 학생입니다. 백엔드 개발자인데 프론트도 배워볼까 하다가 강사님의 강의가 눈에 들어와 열심히 수강중입니다 😃 백엔드에서는 TDD와 같은 방법으로 어플리케이션 테스트를 많이 하는데 이런 리액트 앱같은 경우에는 테스트를 어떻게 하나요? 특히 실무에서는 어떻게 테스트 하는지 궁금합니다. tanstack-query같은 로직적인 부분만 테스트 UI요소들까지 로드해서 렌더링 시 정상 동작하는지 테스트 통합테스트 사람이 일일이 눌러가며 테스트 어떤식으로 테스트하는지 궁금해서 남겨봅니다 감사합니다 😃

  • react
  • typescript
  • react-query
  • supabase
  • zustand
서동성 댓글 1 좋아요 0 조회수 100

오타 찾았어요

해결됨

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

[2:10] zotai 가 아니고 jotai 인거 같아요.

  • react
  • typescript
  • react-query
  • supabase
  • zustand
굿데이 댓글 2 좋아요 0 조회수 107

12.1강 강의 노트 vercel.json 누락(?)

해결됨

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

강의 하단에 vercel.json 내용이 담긴 노트가 안보이는 것 같은데 누락 된 것이 아닌가 싶어서 Q&A 남깁니다! { "rewrites": [ { "source": "/(.*)", "destination": "/" } ] }

  • react
  • typescript
  • react-query
  • supabase
  • zustand
햄굴이 댓글 1 좋아요 0 조회수 103

10.7강 취소 버튼 렌더링 조건 오류

미해결

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

강의에서 comment-editor.tsx 의 취소 버튼을 조건부 렌더링하는 코드를 수정하는 과정에서 아래와 같은 조건을 사용하고 있는데요. 이렇게 되면 props.type === "REPLY" 일때만 의도대로 동작하고, props.type === "EDIT" 일때는 취소 버튼이 렌더링 되지 않습니다. {props.type === "EDIT" || (props.type === "REPLY" && ( <Button disabled={isPending} variant={"outline"} onClick={() => props.onClose()} > 취소 </Button> ))} 아래와 같이 렌더링 조건 부분을 괄호로 감싸주면 의도대로 동작하도록 수정됩니다! {(props.type === "EDIT" || props.type === "REPLY") && ( <Button disabled={isPending} variant={"outline"} onClick={() => props.onClose()} > 취소 </Button> )}

  • react
  • typescript
  • react-query
  • supabase
  • zustand
햄굴이 댓글 1 좋아요 1 조회수 89

useSignInWithPassword는 왜 mutaitions에 들어가나요?

해결됨

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

안녕하세요 좋은강의 감사합니다. 로그인의 비동기 관리 함수인 useSignInWithPassword 가 왜 mutations에 속하는지 궁금해서 질문남깁니다. 데이터를 전혀 변경하는게 없는 로그인처리인데 왜 mutations에 두셨는지 궁금합니다.

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

인기 태그

인프런 TOP Writers

주간 인기글