본문 바로가기

전체 글387

d02 - 14. 과정 리뷰와 확정 전략 14교시 · 과정 리뷰 및 확장 전략2일차 16:00–17:00 · 이론/토론 선행: 1~13교시 전체🎯 학습 목표2일간 만든 시스템의 전체 흐름을 한눈에 다시 정리한다."손으로 마스터(1~11교시) → AI로 가속·확장(12~13교시)" 라는 학습 설계가 무엇을 해결했는지 회고한다.이 방식을 다른 도메인·현업·교육으로 확장하는 전략을 세운다.📖 0. 이 과정의 두 단계단계교시방식목적1단계 — 마스터1~11교시손으로 직접 구현클린 아키텍처·TDD를 몸에 익혀 "판단할 수 있는 사람"이 된다2단계 — 가속12~13교시바이브 코딩으로 재현·확장craft를 갖춘 위에서 Copilot으로 속도를 끌어올린다핵심 메시지: AI는 craft를 대체하지 않고 가속한다. 손으로 만들 줄 아는 사람만이 AI의 결과가 .. 2026. 6. 23.
d02 - 13. 바이브 코딩으로 빠른 확장 13교시 · 바이브 코딩으로 빠른 확장2일차 15:00–16:00 · 이론/실습 선행: 12교시(Copilot 규칙·프롬프트 세팅)🎯 학습 목표완성된 프로젝트에 새 기능을 바이브 코딩 + TDD로 빠르게 추가한다.클린 아키텍처가 확장을 얼마나 안전하게 만드는지(기존 코드를 안 건드림) 직접 확인한다."포트만 맞추면 부품을 갈아 끼울 수 있다"는 원리를 새 데이터 출처 교체로 체감한다.📖 개념 — 확장이 두렵지 않은 이유보통 "기능 추가"는 두렵습니다. 한 곳을 고치면 다른 곳이 깨질지 모르기 때문입니다. 하지만 우리 프로젝트는 두 가지 안전장치가 있습니다.계층 분리 — 새 기능은 보통 한 계층에만 영향을 줍니다(예: 새 지표는 도메인/유스케이스, 새 출처는 어댑터).테스트 — 기존 기능이 깨지면 py.. 2026. 6. 23.
d02 - 12. 바이브 코딩 도입과 빠른 재현 12교시 · 바이브 코딩 도입과 빠른 재현2일차 14:00–15:00 · 이론/실습 선행: 1~11교시(손으로 전체 프로젝트 완성) 실습 환경: Windows 11 + PowerShell + VS Code 🎯 학습 목표GitHub Copilot을 설정하고, 워크스페이스 규칙서(copilot-instructions.md)와 재사용 프롬프트(*.prompt.md)를 만든다.1~11교시에 손으로 익힌 클린 아키텍처·TDD 규칙을 Copilot이 자동으로 지키게 만든다.핵심 한 줄기(CSV 적재 → 분석)를 바이브 코딩으로 처음부터 빠르게 재현하며 속도를 체감한다.📖 개념 1 — 왜 "이제서야" 바이브 코딩인가지금까지 11교시 동안 Copilot 없이 직접 손으로 전체 프로젝트를 만들었습니다. 그 이유가 이.. 2026. 6. 23.
d02 - 11. 구조안정화 11교시 · 구조 리팩터링과 안정화2일차 13:00–14:00 · 이론/실습 선행: 10교시(동작하는 웹앱 완성)🎯 학습 목표전체 코드의 계층 구조를 점검하고 의존성 규칙 위반을 바로잡는다.테스트 커버리지를 측정해 검증의 빈틈을 찾고, 가벼운 통합 테스트로 메운다.1~10교시에 손으로 완성한 프로젝트를 믿을 수 있는 상태로 마무리한다.📖 개념 1 — "동작한다"와 "안정적이다"는 다르다10교시까지 앱은 동작합니다. 하지만 "동작하는 것"과 "안정적인 것"은 다릅니다. 안정적인 시스템은 다음을 추가로 갖춥니다.변경에 강함: 한 곳을 바꿔도, 의존성 규칙 덕분에 파급이 작다.회귀에 강함: 무언가 깨지면 테스트가 즉시 알려 준다.재현 가능: 누가 받아 실행해도 같은 결과가 나온다.이 교시는 새 기능을 만들.. 2026. 6. 23.
d02 - 10. 웹 인터페이스 연결 10교시 · 웹 인터페이스 연결2일차 11:00–12:00 · 이론/실습 선행: 9교시(전체 파이프라인 완성)🎯 학습 목표Streamlit으로 업로드→리포트까지의 화면을 만든다.app.py가 조립 루트(composition root) 임을 이해한다 — 부품을 생성·연결하는 단 한 곳.제외된 행, 차트, AI 요약을 사용자에게 보여 준다.📖 개념 1 — 화면은 "가장 바깥의 얇은 껍데기"9교시 마지막에 손으로 조립한 파이프라인을 기억하세요. 그 코드를 사용자의 클릭으로 실행해 주는 것이 화면(UI)의 전부입니다. 화면은 새로운 로직을 만들지 않습니다. 화면(app.py)이 하는 일 화면이 하지 않는 일 파일 업로드 받기매출 계산(유스케이스가 함)부품 생성·연결(조립)데이터 검증(도메인이 함)결과를 보.. 2026. 6. 23.
d02 - 9. 결과생성 파이프라인 9교시 · 결과 생성 파이프라인2일차 10:00–11:00 · 이론/실습 선행: 7교시(분석), 8교시(차트), 4교시(InsightGateway 포트)🎯 학습 목표분석 결과를 LLM이 자연어로 해석하게 하는 어댑터를 구현한다."숫자는 코드, 해석은 LLM"의 경계를 코드로 구현한다.차트·요약·지표를 하나의 리포트로 조립하는 유스케이스를 만든다.API 키를 .env로 안전하게 다룬다.📖 개념 1 — LLM에게 "계산"이 아니라 "해석"을 맡긴다4교시에서 정한 대원칙을 이제 구현합니다.숫자(총매출·상위 상품 등)는 코드가 계산하고, 그 확정된 숫자를 LLM에게 건네 "의미를 글로 풀어 달라"고 한다. 왜 이렇게 나눌까요? 만약 LLM에게 계산까지 시키면 우리 방식(코드가 계산) 원본 CSV를 통째로 .. 2026. 6. 23.
d02 - 8. 시각화와 출력 설계 8교시 · 시각화 및 출력 설계2일차 09:00–10:00 · 이론/실습 선행: 7교시(AnalysisResult), 4교시(ChartRenderer 포트)🎯 학습 목표분석 결과를 차트 이미지로 그리는 어댑터를 구현한다."파일을 만든다" 같은 부수효과(side effect) 가 있는 코드를 테스트하는 법을 익힌다.서버 환경·한글 폰트 등 matplotlib의 현실적 함정을 처리한다.📖 개념 1 — 차트 생성은 왜 "어댑터"인가차트를 그리려면 matplotlib라는 외부 라이브러리가 필요하고, 결과로 이미지 파일이라는 외부 산출물을 만듭니다. 외부 도구를 쓰고 외부에 흔적을 남기는 일 → 3계층 어댑터의 책임입니다.유스케이스(7교시)와 비교하면 성격이 정반대입니다. 분석 유스케이스(7교시) 차트 어.. 2026. 6. 23.
d01 - 클린 아키텍처 개념과 이점 부록 A · 클린 아키텍처 — 개념·정의·목적과 AI 시대의 이점심화 reading (3교시 보충 자료) 3교시가 "손으로 적용하는 법"이라면, 이 부록은 "왜 그렇게 하는가"의 배경과, 이 과정의 두 주제(AI 에이전트·바이브 코딩)에 주는 이점을 깊이 있게 정리합니다. 1. 클린 아키텍처란 무엇인가 — 개념과 정의클린 아키텍처(Clean Architecture) 는 로버트 C. 마틴(Robert C. Martin, 통칭 'Uncle Bob')이 2012년 블로그 글과 2017년 동명의 저서에서 정리한 소프트웨어 구조 설계 원칙입니다. 그는 새로운 패턴을 발명했다기보다, 그 전부터 있던 여러 아키텍처 — 육각형 아키텍처(Hexagonal, Ports & Adapters), 양파 아키텍처(Onion), .. 2026. 6. 22.