- 9시~11시: GitHub Universe 2025 Recap
- 11시~12시: 기업 강연에서 주로 하시는 질문
- 12시~13시 (or 13시 30분): 점심식사
- 13시~:
- 이후: 바이브코딩으로 SEO 및 GEO/AIEO 적용된 블로그 만들기
- GitHub Universe 2025에서 발표한 주요 기능 사용
- GitHub Speckit 및 VS Code Agents Sessions 등 사용
- GitHub Universe 2025에서 발표한 주요 기능 사용
- Git Bash(윈도우 사용자만)
- Visual Studio Code
- 이미 설치된 분들은 VS Code Insider 설치 추천 (필수는 아님. but 다양한 기능 지원하기 때문에 추천)
- Pro + 구독한 계정으로 로그인 하기(실습 시작할때 확인 같이할 예정)
- Node.js
- (파이선 설치 확인 및) UV
- 파이선 가상환경 세팅용
- uv 설치방법: https://wikidocs.net/287359
- Vercel 가입
- VS Code 저장소: https://github.com/microsoft/vscode/blob/main/.github/copilot-instructions.md
- TDD Agents 데모 저장소: https://github.com/digitarald/chatarald
- Plan 모드 정교화, Designer Agent 데모 저장소: https://github.com/digitarald/frontend-vibes-template
- Vercel 템플릿: https://vercel.com/templates




대규모 코드 인덱싱 팁
https://drive.google.com/drive/folders/1JlZwKvEb4BB9DS6wpve3flA3qAGbAfDr
대규모 코드베이스(C → Java 같은 “언어 전환”)는 AI 이전 시대엔 사실상 재작성(rewrite) 프로젝트였고,
수년이 걸리고, 실패 확률이 매우 높으며, 기업이 가장 두려워하던 작업 중 하나야.
하지만 바이브코딩 + 에이전트 + RAG + 정적 분석 + 자동 테스트 생성이 결합되면,
이제 “수년에서 수개월/수주로 단축”할 수 있는 시대로 들어왔어.
아래는 **현실적으로 성공 가능한 “대규모 코드베이스 언어 전환 전략”**을 내가 엔터프라이즈 기준으로 설계해 준 거야.
✔️ 0. 결론 먼저:
전면 재작성은 하지 않는다.
전면 갈아엎기는 절대 성공하지 않는다.
대규모 변화는 AI + 자동화 + 점진적 변환으로 가야 함.
✔️ 1. 전체를 한 번에 바꾸는 접근은 실패한다 (100%)
C에서 Java로 언어를 바꾸는 건 단순 문법 문제가 아니라:
메모리 모델 전환
동시성 모델 전환
런타임 모델 차이
I/O 처리 방식 차이
포인터/구조체/메모리 접근 모델 제거
타입/추상화 채택
전체 테스트 재구축
보안 모델 변화
빌드/배포 파이프라인 재구축
즉, 언어는 기술 스택 전체 세계관을 바꾸는 것이야.
그래서 절대 “AI에게 전체 변환해줘”로 성공할 수 없어.
✔️ 2. 가능한 패턴은 오직 하나 → Strangler Fig Pattern (점진적 교체)
Amazon, Meta, Netflix 전부 이렇게 함.
기존 시스템 주변에 “새 언어로 된 새 모듈”을 감고,
트래픽을 점점 새 시스템에 보내며
오래된 부분을 “질식(sunset)”시키는 패턴.
즉:
C 기반 오래된 부분 옆에 Java 모듈 생성
API/ABI boundary 확립
기능 단위로 교체해 나감
트래픽 점진적 이관
오래된 C 모듈 제거
AI는 이 경계(layer boundary)를 분해하고 변환 경로를 만드는 데 매우 강력해.
✔️ 3. AI 기반 “언어 전환”의 최적 절차 (현대적 방식)
1단계: 전체 코드베이스 분석 자동화
AI 에이전트로 아래를 자동 추출:
전체 함수 호출 그래프(call graph)
구조체/데이터 모델 schema
side effects 리스트
파일 간 의존성 그래프
entrypoint map
global mutable state map
메모리 안전성 이슈 목록
➡ 단 4시간~24시간이면 수십년 묵은 코드베이스 구조를 자동 시각화 가능.
2단계: API Layer 추출 → Java Interface로 추상화
대규모 변환은 C 코드를 Java로 번역하는 것이 아니라,
C 프로그램을 Java 서비스 클래스 구조로 재설계하는 행위야.
AI로 다음을 자동 생성:
기존 C 구성 요소 Java에서의 대응 구조
함수(Function) 서비스 메서드
구조체(struct) 레코드/VO/DTO
모듈(.c/.h) 패키지(package)
전역상태 Bean/Singleton + DI
포인터 조작 객체 참조/불변성
AI는 구조체/함수 시그니처를 기반으로 자동 interface 생성이 가능해.
3단계: AI가 자동 변환 + 인간이 검증하는 시스템 구축
변환 방식은 3가지:
✔ 방식 A) 직접 코드 변환 (AI autotranspile)
C 함수 → Java 메서드
구조체 → class 변환
goto/포인터 삭제
메모리 모델 변경
이건 AI가 놀라울 정도로 잘함.
하지만 **정확도 80~90%**라 사람이 검증해야 함.
✔ 방식 B) 테스트 기반 변환 (spec-driven)
기존 C 함수의 동작을 AI로 설명
테스트 스펙 자동 생성
Java로 동일한 스펙을 충족하는 코드 생성
➡ 이 방식이 확실하고 안정적임.
✔ 방식 C) Wrapper/Adapter + 점진적 교체
C 라이브러리를 JNI/JNA로 감싸고
점진적으로 Java 구현으로 교체하는 방식.
4단계: 자동화된 테스트 생성 + 회귀 테스트 체계 구축
AI에게 시켜야 할 작업:
기존 C 함수를 호출하는 예제 자동 생성
input/output behavioral test 생성
Java 변환 후 자동 비교
변환된 함수 1개당 20~50개 테스트 자동 생성
➡ 테스트 없이 언어 변환은 절대 성공 못함.
5단계: 완전 자동화 파이프라인 구성
GitHub Actions + AI Agent 흐름:
[변환할 C 파일 선택]
↓
AI Agent: 구조 분석
↓
AI Agent: Java 변환
↓
AI Agent: 테스트 자동 생성
↓
CI: 기존 C 결과 vs Java 결과 비교
↓
Human Reviewer: 승인
↓
Merge
대규모 기업은 CI/CD 파이프라인에서 이걸 자동화함.
✔️ 4. 실제 기업에서의 성공 사례 패턴
🎯 Booking.com
100만 토큰 GraphQL 스키마를 완전 자동 변환 가능하게 만들었음.
사람이 단독 분석 불가능 → AI 전용 Agent 필요
🎯 Facebook/Meta
PHP → Hack
JavaScript → TypeScript
AI auto-fix + static analysis 기반 디지털 변환
🎯 AWS/Amazon
C++/Java 기반 모놀리스를 서비스 단위로 분리
기능 단위로 “Strangler Fig 패턴”
✔️ 5. 고객사(GitHub Enterprise 사용) 기준 “Best Practice”
GitHub Enterprise 환경에서 가장 빠른 접근은:
✔ 1) Code Search v2로 전체 코드 시멘틱 분석
✔ 2) Speckit으로 기존 로직 스펙 정의
✔ 3) Copilot Workspace로 변환 코드 생성
✔ 4) 변환 모듈별 CI 파이프라인 구축
✔ 5) AGENTS.md로 변환 규칙/표준 지정
✔ 6) Token Burn으로 조직 내 전환 속도 추적
특히 Workspace는 multi-file code generation을 지원하므로
C 모듈 → Java 패키지 변환 흐름에 아주 적합해.
✔️ 6. 정리 — 대규모 코드 언어 변환의 정답
❌ “AI로 전체 코드베이스 한 번에 변환”
= 실패, 재앙, 비용 폭발, 조직 위기
✔️ “AI + 점진적 변환 + 테스트 기반 검증 + RAG + Speckit/Workspace”
= 성공 확률 10배 증가
✔️ 언어 변환의 본질은 “재작성이 아니라 재구성(Re-architecture)”이다.