Coding an Advanced Golang Feature + Best Keyboard for Coding
- 영상은 코딩 경험을 향상시키는 '해피 해킹 키보드'를 소개하며, 전문성, 미니멀리즘, 편안함, 내구성, 그리고 코딩의 즐거움을 강조합니다. ⌨️
- 주요 프로젝트인 'Devbox'는 학생들이 학습 후 실습을 통해 코딩 실력을 향상시키도록 돕는 대화형 코딩 연습 플랫폼입니다. 💡
- Devbox는 학생들의 솔루션 코드를 받아 각 연습 단계별로 격리된 Docker 환경을 생성하고 테스트를 실행하여 피드백을 제공합니다. 🐳
- 영상의 핵심 구현은 Docker 컨테이너 내에서 학생 솔루션에 대한 테스트를 실행하고 정확성을 판단하는 '테스트 러너' 패키지입니다. 🧪
- 테스트 러너는 Docker CLI를 활용하여 컨테이너 생성, 실행, 로그 스트리밍, 그리고 솔루션 코드 및 테스트 파일 마운팅을 처리합니다. ⚙️
- 솔루션 검증은 컨테이너에서 생성된 로그(실제 출력)를 미리 정의된 예상 출력과 비교하는 방식으로 이루어집니다. 📊
- 학생 코드의 무한 루프를 방지하고 서버 안정성을 위해 각 연습 단계에 대해 구성 가능한 타임아웃 기능을 구현합니다. ⏱️
- 연습 과정은
course.yaml 파일에 정의되며, 각 단계의 테스트 명령, 타임아웃 등 세부 설정을 포함하여 유연한 코스 생성을 가능하게 합니다. 📚
- Go 언어로
runTest 함수를 구현하는 과정을 상세히 보여주며, Docker 클라이언트 초기화, 컨테이너 설정, 오류 처리, 로그 처리 등의 기술적 세부 사항을 다룹니다. 💻
데브허브 | DEVHUB | Coding an Advanced Golang Feature + Best Keyboard for Coding