EPI Judge는 우리 책 Elements of 프로그래밍 인터뷰의 동반자 역할을 하기 위한 것입니다. 구체적으로 이 프로젝트는 다음과 같이 구성됩니다.
판사를 다운로드하는 방법은 다음과 같습니다.
$ git clone https://github.com/adnanaziz/EPIJudge.git
git
없다면 git 자체 설치에 대한 좋은 튜토리얼이 있습니다.
심사를 시작하는 것이 얼마나 쉬운지 알아보려면 1분짜리 동영상을 시청하세요.
PyCharm, 이클립스, NetBeans
IntelliJ IDEA, 이클립스
CLion, 비주얼 스튜디오 2017
$ python3 <program_name>.py
Makefile
사용하십시오.
특정 프로그램을 컴파일하고 실행합니다.
$ make <program_name>
예:
$ make Anagrams
마지막으로 편집한 프로그램을 컴파일하고 실행합니다.
$ make
GCC와 Clang을 직접 호출하여 모든 프로그램을 수동으로 컴파일하고 실행할 수 있습니다.
$ g++ -pthread -std=c++14 -O3 -o anagrams anagrams.cc
제공된 Makefile을 사용할 수도 있습니다: make <program_name>
. 제공된 CMakeLists.txt 파일과 함께 CMake를 사용할 수도 있습니다.
$ make
기본 Makefile 대상은 마지막으로 편집된 파일입니다.
$ make anagrams
질문과 피드백을 보내주시기 바랍니다 - [email protected]
및 [email protected]
설치나 버그 테스트 등의 문제가 있는 경우 이메일을 통해 언제든지 문의해 주세요. 최대한 자세히 설명해주세요. 문제에 대한 스크린캐스트 비디오를 YouTube에 업로드할 수 있는 경우가 이상적입니다. 실패하면 스크린샷을 업로드해 주세요. 문제에 대한 설명과 사용 환경(OS, 언어 버전, IDE 및 버전)을 자세히 설명할수록 더 쉽게 도움을 드릴 수 있습니다.
위에서 설명한 IntelliJ 통합 개발 환경은 동급 최고이며 EPI 심사위원에게 적합한 무료 버전을 제공합니다. 여기에는 컴파일러가 포함되지 않습니다. Oracle에서 Java 개발 환경을 얻을 수 있고 Python.org에서 Python 개발 환경을 얻을 수 있습니다. C++의 경우 여러 옵션이 있습니다. 가장 간단한 방법은 IDE와 컴파일러가 모두 포함된 VisualStudio를 설치하는 것입니다. Google은 설치에 도움을 줄 수 있는 좋은 리소스입니다.
Judge에는 어떤 컴파일러가 지원되나요?
솔루션에는 어떤 컴파일러가 지원됩니까?
이전 버전으로 컴파일한 경우 알려주시기 바랍니다.
이 스크린샷을 보세요.
Judge Harness는 상당히 복잡합니다(그러나 비표준 언어 기능이나 라이브러리를 사용하지 않습니다). 연구하는 것은 환영하지만 변경하지 않는 것이 좋습니다(업데이트할 때 불쾌한 병합 충돌이 발생할 수 있으므로).
프로젝트를 즐겨 사용하는 IDE로 가져오려면 CMake를 사용하여 IDE 프로젝트를 생성해야 할 수 있습니다. CLion에서는 이를 수행할 필요가 없으며 기본적으로 CMake를 지원합니다.
다음은 Visual Studio 프로젝트 생성을 위한 예제 레시피입니다(모든 CMake 지원 IDE 목록). CMake를 설치한 후 터미널을 열고 epi_judge_cpp
폴더로 이동하여 다음 명령을 실행하세요.
mkdir vs
cd vs
cmake -G "Visual Studio 15 2017" ..
그런 다음 Visual Studio에서 epi_judge_cpp/vs/epi_judge_cpp.sln
솔루션을 열면 모든 EPI 프로그램이 로드됩니다.
이 프로젝트의 루트에 있는 index.html 파일은 문제의 진행 상황을 추적합니다. 특히 각 장마다 확장 탭이 있습니다. 그것을 클릭하면 아래와 같이 진행 상황을 볼 수 있습니다. 이 파일은 프로그램을 실행할 때마다 업데이트됩니다. 이 파일을 사용하여 책 문제를 스텁 프로그램에 매핑 할 수 있습니다.
지난 몇 달 동안 이 릴리스를 사용해 본 수백 명의 사용자에게 큰 감사를 드립니다. 언제나 그렇듯이, 우리는 독자들의 열정과 헌신에 결코 깊은 인상을 받지 않습니다. 그것은 우리에게서 최고의 결과를 이끌어내는 역할을 했습니다. 뛰어난 소프트웨어 엔지니어링 기술을 적용하여 EPI Judge를 현실화한 Viacheslav Kroilov에게 모두 감사드립니다.