개발자들의 코딩 테스트 연습 필수 플랫폼인 릿코드(LeetCode)의 문제를 로컬 환경에서 직접 풀고 테스트할 수 있는 새로운 오픈소스 도구 '오픈릿코드(openleetcode)'가 등장했습니다. 이 도구는 사용자가 작성한 코드를 릿코드와 동일한 방식으로 로컬에서 실행하고, 저장소에 공개된 테스트 케이스를 통해 결과를 즉시 확인할 수 있도록 지원합니다. 현재 약 1,000개의 릿코드 문제와 파이썬(Python), C++, 러스트(Rust), 자바(Java), 고(Go), 타입스크립트(TypeScript), 스위프트(Swift) 등 다양한 언어를 지원하며, 초기 버전(MVP)으로 공개되었습니다.
오픈릿코드는 하스켈(Haskell)로 개발되었으며, 도커(Docker)를 기반으로 하는 실행 백엔드(Piston)를 활용하여 코드를 격리된 환경에서 안전하게 실행합니다. 사용자는 CLI(명령줄 인터페이스)를 통해 문제 ID나 제목으로 솔루션을 제출하고 결과를 받아볼 수 있습니다. 특히 이 프로젝트의 핵심은 모든 테스트 케이스와 런타임 템플릿이 깃허브(GitHub) 저장소에 공개되어 있다는 점입니다. 이는 릿코드의 비공개 테스트 환경과 달리, 개발자들이 테스트 로직을 직접 확인하고 기여할 수 있는 투명성을 제공합니다.
이러한 접근 방식은 릿코드 사용자들에게 상당한 이점을 제공합니다. 기존에는 릿코드 웹사이트에서만 코드를 실행하고 결과를 확인해야 했지만, 오픈릿코드를 통해 개발자들은 자신이 선호하는 개발 환경(IDE)에서 자유롭게 코드를 작성하고, 인터넷 연결 없이도 테스트를 반복하며 디버깅할 수 있습니다. 이는 문제 해결 능력 향상뿐만 아니라 개발 생산성 증대에도 기여할 수 있습니다. 또한, 테스트 케이스가 공개되어 있다는 점은 커뮤니티의 참여를 유도하여 더 견고하고 다양한 테스트 환경을 구축하는 데 도움이 될 것으로 보입니다. 시스템 설계, SQL, 동시성(concurrency) 문제 등 아직 지원되지 않는 유형도 있지만, 향후 지원 확대를 계획하고 있습니다.
오픈릿코드는 릿코드의 테스트 환경을 '민주화'하겠다는 비전을 가지고 있습니다. 이는 단순히 문제를 푸는 것을 넘어, 코딩 테스트 환경 자체에 대한 이해를 높이고 개발자들이 더 능동적으로 학습 과정에 참여할 수 있는 기회를 제공합니다. 릿코드와 유사한 코딩 테스트 플랫폼을 준비하는 스타트업이나 교육 기관에게도 테스트 환경 구축에 대한 영감을 줄 수 있으며, 개발자 개인에게는 코딩 실력 향상을 위한 강력한 도구가 될 것입니다.