프론트엔드, 백엔드 및 풀스택 개발자 질문에 대한 구성

Last updated: December 12, 2024

유효한 프로젝트는 루트 디렉터리에 유효한 hackerrank.yml 구성 파일을 가져야 합니다. 아래 예제 또는 구성 참조를 참조하여 프로젝트에 맞게 작성하는 방법을 배우세요.

구성 참조

version: (숫자)
- [필수] 구성 스키마의 버전 번호.
- 현재 버전은 1.0입니다configuration: (해시)
- [필수] 구성의 상위 속성.
- 모든 프로젝트 구성은 여기서 제공됩니다
has_webserver: (불리언)
- [필수] 프로젝트에 노출된 웹 서버가 있는지 정의
(서버 외부에서 액세스 가능).
- 서버를 게시하기 위해 열린 포트 (3000, 3030, 5000, 6000, 6001, 8000, 8080)
외부 통신에서 차단된 모든 포트는 차단됩니다.
readonly_paths: (배열)
- [선택 사항] 후보자에게 읽기 전용으로 표시되어야 하는 파일 경로 및/또는 정규 표현식 패턴 목록
scoring: [선택 사항] (해시)
- [필수] 채점 관련 구성의 상위 속성
command: (문자열)
- [필수] 채점 명령이 여기서 정의됩니다.
- 이 속성은 채점이 작동하려면 제공되어야 합니다
files: (배열)
- [선택 사항] 채점 출력 파일 목록이 여기서 제공될 수 있습니다.
- 채점 명령이 실행되면 플랫폼은 이 파일들을 검색하여
최종 점수를 계산하기 위해 파싱합니다.
- 이 파일들이 제공되지 않으면, 채점 명령 출력이 채점에 사용됩니다.
testcase_weights: (해시 [<테스트케이스 이름>:<가중치>])
- [선택 사항] 이 속성은 테스트 케이스에 가중치를 부여하는 채점에 사용할 수 있습니다.
- 모든 가중치의 합은
1이어야 합니다. 유효성 검사는 모든 가중치의 합이 1이 아니면 실패합니다.

- 테스트 케이스 가중치는 테스트 케이스 이름으로 일치됩니다,
따라서 모든 테스트 케이스 이름은 고유해야 합니다(파일 전체에서).
ide_config: (해시)
- [필수] 모든 IDE 관련 구성은 여기서 제공됩니다
default_open_files: (배열)
- [필수] 열 기본 파일 목록을 여기서 제공합니다.
경로는 프로젝트 루트 폴더에 상대적이어야 합니다.
project_menu: (문자열)
- [필수] 프로젝트 메뉴 명령을 여기서 정의합니다. 모든 하위 속성은 필수입니다.
run:
- [필수] 프로젝트 > 실행 메뉴 항목에 대한 명령 제공
install:
- [필수] 프로젝트 > 설치 메뉴 항목에 대한 명령 제공
test:
- [필수] 프로젝트 > 테스트 메뉴 항목에 대한 명령 제공

예제 1: 점수 매김이 없는 노드 프로젝트의 샘플 구성

version: 1.0configuration:
has_webserver: false
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test

예제 2: 웹 서버와 점수 매김이 포함된 노드 프로젝트의 샘플 구성

version: 1.0configuration:
has_webserver: true
scoring:
# npm test는 results/unit.xml 파일에 테스트 출력을 생성할 것으로 예상됩니다.
command: "npm test"
files:
- results/unit.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test

예제 3: 가중치가 부여된 테스트 케이스가 포함된 Java Spring Boot API 프로젝트의 샘플 구성

version: 1.0configuration:
has_webserver: false
scoring:
command: "mvn clean test"
files:
- target/customReports/result.xml
testcase_weights:
# 가중치는 총 1이 되도록 해야 합니다
모델 생성: 0.2
모델 삭제: 0.2
모델 수정: 0.2
속성별 모델 필터링: 0.4
ide_config:
default_open_files:
- src/main/java/com/hackerrank/sample/controller/ModelController.java
- src/main/java/com/hackerrank/sample/model/Model.java
project_menu:
run: mvn clean spring-boot:run
install: mvn clean install
test: mvn clean test; cat target/customReports/result.txt

예제 4: 웹 서버와 여러 출력 파일이 포함된 노드 프로젝트의 샘플 구성

version: 1.0configuration:
has_webserver: true
scoring:
# npm test는 결과 /unit.xml 파일에 테스트 출력을 생성하는 것으로 예상됩니다.
command: "npm test"
files:
- results/user.xml
- results/project.xml
- results/api.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test

예제 5: 읽기 전용 파일이 포함된 노드 프로젝트의 샘플 구성

읽기 전용 파일을 사용하여 테스트 케이스와 같은 특정 파일을 읽기 전용으로 표시할 수 있습니다. 후보자는 이러한 파일을 수정할 수 없습니다.

version: 1.0configuration:
has_webserver: true
readonly_paths:
- app/test.js
- app/tests/*

scoring:
command: "npm test"
files:
- results/unit.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test