d-day count소스및 그라비티에서 기술하면 뭔가 내용이 안나오네요
미해결
바이브코딩 입문자를 위한 구글 안티그래비티: 웹앱 제작·배포·수익화까지
수업진행이 빨라서 따라하지 못했는데 작성하신 d-day count소스를 주셔야 따라갈듯 싶은데요. 그리고 antigravity에서 오른쪽에서 프롬프트 기술하면 중앙에 안내문서가 작성이 안되는 현상이 뭔가요?
- Google-Ads
- github
- vercel
- supabase
- 바이브코딩
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
바이브코딩 입문자를 위한 구글 안티그래비티: 웹앱 제작·배포·수익화까지
수업진행이 빨라서 따라하지 못했는데 작성하신 d-day count소스를 주셔야 따라갈듯 싶은데요. 그리고 antigravity에서 오른쪽에서 프롬프트 기술하면 중앙에 안내문서가 작성이 안되는 현상이 뭔가요?
해결됨
비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE
[진도] 1-4. 🛠 실용적인 도구 만들기 1: 개인 비용 관리 앱 (Supabase, 로그인 기능) [질문] 구글 소셜 로그인 기능 추가 및 로그인시 구글화면 에러 상황: 구글 소셜 로그인 기능 추가 및 로그인 프롬프트: 구글 소셜 로그인 기능을 추가해줘. 에러 메시지: [스크린샷 첨부] 시도해본 것: 구글 소셜 로그인 기능 추가 후 퍼블리시 화면에서 구글로 재로그인 시 에러가 뜹니다. 어떻게 해결하면 될까요 ?
해결됨
비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE
[진도] 1주차 1-4. 🛠 실용적인 도구 만들기 1: 개인 비용 관리 앱 [질문] 개인 비용 관리 앱 실습중 스터디 화면(좌측영역)처럼 보여지지는 않는데 맞게 진행되는건가요? 상황: 시도해본 것: 개인 비용 관리 앱 진행중 입니다. supabase와 연결해서 진행하고 있어요 실습 화면에서는 좌측에 SQL 명령어가 보이고 실행버튼들 등등 실제 제가 작업하는 화면과는 좀 달라서 이게 맞는지 궁금해요 (아래 이미지처럼 간단하게만 나와요) 값 입력시 supabase에 데이터가 쌓이기는 합니다. lovable 현재버전이 업데이트된거라 수업화면과 다른건지 아니면 제가 뭘 잘못진행하고 있는건지 헷갈려서 여쭤봐요
미해결
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
session.ts import type { Session } from "@supabase/supabase-js"; import { create } from "zustand"; import { combine, devtools } from "zustand/middleware"; type State = { isLoaded: boolean; session: Session | null; }; const initialState = { isLoaded: false, session: null, } as State; const useSessionStore = create( devtools( combine(initialState, (set) => ({ actions: { setSession: (session: Session | null) => { set({ session, isLoaded: true }); }, }, })), { name: "sessionStore", }, ), ); export const useSession = () => { const session = useSessionStore((store) => store.session); return session; }; export const useIsSessionLoaded = () => { const isSessionLoaded = useSessionStore((store) => store.isLoaded); return isSessionLoaded; }; export const useSetSession = () => { const setSession = useSessionStore((store) => store.actions.setSession); return setSession; }; App.tsx import { Button } from "@/components/ui/button"; import RootRoute from "./root-route"; import supabase from "@/lib/supabase"; import { useEffect } from "react"; import { useSetSession } from "@/store/session"; export default function App() { const setSession = useSetSession(); useEffect(() => { //console.log("111"); supabase.auth.onAuthStateChange((event, session) => { setSession(session); }); }, []); return <RootRoute />; } 코드는 강의와 동일하게 잘따라간 것 같은데 개발자 도구 에서 session이랑 isLoaded가 안보입니다. 새로고침을 해도, 탭을 껏다 켜도, 리액트를 껏다 켜도, 제미나이한테 물어봐도 이게 해결이 안됩니다..... +추가 App.tsx import { Button } from "@/components/ui/button"; import RootRoute from "./root-route"; import supabase from "@/lib/supabase"; import { useEffect } from "react"; import { useIsSessionLoaded, useSession, useSetSession } from "@/store/session"; export default function App() { const setSession = useSetSession(); const session = useSession(); const isLoaded = useIsSessionLoaded(); useEffect(() => { //console.log("111"); supabase.auth.onAuthStateChange((event, session) => { setSession(session); }); }, []); useEffect(() => { console.log("현재 세션 상태:", { session, isLoaded }); }, [session, isLoaded]); // 값이 바뀔 때마다 실행됨 return <RootRoute />; } 이렇게 하고 새로고침하면 콘솔에는 찍히긴 합니다 단순한 리덕스 툴킷 버그인지 콘솔에 찍히니까 넘어가도 상관없는지 모르겠습니다.
해결됨
비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE
💬 좋은 질문 예시 [진도] 2주차 8강 AI, 이제 피그마를 직접 그리게 하라 [질문] curl -fsSL https://bun.sh/install | bash 위 명령어를 터미널에 넣어도 Websocket server running on port 3055가 안 뜹니다. 상황: curl -fsSL https://bun.sh/install | bash 위 명령어를 터미널에 넣어도 Websocket server running on port 3055가 안 뜹니다. 에러 메시지: 어떻게 해결하면 될까요?
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
안녕하세요. next.js 강의에서도 zustand나 tanstack query 같은 리액트 라이브러리들을 다뤄주시나요? 해당 강의도 도서 관련 프로젝트 실습을 하는 것 같은데 인증이나 무한스크롤, 낙관적 업데이트를 다루는 지 궁금합니다!
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
shadcn에서 radix ui와 base ui 차이는 뭔가요? 그리고 어떤 걸 선택해야 할까요?
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
제목과 같이 updateTodo 함수 생성시 화살표 함수 사용 안하는 이유 궁긍합니다! ai 질문하니 스타일 차이라던데 혹시 다른이유가 있을까요? this 관점에 차이가 있다고는 하는데 현재 프로젝트에서는 딱히 의미가 없을거 같아 문의 드립니다!
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
투두 삭제할 때 mutation 부분 코드를 강의와 똑같이 // use-delete-todo-mutation.ts export function useDeleteTodoMutation() { const queryClient = useQueryClient(); return useMutation({ mutationFn: deleteTodo, onSuccess: (deletedTodo) => { queryClient.setQueryData<Todo[]>(QUERY_KEYS.todo.list, (prevTodos) => { if (!prevTodos) return []; return prevTodos.filter((prevTodo) => prevTodo.id !== deletedTodo.id); }); }, }); } 이렇게 치면 바로 삭제가 안 되고 새로고침해야 적용이되는데 export function useDeleteTodoMutation() { const queryClient = useQueryClient(); return useMutation({ mutationFn: deleteTodo, onSuccess: (_data, deletedId) => { queryClient.setQueryData<Todo[]>(QUERY_KEYS.todo.list, (prevTodos) => { if (!prevTodos) return []; return prevTodos.filter((prevTodo) => prevTodo.id !== deletedId); }); }, }); } 이렇게 작성하면 바로 삭제 적용이 됩니다. 무슨 차이가 있는 걸까요?? 그리고 강의에 왜 처음 코드는 바로 삭제 반영이 안 되는 건지 궁금합니다 ㅜㅜ!
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
라우트 가드 학습 중 궁금한 점이 생겨서 질문드립니다! import { useSession } from "@/store/session"; import { Navigate, Outlet } from "react-router"; export default function MemberOnlyLayout() { const session = useSession(); if (!session) return <Navigate to={"/sign-in"} replace={true} />; return <Outlet />; } 라우트 가드에서는 인증 정보 유무만 검사하고, 인증 정보 만료 여부는 별도로 확인하지 않나요? 만약 그렇다면 인증 정보가 만료된 상황에서의 처리 방법이 궁금합니다! 고민해봤을 때 인터셉터 등 별도 로직으로 구현해 다음과 같이 처리할 것 같습니다 접근한 페이지에서 인증이 필요한 요청 처리가 있다면 refreshToken 을 이용해 accessToken 을 재발급 한 뒤 요청을 재시도한다 refreshToken 도 만료되었다면 요청을 취소하고 로그인 페이지로 리디렉션 한다 그런데 이렇게 처리하면 refreshToken 도 만료된 사용자는 인증 정보가 있으므로 요청 페이지로 이동한다 짧은 순간이나마 데이터가 없는 빈 화면이나 깨진 UI를 본다 로그인 페이지로 리디렉션되며 혼란을 겪는다 그래서 라우트 가드에서 만료된 경우 접근을 막아야 되지 않을까 생각해봤는데 매번 토큰 유효성 검증을 수행하면 성능 저하가 발생할 것 같다는 생각을 했습니다 어떻게 처리하면 좋을지 의견을 여쭤보고 싶습니다!
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
안녕하세요! 항상 강의 잘 듣고있습니다 :) 강의에서 onAuthStateChange 를 사용해서 사용자 로그인 시 세션 데이터가 변경되며 업데이트된 세션이 매개변수로 전달되고, 업데이트된 세션을 스토어에 보관했었습니다 supabase 를 사용하지 않는다면 세션 데이터 변경을 어떻게 감지하고, 스토어에 보관 해야될지 고민해봤는데 세션 데이터를 사용하는 곳에서 직접 저장 / 수정하는 방법 혹은 강의에서 배웠던 persist 와 subscribeWithSelector 를 활용한 방법도 있을 것 같은데 명확한 방법이 떠오르지 않아 강의 내용과는 조금 방향성이 다르지만 질문드리게 되었습니다!
미해결
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
id를 전부 string으로 변경했음에도 계속 오류가 발생해서 ai한테 도움을 요청했더니 create-todo.ts에 header값을 붙이라고 하더라고요! 그래서 해당 파일 코드에 headers: { 'Content-Type': 'application/json',} 를 붙여줬더니 정삭작동하는 걸 확인할 수 있엇습니다. 왜 이 헤더를 붙여줘야 하는 건가요? import { API_URL } from '@/lib/constants'; import type { Todo } from '@/types'; export async function createTodo(content: string) { const response = await fetch(`${API_URL}/todos`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ content, isDone: false }), }); if (!response.ok) throw new Error('Create Todo Failed'); const data: Todo = await response.json(); return data; }
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
타입스크립트 강의를 따로 안들어서 그런데 컴포넌트 별로 props를 넘길때 언제는 구조분해할당으로 넘기고 언제는 그냥 타입만 선언해서 넘기던데 따로 판단하는 기준이 있을까요? CommentEditor 컴포넌트 props 넘길때 {postId}:{postId : number} 과 (postId : number) 의 차이가 명확히 그려지지가 않습니다.
해결됨
바이브 코딩으로 업무 아이디어 구현하기: HRD 프로젝트 (구글 AI Studio × n8n)
안녕하세요! 프로젝트 만들기 시 '계속' 탭이 비활성화가 되어서 넘어가지 않는데 어떻게 해야할까요?
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
안녕하세요! 강사님이 얘기해주신 부분에서 구현을 다했고, 추가로 구글로그인도 적용시켰습니다! 이후에, 카카오 로그인 관련해서 적용하려고 앱설정 및 AI 도움을 받아 하려했는데, 구현 부분에서 막혔습니다. 잘못된 요청 (KOE205) onebite-log 서비스 설정에 오류가 있어, 이용할 수 없습니다. 서비스 관리자의 확인이 필요합니다. 서비스 관리자라면 아래를 확인해보세요. 왜 에러가 발생하나요? 접기 설정하지 않은 카카오 로그인 동의 항목을 포함해 인가 코드를 요청했습니다. 설정하지 않은 동의 항목: account_email 어떻게 해결할 수 있나요? 접기 앱 관리 페이지의 [카카오 로그인] > [동의항목]에서 동의 항목 설정을 변경하거나, 설정하지 않은 동의 항목을 제외하고 재요청합니다. 이걸 해결하기 위해선 동의항목에 가서 비즈앱으로 전환하는 방법 밖에 없는 지 궁금하여 문의드립니다!
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
안녕하세요! ui 관련해서 궁금한 것이 있어 질문드립니다. Popover와 같이 radix-ui 와 @/components/ui (shadcn/ui ..?) 있는 컴포넌트의 경우, 어떤 것을 사용하는지에 대한 기준이 있을까요?? PopoverClose 는 @radix-ui 에서 받아오는데, 어떤 것은 @/components/ui 에서 가져와서 사용하고 그래서 혹시나 기준이 있나 궁금해서 질문드립니다!
미해결
비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE
섹션2 1-3 강의를 수강 중입니다. 아래 화면과 같이 supabase 연동이 되지 않습니다. 무시하고 수업을 들으려 했는데 구글 로그인 연동부터는 막혀서 질문을 올립니다. (가계부 페이지는 또 새창 띄우기를 안 해도 구글 로그인이 되긴 합니다) supabase가 연동 된 것처럼 보이나, supabase에서 lovable의 프로젝트나 데이터를 볼 수 없습니다.
미해결
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
[todo,list]는 stale이 되는데 평탄화한 캐시는 왜 fresh를 유지하는지 이해가 안됩니다 😅
미해결
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
const { mutate: deleteComment, isPending: isDeleteCommentPending } = useDeleteComment({ onError: (error) => toast.error("댓글 삭제에 실패했습니다", { position: "top-center" }), }); 여기서 isPending을 쓸만한 곳이 없는거 같은데 굳이 필요한 이유가 있을까요?
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
이해가 잘 안돼서요ㅜㅜ 조회가 완료되기전 업데이트를 하는 경우 DB에 저장되는 값과 화면에 노출되는 값이 다를수가 있다는 얘기일까요? 업데이트를 한다는건 화면에 데이터가 노출된다는건데 이 얘기는 캐시에 담겨져있는 데이터를 먼저 노출시킨다는 얘기일까요?