하이브리드앱 과제 진행 중입니다 과제01에 " project/mobile 경로에 app 폴더를 생성하고, project/mobile/app 경로에 숙제가이드에 포함된 _layout.tsx, index.tsx 파일을 복사해 주세요." 라고 되어 있는데 숙제가이드가 안 보여서 문의드립니다. 노션에서는 "레퍼런스 코드는 모든 과정이 업데이트 후 최종 공개됩니다" 라고 되어있는데 그럼 아직 업데이트가 안 돼서 _layout.tsx, index.tsx 파일을 못 보는 건가요? 아니면 강의에서 진행했던 것처럼 _layout.tsx, index.tsx 두 파일을 수정하면 되나요?
안녕하세요 정환님! 항상 강의 감사한 마음으로 잘 듣고 있습니다. 이번 이미지 업로드 구현하기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; 포스트 삭제, 스토리지 이미지 삭제 글을 잘 못써서 가독성이 떨어지는 부분은 양해부탁드립니다..
예제코드 다운받은거 실행시킬때는 04-04, 04-05와 같이 폴더 기준으로 다음예제 넘어갈때마다 npm install, npm run dev두개명령어 쳐서 실행시키는거 맞나요? 추가로 예제 코드에서 안하고 직접 처음부터 만들어서 하려면 처음에 했던 npm create vite@latest . 이 명령어로 하는거 맞죠?
[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
커서를 사용하면 Sonnet 4.5의 경우 빠르게 요금제 토큰을 소모하는데 많이 사용하면 요금제를 올리는건 맞지만 그와 별개로 요금을 줄이는 팁이 있을까요? claude 코드의 요금제 구독하고 커서에 api 키를 넣는 다거나 뭔가 있을까 싶어 문의 남깁니다. 비싸서 claude로 넘어가야 고민중입니다.
안녕하세요 강의 열심히 듣고 있는데 회원가입, 로그인 성공하고 요청 보낼 때 요청이 잘 들어왔다가 한 0.5초 뒤에 400에러로 바뀝니다. 코드는 모든 부분이 똑같은데 혹시 왜 이러는걸까요?? 의심가는 행동은 section05를 다 듣고 section06 폴더를 만들고 section05에서 사용한 파일을 그대로 복사하여 사용 중인데, 이 부분에서 문제가 있을까요?
저는 강의 수강 후 개인 앱을 만들고 있습니다. EAS preview 빌드 후 해당 빌드 내용을 Orbit을 통해 에뮬레이터에서는 로그인 부라우저가 뜨고 다음 화면까지 이동하는 프로세스가 잘 동작하는 것 까지 확인했습니다. 그런데 제 실제 디바이스에서 구동해보면 카카오 로그인 버튼을 누르면 설정해놓은 Loading spining만 뜨다가 화면이 넘어가지질 않습니다. 로그도 못보고 있어서 해결을 못하고 있는데 혹시 이런 경우 관련 해결팁이 있을까요 ? 저는 이 화면으로 넘어가고 싶은데 안되네요 ㅠㅠ..
안녕 하세요.. src\app\(with-searchbar)\layout.tsx build 시 해당 파일에서 에러가 발생 했습니다 <Suspense> 를 이용했습니다 Next 버전 때문인가요? import { ReactNode, Suspense } from "react"; import Searchbar from "../../components/searchbar"; export default function Layout({ children }: { children: ReactNode }) { return ( <div> <Suspense> <Searchbar /> </Suspense> {children} </div> ); } 🚨 필독) 질문하시기 전에 꼭 읽어주세요 (10초 소요) 제목을 구체적으로 작성해 주세요 ✅ 좋은 예 : 감정일기장 Home 구현중 xx 이슈가 발생합니다. ⛔ ️ 나쁜 예 : 이거 왜 안되나요?, 오류나요 도와주세요 등 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 코드의 이슈는 전체 프로젝트를 "링크 형태"로 올려주셔야 원인을 파악할 수 있습니다. 깃허브, 구글드라이브 등의 수단을 통해 링크 형태로 전달해주세요 직접 실행해보며 원인을 파악해야 하기 때문에 텍스트 형태로 붙여넣는건 삼가해주세요 답변이 도움이 되셨다면 답글 or 해결완료 버튼을 클릭해주세요 비슷한 궁금함을 갖고 계신 분들께 도움이 될 수 있어요! 제 답변이 여러분께 도움이 되었는지 저도 알고 싶어요 강의 내용에 궁금한 점이 있다면 몇 챕터의 몇 분 몇 초인지 알려주시면 더 좋아요 더 빠른 답변이 가능합니다!
[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
cursor룰 agent 설정 변경할때 sandbox 옵션 설정여부에 대해 문의드립니다. 현재 cursor 버전이 바뀌어서 강의에서 말씀해주는 Auto-run 설정 부분이 조금 다르네요. 어느설정으로 바꾸면 괜찮을까요? Auto-Run Mode Ask Every Time Auto-Run in SandBox Run Everything (Unsandboxed) 샌드박스 안에서 실행시 테스트가 잘 안되는것 같아, Run Everyting으로 변경해도 되는지 문의드려요!
"html이 어플레이케이션 중심으로 전환되었다"는 뜻이 html5 에서는 이전과는 달리, 단순 줄글 텍스트 데이터 형식으로 콘텐츠를 표현하는 것이 아니라, canvas나 video와 같이 텍스트 형식을 벗어난 엘리먼트들로 콘텐츠를 표현한다는 의미일까요? 그리고 여기서 정확히 "애플리케이션"이 의미하는 바가 무엇인지 궁금합니다. canvas, video와 같은 엘리먼트의 구현체(?)가 DOM에 객체를 추가하기 위해 계산등을 처리해주기에 이들이 "애플리케이션"으로써 분류된걸까요? 그리고 "마크업"이라는 것을 텍스트 형식으로 표시된 의미론적으로 분류된 텍스트라고 이해해도 될까요? 그렇다면 canvas도 마크업으로써 콘텐츠를 표현하는 것이지만, html 이 parse되어 DOM 으로 만들어질때, 즉 메모리에 객체 형태로 올라갈 때 그 형식이 텍스트가 아닌 다른 무언가이기에 "어플리케이션"이라는 표현이 사용되는 것일까요? 그렇다면 XHTML와 그 이전 버전에서는 canvas, video같은 앨리먼트 없이 오로지 텍스트를 표현하는 태그들만 사용되었던건가요? 좋은 강의 늘 감사합니다.