7. DB
9강. 테이블에 컬럼 추가
9강. 테이블에 컬럼 추가
2026.07.209강 실습 중심 ⏱ 약 50분 0. 학습 목표→ 실제 스키마를 바꾼 뒤, 5강에서 만든 절차를 그대로 다시 실행해 문서와 코드가 어떻게 되는지 확인합니다.더보기0.1 학습 목적과 선수 조건 5강에서 "스키마가 변경되면 테이블 명세서와 schema.md를 다시 생성한다"는 규칙을 CLAUDE.md에 등록했습니다.지금까지는 이 규칙을 설명만 했고 실제로 실행해 본 적은 없습니다.이 강의는 그 규칙을 처음으로 실제 실행해 보는 강의입니다. 새 프레임워크나 새 문법을 배우지 않습니다. 다음 한 가지만 확실히 확인하는 것이 목표입니다.스키마가 바뀐 뒤에도 개발자용 산출문과 Claude Code용 문맥을 실제 구조를 다시 일치시킬 수 있는가? 이 강의는 다음 상태에서 시작합니다.5강에서 schema_snapshot..
8강. PySide6 재고 목록 완성하기
8강. PySide6 재고 목록 완성하기
2026.07.208강 실습 중심 ⏱ 약 70분 0. 학습 목표→ 7강에서 만든 조회 기능을 화면에 연결해, 재고 부족 상품을 눈으로 확인할 수 있게 만듭니다.더보기0.1 학습 목적과 선수 조건 이 강의도 7강과 마찬가지로 어려운 문법이나 복잡한 화면 설계를 다루지 않습니다. 다음 한 가지만 확실히 이해하는 것이 목표입니다.이미 검증된 inventory_service.py를 화면 코드가 그대로 재사용하도록 만드는 방법 이 강의는 다음 상태에서 시작합니다.7강에서 Claude Code로 app/db.py, inventory_repository.py, inventory_service.py를 완성했습니다.pytest -v 테스트 2개가 모두 통과합니다.inventory DB에 products 8건, stock_logs 16건,..
7강. Python 재고 조회 기능 구현하기
7강. Python 재고 조회 기능 구현하기
2026.07.207강 실습 중심 ⏱ 약 60분 0. 학습 목표→ 재고가 부족한 상품을 조회하는 기능을, VS Code에 연동된 Claude Code의 도움으로 만들고 검증합니다.더보기0.1 학습 목적과 선수 조건 이 강의에서는 어려운 Python 문법이나 복잡한 설계를 다루지 않습니다. 다음 세 가지만 확실히 이해하는 것이 목표입니다.내가 원하는 기능을 한두 문장으로 정리해서 Claude Code에 전달하는 방법Claude Code가 만든 코드를 실행하고, 결과가 맞는지 확인하는 방법같은 결과를 실제 데이터베이스와 대조해서 "진짜 완료되었는지" 판단하는 방법 이 강의는 다음 상태에서 시작합니다.6강에서 VS Code에 Claude Code를 연동했습니다.5강에서 만든 docs/database/schema.md 등 문서 ..
6강. VS Code 연동
6강. VS Code 연동
2026.07.206강 환경 전환 ⏱ 약 40분 0. 학습 목표→ 1~5강에서 사용한 터미널 중심의 Claude Code 실행 방식을 VS Code 통합 환경으로 전환하고, 7강부터 이어질 다중 파일 Python 구현을 준비합니다.더보기0.1 학습 목적과 선수 조건 1~5강에서는 소스코드 에디터, 쉘 프롬프트, MySQL 프롬프트, Claude Code 대화창을 각각 분리된 화면으로 사용했습니다. 이 방식은 SQL 파일 작성과 문서 생성 중심의 1~5강에서는 충분했습니다. 7강부터는 app/db.py, inventory_repository.py, inventory_service.py, 테스트 파일처럼여러 Python 파일을 동시에 다루고, Claude Code가 만든 코드를 파일 단위로 검토해야 합니다. 이 강의의 목적은..
5강. 테이블 명세서와 AI 프로젝트 Context 생성하기
5강. 테이블 명세서와 AI 프로젝트 Context 생성하기
2026.07.195강 실습 중심 ⏱ 약 60분 0. 학습 목표→ 실제 MySQL 스키마를 한 번 수집하여 사람 검토용 테이블 명세서와 Claude Code용 데이터베이스 문맥을 함께 생성합니다.더보기0.1 학습 목적과 선수 조건 이 강의의 목적은 Excel 문서 작성 방법을 익히는 것이 아닙니다.실제 MySQL 스키마를 한 번 수집하여 개발자용 문서와 AI용 Context로 변환하고,스키마가 변경되어도 같은 절차로 두 문서를 다시 생성할 수 있는 상태를 만드는 것입니다.수동 문서 작성MySQL 조회 → 사람이 Excel에 복사 → 별도로 AI에 다시 설명자동화된 문서와 문맥 생성MySQL 조회 → 구조화된 스냅샷 → Excel 명세서와 schema.md 동시 생성 이 강의는 다음 상태에서 시작합니다.1강에서 구축한 in..
4강. 실습 준비 - MCP 계정 권한 검증하기
4강. 실습 준비 - MCP 계정 권한 검증하기
2026.07.1912. 역할별 권한 경계 검증→ MCP 조회 성공과 UPDATE 차단, inventory_operator의 DELETE·DDL 차단을 직접 확인합니다.더보기이 강의는 MCP 연결 표시만 확인하고 끝나지 않습니다.허용한 조회는 성공하고 허용하지 않은 쓰기는 거부되는지 모두 확인해야 합니다. 12.1 MCP에서 세 테이블 조회하기 Claude Code에 다음과 같이 요청합니다.inventory DB의 테이블 목록과 각 테이블의 행 수를 확인해줘.조건:- 실행할 SELECT SQL을 먼저 보여준다.- products, stock_logs, operation_requests를 확인한다.- 확인하지 못한 열이나 데이터는 추측하지 않는다.내가 SQL을 검토하고 승인하기 전에는 실행하지 마. Claude Code가 ..
3강. 실습 준비 - MCP 연결
3강. 실습 준비 - MCP 연결
2026.07.1910. MCP 환경 점검→ inventory_reader 계정으로 MySQL MCP를 등록하고, Claude Code와 Python 소스 코드의 DB 접근 경로 차이를 확인합니다.더보기10.1 Claude Code와 Python 프로그램의 DB 접근 경로 구분하기 이번 과정에서 MySQL에 접근하는 주요 경로는 다음과 같습니다.Claude Code → MySQL MCP 서버 → inventory_reader → MySQLPython 실행 하니스 → MySQL Driver → inventory_operator → MySQLPySide6 애플리케이션 → MySQL Driver → inventory_app → MySQL 구분사용하는 목적연결 계정이번 강의MySQL MCPClaude Code가 ..
2강. 실습 준비 - DB 관리자 권한과 계정 분리
2강. 실습 준비 - DB 관리자 권한과 계정 분리
2026.07.196. MySQL 관리자 권한과 DB 작업 경로 확인→ (1)에서 구축한 DB에 사용한 관리자 연결의 실제 권한을 확인하고, 이후 DB 접근 경로를 역할별 계정으로 분리할 준비를 합니다.더보기💡 팁: 쿼리 지우기(Clear) 단축키 Mac / Linux / Git Bash: Ctrl + L참고: 이 단축키는 이전 기록을 지우는 게 아니라 화면을 아래로 밀어내어 새 화면처럼 보이게 만듭니다. 스크롤을 위로 올리면 이전 명령어들이 그대로 남아있어 안전합니다.macOS 기본 Terminal 전용 완전 삭제: Cmd + K이 단축키는 스크롤 백(이전 기록)까지 완전히 지워버립니다.앞 글에서 관리자 연결을 사용해 DB·테이블·기준 데이터를 구축했습니다. 이제 방금 사용한 연결이 실제로 어떤 권한을 가지는지 확인하..
1강. 실습 준비 - 실습 DB와 기준 데이터 구축
1강. 실습 준비 - 실습 DB와 기준 데이터 구축
2026.07.191강 ~ 4강 실습 중심 ⏱ 약 100분 0. "1강 ~ 4강 실습 준비" 학습 목표→ inventory DB와 세 실습 테이블을 구축하고, 역할별 계정으로 MCP를 읽기 전용 연결하는 전체 흐름을 확인합니다.더보기0.1 학습 대상과 선수 지식 이 강의는 다음 학습자를 대상으로 합니다.VS Code와 Python을 이용한 소프트웨어 개발 학습 중에 있으며, Ubuntu 터미널을 다뤄본 학습자MySQL 기본 SQL을 실행할 수 있는 학습자Claude Code에서 대화를 시작하고 권한 요청을 확인할 수 있는 학습자MCP가 AI 도구와 외부 시스템을 연결하는 통로라는 기본 개념을 학습한 학습자이 강의에서는 다음 내용을 처음부터 다시 설명하지 않습니다.MySQL 설치와 서비스 관리의 전체 절차CREATE TAB..
0. 목차
0. 목차
2026.07.19[대표 이미지: 시리즈 제목 카드] CLAUDE CODE × MySQL MCP 실습 시리즈Claude Code에게 재고 관리 프로그램을구현시키고 검증하는 법 이 시리즈는 VS Code의 Claude Code와 읽기 전용 MySQL MCP를 사용해, 자연어 요구사항만으로 실제 재고 관리 프로그램을 구현하는 과정을 다룹니다. 하나의 inventory-mysql-app 프로젝트를 1강부터 이어서 확장하며, 실습 환경 구축과 계정 분리(1~4강), 데이터베이스 문서 자동 생성(5강), VS Code 통합 개발 환경 전환(6강), Python 조회 기능 구현(7강), PySide6 화면 통합(8강), 스키마 변경 대응(9강)까지 완성합니다.MySQL 기본 SQL, VS Code 사용법, Claude Code 설치..
8강
8강
2026.07.098강 실습 중심 ⏱ 약 40분 0. 학습 목표→ 아이디·비밀번호로 로그인을 확인하고, 비밀번호를 안전하게 다루는 방법을 정리합니다.더보기0.1 이번 글에서 다룰 내용 이번 글은 실습 중심 강의이자 시리즈의 마지막입니다. 아이디와 비밀번호가 일치하는 사용자가 있는지 확인하는 로그인 기능을 만듭니다.\새로 보이지만, 로그인도 결국 WHERE 조건으로 한 건을 찾는 조회입니다. 그리고 지금까지 학습 편의를 위해 평문으로 다뤄 온 비밀번호를,실무에서는 왜 그렇게 저장하면 안 되는지와 어떻게 바꾸는지를 정리하며 시리즈를 마칩니다. 구분내용이해할 것로그인이 WHERE 조회라는 점, fetchone의 역할, 평문 저장의 위험만들 것로그인 입력칸·버튼과 check_login 메서드, 성공·실패 안내 0.2 이번 ..
7강
7강
2026.07.097강 실습 중심 ⏱ 약 30분 0. 학습 목표→ WHERE·LIKE로 이름의 일부만으로 사용자를 찾는 검색 기능을 만듭니다.더보기0.1 이번 글에서 다룰 내용 이번 글은 실습 중심 강의입니다. 6강의 전체 조회는 모든 사용자를 보여 줬습니다.이번에는 WHERE 조건과 LIKE 연산자로 이름의 일부만으로 원하는 사용자를 찾습니다. 6강의 표(QTableWidget)와 결과 채우기 방식을 그대로 재사용하므로,새로 배우는 것은 검색 조건을 만드는 부분뿐입니다. 검색어 역시 5강처럼 %s로 바인딩합니다. 구분내용이해할 것WHERE 조건과 LIKE 부분 검색, 검색어를 %s로 바인딩하는 이유만들 것검색어 입력칸·검색 버튼과 search_users 메서드, 빈 검색어 시 전체 조회 폴백 0.2 이번 강의 실습..