최성우 · IT 기획·PM → AI QA Primary — AI/LLM QA · AI 품질기획 Adjacent — IT 서비스기획 · Technical PM 9개 프로젝트

20년+ IT 기획·PM 경험을 바탕으로
AI/LLM 서비스 품질을 검증합니다.

요구사항 분석, 테스트 전략 수립, QA 문서화, API/E2E 테스트, AI/LLM 응답 품질평가, 결함 분석과 재검증까지 수행합니다. 20년+ IT 프로젝트를 기획·관리해 온 경험을 최근 AI 서비스 품질검증 영역으로 확장하고 있습니다.

요구사항 분석 QA 전략 수립 테스트 케이스 설계 API 테스트 E2E 테스트 AI/LLM 품질평가 결함 분석 및 재검증 Jira / WBS / QA 문서 AI 서비스 모니터링
Why Me

요구사항 분석에서 Release 판단까지, 끊기지 않고 연결합니다

20년+ IT 기획·PM 경험에서 나온 습관은 "무엇을 검증해야 하는가"를 먼저 정확히 정의하는 것입니다. 그 습관을 QA로 옮기면 아래 7단계가 됩니다. 각 단계는 주장이 아니라 실제 프로젝트에서 수행한 근거로 이어집니다.

1 · 요구사항 분석

요구사항정의서 작성

04 QA 문서 산출물 →
2 · 테스트 전략

Judge 채점 하나에 의존하지 않는 교차검증 전략 설계

02 AI 품질 평가 플랫폼 →
3 · 테스트 케이스 설계

단위·통합 테스트 계획서(04) · RaiT 8축 평가 루브릭(05)

04 테스트 계획 → · 05 AI 평가 기준 →
4 · 결함 분석

검증 중 발견한 결함·개선사항 7건 — 원인까지 추적

결함 표 →
5 · 수정

05·06·09·10번 코드 수정을 저장소에 반영

조치 내역 →
6 · 재검증

수정 후 재실행해 exit 0 · PASS 재확인

재검증 근거 →
7 · 품질 판단

pytest PASS와 별개로 독립 Judge 기준 HOLD 판정

Case Study →
QA Capability Matrix

역량별 실제 증거

기술명만 나열하지 않고, 각 역량 옆에 실제 통과시킨 테스트 건수와 프로젝트를 그대로 붙였습니다.

역량실제 증거
테스트 전략Judge 단일 채점 대신 레드팀·PII·환각검출 등 12개 모듈로 교차검증 설계(02), 내부 채점과 별도로 독립 Judge를 배포 게이트로 설계(01)
Functional Testpytest 84건(02) · 53건(06) · 품질 스위트 32건(01) 전부 PASS
AI/LLM 품질평가LLM-as-a-Judge 루브릭 설계(02·05), 8축 평가 체계(05)
자동화 테스트검증한 자동화 테스트 276건 · 팀 프로젝트 포함 전체 포트폴리오 합계
Prompt Injection / Red Team레드팀 검증 모듈(정규식·패턴 기반, 02), 프롬프트 인젝션·권한공격 시나리오(01·02)
성능 테스트k6 부하테스트 — 오류율 0% · p95 13~21ms(02)
검증 이슈 분석검증 중 확인한 보안·의존성·설정·테스트 용이성 등 이슈 7건을 증상→원인→조치까지 추적(검증 이슈 표)
Release 품질 판단pytest 32건 PASS했음에도 독립 Judge 81.2점(기준 95점 미달)로 HOLD 판정(Case Study)
나머지 14개 역량 전체 보기
역량실제 증거
요구사항 분석요구사항정의서 작성(04)
테스트 케이스 설계단위·통합 테스트 계획서 작성(04)
Boundary Value Test비밀번호 검증 경계값(빈 값·길이 초과·특수문자 누락) 단위 테스트 설계(09)
Negative Test설정 파일을 못 찾으면 조용히 기본값 대신 즉시 예외(05), Judge 파싱 실패 시 임의 통과 대신 안전 실패 처리(07)
API TestFastAPI 엔드포인트 테스트(01·02·06·08·10)
E2E TestCypress E2E(09), 라이브 E2E 18건(01)
RAG 평가RAG on/off 대조 실험으로 효과를 수치화(02), 근거 기반 답변 품질 평가(07)
PII 검증PII 스캔 모듈(02)
모니터링Prometheus/Grafana 연동(02·06), 장애주입 모니터링 대시보드(08)
재검증수정 후 재실행해 exit 0 재확인 — 05·06·09·10 적용 완료(근거)
JiraJira 칸반 문서화(04), Jira 자동등록 모듈(02)
WBSWBS 작성(04)
QA 문서요구사항정의서·테스트계획서 등 13종(04)
팀 협업4인 팀 프로젝트에서 담당 범위를 팀원과 명시적으로 구분(01·04·06)
Case Study

Test PASS ≠ Release GO

01번 VOC 멀티에이전트 QA에서 실제로 있었던 판정 과정입니다. 내부 파이프라인과 pytest가 전부 통과했다는 사실과, 그럼에도 배포를 보류했다는 결론이 동시에 성립합니다.

1 · pytest 32건 PASS 품질 스위트(quality_diagnosis) 전체 통과 — exit 0
2 · 독립 Judge 검증 내부 파이프라인 채점과 별도로 붙인 LLM Judge가 같은 산출물을 재채점
3 · 독립 Judge 평균 81.2점 라이브 E2E 18건의 산출물을 독립 Judge가 재평가 — 내부 100점(배포 가능) 케이스도 정책구체성 축에서 0점 처리되어 68~74점으로 재산정
4 · Release 기준 95점 미달 사전에 정한 배포 기준선(95점)에 미달
5 · HOLD 최종 판정 — 배포 보류
검증 항목결과
내부 품질 게이트100점
독립 Judge68~74점
Live E2E 평균90.9점
독립 Judge 평균81.2점
Release 기준95점
최종 판정HOLD

품질 판단

Live E2E는 18/18 PASS·평균 90.9점이었지만 독립 Judge 평균이 Release 기준 95점에 미달하여 최종 판정은 HOLD로 기록했습니다.

Additional

Additional Projects

나머지 5개입니다.

5개 프로젝트 펼치기
06 AI 챗봇 QA 팀(4인)

04와 같은 팀 프로젝트의 확장판(Docker·Jira·모니터링 추가). 본인 담당 — pytest 테스트 스위트 설계·구현, QA 문서 작성. 팀원 담당 — Service/Judge Agent 구현. 결과 — 53건 PASS · 테스트 실행 기록 14회. README →

05 RaiT 평가 시스템 개인

정책 파일과 평가 엔진을 분리하고, 설정 누락 시 기본값으로 넘어가지 않고 즉시 예외를 던지도록 처리했습니다. 검증 — 정책 로딩 · CI Exit Code · Streamlit. README →

07 RAG 챗봇 개인

문서 기반 근거 답변 RAG 챗봇. Judge 응답 파싱에 실패하면 임의로 통과 처리하지 않고 안전하게 실패 처리하도록 설계. README →

08 AI Agent 모니터링 대시보드 개인

02번의 축약 원형. 외부 API 키 없이 완전히 로컬 mock으로 동작하며, 질문에 "오류"/"느리게"를 넣으면 장애·지연을 재현하는 테스트 시나리오를 설계. README →

10 LangGraph 챗봇 개인

도구 호출형 AI Agent를 Python/Node 두 스택으로 구현. 시스템 프롬프트에 내부지침 노출 거부·개인정보 요구 거부 등 안전성 원칙을 명시하고 이를 검증하는 시나리오를 함께 설계. README →

Tech Stack

사용 기술 — 증거와 함께

9개 프로젝트에서 실제로 사용한 스택만 적었습니다. 괄호 안 번호는 사용 프로젝트입니다.

Test
pytest (01·02·06) Cypress (09) Jest (09) unittest (01) node:test (09)
API / Backend
FastAPI (01·02·06·08·10) Express (09) Node.js (09·10)
AI / LLM
LLM-as-a-Judge (01·02·05·07) RAG (02·07) LangGraph (10) Prompt Evaluation (02·05)
Performance
k6 (02·06)
Monitoring
Prometheus (02·06·08) Grafana (02·06)
Collaboration
Jira (02·04) WBS (04) GitHub QA 문서화 (04·06)

AI 활용 원칙

이 저장소의 코드와 문서 작성에 AI 도구(Claude 등)를 코드 작성과 문서 초안의 보조 수단으로 활용했습니다. 요구사항 정의, 테스트 설계, 결과 검증, 오류 원인 분석, 최종 품질 판단은 직접 수행했습니다. 공개용으로 정리하면서 발견한 결함과 수정 내역은 VALIDATION_REPORT.md에 정리했습니다.

AI 활용
  • 코드 초안
  • 문서 초안
  • 반복 작업 보조
직접 수행
  • 요구사항 분석
  • 테스트 전략 수립
  • 테스트 케이스 설계
  • 테스트 실행
  • 결과 검증
  • 결함 원인 분석
  • 최종 품질 판단
Technical Evidence

실행 검증 및 기술 증적

프로젝트별 실행 로그, 결함 기록, 코드, 테스트 케이스, 기술 스택을 확인할 수 있습니다. 한 대의 PC에서 처음부터 설치·실행해 얻은 결과입니다.

▸ 전체 실행 증적 펼치기 ▾ 접기
QA 실습 포트폴리오 최종 실행 검증 2026-08-06 9개 프로젝트

실행 검증 결과

QA 교육과정에서 시작해 이후 확장·보완한 프로젝트를 새 환경에서 다시 설치하고 실행 검증했습니다. 실제 실행 결과를 확인한 프로젝트와 외부 API Key 등 추가 조건이 필요한 프로젝트를 구분해 표시합니다. 그 과정에서 검증 이슈 7건을 원인까지 확인했습니다.

$ cd 01_VOC_Improve_MultiAgent
$ python -m unittest discover -s tests
Ran 98 tests in 20.319s

OK

$ cd ../02_AI_Quality_Platform && pytest -q
84 passed, 10 warnings in 48.29s

$ cd ../06_AI_Chatbot_QA && pytest -q
53 passed, 33 warnings in 12.14s

$ cd ../09_FullStack_WebApp/backend && npm test
test:unit        ℹ pass 5   ℹ fail 0
test:integration Tests: 4 passed, 4 total
6 실행 확인
→ 설치·실행해 종료코드까지 확인
2 외부 API 조건
→ 구조·의존성 확인, 실행에 API Key 필요
1 QA 문서 산출물
→ 요구사항·WBS·테스트계획 작성
7 결함·개선사항
→ 재현·원인분석·조치·재검증 기록
276 검증한 자동화 테스트
→ 팀 프로젝트 포함 전체 실행 결과
실행 확인

실행 확인 — 외부 API 키 없이 실행

새 가상환경을 만들고 requirements.txt / package.json만으로 설치한 뒤 실행한 결과입니다. 외부 API를 호출하지 않는 구성입니다.

01 VOC 멀티에이전트 QA 시스템 검증 완료

고객 불만(VOC)을 6개 에이전트가 순차 처리하고, 그 결과를 LLM Judge·품질게이트·레드팀·재현성 관점으로 다시 검증하는 시스템입니다. Offline/Deterministic 모드에서는 외부 API 호출 없이 테스트와 증적 생성이 가능합니다.

LLM Judge품질 게이트레드팀 장애주입 테스트JUnit XML 증적gRPC MCPDockerCI 시연 영상 2편
실행 증적
$ python -m unittest discover -s tests
Ran 98 tests in 20.319s
OK

$ python quality_diagnosis/run_quality_suite.py
Ran 32 tests in 3.160s
OK
{ "total": 32, "passed": 32, "failed": 0, "errors": 0, "successful": true }

$ python e2e_runner.py --mode offline --domain ecommerce
# exit 0 — JSON / CSV / 품질점수 MD / 배포판정 MD
#          + 증적 TXT·XML·HTML·JUnit XML 생성

$ python quality_diagnosis/run_fault_diagnosis.py
{ "successful": true }   # Retriever 중단·포트충돌·CSV누락·키미설정·지연·빈검색

$ python quality_diagnosis/llm_judge.py --provider deterministic
# exit 0
02 AI 품질 · 운영 모니터링 플랫폼 검증 완료

quality/ 아래 레드팀·환각검출·PII 스캔·RAG 절제(ablation)·검색품질·비용추적 등 12개 모듈이 독립적으로 검증을 수행합니다. pytest 84건이 전부 통과하며 커버리지 리포트(HTML·XML)와 JUnit XML을 자동 생성합니다. LLM 호출은 전부 모킹되어 있어 실제 API 키 없이(더미 값만으로) 전 구간이 실행됩니다.

레드팀환각 검출PII 스캔 RAG 절제실험검색품질 지표비용 추적 Jira 연동k6 부하테스트Grafana Prometheus커버리지 58%JUnit XML
실행 증적
$ pip install -r requirements.txt        # 129개 패키지, exit 0

$ $env:OPENAI_API_KEY="sk-dummy-for-mocked-tests"
# 테스트가 LLM 호출을 전부 모킹하므로 실제 API 호출은 발생하지 않습니다.
# 키는 에이전트 생성자의 선조건 검사를 통과시키기 위한 더미 값입니다.

$ pytest -q
84 passed, 10 warnings in 48.29s
- generated xml file: tests_output\junit.xml -
Coverage HTML written to dir tests_output/htmlcov
TOTAL                              2442   1022   58%

# 참고: 키를 아예 설정하지 않으면 7건 실패 → 아래 결함표 02번 행
06 팀 프로젝트 — AI 챗봇 QA (Team 3) 검증 완료

FastAPI 질의 API + Streamlit 품질 대시보드 + Prometheus 연동. 팀 단위로 진행한 프로젝트이고 RUN_GUIDE.md에 실행·k6 부하테스트·Prometheus 연결 절차가 정리되어 있습니다. 테스트 수행 이력이 reports/test_runs/에 14회분 남아 있습니다.

pytest 53건FastAPIStreamlit Prometheusk6 (동봉)ChromaDB Docker Compose보고서 자동생성
실행 증적
$ pytest -q
.....................................................          [100%]
53 passed, 33 warnings in 12.14s
09 풀스택 웹앱 + Cypress E2E / Jest 검증 완료

Express + React Todo 앱을 테스트 대상으로 두고 계층별 테스트를 붙인 프로젝트입니다. Cypress 스펙은 cy.intercept로 API를 스텁해 백엔드 없이도 UI 흐름을 검증하도록 작성돼 있습니다.

Cypress E2EJest 통합테스트node:test 단위 supertestAPI 스텁ReactExpress
실행 증적
$ cd backend && npm install
added 490 packages in 22s

$ npm test                      # 러너 분리 후 — 단위 + 통합 순차 실행

> test:unit — node --test "**/!(*.integration).test.js"
 rejects an empty password
 rejects a very long password
 accepts a password with special characters when all requirements are met
 rejects a password without a special character
 rejects a password without mixed case and a number
ℹ tests 5   ℹ pass 5   ℹ fail 0

> test:integration — jest --runInBand
Test Suites: 1 passed, 1 total
Tests:       4 passed, 4 total

EXIT=0
08 AI Agent 모니터링 대시보드 검증 완료

FastAPI가 Prometheus /metrics를 노출하고 Streamlit이 이를 시각화합니다. Agent Mock에 오류·지연 조건을 넣어, API 키 없이 장애·응답 지연 시나리오를 반복 실행했습니다.

Prometheus 계측장애 주입응답지연 테스트 FastAPIStreamlit구조적 로깅
실행 증적
$ python -m uvicorn app:app --port 8001
SERVER_UP = True

$ curl http://127.0.0.1:8001/metrics
# HELP python_gc_objects_collected_total Objects collected during gc
# TYPE python_gc_objects_collected_total counter
python_gc_objects_collected_total{generation="0"} 382.0
...

$ python tests/run_tests.py
TEST_EXIT = 0
05 RaiT 평가 시스템 검증 완료

평가 규정(policy_config.json)과 평가 엔진을 분리하고, main.py는 Fail이면 sys.exit(1)로 배포를 중단하도록 설계했습니다. 화면용(Streamlit)과 CI/CD용(CLI)을 나눈 구조이며, 대시보드는 LLM을 전혀 호출하지 않는 순수 계산기이라 키 없이 기동을 확인했습니다.

CI 게이트 (exit code)정책 외부화 Streamlit키 불필요
실행 증적
# requirements.txt 고정 버전 그대로 (Python 3.12.9)
$ pip install -r requirements.txt
exit 0   # numpy 1.26.4 / streamlit 1.32.0 / pandas 2.2.1

$ streamlit run app/app.py --server.headless true --server.port 8599
$ curl http://127.0.0.1:8599/_stcore/health
200 ok          # OPENAI_API_KEY 미설정 상태에서 기동

# 정책 로딩도 프로젝트 밖 경로에서 확인
high_risk_finance weights ST = 2.0
검증 산출물

실행 환경에서 발견한 결함과 개선사항

신규 환경 설치·실행 중 발견한 오류를 문제 → 원인 → 조치 → 재검증 기준으로 정리했습니다. 결함·개선사항 7건 = 아래 API 키 노출 1건 + 표 6건입니다.

HIGH · API Key 노출

.env.example 파일 2개(교육과정 원래 번호 15·18번, 현재는 제거됨)에서 실제 OpenAI API Key를 발견했습니다.

조치 — Key 제거 → 예제 값 초기화 → 저장소 전체 재검색.

재검증 — 잔여 Key 0건 확인. 두 프로젝트는 이후 웹 가동 불가로 폴더째 제거되었습니다. Key 폐기·재발급은 별도로 수행하지 않았습니다.

등급위치증상원인조치상태
HIGH 01
requirements.txt
ModuleNotFoundError: mcp.server.fastmcp
품질 스위트 28건 중 1건 ERROR
mcp>=1.2가 2.0.0을 설치 →
2.0에서 fastmcp 모듈 제거 (breaking change)
mcp>=1.2,<2.0으로 고정
→ 32건 전부 통과 (exit 0)
조치 완료
HIGH 06
requirements.txt
설치 자체가 실패
Failed building wheel for chroma-hnswlib
chromadb==0.5.23이 C++ 확장을 소스 빌드 →
Windows + Python 3.12에 사전 빌드 휠 없음
chromadb>=1.0,<2.0으로 완화
→ 1.5.9 설치, pytest 53건 통과
조치 완료
HIGH 05
src/utils/config_loader.py
오류 없이 평가 점수만 조용히 달라짐
프로젝트 폴더 밖에서 실행할 때 재현
설정 경로가 상대경로라 CWD에 의존 →
못 찾으면 예외 대신 기본값 파일을 새로 씀
high_risk_finance의 가중치
ST·AT = 2.01.0으로 대체됨
__file__ 기준 절대경로로 교체하고
설정 누락·미등록 정책명은 즉시 예외 처리
→ 다른 CWD에서 실행해 정상 로드 확인
조치 완료
MEDIUM 08
requirements.txt
서버·대시보드·테스트가 각각 다른 지점에서 실패 prometheus-client, requests,
streamlit, pandas 4종 누락
4종 추가 → 서버 기동·/metrics·테스트 전부 통과 조치 완료
LOW 09
package.json
npm test가 exit 1로 실패 node --test가 대상 지정 없이 실행돼
Jest 전용 스펙까지 로드 → 두 러너의 담당 파일이 겹침
(Jest는 jest.config.js로 이미 범위가 좁혀져 있었음)
test:unit/test:integration으로
러너를 분리하고 npm test가 둘을 순차 실행
→ 9건 전부 통과, exit 0
조치 완료
LOW 02
app/service_agent.py
키 없이 pytest 실행 시 7건 실패
ValueError: OpenAI API Key가 설정되지 않았습니다
테스트는 LLM 호출을 전부 모킹하는데
생성자가 환경변수를 먼저 검사 →
모킹의 의미가 사라짐 (테스트 용이성 문제)
더미 키로 84건 전부 통과 확인.
근본 해결은 키 검사를 호출 시점으로
미루거나 fixture로 주입하는 것
우회 확인

그 외 배포 환경에서 확인한 결함

06·08 requirements.txt — 문제: Windows cp949 환경에서 pip install 파싱 실패. 원인: 한글 주석이 포함된 UTF-8 파일의 인코딩 처리. 조치: UTF-8 BOM 적용. 재검증: pip install -r requirements.txt 정상 완료.

06 Dockerfile — 문제: CMD/ENTRYPOINT가 없어 컨테이너가 즉시 종료. 원인: 기본 실행 명령 누락. 조치: CMD 라인 추가. 재검증: docker compose config 통과 — 이미지 빌드는 Docker 데몬 미가동으로 확인하지 못함.

외부 API 조건

외부 API 조건이 있는 프로젝트

프로젝트 구조와 의존성은 확인했으며 실제 LLM 응답 생성에는 OpenAI API Key가 필요합니다. 현재 검증 환경에서는 실제 API 호출까지 수행하지 않았습니다. 저장소에 포함된 기존 평가 리포트와 실행 산출물은 확인할 수 있습니다.

07 RAG 챗봇 + 답변 품질 평가 키 필요

국민취업지원제도 업무매뉴얼 PDF를 색인해 답변하고, 별도 평가 에이전트가 답변 품질을 채점합니다. reports/실제 평가 리포트 6회분이 남아 있어 키 없이도 결과를 제시할 수 있습니다.

RAG평가 에이전트ChromaDB 인덱스 동봉 평가 이력 6회LangChain
10 배송조회 LangGraph 챗봇 키 필요

같은 시나리오를 Python(FastAPI)과 Node 두 가지로 구현한 항목. 동일 요구사항의 언어별 구현 차이를 비교해 설명할 수 있습니다.

LangGraphFastAPINode 병행 구현
문서 산출물

문서 산출물

실행 대상이 아닌 QA/PM 문서 프로젝트입니다.

04 QA 문서 산출물 13종 문서

요구사항정의서 · 업무분장 · WBS · Jira 칸반 · 보안가이드 · 취약지표 분석기준 · 회의록 · 이슈트래킹시트 · 단위테스트 계획서 · 통합테스트 계획서 · 프로그램분석보고서.

테스트 계획서이슈 트래킹WBS Jira 칸반보안 가이드회의록
범위 조정

제출 목록에서 뺀 항목

QA 직무와 직접 관련된 프로젝트를 중심으로 선별해 구성했습니다.

프로젝트 개요

9개 프로젝트 요약

프로젝트유형본인 역할주요 검증결과
01 VOC 멀티에이전트 QA팀(4인)QA 시나리오·루브릭·Judge 검증LLM Judge, E2E 18건HOLD(81.2점, 기준 95점)
02 AI 품질 평가 플랫폼개인 확장품질 모듈·대시보드·테스트 체계 확장pytest, k6, 레드팀 등 12모듈84 PASS
04 QA 문서 산출물팀(4인)단위/통합 테스트계획서, 발표자료문서화문서 13종
05 RaiT 평가 시스템개인전체정책 기반 평가 엔진Mock 기준 정상 동작 확인
06 AI 챗봇 QA팀(4인)pytest 스위트, QA 문서pytest53 PASS
07 RAG 챗봇개인전체Judge 평가리포트 6회분
08 AI Agent 모니터링개인전체장애주입 테스트4 PASS
09 FullStack Web QA개인전체Unit/Integration/E2E9 PASS
10 LangGraph 챗봇개인전체수동 시나리오 검증구조 확인
Demo / Evidence

Demo / Evidence

외부 API Key 또는 별도 인프라가 필요한 프로젝트는 공개 데모 대신 실행 결과, 테스트 로그 및 평가 리포트를 제공합니다.

실물

프로그램이 실제로 만들어낸 것

아래 이미지는 설명용 그림이 아니라 각 프로젝트가 실행 중에 생성한 파일 그대로입니다.

02번 프로젝트의 Grafana AI 품질 운영 대시보드 패널 캡처.
02 · grafana_ai-quality-ops Grafana 운영 대시보드. Docker 스택을 실제로 띄우고 Prometheus로 수집한 결과를 실행 시점에 자동 캡처해 보고서에 첨부하도록 만들어 둔 것입니다.
02번 프로젝트의 k6 성능 테스트 결과 Grafana 패널 캡처.
02 · grafana_k6-performance k6 부하 테스트 결과가 Prometheus remote-write로 흘러 들어간 화면입니다. 오류율·p95 응답시간을 실행 시점 그대로 기록했습니다.
01번 VOC 프로젝트의 종합 품질평가 보고서에 포함된 잔여 위험 차트.
01 · 종합 품질평가 — 잔여 위험 품질 스위트가 PDF·HTML·XML·PNG 묶음으로 뽑아내는 보고서 중 잔여 위험 차트입니다. 테스트 통과 여부와 별도로 남는 위험을 기록합니다.
재현 정보

검증 환경

각 프로젝트마다 깨끗한 가상환경을 새로 만들어 requirements.txt / package.json만으로 설치했습니다. 기존에 설치돼 있던 패키지의 도움을 받지 않았다는 뜻이고, 그래서 위 결함들이 드러났습니다.

OSWindows 10 Pro 19045
Python3.12.9
Node24.17.0
npm11.13.0
Docker29.5.3
검증일2026-08-06

실행 전 공통 절차

# Python 프로젝트
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env      # 키가 필요한 항목만, 본인 키 입력

# Node 프로젝트 (09)
npm install

Activate.ps1이 막히면 Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass. 09번은 backendfrontend에서 각각 npm install이 필요합니다.