예를 들어 로그인이 되지 않는 경우는 메뉴가 굳이 나올필요가 없어서.. 세션이 미존재면 보이지 않게 처리 했는데.... 이렇게 처리하는 방법이 일반적이지는 않을거 같은데.... 보통 로그인이 되지 않아 메뉴가 필요 없는 페이지는 어떻게 처리하나요? export default async function RootLayout({ children }: Readonly<{ topmenu: React.ReactNode; children: React.ReactNode; }>) { const cookie = (await cookies()).get("session")?.value; const session = await verify(cookie); return ( <html lang="en"> <body className={`${geistSans.variable} ${geistMono.variable} antialiased`} > {/* 세션이 undefined가 아닌 경우 TopNavigationMenu를 렌더링합니다. 'undefined'는 문자열이 아닌 JavaScript의 실제 undefined 값입니다. */} { session!==undefined&&<TopNavigationMenu/> } <main> {children} </main> </body> </html> ); }
https://github.com/ksm0584-star/one-bite_react.git 안녕하세요! 초보자도 이해하기 쉽게 잘 설명해주셔서 강의 감사드리며 듣고 있습니다. 처음으로 문제가 생겼는데요 ㅠㅠ index.html에서 favicon으로 변경한 것과 meta 코드를 넣어준 것이 웹에 적용이 되지 않습니다. 분명 저장을 하고 새로고침을 해주어도 개발자 모드로 들어가보면 적용이 하나도 안되어 있어요. 그리고 배포는 되는데 하고 나면 favicon과 meta코드가 초기화 되어 있습니다. 무엇이 문제일까요? 다음 강의에 있는 vercel login도 되지 않습니다. zsh: command not found: vercel 이렇게 뜨네요 ㅠㅠㅠ 답변해주시면 정말 감사하겠습니다!
[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
현재 바이브코딩 강의를 구입한 사람입니다. 저는 현재 자영업을하면서 향후 웹서비스 창업을염두해서 본강좌를 미리 구입해둔상태이고 학습을 할수있는 상황은아닙니다. 쿠폰보니까 첼린지 쿠폰이 발급되어있던데 이미 강의를 구입한사람일경우 첼린지강의를 신청하면 새로운내용을 더 얻어갈수있는건가요??? 기존강의구입자들은 첼린지를 어떻게 생각해야할지요?
private String makeTempPassword() { StringBuffer buffer = new StringBuffer(); for(int i = 0; i < 10; i++){ buffer.append( (char) ( (int)(Math.random()*55) + 65 )); } return buffer.toString(); } 해당 코드에서 StringBuilder가 아닌 StringBuffer를 사용하는 이유가 따로 있나요?? 성능적으로 큰 차이는 없겠지만 혹시 특별한 이유가 있는지 궁금해서 여쭤봅니다!!
안녕하세요 강사님. 강의 잘 듣고 있습니다. 배열 업데이트하기 1탄 강의 보고 있는데 궁금한 점이 있습니다. 강의 11:28에서 button onClick 이벤트에 onDeleteTodo 함수를 넘기는데요. 강의에서는 onClick={() => onDeleteTodo(item.id)} 이런 형식으로 넘기고 있는데 다른 부분에는 onClick={onDeleteTodo} 이런식으로 사용하기도 하셔서요. (강의에서 이렇게 사용했다는게 아닙니다. 예시입니다.) onClick={() => onDeleteTodo(item.id)} onClick={onDeleteTodo} 이 두가지를 언제 어떻게 구분해서 사용해야 하는지 궁금합니다.
안녕하세요. 강의를 보면서 차근차근 작업중인데요. 테스트 하다보니 한글로 제목과 내용을 작성하고 등록을 하면 등록이 완료되었다고 뜨나 실제 리스트 페이지에선 업데이트가 되지않고 있습니다. 제가 설정을 빠트린게 있는걸까요? 실제로 영문이나 숫자로만 입력후 등록하면 리스트에도 잘 반영됩니다.
[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
피그마 mcp연결이 안되요...링크주신 피그마도 유료계정결제하고 피그마연결블로그도 보고했는데.. 연결되었다고 나오는데 커서에 세팅에 빨간불이 안없어지고 [INFO] Connecting to Figma socket server at ws://localhost:3055... [INFO] FigmaMCP server running on stdio [INFO] Connected to Figma socket server [DEBUG] Received message: "Please join a channel to start chatting" [LOG] myResponse"Please join a channel to start chatting" [INFO] Received broadcast message: "Please join a channel to start chatting" 이런에러만뜨고요.. 로그를 보니 피그마 소켓 서버에는 연결이 되었지만, 채널에 참여하라는 메시지가 계속 표시되고 있습니다. 이는 피그마 플러그인이 실행 중이지만 채널 연결이 완료되지 않았다는 의미입니다. 피그마에서 다음 단계를 확인해보세요: 피그마 앱에서 Cursor Talk to Figma 플러그인이 실행되고 있는지 확인 플러그인에서 채널 생성 또는 참여가 필요할 수 있음 플러그인에서 채널 ID(udfelzqr)를 정확히 입력했는지 확인 피그마 플러그인 측에서 채널 연결이 완료되어야 터미널에서 실행한 명령이 제대로 작동할 수 있습니다. 현재는 이미 구현한 색상 토큰 시스템을 계속 사용하는 것이 좋겠습니다. 피그마 연결이 필요하시면 피그마 플러그인 설정을 다시 확인해주세요. 커서는 이렇게이야기하는데 왜 안되는지 알수가없습니다..ㅠㅠ
76. 11.3) Context 분리하기 useMemo 를 이용해서 onCreate, onUpdate, onDelete 를 한번만 생성이 되게 한거는 이해 하는데요, 그럼 이 경우에 기존에 사용했던 useCallback 은 삭제 해도 무방 한가요? const onCreate = (content) => { dispatchFunc({ type : "CREATE", data : { id : idRef.current++, isDone : false, content: content, date : new Date().getTime(), }, }); };
<BrowserRouter> <Routes> <Route path="home" element={<AdminHome />} /> <Route path="post" element={<AdminPost />} /> <Route path="update/:id" element={<AdminUpdate />} /> </Route> </BrowserRouter> Q1. 저는 항상 app.js 위에 코드와 같이 작성하는 편인데 강의에서는 주로 CreateBrowserRouter를 따로 이용하시는데 특별한 이유가 있나요? Q2. 간혹 프로젝트 중간중간 Header나 Footer 컴포넌트를 몇몇 페이지에서는 안보이거나 다른 header, footer 컴포넌트가 보이게끔 하고 싶은데 이런 경우 주로 어떻게 하실지 생각(?) 아이디어(?) 가 궁금합니다. 저는 안보이게 하고 싶은 페이지를 url로 구분하는 편인데 다른 좋은 방법이 있을까요?