안녕하세요 정환님 강의를 듣다 우연히 궁금한 점이 생겨 문의드립니다. 제가 리액트 > 타입스크립트 > next.js 까지 쭉 듣고있는데요! 파일명을 짓는 기준이 궁금하여 문의드려요 리액트 컴포넌트파일명을 지을때는 맨 앞글자가 대문자가 기준인 것으로 알고있었는데 next.js 에서 ${페이지}.tsx 로 지으실때는 search-layout.tsx global-layout.tsx 이런식으로 대시방식을 사용하시는것같더라구요!! 혹시 현업에서 사용하는 파일명짓는 기준이나 일반적인 react,next.js에서 사용하는 파일명 기준이 있을까요?? 실무를 겪어보지 못해 잘 몰라서 해당건 질문드립니다,,,,,, 강의 항상 잘 듣고있어요 감사합니다 🙂
Supabase에서 Table Editor > 테이블 옆에 Unrestricted가 아래처럼 뜨시는 분들은 RLS disabled를 클릭한 후에 RLS를 Enable로 해주시면 됩니다. RLS(Row Level Security)가 꺼져 있으면, 누구나 API로 테이블 데이터를 볼 수 있습니다. 실제 서비스에서는 RLS를 반드시 켜고, 접근 정책(Policy)을 설정해야 데이터가 안전하게 보호됩니다. RLS 활성화는 Table Editor에서 “Enable RLS” 클릭 → 정책 추가로 진행하면 됩니다.
안녕하세요 강사님 main 브랜치를 최상위 브랜치로 놓고 거기서 하위 브랜치인 dev 브랜치가 나오고 dev 브랜치에서 이걸 상위 브랜치로 갖는 다른 브랜치를 만드는 방법이 있나요? 로컬에서 여기서 설정 하는 거 말고 혹시 다른 방법이 있나요? 여기서 만들고 계속 동기화해서 올리고 있습니다.
TOdo List 라는 툴도 설명해주셔서 감사드립니다. AI 가 생각보다 멍청하다 라는 말이 인상깊었는데요. 제가 궁금한 건 TODO List 를 작성해야하는 이유는 우리가 개발을 하다가 다시 다음 날 한다고 했을때, TODO List 를 설명하지 않고, 기억하고 있겠지 ? 라고 하면서 그대로 진행하는 것보다는 TODO List 로 한번 상기시켜주는 것이 좋다 라고 해석하면 될까요 ? 제가 아마 잘 못 따라간 것 같은데, 정확히 언제 쓰는게 맞는건지 조금만 더 구체적으로 설명해주시면 감사드리겠습니다.
웹소켓 켜고 커넥트 해서 채널 받았는데요. called join_channel 부터 안 되는데 왜 그럴까요? 계속 하다 보니 연결은 됐는데요. New client connected Received message from client: {"type":"join","channel":"kvisl10k"} Sending message to client: undefined New client connected New client connected 원래는 계속 Received message from client: {"type":"join","channel":"kvisl10k"} Sending message to client: undefined 여기까지만 나오고 안 된것 같은데 여러가지 확인하고 삭제하고 원복하고 하다보니 New client connected New client connected 이게 두번뜨고 연결이 되는데 왜 계속 sending ~ 여기까지만 나온걸까요?
안녕하세요 강의 듣던 중 질문 있습니다. access token 을 넣어서 fetch 함수를 사용하고 싶은데 클라이언트 레이어에서는 정상적으로 주입한 access token이 보이는데 서버 레이어에서는 구워진 access token이 없더라고요. 혹시 짐작 가는게 있으실까요?? 감사합니다.
cursor-talk-to-figma-mcp plugin 의 sonnylab.com이 저의 경우 나오지 않고 , use localhost 버튼도 나오지 않는데 왜 그럴까요? 그래서 figma에 그려지는 것은 안되었습니다. 소스위치: https://github.com/grab/cursor-talk-to-figma-mcp 플러그인은 교재에서 연결
안녕하세요! 먼저 좋은 강의 제공해주셔서 감사합니다~! 강의를 듣다가 조금 헷갈리는 부분이 있어서 질문드립니다. 강의에서 “git add 명령어는 워킹 디렉토리에 있는 파일을 staging area로 복사하거나 덮어쓴다” 라고 하셨는데, 제가 이해하기로는 git add를 실행했을 때 실제 파일이 복사되는 건 아니고, 해당 시점의 스냅샷 정보가 저장 되는 게 맞을까요? 아마도 쉽게 설명하시려고 “복사”라는 표현을 쓰신 것 같은데, 복사를 하게 되면 파일이 2개 생기는 건지 등등 이 부분이 조금 혼동을 줄 수 있는 것 같아 질문드립니다.
지금 강의에서 리뷰 리스트를 조회하는 api를 서버액션으로 작성해도 상관없는건가요? 예를 들어 직접 리뷰 리스트 DB에 접근해서 데이터를 가져오고 반환해주고, 페이지 컴포넌트에서는 단순히 const data = await getReview(); 를 작성해서 불러오는 방법처럼 말이죠 이 질문의 의도는 어떤 상황에서 서버액션을 써야하고, 어떤 상황에서 fetch를 써야하는지 아직 감이 잡히지 않아 질문드립니다! 강의를 보면서 서버액션은 Form에만 사용해야하는구나..라고 생각이들어서 혼란이 생겼던 것 같습니다.
중첩된 라우팅에서 다른 레이아웃 혹은 레이아웃을 사용하고싶지 않을 때 어떻게 제어할 수 있는지 궁금합니다. 현재 소스를 보면 (with-searchbar) search book ... 와 같은 형태로 되어있는 것을 알 수 있는데요 만약에 search가 1 depth 라고 했을 때, search 페이지 아래에 예를 들어 detail-search 라는 주소를 가진 페이지가 있다고 가정할 때 (with-serachbar) serach detail-search 파일 구조 및 중첩된 라우터 구조가 위와 같이 되잖아요? 이 때 detail-search는 with-searchbar 대신 가령 with-detail-serachbar 라던가, 아예 with-searchbar 레이아웃을 사용하고 싶지 않을 수 있잖아요? 이럴 때 어떻게 해야하는지 궁금합니다 😀