안녕하세요! 길고긴 강의를 끝내며 배포에 성공했습니다! 🎉 뿌듯하네요~ 질 좋은 강의 진행해주셔서 감사합니다. 배포 이후 페이지 확인하면서 한가지 문의드릴 부분이 있습니다. 사이트에 접속해서 일기 하나를 열고(/diary/1 같은 주소) 새로고침(F5)을 하면 404페이지가 뜨는데 이 부분은 어떻게 수정해야하는지 문의드립니다.
안녕하세요, 강사님. 완강을 목표로 열심히 수강 중인 수강생입니다. 강의를 들으면서 실제 프로젝트에 클로드 코드를 적용하는 방법을 배울 수 있어서 정말 많은 도움을 받고 있습니다. 친절히 알려주신 덕분에 현재 노션 견적서 프로젝트도 큰 어려움 없이 배포까지 진행할 수 있었습니다. 좋은 강의를 만들어주셔서 먼저 감사드립니다. 그런데 프로젝트를 진행하면서 총 8개의 서브 에이전트가 .claude/agents 에 저장되어 있는데, 실제 프로젝트에서는 한 번도 해당 서브 에이전트를 사용하지 못하고 있습니다. 최근 클로드 코드에서 에이전트 관련 명령어와 생성 방식이 변경된 것은 고지해주셔서 확인했습니다. 그래서 클로드에게 아래와 같이 요청해 보았습니다만 ".claude/agents에 저장된 md 파일을 읽고 서브 에이전트를 등록해줘" "현재 사용 가능한 서브 에이전트 목록을 확인해줘" 어떤 방법으로 요청해도 커스텀 서브 에이전트를 전혀 인식하지 못하고 있습니다. 제가 확인한 내용은 다음과 같습니다. 에이전트 파일 자체의 문제는 아닌 것으로 확인했습니다.(파일 위치 정상, 프론트매터 형식 정상, YAML 문법 오류 없음) 서브 에이전트 타입은 6개 고정(claude, claude-code-guide, explore, general-purpose, plan, statusline-setup) 클로드에게 이 현상에 대해 계속 질문해 보니, 아래와 같은 답변을 받았습니다. 이 방법을 어떻게 해결하면 좋을지 알고 싶습니다. 커스텀 서브 에이전트가 아니더라도 클로드 자체에서 강의와 비슷한 답변을 주어서 그대로 사용하였는데, 강의를 통해 배운 내용을 실제 프로젝트에서도 제대로 적용해 보고 싶어 짚고 넘어가고 싶었습니다. 혹시 저와 같은 증상을 겪고 있는 다른 수강생분들도 계실 것 같아 질문드립니다. 확인된 사실 - 8개 파일 모두 frontmatter(name, description, model, color) 형식이 정상입니다. YAML 문법 오류 없음. - 그런데도 Agent 도구가 인식하는 서브에이전트 타입은 항상 claude, claude-code-guide, Explore, general-purpose, Plan, statusline-setup 6개로 고정되어 있습니다. 원인 추정 표준 Claude Code CLI라면 .claude/agents/*.md를 스캔해 subagent_type에 자동 등록하는 기능이 있지만, 지금 이 세션이 동작 중인 환경(오케스트레이션 계층에 "FleetView" 같은 명칭이 보이는 것으로 보아 표준 CLI와 다른 래퍼/호스팅 환경으로 보입니다)은 프로젝트 로컬 .claude/agents/ 디렉토리를 읽어 동적으로 서브에이전트 타입을 추가하지 않고, 고정된 6종 타입만 제공하는 것으로 보입니다. 이는 제가 도구 호출로 바꿀 수 있는 설정이 아닙니다. 대안 완전한 "등록"은 불가능하지만, 실질적으로 같은 효과를 내는 방법은 있습니다 — 앞서 development-planner에 했던 것처럼, 필요할 때마다 해당 .md 파일의 지침 전체를 general-purpose 에이전트(또는 제가 직접)에게 프롬프트로 전달해 그 페르소나로 동작시키는 방식입니다. 8개 전부 재사용 가능한 형태로 준비해 둘 수 있습니다. 클로드의 버전을 함께 보내준 결과, 아래와 같은 답변을 받을 수 있었습니다. 클로드의 버그인지, 아니면 제가 설정을 잘못한 부분이 있는 건지 강사님의 판단이 알고 싶습니다. 확인했습니다 — 이건 버전 문제가 아니라 Claude Code 자체의 알려진(장기간 미해결) 버그입니다. 조사 결과 - claude doctor가 보여준 2.1.225 → 2.1.226 업데이트는 "버그 수정 및 안정성 개선" 정도의 유지보수 릴리스로, 커스텀 에이전트 관련 수정 사항은 언급되지 않았습니다. - GitHub anthropics/claude-code 저장소에 .claude/agents/(프로젝트/사용자 스코프 모두) 내 커스텀 에이전트가 /agents 목록에도, Agent 도구의 subagent_type에도 인식되지 않는 문제가 여러 버전에 걸쳐 반복 보고되어 있습니다: - 공통 증상: 파일은 정상(형식 문제 아님)인데도 세션 시작 시 .claude/agents/를 스캔하는 로직 자체가 파일 기반 에이전트를 인식하지 못함. UI(/agents)로 그 자리에서 직접 만든 에이전트는 해당 세션 한정으로만 동작하고, 재시작하면 그마저 사라지는 사례도 보고됨. 즉, 지금 발견하신 현상은 로컬 설정 문제가 아니라 Claude Code의 알려진 버그와 정확히 일치합니다.
9.2강의 supabase설정하기와 관련하여 질문있습니다. 강의안에는 지역 설정 시 Asia-Pacific으로 하라고 되어있는데 밑에 있는 Northeast Asia(Seoul)과 차이가 무엇인가요? 이유는 모르겠으나 처음 생성 시에 Asia-Pacific으로 선택했던 거 같은데 이미지와 같이 뭄바이 지역으로 떠있습니다ㅠㅠ 큰 문제는 되지않을까요?
진짜 바이브코딩 올인원 클래스: Claude Code 기초부터 런칭, 운영, 에이전트 자동화까지
클로드코드 활성화 후 /mcp 명령어 입력 후 엔터 치면 No MCP servers configured. Run claude doctor if this is unexpected — it lists MCP config files that failed validation. Otherwise, run claude mcp --help or visit https://code.claude.com/docs/en/mcp to learn more. 강의에서 나오는거 같은 목록은 안나오는데요 뭘 어떻게 하라는건가요?
강사님이 주신 프롬프트를 복사해서 명령을 내리면, 강사님은 영상까지 만드시는데, 저는 자꾸 유튜브 영상 다운로드에서 막힌다는 얘기부터 시작하면서 진행이 안됩니다. 그래서 혹시나 해서, 회사 유튜브 영상의 링크(제가 업무로 만든)를 줘도 비슷한 얘기를 합니다. 어떻게 해야 하는지 모르겠어요 ---- 유튜브 영상 링크 감사합니다. 다만 몇 가지 현실적인 한계를 먼저 말씀드릴게요. 저작권 문제와 별개로, 기술적으로 두 가지가 막혀 있어요: 다운로드 자체가 안 됨 — 지금 환경엔 유튜브 영상을 내려받는 도구(yt-dlp 등)가 설치돼 있지 않고요, 설사 설치하더라도 유튜브 영상을 직접 다운로드하는 건 영상 내용의 저작권과 무관하게 유튜브 자체 이용약관 위반 이라 제가 실행하지 않는 부분이에요. "저작권 걱정 없다"는 말씀은 영상 콘텐츠 자체의 권리 얘기이고, 유튜브 플랫폼 규정은 별개 문제라서요. 영상 편집 도구도 없음 — ffmpeg 같은 편집 툴도 이 환경에 없어서, 설사 파일이 있어도 자르고 자막 넣는 실제 편집은 제가 직접 할 수 없습니다.
테스트로 /permission 명령어를 통해 wrokspace를 등록해보았습니다. 이 부분이 settings.local.json 에 저장될 걸 기대하고 해당 파일을 열어보았는데, 해당 파일에는 저장이 되어 있지 않은 것을 발견하였습니다. { "permissions": { "allow": [ "Bash" ] } } https://code.claude.com/docs/ko/permissions#project-allow-rules-and-workspace-trust claude code 문서를 보아도 해당 항목으로 저장이 되는 것 같은데 저장이 안된 이유가 궁금합니다. 프로젝트의 .claude/settings.json 에 있는 permissions.allow 규칙과 permissions.additionalDirectories 항목은 기능을 부여하므로,
수업 노트에 제시된 "Sort 메서드 관련 아티클" 하이퍼링크를 클릭하면 404: 잘못된 링크입니다. 메뉴를 통해 정상적인 페이지로 접근하세요. 라고 뜨면서 아무런 내용도 보이지 않습니다. 다른 페이지로 넘어가거나 홈으로 넘어가려고 해도 같은 오류가 뜨는데, 어떤 경로로 접속해야 해당 아티클을 확인할 수 있는 것인가요?
안녕하세요 선생님, 수강을 하려던 중 다음과 같은 이슈가 생겨서 질문드립니다. 강의 교안이 제대로 나오지 않습니다. 확인 결과 에이전트 로봇 임대 출근하다 일을 시킨다 와 같은 [실습]~ 이 아닌 것들은 전부 이렇게 나옵니다. 어떻게 해결해야 할까요? -- 그래픽 가속이 꺼져있었네요.. 해결했습니다.
클로드코드는 필요한 정보만 정확하게 전달해주는게 핵심이라고 이해하였는데요 무언가 개발(사이트든 앱이든) 지식이 0 인상태에서 코드의 도움을 받길 원하는 경우도 있을거잖아요? 예를들어 홈페이지를 만들고 싶은데 한번도 그쪽에 관심을가져서 관련 지식이 0 인 상태이다. 이럴때는 그럼 클로드에게 (예시를든 웹사이트라면 ) 요청할수 있는 '필요한 정보' 를 얻을 수 있는 방법이 어떻게 될까요?
아직은 어색하고 서먹서먹하니 존댓말로 질문드립니다. 인프피니까 이해좀.. 1장. 작전1: 바이너리 초이스 - 스프링 배치의 두 가지 스텝 유형 요걸 지금 읽고 있는데 중간에 이런 내용이 있습니다. [시스템 주의] 예시와 같이 ResourcelessTransactionManager 인스턴스를 직접 생성해 tasklet() 메서드에 전달해도 되지만 애플리케이션 내의 여러 스텝에서 재사용할 수 있도록 별도의 Bean으로 정의하고 싶을 수도 있다. 그러나 PlatformTransactionManager 빈을 직접 정의할 땐 주의가 필요하다. 뭔가 문장이 좀 어색한데 처음엔 ResourcelessTransactionManager인스턴스를 Bean으로 정의하고 싶을 수 있다고 하시고는 갑자기 PlatformTransactionManager 빈을 직접 정의할 땐 주의가 필요하다고 하셨습니다. 이게 말 그대로 PlatformTransactionManager 빈을 직접 정의할 때 주의 하라는 뜻인건지, 아니면 ResourcelessTransactionManager 빈을 직접 정의할 때 주의 하라는 뜻인건지, 아니면 둘 다 빈을 집적 정의할 때 주의 하라는 뜻인지 조금 헷갈립니당 뒤에 따라오는 문장들을 읽어보면 아마도 PlatformTransactionManager 빈을 직접 정의할 때 주의하라는 말 같은데 그럼 ResourcelessTransactionManager 빈을 직접 정의 할 때의 주의사항은 없나용?
안녕하세요, 선생님. Zustand 스토어에 타입을 지정하는 부분이 궁금해서 질문드립니다. 강의에서는 다음과 같이 상태와 액션을 Store 타입으로 선언한 뒤, create 함수의 제네릭으로 전달했습니다. type Store = { count: number; increase: () => void; decrease: () => void; }; const useStore = create<Store>((set, get) => ({ count: 0, increase: () => { const count = get().count; set({ count: count + 1 }); }, decrease: () => { set((store) => ({ count: store.count - 1, })); }, })); 처음 코드를 작성했을 때는 get() 의 반환값과 set 의 콜백 매개변수인 store 에서 타입 오류가 발생해서, 저는 해당 부분마다 타입을 직접 지정해야 한다고 생각했습니다. 그런데 강의를 보니 놀랍게도 create<Store> 처럼 제네릭만 지정해도 set 과 get 에 관련된 타입 오류가 모두 해결되었습니다. 여기서 제가 궁금한 점은 다음과 같습니다. 1. Store 타입에는 왜 count , increase , decrease 처럼 스토어 객체에 들어갈 상태와 액션만 작성하면 되는 건가요? 2. 처음 Zustand를 사용하는 사람은 Store 타입을 이런 형태로 작성해야 한다는 것을 공식 문서의 TypeScript 예제를 보고 알게 되는 건가요? 3. 아니면 패키지의 .d.ts 나 .d.mts 같은 타입 선언 파일을 직접 확인하고, create 와 StateCreator 의 타입 구조를 해석해서 작성하는 건가요? 4. create<Store> 에 지정한 타입이 내부의 set , get , 그리고 set 콜백의 store 타입까지 전달되기 때문에 오류가 해결된 것인지도 궁금합니다. 실제로 라이브러리를 사용할 때는 공식 문서의 사용법을 먼저 따라 하고, 타입이 적용되는 원리가 궁금하거나 오류가 발생했을 때 타입 선언 파일을 확인하는 방식이 일반적인지도 궁금합니다. AI가 아닌 정환선생님이 직접 답변 부탁드리겠습니다.
강의에서는 React에서 DOM을 흉내 낸 Virtual Dom을 사용하여, 업데이트를 Virtual Dom에 다 모은 후에 한번에 반영하여 DOM을 1회 수정해 시간적인 측면에서 성능을 개선한다라고 설명해주셨다고 이해했는데, Virtual DOM을 수정하는 것이 DOM을 수정하는 것보다 시간이 빠른 이유는 뭔가요?