| 프로젝트 유형 | 테스트 도구 | 팁 |
|---|---|---|
| Python (LangChain, Dify) | pytest + pytest-asyncio | fixtures로 공통 셋업, parametrize로 다양한 입력 |
| TypeScript (MCP, Vercel AI) | Jest / Vitest | describe/it 구조, beforeEach로 상태 초기화 |
| ML 모델 (Transformers) | pytest + 느린 테스트 데코레이터 | @slow 마커로 CI에서 선택 실행 |
| 웹 UI (Gradio, Streamlit) | Playwright / Selenium | 헤드리스 모드로 CI 실행, 스냅샷 테스트 |
| MCP 서버 | MCP Inspector + 단위 테스트 | 도구 호출 응답 형식 검증, 에러 핸들링 테스트 |
| 기준 | Streamlit | Gradio |
|---|---|---|
| UI 유연성 | 높음 - CSS 커스텀 가능 | 보통 - 미리 정의된 컴포넌트 |
| ML 모델 공유 | 보통 | 높음 - HF Spaces 연동 |
| 챗봇 UI | st.chat으로 커스텀 필요 | gr.ChatInterface 내장 |
| 데이터 대시보드 | 최적 - 차트/메트릭 위젯 | 제한적 |
| 배포 | Streamlit Cloud (무료) | Hugging Face Spaces (무료) |
| 학습 곡선 | 낮음 | 매우 낮음 |
| 플랫폼 | 특징 | 추천 대상 |
|---|---|---|
| Hashnode | 개발자 특화, 커스텀 도메인, 마크다운 | 개발 블로그 시작에 최적 |
| DEV.to | 개발자 커뮤니티 내장, 빠른 노출 | 커뮤니티 활동 중심 |
| Medium | 넓은 독자층, 큰 분배 네트워크 | 일반 독자 대상 기술 글 |
| GitHub Pages | 정적 사이트, 완전한 커스텀 | 개발자 포트폴리오 사이트 |
| velog | 한국 개발자 커뮤니티, 마크다운 | 한국어 기술 블로그 |
| tistory | 한국 대표 블로그, 검색 노출 강점 | 한국어 SEO 중요 시 |
| 직무 | 핵심 역할 | 필요 기술 |
|---|---|---|
| AI Engineer | AI 기능 통합, LLM 앱 개발 | Python, AI SDK, RAG, Agent |
| ML Engineer | 모델 학습, 파인튜닝, 배포 | PyTorch, MLOps, GPU 최적화 |
| MLOps Engineer | ML 파이프라인 운영, 모니터링 | K8s, MLflow, CI/CD, Docker |
| AI Infra Engineer | GPU 클러스터, 서빙 최적화 | vLLM, TensorRT, CUDA |
| Full-Stack AI Dev | AI 앱 전체 스택 개발 | React, Next.js, AI SDK, DB |
| 항목 | 배점 | 세부 기준 |
|---|---|---|
| PR 생성 | 15점 | PR 1개당 7.5점 (최대 15점) |
| PR Merge | 25점 | 실제 프로젝트에 수용된 기여 (최고 가중치) |
| 코드 리뷰 | 10점 | 팀원/외부 PR 리뷰 참여 횟수 |
| 이슈 활동 | 10점 | 이슈 코멘트, 버그 리포트, 제안 |
| 기술적 깊이 | 15점 | 기여의 기술 수준, 코드 품질, 문제 해결력 |
| 커뮤니케이션 | 10점 | 영어 소통, PR 설명 품질, 피드백 대응 |
| 팀 협업 | 10점 | Peer Review, 지식 공유, 상호 지원 |
| 최종 발표 | 5점 | 발표 완성도, 전달력 |
| 학술 활동 | 오픈소스 연계 | 가치 |
|---|---|---|
| 논문 코드 공개 | GitHub 레포지토리로 공개 | 재현성 확보, 인용 증가 |
| 소프트웨어 논문 | JOSS 출판 | 학술 업적 인정 |
| 코드 아카이빙 | Zenodo를 통한 DOI 발급 | 영구 보존, 인용 가능 |
| 연구 도구 개선 | PyTorch, HuggingFace에 기여 | 커뮤니티 + 연구 발전 |
| 데이터셋 공개 | HuggingFace Datasets 업로드 | 데이터 접근성 향상 |