프로젝트 A의 마켓 플레이스에서 supabase 플러그인 mcp를 설치하고 사용 했습니다. // A_Project/.claude/setting.json { "enabledPlugins": { "frontend-design@claude-plugins-official": true, "supabase@claude-plugins-official": true } } 그러고 나서 프로젝트 B의 터미널에서 claude 실행 후 /mcp 목록을 보면 supabase mcp가 없는데 제가 무언가 놓친게 있는걸까요? 프로젝트 B에서 /plugin -> Installed를 확인해봐도 없는 대신 MarketPlaces에는 설치 되어있어서 다시 삭제 하고 설치해서 사용 해야 하는건지 ... 프로젝트 단위로만 플러그인들을 적재적소로 설치해서 사용 하고 싶은데
섹션12 라는 폴더를 만들어서 git 연동을 해놓았습니다. claude 를 이용해서 merge 하고 push 를 해보느라구요. 이후에, 이곳에서 nextjs 를 이용해서 web 만드는 강의를 진행하려고 하는데요. 섹션12 폴더 하위에 web-starter-kit 이라는 폴더를 만들고 그 안에 nextjs 를 설치하였습니다. 여기서 궁금한것이 있습니다. 이미 git 연동을 하느라 섹션12폴더 최상위에 .claude setting 폴더가 생겼는데요. web-starter-kit 폴더 안에서만 claude 를 독립적으로 사용하고 싶습니다. 하나의 프로젝트 안에 여러개의 폴더를 만들어서 각각 모듈처럼 만들려고 하는건데요. 이렇게 가능한건가요? 각 모듈별로 사용하지 못하면 init 을 했을때 너무 많은 토큰을 사용할꺼 같습니다. 제가 잘못알고 있는건지 모르겠습니다. 답변 부탁 드립니다.
안녕하세요. 식별 vs 비셕별에 대한 db 설계 관련 내용 중에 영한님께서 일대다의 경우인 board 테이블(one)과 comment(many)에서 board 테이블의 id가 식별관계로 사용되는 경우 comment의 id는 채번을 따서 사용해야하고 시퀀스나 auto increment를 사용할 수 없다고 하셨는데 그 이유가 궁금합니다. 어쨋든 board 테이블의 id값은 row마다 존재하기에 각 comment row의 데이터가 어떤 board에 속하는지 그리고 순서도 asc 순으로 보장된다고 생각하는데요.. 꼭 채번을 사용해서 만들어야한다고 설명해주신 이유가 무엇인지 궁금합니다. 더구나 max+1 같은 경우 comment의 id값이 중복될 여지도 있다고 생각하는데요.. 설명해주시면 감사하겠습니다.
혼자서도 해보고 '레이아웃 분리하기 - 풀이' 강의를 보고 똑같이 해도 (with-layout) 그룹에 생성한 Layout(MainLayout)은 아래와 같이 MainLayout 하위에 MainLayout이 또 있는 것처럼 뜨는데 이건 정상적인 건가요? (auth) 그룹에 생성한 Layout(AuthLayout)은 아래와 같이 AuthLayout이 하나만 있어서 어떤 게 정상인지, 원래 이런 건지 알고 싶습니다. 프로젝트 폴더 구조는 다음과 같습니다:
현재 전체 중 28%정도 수강하고 있는 비전공자 입니다. 초반 강의는 개념을 이해하기 쉬웠고 따라하기 쉬웠는데 갈수록 비전공자 입장에서는 단어의 개념을 모른 상태에서 바로 듣다 보니. 이 기능? 이번 강의?가 무엇을 위해 설명하시는지 왜 필요한지 등 처음부터 가닥을 잡기가 너무 어려워지고 있습니다. 큰 틀을 보지 못하는 느낌이 듭니다.. 어차피 다 알아듣기 어려우니 그래도 일단 들어보자는 마음으로 몇강 더 들었는데 들을수록 단어를 모르니 이해가 전혀 되지 않습니다.. 혹시 비전공자가 이 수업을 따라 갈 수 있는 좋은 방법이 있는지 조언 구하고 싶습니다. 일단 이해 안되지만 계속 참고 듣다보면 큰 틀이 이해가 가는 강의 구성인지.. 아니면 강의 중 모르는 단어(ex.스코프, api key 등)을 하나하나 뜻을 찾아보면서 듣는게 맞는지..
죄송합니다 또 궁금한게 생겨서 여쭈어봅니다 ai에게 물어봐도 항상 이게 진짜 맞는건지 의문이 생겨서 만약 프론트 쪽에서만 next js 에서 헤더랑 쿠키에 접근을 할 일이 그렇게 있을가 하는 의문이 생겨서 질문드립니다. 백엔드가 기본적인 확인을해서 처리를 하고 권한 이나 그런건 api호출을 하면 되지않을가라는 의문이 들어 질문 남깁니다
비전공자 입니다 ㅜ 섹션8부터 비전공자 입장에서 너무 이해하기가 어렵습니다.. 55강에서 스키마 설명 해주셨는데 왜 그리고 어떻게 사용하는지에 대해 추가 설명 부탁드립니다. 처음에는 이해가 잘 되어서 미션도 잘 따라했는데 점점 뜬구름 잡는거 처럼 이해가 하나도 되지 않는 개념들이 조각조각 설명 되는 느낌이네요 ㅜ 큰 틀을 이해할 수 없는 느낌이 많이 듭니다.
안녕하세요! 늦었지만 새해복 많이받으세요! 신입때 영한님 강의 봤었는데 벌써 6년차에 접어들고 있습니다..! 다름이 아니라 최근 실무에서 레거시 코드를 개선하면서 고민을 많이 하고 있는데요 주변에 시니어분들이 있으나 아키텍처에 대해서 크게 고민하고 있지 않아 제가 고민 후 적용해보고 있습니다. 예를 들어 레이어드 아키텍처로 구현되어 있는 프로젝트가 있으나 규모가 커지면서 점점 유지보수가 힘든 지경까지 왔는데요 (메서드 하나에 1천 줄... 이상) 이런 상황에서 DDD 아키텍처를 이용해서 코드를 작성해보고 있습니다. 하지만 아무래도 혼자 공부하고 혼자 해보다보니 이게 맞는건지 제대로 하는건지 궁금한 부분이 꽤나 많습니다. 그래서 질문은 향후 아키텍처에 관련된 강의 계획이 있으신지 너무 궁금합니다...!! 클린아키텍처, 핵사고널, DDD 다양한 방법과 적용된 프로젝트가 많은데 이런 강의도 하실 예정이신지.. 없으시다면 꼭 해주셨으면 합니다!! 아무튼 강의 계속 보면서 많은 도움 받고 있습니다 감사합니다!! 다시 한번 새해 복 많이 받으세요!
안녕하세요. Sonauto AI 작곡가에게 음악 생성 요청하기에서 JSON 입력부분에 프롬프트에서 가져오는 Background Music Prompt는 강사님과 동일한 내용으로 붙는데, BGM-시트행에서 가져오는 Narration은 강사님과 다르게 계속 {{ $json.Narration }} 이 형태로 가져와 집니다. 그래서 동일한 형식으로 내용을 보완해도 계속 JSON parameter에러가 나는데요. 어디를 체크해 봐야 할까요? ㅠㅜ
강의를 따라 /git:commit 필요없는 코드 제거 한다음 플랜모드로 미리 계획을 보려했는데요. 아래와 같은 메시지가 뜨는데 왜그런걸까요? 현재 플랜 모드가 활성화되어 있어 커밋을 실행할 수 없습니다. 플랜 모드에서는 읽기 전용 작업만 가능하며, git 커밋과 같은 실행 작업은 불가합니다. 커밋을 진행하려면 플랜 모드를 먼저 종료해 주세요 (/plan 명령어로 토글하거나 플랜 승인/거절 후 진행 가능합니다).
안녕하세요. solvesql을 통해 "유량(Flow)과 저량(Stock)" 문제를 접하게 된 사용자입니다. 다름이 아니라, 현재 정답 데이터와 제출 데이터가 동일함에도 불구하고 아래와 같이 오답 처리되는 현상이 발생하고 있습니다. 인터넷에서 찾은 다른 사람들의 코드와 제 코드 사이의 차이도 크게 보이지 않는 상황입니다. 해당 현상 한 번 검토 부탁 드리겠습니다. 참고로 제 코드와 오답 메세지 첨부 드립니다. [ 코드(MySQL) ] SELECT Ay AS "Acquisition year" , Flow AS "New acquisitions this year (Flow)" , SUM(Flow) OVER (ORDER BY Ay) AS "Total collection size (Stock)" FROM ( SELECT DATE_FORMAT(acquisition_date, '%Y') AS Ay , COUNT(artwork_id) AS Flow FROM artworks WHERE acquisition_date IS NOT NULL GROUP BY DATE_FORMAT(acquisition_date, '%Y') ) A ORDER BY 1; [ 오답 메세지 ] 감사합니다.
전역 모달을 2개 쓰고 싶어서 일단 스토어 2개를 만들었는데요. 모달 프로바이더도 2개를 만들어야하는지, 아니면 하나의 모달 프로바이더에 2개 모달을 모두 넣어도 되는지 궁금합니다. 그리고 만약 하나의 모달 프로바이더에 두 모달을 넣는다면 어떻게 코드를 작성해야 하는지 궁금합니다. // 1번 export default function ModalProvider({ children }: { children: ReactNode }) { return ( <> {createPortal( <> <AModal /> <BModal /> </>, document.getElementById("modal-root")!, )} {children} </> ); } // 2번 export default function ModalProvider({ children }: { children: ReactNode }) { return ( <> {createPortal(<AModal />, document.getElementById("modal-root")!)} {createPortal(<BModal />, document.getElementById("modal-root")!)} {children} </> ); }