안녕하세요, 강사님! 최근 Codex CLI가 발전하면서 커뮤니티에서도 많은 관심을 받고 있는 것 같더라고요. 그래서 저희가 강의에서 배운 Claude Code 워크플로우와 비교해서 궁금한 점이 생겨 질문드립니다. --- 📌 Q1. 강의에서 배운 다음 워크플로우들이 Codex CLI에서도 동일할지 궁금합니다. --- 📌 Q2. Codex CLI만의 강점이 있다면? 강사님께서 보시기에 Claude Code 대비 Codex CLI가 실질적으로 더 강점을 발휘할 수 있는 상황이나 프로젝트 유형이 있을까요? --- 📌 Q3. 강사님이라면 어떤 기준으로 선택하실 건가요? 만약 현 상황에서 새 프로젝트를 시작한다면 Claude Code와 Codex CLI 중 어떤 기준으로 선택하실지 실무적인 관점에서 조언을 부탁드립니다. 저희처럼 Claude Code 워크플로우를 먼저 익힌 사람이 Codex CLI를 추가로 배울 때, 어떤 부분을 중점적으로 보면 좋을지도 함께 말씀해 주시면 감사하겠습니다!
Claude Code + Supabase 보안 대응 방안 Q&A 목적 : Supabase 사용 시 보안 위험에 대한 전문가 조언 요청 출처 : dalgom.bami Threads 글 ( https://www.threads.com/@dalgom.bami/post/DOYjgEGEvOA?xmt=AQF0oN0fFrAEMy9AqIrJ1n__kxIwi7ImgsTyjVUTh2DH0g ) 안녕하세요, 강사님께서 가르쳐주신 Claude Code와 Supabase를 활용한 개발 워크플로우를 배워가면서 정말 큰 도움을 받고 있습니다. 특히 개발 속도 향상에 대해서는 정말 효과적이라고 느꼈습니다. 다만, 최근에 한 Threads 글을 접하면서 몇 가지 우려사항이 생겼습니다. 실제로 Supabase를 써보니 생기는 보안 위험성에 대해 경험담을 이야기하는 글이었는데, 그 내용이 저희가 배운 워크플로우와 직접적으로 연결되는 부분이 있어서 전문가인 강사님의 견해를 정중히 구해봅니다. 🚨 주요 우려사항 3가지 Q1. RLS(Row Level Security) 설정의 위험성 해당 글에서는 다음과 같은 문제를 지적했습니다: "여러 사용자가 엮여있는 복잡한 기능(예: 사용자 A가 사용자 B의 글에 좋아요) 의 경우, AI 코딩 도구는 복잡성을 피하기 위해 권한을 다 풀어버리는 경우 가 엄청 많았다." 실제 사례: - 비로그인 사용자도 다른 사람의 개인정보가 Response에 노출됨 - Network tab에서 확인 시 모든 데이터 조회 가능 - RLS가 제대로 설정되지 않아서 발생한 문제 질문: Claude Code(또는 다른 AI 도구)에게 Supabase 작업을 의뢰할 때, 복잡한 RLS 정책이 올바르게 설정되도록 강제할 수 있는 방법이 있을까요? 개발 단계에서 이러한 RLS 오설정을 미리 감지할 수 있는 검증 방법(테스트, 문서 체크 등)이 있을까요? 강사님께서 추천하시는 "올바른 RLS 지시사항"이 있을까요? 예를 들어, AI에게 요청할 때 구체적으로 어떻게 명시해야 보안 구멍이 최소화될까요? Q2. Migration 파일 관리와 AI의 한계 "RLS를 Dashboard UI에서 설정하면 코드로 추적 불가능하고, AI가 기존 설정을 파악하기 어렵다. Migration 파일로 관리해야 AI가 기존 설정을 이해할 수 있지만, 이것도 AI가 여러 버전의 Migration 파일을 읽고 이해해야 한다는 의미다. 결국 AI는 기존 설정을 완벽히 이해할 수 없어서 충돌하는 설정을 추가할 확률이 높다." 질문: Claude Code로 Supabase 작업을 할 때, Migration 파일의 버전 관리를 어떻게 해야 AI가 기존 설정을 명확하게 인식할 수 있을까요? 메모리 파일( CLAUDE.md )에 "현재 RLS 정책 요약" 또는 "Migration 히스토리 요약"을 저장해두는 것이 도움이 될까요? 강사님께서 추천하시는 최선의 관리 방식은 무엇일까요? Option A: Dashboard UI는 절대 쓰지 말고 항상 Migration 파일로만 관리? Option B: Dashboard에서 변경 후, 매번 SQL Export해서 Migration으로 변환? Option C: 다른 방식? Q3. Trigger & RPC 오남용으로 인한 유지보수 악화 "복잡한 기능을 구현할 때 AI는 점점 RLS, Trigger, RPC를 남발해서 유지보수가 아예 불가능할 정도의 코드, 기존 데이터가 손실될만한 코드를 무지성으로 찍어낸다." 질문: Claude Code에게 Supabase 작업을 의뢰할 때, Trigger와 RPC 사용을 적절히 제한하는 방법이 있을까요? 예를 들어, AI에게 미리 "RPC는 이 3가지 경우에만 사용하되, 그 외에는 절대 쓰지 말아달라"라고 명시할 수 있는 효과적인 프롬프트가 있을까요? 만약 AI가 불필요하게 Trigger/RPC를 추가했다고 판단되면, "이건 너무 복잡하니까 클라이언트에서 처리하자" 같은 명확한 지시사항이 도움이 될까요? Q4. 프로토타입 vs 실제 서비스 단계에서의 Supabase 사용 "PoC(프로토타입) 단계에서는 Supabase를 적극 활용해도 좋지만, 실제 서비스가 시작되고 사용자가 생기면 일반 백엔드 스택으로 migration해야 한다. 다행히 PostgreSQL 기반이라 마이그레이션이 비교적 쉽다." 질문: 강사님께서도 이 의견에 동의하시나요? 아니면 Supabase도 충분히 프로덕션 레벨의 보안을 유지할 수 있다고 생각하시나요? 만약 동의하신다면, 어느 정도 규모(DAU, 데이터 량, 기능 복잡도)에서 백엔드 스택으로 마이그레이션하는 것이 현실적일까요? 그 전환 지점까지 Supabase를 "안전하게" 사용하는 체크리스트가 있을까요? Q5. 개발자(Claude Code 사용자)가 반드시 알아야 할 백엔드 지식 질문: 강사님께서 생각하시는 "Supabase를 안전하게 쓰는 데 필수적인 최소한의 백엔드 지식"은 무엇일까요? 그 지식들을 Claude Code 사용자들이 미리 학습하도록 권장하시는 방법이 있을까요? Q6. Claude Code + Supabase 안전 가이드라인 제안 위의 위험성들을 고려할 때, Claude Code 사용자들이 Supabase를 안전하게 사용할 수 있도록 하는 일종의 "체계화된 가이드라인"이 필요하다고 생각합니다. 제안 & 질문: 강사님께서 생각하시는 "Claude Code + Supabase 안전 개발 체크리스트"는 어떤 형태일까요? 예를 들어: □ 이 작업에 RLS가 필요한지 명확히 정의했는가? □ AI에게 요청할 때 RLS 정책을 구체적으로 명시했는가? □ Migration 파일로 저장했는가? □ 개발 환경에서 Network tab으로 데이터 노출 여부 확인했는가? □ Trigger/RPC 사용이 정말 필요한지 재검토했는가? 혹은 Supabase를 쓸 때만 따로 체크리스트를 가져야 할까요? 강사님께서 향후 강의에서 이런 부분을 더 강조하거나 추가 자료를 제공하실 계획이 있으신가요? 🙏 마무리 강사님의 강의를 통해 Claude Code의 강력함을 많이 배우고 있습니다. 다만 강한 도구일수록 신중하게 사용해야 한다는 것을 배웠고, 특히 백엔드와 보안 관련해서는 더욱 그렇다고 생각합니다. 다소 길고 상세한 질문들이지만, 강사님의 전문가적 관점에서의 조언을 진심으로 기다리고 있습니다. 감사합니다! 🙏
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 채점 사이트 관련해서 기존 페이지가 아닌 캡쳐한 사진의 화면으로 넘어가집니다. 관련해서 질문 드립니다!
안녕하세요 강사님, claude를 좀 더 잘 사용하기위해 문의드립니다. 시중에 잘 만들어서 제공되는 스킬을 제 입맛에 맞춰 커스텀한뒤 플러그인으로 묶고 어디서든 사용할수있게 마켓플레이스로 등록하는 생각을 하고있습니다. 강의에서는 신규 스킬을 생성하고 플러그인으로 묶고 마켓플레이스로 등록하는 과정으로 설명해주셨는데 혹시 시중에 제공되고 있는 스킬을 가지고 제 입맛에 맞춰 커스텀한뒤 개인 마켓플레이스에 등록하여 사용할수있는 방법이있을까요?
프로젝트의 경우 간헐적으로 진행합니다. 매일 프로젝트 만들지는 않지만, 프로젝트를 만들면 집중해서 만들고, 또 비수기?때는 사용을 하지 않고 그렇습니다. 계속 이렇게 하는게 맞는지, 아니면 요금제 전환이 맞는지를 어떻게 판단하면 좋을까요? /usage 에 들어가면 사용량 정보가 따로 나오진 않네요.
안녕하세요. 인덱스를 활용한 조회 성능 개선을 공부하던 중 궁금한 점이 생겨 질문드립니다. 현재 저는 OFFSET 기반 pagination을 사용하는 서비스 를 개발하고 있으며, 다음과 같은 환경에서 성능 테스트를 진행했습니다. 데이터: 약 1,000만 건 서버: EC2 t3.small DB: RDS t4g.micro k6 vus100 1. 문제 상황 초기에는 OFFSET 제한 없이 마지막 페이지까지 이동 가능하도록 구현했습니다. 하지만 데이터가 1,000만 건 수준으로 증가하자, 깊은 페이지로 갈수록 조회 속도가 급격히 느려지는 문제 를 확인했습니다. 2. 고민 및 제약 일반적으로 이 문제는 Keyset Pagination(커서 기반) 으로 해결하라고 많이 알려져 있습니다. 하지만 제 서비스는 👉 네비게이션 바를 통한 페이지 직접 이동 (ex. 1, 10, 100 페이지 클릭) 이 필요하기 때문에 Keyset 방식만으로는 요구사항을 만족시키기 어렵다고 판단했습니다. 3. 적용한 개선 방법 다음과 같은 방식으로 성능 개선을 진행했습니다. OFFSET 최대 범위를 제한 (최대 10,000 페이지 / OFFSET 100,000) 커버링 인덱스 적용 조회 방식 개선 먼저 ID만 조회 → 이후 필요한 10건만 상세 조회 전체 게시글 수(count)는 캐싱 처리 4. 성능 개선 결과 [Page 10] avg: 1.4s → 700ms p95: 4.5s → 1.8s [Page 100] avg: 17s → 1.18s p95: 24s → 3.3s [Page 1000] avg: 32.1s → 1.7s p95: 59s → 4.27s SQL 쿼리는 분석결과 약 1700MS -> 70MS 까지 단축한 것 같습니다. 5. 추가 제약사항 로그인 사용자와 비로그인 사용자의 조회 결과가 다름 (사용자별 구독 게시글이 포함됨) 따라서 캐시는 비로그인 사용자에만 적용 위 성능 수치는 로그인 사용자 기준 6. 현재 고민 위와 같이 개선했지만, 👉 여전히 성능이 충분하지 않다고 느끼고 있습니다. 특히 궁금한 점은 다음과 같습니다. 7. 질문 OFFSET 기반 pagination을 유지하면서 👉 추가로 성능을 개선할 수 있는 방법이 있을까요? 다음과 같은 방법들을 고려했는데, 방향성이 맞는지 궁금합니다. RDS를 2개를 사용하여 조회 성능 데이터를 각각 2개의 db가 처리하도록 한다? Keyset + OFFSET 혼합 방식 ( 일반적인 페이지 이동은 Keyset Pagination을 사용하고, 사용자가 특정 페이지를 직접 입력하거나 점프하는 경우에만 제한적으로 OFFSET 기반 조회를 사용하는 혼합 방식) RDS 스펙 업그레이드 또한 에펨코리아( https://www.fmkorea.com/)와 같은 대형 커뮤니티는 제가 원하는 페이지 네이션 방식을 사용하면서 깊은페이지(최대 1만)도 지원하고 동시접속자 수십만 페이지 수천~수만 대량 데이터 환경에서도 빠른 조회 성능을 유지하는데 👉 이러한 서비스들은 어떤 방식으로 pagination 및 조회 성능을 처리하는지 궁금합니다.
useEffect 가 특정 변수값을 추적하다가 바뀌면 실행되는 함수를 등록하는 기능이라고 배웠는데 deps 의존성배열에다가 state 만 넣을수 있는건가요? 아니면 props 나 useRef 변수, 외부변수도 넣을수 있나요? 예전에 vuejs 를 했었는데 그때 기억하기론 lifecycle이 js 실행되기전, dom 생성되기전 등.. 좀 다양했던거같은데 react 는 mount 하나만 있어서 mount 시점이라는게 js가 실행완료되서 html 이 생성된 시점이라는 말인가요? 보통 useEffect 는 강의처럼 변수추적시 콘솔에 찍어야 하는경우 사용하거나 mount 때 서버에 데이터 가져오는경우 사용하는거죠? 사실 콘솔추적이라는건 devtool로도 할수 있는거같아서 실무에서 어디에 많이 쓰는지 궁금합니다.
안녕하세요. 하네스 엔지니어링이 중요하다는 사실은 인지했는데 직접 하네스를 제 상황에 맞게 설정하고 만드는 게 비개발자 입장에서 상당히 어렵게 느껴집니다. 이미 공개된 superpowers나 oh-my-clauldecode 같은 도구들을 많이들 사용하시던데 비개발자 입장에서 어떤 도구들을 사용하면 좋을지 추천 부탁드립니다. 참고로 저는 온라인 쇼핑몰 통합관리 웹솔루션을 개발하려고 합니다.
클로드를 사용중에 질문 사항이 있습니다. agents 명령어로 agents를 생성할때 강의에 나오는 프롬프트 입력 후 agents를 생성을 하면, 강의에 나오는 내용과는 다르게 생성이 되고, 폴더도 .claude/agents/dev 폴더에 생성이 되지 않고 .claude/agents/next-starter-initialized.md 파일로 생성이 됩니다. 이렇게 차이가 날 수 있는 건가요?
안녕하세요! 질문을 하실 때 아래 내용을 준수 부탁드립니다. 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요. 질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁 드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)