Hydro는 효율적인 정보학 온라인 평가 시스템입니다. 설치가 쉽고 크로스 플랫폼이며 다기능이며 확장 가능하며 문제 은행이 있습니다.
Linux에 익숙하지 않거나 운영 및 유지 관리가 너무 게으른 교사를 위해 우리는 즉시 사용할 수 있는 무료 온라인 버전도 제공합니다.
자세한 내용은 https://hydro.ac로 이동하여 작동 지침을 확인하세요.
원클릭 설치를 위해 설치 명령을 콘솔에 붙여넣으면 설치 후 처음으로 등록된 사용자에게 자동으로 최고 관리자 권한이 부여됩니다.
주류 Linux 배포판과 호환되며 Debian 12를 권장하며 arm64 장치(Raspberry Pi 등)를 지원합니다.
LANG=zh <(컬 https://hydro.ac/setup.sh)
중국어 문서/영어
관련 문서가 충분히 상세하지 않은 경우 Pull Request를 제출하거나 개발팀에 문의하여 확인하시기 바랍니다.
이슈에 버그 및 기능 제안을 제출해 주세요.
Hydro는 시스템 기능을 쉽게 확장할 수 있는 모듈식 플러그인 시스템을 설계했습니다.
플러그인 시스템을 사용하면 기능을 수정한 후에도 시스템의 업그레이드 가능성을 계속 보장할 수 있습니다.
Hydro의 모든 이전 버전은 최신 버전으로 원활하게 업그레이드할 수 있습니다.
플러그인 사용 및 개발 지침을 보려면 플러그인 및 개발 설명서 장을 참조하세요.
Hydro는 모든 주류 Linux 배포판을 지원하고 x86_64 및 arm64 아키텍처 장치와 호환되며 한 번의 클릭으로 설치할 수 있습니다.
Hydro는 Raspberry Pi 또는 Apple M1/M2에서 정상적으로 실행될 수 있습니다.
모든 시스템 데이터를 백업하려면 hydrooj backup
사용하고, 백업 데이터를 가져오려면 hydrooj restore 文件名
사용합니다. 전체 프로세스에는 수동 개입이 필요하지 않습니다.
Hydro는 단일 시스템 다중 공간 지원을 제공하여 학급/학년/학교 등 다양한 독립된 공간을 쉽게 만들 수 있습니다.
서로 다른 공간의 데이터는 기본적으로 사용자를 제외하고 격리되며, 서로 간섭하지 않고 독립적인 관리자를 지정할 수 있습니다.
질문은 도메인 간에 복사할 수 있으며 시스템에서 한 공간만 차지할 수 있습니다.
Hydro의 권한은 대회/직업에 따라 해당 사용자에게 부여되거나, 사용자를 그룹화(클래스)하여 그룹별로 권한을 부여할 수 있습니다. 권한 노드의 경우 소개 아래 스크린샷을 볼 수 있습니다.
Hydro 시스템 자체는 상태 비저장입니다. 즉, 시스템의 정상적인 작동에 영향을 주지 않고 서비스 노드를 마음대로 추가하거나 삭제할 수 있습니다. 평가 대기열은 현재 온라인 상태인 모든 평가 시스템에 자동으로 균등하게 분배됩니다. 탄력적 확장 그룹에 가입한 후 서버 부하에 따라 평가 머신을 자동으로 추가하거나 삭제할 수 있습니다. 다른 시스템과 달리 Hydro는 서로 다른 서버 간의 테스트 데이터 캐시를 관리하고 필요에 따라 가져오므로 수동 데이터 동기화 없이 평가 시스템이 온라인 상태가 된 후 즉시 사용할 수 있습니다.
Hydro는 모든 질문 유형을 지원합니다. 전통적인 질문 유형, 특별 심사위원, 파일 입력 및 출력, 제출 질문 답변, IO 상호 작용, 기능 상호 작용, 빈칸 채우기 질문 등 Hydro는 이에 상응하는 지원을 제공합니다. 관련 운영 환경을 설치한 후 Hydro는 다음 작업도 수행할 수 있습니다.
작은 거북이를 불러 그림을 그리고 표준 그림과 비교해 보세요.
GPU를 호출하여 기계 학습 모델을 평가합니다.
샘플 영역에서 더 많은 샘플을 확인하고 다운로드할 수 있습니다.
Hydro는 Hydro의 공통 zip 형식, HUSTOJ에서 내보낸 FPS(xml) 형식 질문, QDUOJ에서 내보낸 압축 패키지 등 일반적인 형식의 문제 은행 파일 가져오기를 지원합니다.
Hydro Question Bank에서 무료 문제은행을 다운로드하실 수 있습니다.
Hydro는 VJudge도 지원합니다. 즉, 다른 플랫폼의 질문을 시스템으로 직접 가져오고, 질문을 수정하고, 이를 자신의 과제나 대회에 통합하여 자신만의 문제 은행 시스템을 신속하게 구축할 수 있습니다.
현재 지원되는 플랫폼은 다음과 같습니다.
Yiyi Tong 프로그래밍 계몽: 공식 Yiyi Tong 프로그래밍 계몽 질문 은행은 무료로 사용할 수 있습니다. 압축 패키지에 있는 가져오기 지침을 참조하세요.
간단한 프로그래밍 콘테스트: Luogu의 "프로그래밍 콘테스트(기초)"에 대한 테스트 뱅크를 공식적으로 무료로 제공합니다. 압축 패키지의 가져오기 지침을 참조하세요.
UOJ: 중국의 유명한 OJ로 국가대표 훈련팀에서 흔히 사용합니다.
Codeforces: 수많은 고품질 질문이 있는 대규모 해외 경쟁 플랫폼입니다.
Luogu: 이 기능을 사용하려면 Luogu에서 라이센스를 구입해야 합니다.
HDUOJ: 다학교 교육 질문을 포함하는 Hangzhou Dianzi University 온라인 평가 시스템;
CSGOJ: 광둥성 대회 및 후난성 대회 질문 평가 플랫폼;
SPOJ: 국내 연결은 매우 불안정하므로 권장하지 않습니다.
POJ: 상대적으로 오래되고 서버 안정성이 좋지 않습니다.
YACS: Shanghai Computer Society 경쟁 플랫폼, 단일 계정의 일일 제출에 제한이 있습니다.
HUSTOJ: 이론적으로 모든 HUSTOJ 기반 시스템을 지원하지만 각 시스템의 UI 차이로 인해 일반적으로 수동 조정이 필요합니다.
Hydro는 ACM/ICPC 경쟁 형식(밀봉 지원), OI 경쟁 형식, IOI 경쟁 형식, Ledo 경쟁 형식 및 숙제 기능을 포함한 다양한 경쟁 형식을 지원합니다.
IOI 및 OI 대회 형식에서는 문제 수정 기능이 지원됩니다. 학생들은 게임이 끝난 후 문제 은행에 해당 문제를 제출할 수 있으며 점수는 목록 옆에 표시됩니다.
IOI 및 OI 대회 형식에서는 탄력적 시간 기능이 지원되며, 정해진 시간 범위 내에서 학생들이 원하는 X시간 동안 참가할 수 있습니다.
Hydro의 언어 설정은 시스템에 하드 코딩되지 않고 구성 파일을 사용합니다. 해당 언어로 컴파일 명령을 작성하고 명령을 실행할 수 있는 한 Hydro는 질문을 판단할 수 있습니다.
이메일: [email protected] 텔레그램 @undefinemoe
Hydro 사용자 그룹: 1085853538
참고: 사용자 그룹에 가입하기 전에 "질문하는 지혜"를 읽어보시기 바랍니다.
동시에, 그룹에 귀하를 불편하거나 불쾌하게 만드는 일부 콘텐츠가 있을 수 있습니다. 이에 대해 우려 사항이 있으면 그룹에 가입하지 마십시오 .
코어&UI: ScoreboardView API
현장 툴킷: 리졸버
핵심: icpc 형식 가져오기 최적화
핵심:limit.pretest 옵션 추가
핵심: 작업/일별 성과 로그 추가
프레임워크: 기본적으로 UiContext 및 UserContext 제거
핵심: 마크다운 모드에서 HTML 가져오기를 사용할 때 구문 분석 예외 수정
핵심: 인용된 질문 복사 허용
core&judge: 신뢰할 수 있는 옵션 추가
핵심: 가져오기 사용자 메타데이터 구문 분석 수정
핵심: PID 확인 형식 수정
ui: 자동재생 비활성화
핵심: 질문 목록 성능 최적화
핵심: 표시 이름 길이 제한
핵심: 코드 길이 제한 조정 지원
핵심: 작업에서 온라인 IDE 코드 캐싱 끄기
핵심: API: PERM_VIEW 확인
판사: HYDRO_TIME_USAGE 및 HYDRO_MEMORY_USAGE 환경 변수 추가
코어&UI: i18n 핫 리로드 지원
fps-import: 이미지 가져오기 최적화
ui: 둥근 모서리 설정 지원
코어: StorageModel.copy 및 StorageModel.exists 지원
핵심: 더 이상 사용되지 않는 ProblemModel.list
핵심: 사용자/가져오기/구문 분석 및 사용자/가져오기/생성 후크 추가
핵심: 핸들러, lib, 스크립트 구성 요소 유형 비활성화
코어: ts5.6, cordis3.18로 업그레이드
recaptcha: 제거
핵심: 일일 작업 성능을 크게 향상시킵니다.
코어: (부분적으로) icpc 패키지 형식을 지원합니다.
core:limitRate: 맞춤 ID 지원
핵심: 더 이상 사용되지 않는 배열 형식 질문
코어: 백업: --withAddons
옵션 추가(테스트)
핵심: 세션 성능 최적화
설치: mongodb는 기본적으로 127.0.0.1을 수신합니다.
코어&UI: 기타 버그 수정
ui: 마크다운 미리보기 수정
ui: 내장 로그인이 비활성화된 경우 로그인 상자 표시 최적화
ui: 뷰 전환 수정
onlyoffice: PDF 파일 처리 지원
ui: 마크다운은 코드 줄 번호 표시를 지원합니다.
ui: 확장된 리치미디어 기능 지원
ui: Youku 비디오 삽입 지원
ui: 일부 페이지 구성 요소에서 중복된 가로 스크롤 막대 제거
핵심: 문제 해결에 대한 투표 수 계산 수정
ui: 다크 모드 404 페이지 사진 최적화
ui: 컴파일 정보를 확장하려면 클릭하세요.
ui: 사용자를 따라가는 게임 점수판 수정
코어: ProblemModel.import: delSource 옵션 지원
ui: 생성된 테스트 데이터의 실시간 푸시 수정
prom-client: 콘솔에 상태 보고
핵심: oauth: 고정된 사용자 이름 지원
utils: nix가 설치한 pm2 찾기 지원
ui: 대회 페이지의 질문 탐색 최적화
ui: 더 이상 사용되지 않는 monacoTheme 옵션
ui: 마크다운 편집기는 어두운 모드를 지원합니다.
프레임워크: 스택 추적 최적화
코어: oplog: 레코드 액세스 경로
마이그레이션: 시간 제한을 늘립니다.
vjudge: 시스템 충돌을 일으키는 yacs 문제 수정
sonic: 질문 ID로 질문 검색 지원
core: 사용자를 가져올 때 그룹이 포함된 경우 원래 그룹 설정을 덮어쓰는 문제를 해결했습니다.
핵심: 점수 누출 수정
핵심: 오류 스택 최적화
핵심: UserModel.getListForRender: 추가 필드 지원
핵심: ProblemModel.import: 매개변수를 가져오기 옵션에 병합
ui: 보기 전환 활성화
core: 숨겨진 질문을 허가 없이 볼 수 있는 문제 수정 [보안]
ui: 제출 기록 세부정보의 서식 있는 텍스트 표시 최적화
ui: 아바타 캐싱 지원
ui: 텍스트가 범위를 벗어나 표시되는 것을 방지합니다.
vjudge: codeforces: 제출 ID 획득 최적화
ui: 보초는 기본적으로 비활성화되어 있습니다.
핵심: 학습 왼쪽 사용자 표시줄 숨기기 지원
코어: cli: 지원 평가
ui: 실험적 추측 규칙 지원 추가
핵심: 교육 참가자 수 수정
프레임워크: 404 반환 페이지 수정
ui: 사용자 권한 페이지 레이아웃 최적화
vjudge: codeforces: katex 디스플레이 최적화
core: cli: 스크립트 로딩 순서 수정
설치: Yarn 업데이트 확인은 기본적으로 비활성화되어 있습니다.
핵심: 컨테스트/편집 및 컨테스트/델 후크 추가
ui: 테스트 포인트 세부정보 확장 지원
핵심: IOI 경쟁 시스템 금지 수정
core: 캐시 파일이 삭제되지 않는 문제 수정
핵심: 질문을 가져올 때 진행 상황 표시
ui: 공백이 있는 태그 필터링 수정
a11y: 웹페이지 성능 테스트 출력 순서 최적화
ui: 새로운 마크다운 편집기를 사용하세요
핵심: 점수판 로직 최적화
ui: 캐시를 IndexedDB로 이동
핵심: 마이그레이션을 서비스로 기록
ui: Safari 브라우저 호환성 최적화
핵심: 질문 관리자 필드 수정
판사: 사전 테스트에서 파일 IO 사용을 지원합니다.
vjudge: codeforces: 제출 성공 여부 확인 추가
ui: 보초 추가
core&ui: 현재 컴파일러 버전 표시 지원
핵심: 데이터베이스 인덱스 최적화
코어: 소프트 링크를 사용한 파일 복사
a11y: 성능 테스트 도구 추가
utils: 대문자 파일 확장자 인식 지원
ui: 드롭다운 메뉴 스타일 최적화
핵심: 페이지 제목 최적화
레지스터: 파일에서 원본 소스맵 읽기를 지원합니다.
ui: 사이트 내 메시지 푸시 수정
ui: 순위 페이지 설명 추가됨
ui: 테스트 데이터를 생성하라는 프롬프트를 추가합니다.
프레임워크: 코어에서 분리됨
코어: 로더: 다중 프로필 전환 지원
ui: 게임 점수판에 플레이어 그룹 표시 수정
핵심: 게임 점수를 재설정할 때 점수를 자동으로 다시 계산합니다.
이 버전에는 다음과 같은 플러그인 API 수정 사항도 도입되었습니다.
앱/로드/${category} 후크가 제거되었습니다.
ctx.app 제거됨(ctx.root를 사용하십시오)
ctx.options 제거됨(ctx.root.config를 사용하십시오)
직렬 변환기: showDisplayName 매개변수 제거
loader.addScript, loader.addon 기능을 제거했습니다.
Hydro.module.render가 제거되었습니다(ctx.server.registerRenderer를 사용하세요).
lib/paginate 및 lib/rank를 제거했습니다(db.paginate 및 db.ranked를 사용하세요).
핵심: API 모듈을 서비스로 이동
core: 대회 기간 중 제출물이 해킹당할 경우 전체 재시험이 진행되지 않습니다.
핵심: pid 일치를 추가하는 논리를 검색으로 이동합니다.
ui: cssFilter 수정
판사: 내장: 콜백 순서 유지
핵심: 이메일 주소 처리 최적화
ui: 제출된 레코드의 길이를 표시합니다.
마이그레이션: 충돌하는 사용자에 대해서만 임의 이메일 주소 설정 지원
core&ui: 해킹 입력 자동 정렬 지원
elastic: 퍼지 검색 최적화
ui: 객관식 질문의 객관식 질문에 대한 답변이 잘못 로드되는 문제 수정
핵심: 해킹 버튼 수정
핵심: 질문 통계 페이지 추가
core: 기록 세부 사항 페이지에 평가 진행 상황을 표시합니다.
core: 문제 목록: 후크가 정렬 논리를 수정하도록 허용
마이그레이션: poj 지원 추가
core: api: rpInfo 및 AvatarUrl 쿼리 지원
ui: 시간 전에 비활성화 허용
core: IOI(strict)에서 점수가 취소되는 문제 수정
ui: 게임 점수판에서 자신과 팔로우하는 사용자를 강조표시합니다.
core: 경쟁 목록에서 AC 금액 계산 수정
핵심: 재테스트 자체 테스트 제출 비활성화
ui: 토론 편집 기록 표시 최적화
core: 로그인/등록 후 현재 UserContext를 반환합니다.
핵심: 게임 점수판 내보내기에 대한 PERM_VIEW_DISPLAYNAME 확인 수정
ui: domain_user 선택 상자의 기본값 수정
ui: 마지막 답변을 로드하는 객관적인 질문 수정
핵심: 비밀번호 재설정 시 자동으로 2FA를 비활성화합니다.
core: import: 질문 패키지를 가져올 때 문제 해결 방법 및 표준 절차 가져오기를 지원합니다.
핵심: 성능 최적화 및 버그 수정
핵심: 경쟁 질문에 대한 점수 배율 설정 지원(#765)
작업 공간: TS 버전을 5.4.3으로 업그레이드
core: ws: JSON 구문 분석 예외 처리
핵심: 작업에 파일 업로드 허용(#755)
ui: 컨테스트 관리 페이지에 컨테스트 질문의 제목 라벨을 표시합니다.
판사: 객관식 질문에서 일부 경우 비정상적인 결과가 나오는 문제 수정(#770)
ui: mdInline
에서 일부 태그를 비활성화합니다(#767).
핵심: R 언어 및 cpp20 지원 추가
ui: 평가 기록 페이지에 피크 시간 소비를 표시합니다.
core: 대회 관리자가 코드를 볼 수 없는 문제 수정(#764)
판사: hydrojudge terminal
(#725)에 대한 액세스 제공
핵심: /nix/store
에서 플러그인 로드 지원
핵심: contest/list
후크 추가
판사: vj4 지원
ui: 테스트 설정 패널에서 testlib 선택 문제 수정(#762)
fps-importer: 크기 제한 설정 지원
핵심: PERM_VIEW_RECORD
권한 그룹 추가(#753)
core: 로그인 없이 게임 공지를 볼 수 있는 문제 수정(#756)
ui: Enter 키를 사용하여 2FA 제출을 허용합니다(#752).
핵심: 교육 참가자 목록 최적화(#750)
코어&UI: 기타 성능 최적화 및 버그 수정
코어: cordis@3으로 업그레이드
핵심: katex 처리 최적화
코어: 모니터 추가/훅 수집
판사: 수리 분석
판사: 독립 평가 시스템에서 처음으로 잘못된 테스트 데이터 동기화 문제를 수정했습니다.
마이그레이션: hustoj 가져오기 최적화
ui: 일부 영역에서 katex가 잘못 렌더링되는 문제를 수정했습니다.
핵심: 그룹별로 필터링하도록 경쟁 결과 버전을 최적화합니다.
핵심: 주입 -> 주입UI
핵심: 메모리 누수 수정
ui: /record?nopush=1
지원
판사: 캐시된 잘못된 테스트 데이터 수정(#726)
심사위원: 대회 중에 RuntimeError
세부정보를 표시하지 마세요.
core: 대회의 질문 파일이 PERM_VIEW_PROBLEM 검사를 건너뜁니다.
심사위원: 성능 최적화(@criyle에게 감사드립니다)
유틸리티: dissociation@hydrooj/register
핵심: 객관적인 질문에 대한 테스트 포인트 번호 확인 비활성화
core: 로그인 시 sessionId 전환
핵심: 최적화에는 후크가 필요합니다.
core: 높은 동시성에서 사용자 생성 실패 문제 수정
prom-client: pushgateway로 푸시 지원
core&ui: 압축된 평가 목록 페이지 ws 전송
utils: 테스트 포인트 식별 최적화
ui: 직렬 변환기 기능 제거
핵심: 설정 서비스 추가
fps: [md]
태그 지원
vjudge: codeforces: 주파수 제한 추가
마이그레이션: hustoj: Remote_oj 필드 지원
핵심: 기타 버그 수정
핵심: 상태 코드 예외 반환 문제 수정
핵심: 순위 페이지 동작 동기화
설치: Pascal 컴파일러가 더 이상 사전 설치되지 않습니다.
판사: 하트비트 패킷을 처리합니다.
핵심: 판단: 작업 할당 최적화
판사: 캐시 관리 최적화
core: conference_export_ghost: 팀이 순위에 참여하지 않은 경우 별표로 시작하는 팀 이름을 내보냅니다.
ui: 모나코 붙여넣기 작업 수정
ui: 사용자/질문 번호 일괄 붙여넣기 지원
새로운 기능:
core&ui&judge: 웹 페이지에서 테스트 데이터 생성을 지원합니다.
vjudge: yacs 지원 추가
핵심: 지원/기록?all=1
core&ui: ACM 경쟁 형식에서 테스트 포인트 세부 정보 숨기기
onsite-toolkit: IP 주소 기반 로그인 지원
core&ui: 웹 페이지에서 파일 이름 바꾸기 지원
core&judge: 단일 연결 내에서 여러 작업을 동시에 배포할 수 있습니다.
최적화 및 수정 사항:
핵심: 파일 이름 필터링 최적화
utils: 테스트 데이터 매칭 로직 최적화
설치: 캐디는 기본적으로 압축을 켭니다.
ui: 전체 부분 번역
설치: 기본적으로 mongodb6을 사용합니다.
핵심: 기록 페이지 성능 최적화 제출
판사: testlib 버전을 업데이트하세요
코어: 설치: 지지 스트립
ui: 업그레이드를 지원하는 최소 대상은 chrome65입니다.
core: 질문 검색 시 표시되는 질문 수 최적화
core: Ledo 대회 순위에 0점 제출 기록이 표시되지 않는 문제 수정
핵심: 경쟁 질문에서 file:// 대체 문제 수정
핵심: 토론: vnode 입력 확인
핵심: 기본 mongo 연결 옵션 제거
ui: 오류 페이지 에코 이름
ui: 로그인되지 않은 경우 도메인 간 WebSocket 연결 오류 문제 수정
핵심: 도메인 삭제로 인해 발생하는 pinnedDomains 중복 문제 수정
migration: hustoj: 이전 버전 시스템 질문에 소스 필드가 없는 문제를 처리합니다.
마이그레이션: UOJ 마이그레이션 스크립트 수정
ui: 반응 구성요소 수정
핵심: 리퍼러 확인
핵심: 풍선 분포 수정
기타 버그 수정 및 성능 최적화
core : 문제작성시 난이도 설정이 비정상적으로 나오던 문제 수정
핵심: 문서 색인 최적화
core&ui: 경쟁 풍선 기능
코어&UI: 설명
핵심: Webauthn 수정
가져오기: HOJ 지원 추가
판사: 주소 공간 제한(베타)
설치: 환경 변수를 사용하여 설치 영역 지정을 지원합니다.
ui: 로그인 시 사용자가 존재하지 않는 오류 수정
핵심: 로그인 리디렉션 수정
핵심: 잊어버린 비밀번호 이메일 전송 속도 제한 수정
핵심: 경쟁 논의 수정
ui: 질문 편집 페이지에서 하위 알고리즘 레이블 선택 수정
유틸리티: input1.txt 테스트 포인트 인식 수정
핵심: 목록 제출: 첫 페이지가 아닐 때 실시간 푸시 비활성화
판사: 종료 코드 인식 최적화
핵심: 경쟁 질문 제출 페이지 사이드바 수정
fps-importer: Remote_oj 필드 인식 수정
ui: 독립 소켓Url을 사용할 때 쿠키 전달 문제 수정
vjudge: csgoj 주제 크롤링 업데이트
vjudge: hduoj 지원
마이그레이션: hustoj: 가져올 때 존재하지 않는 이미지를 무시합니다.
core: oauth: 계정 연결에 OpenID 사용
핵심: 표시 이름을 기반으로 사용자 검색을 지원합니다.
핵심: 난이도에 따른 질문 검색 지원
ui: 홈페이지에서 경쟁 작업의 필터링 논리를 최적화합니다.
핵심: 테스트 포인트 식별 최적화
ui: 자체 테스트 입력에 대한 맞춤법 검사 비활성화
ui: 온라인 IDE: 설정 추가 페이지
핵심: 문제를 내보낼 때 난이도 정보 추가
ui: 특정 상황에서 마크다운 태그 완료 오류 문제 수정
import-qduoj: pid의 유효성을 확인합니다.
핵심: 작업 목록 정렬
ui: 토론 편집기 표시 수정
핵심: pwsh 함수 내보내기
vjudge: codeforces: 경쟁 921 크롤링 예외 수정
핵심: 엄격한 일치 점수 수정
ui: 참가한 훈련 목록 표시 수정
핵심: 게임 시작 전 점수판 비활성화
ui: 도메인에 사용자를 추가할 때 기본 및 게스트 옵션 숨기기
핵심: 관리자가 모든 그룹을 필터링할 수 있도록 허용
ui: 언어 필터링 수정(#598)
ui: 토론 반응 수정
vjudge: Codeforces 제출 결과 획득 수정
핵심: 시스템 자체 테스트 기능 최적화
vjudge: 세부 설정 지원 (#582)
ui: 비디오 자동 재생 비활성화
설치: 설치 중 UOJ에서 자동으로 데이터 가져오기 지원
ui:referredPrefix의 비정상적인 기능 문제 수정
core: 경쟁 코드 내보내기 기능이 플레이어가 제출한 바이너리 파일을 처리할 수 없는 문제 수정
핵심: 사용자 참여 순위 상태를 표시하도록 경쟁 관리 수정
core&ui: 그룹별 대회/과제 필터링 지원
core: spj 컴파일 시간 초과 및 기타 세부 정보 표시
core&ui: 질문 가져오기: 질문 번호 재정렬 지원
코어: 로더: Git 통합 추가
설치: k3s 설치 예 추가
핵심: 기본적으로 소문자 파일 이름만 사용합니다.
ui: 대회에서 객관적인 질문에 대해 암기된 답변을 무시합니다.
핵심: langs.domain 옵션 제거
core: 메일함 수정 후에도 이전 메일함이 계속 점유되는 문제 수정
ui: 일부 스타일 수정
ui: 객관적인 질문: 마지막으로 선택한 답변을 기억하고 빠른 질문 건너뛰기 추가를 지원합니다.
핵심: $HOME/.hydro를 사용하여 임시 파일을 저장합니다.
core: import: 가져올 때 PID가 적합한지 확인하세요.
ui: validAs 관련 언어 자체 테스트 지원 추가
ui: 유연한 시간 모드에서 게임 진행률 표시줄이 표시되는 문제를 수정했습니다.
핵심: 가져오기 사용자 식별 최적화
ui: 편집기 글꼴 크기 기억
핵심: 태그로 질문 검색 지원
core&ui: 경기 결과 테이블 및 훈련 지원 그룹 기반 필터링
판사: 병렬 우선순위 처리 추가
core: 도메인 설정 작업에 대한 작업 로그 추가
핵심: 저장: 파일 저장 시 -_ 등의 문자를 사용하지 마세요.
core: 평가 기록 목록 페이지에서 대기 제출 필터링이 적용되지 않는 문제 수정
ui: Typescript 언어 서비스가 비정상적으로 작동하는 문제 수정
ui: 도메인 빠른 탐색 스위치 추가
핵심: PERM_VIEW_HIDDEN_CONTEST 및 PERM_VIEW_HIDDEN_HOMEWORK 권한 추가
ui: 번역 최적화
핵심: langs: validAs 옵션 추가
마이그레이션: UOJ 지원 추가
코어&UI: 기타 버그 수정 및 최적화
ui: 객관적인 질문: 여러 줄의 답변 허용
core: pinnedDomains를 수정할 수 없는 문제 수정
설치: 기본 제한을 늘립니다.
ui: 경쟁 팝업 알림 최적화
핵심: 경쟁 플레이어 관리 페이지의 시간 계산 수정
core: cli: 질문을 내보낼 때 기본 질문 ID 생성
코어: 덤프: --dbOnly 매개변수 지원
core: 사용자 가져오기: 중복 정보 확인
ui: 기본 저작권 정보 변경
core: 순위 순위에 따른 훈련 지원
ui: 템플릿 핫 리로딩
fps-import: 원격 평가 질문 처리 지원
vjudge: VERDICT.WAITING 속성 추가
ui: 테스트 데이터의 자동 식별 최적화
vjudge: Yitong 프로그래밍 계몽 지원 추가
ui: problemset/download
후크 추가
ui: 인쇄 모드에서 일부 컨트롤 숨기기
핵심: 심볼릭 링크를 사용하여 애드온 생성
ui: 평가 기록 페이지에 코드 줄 번호가 표시됩니다.
핵심: 압축을 푼 질문 폴더에서 질문 가져오기 지원
핵심: setJudge 시 PRIV_UNLIMITED_ACCESS 추가
core: 게임 내 토론이 게임 진행과 함께 삭제되지 않는 문제 수정
vjudge: codeforces: 로그인 확인 로직 업데이트
ui: 질문 제출 페이지에 프롬프트 표시
핵심: 사용자 캐시 업데이트
core: 하트비트 패킷에 응답하지 않는 Websocket 연결을 강제로 종료합니다.
핵심: 가져온 질문에 대한 기본 태그 설정
핵심: Python2는 기본적으로 비활성화되어 있습니다.
핵심: 탐색 모음 재정렬 지원
ui: 경우에 따라 편집 모드로 진입하는 버튼이 적용되지 않는 문제를 수정했습니다.
핵심: Hydrooj 패치 기능 추가
핵심: 작업에서 자신이 제출한 내용을 볼 수 있습니다.
핵심: 기타 버그 수정
핵심: 엄격한 점수판 표시 문제 수정
핵심: 일반 사용자가 게임 토론을 볼 수 있도록 허용
핵심: 시작 시 자동으로 정적 리소스 폴더 생성
core: 다른 UI 모듈의 사용을 허용합니다.
판사: 파일 IO 질문 출력 리디렉션 문제 수정
핵심: 더 이상 게스트 사용자에게 sessionId를 할당하지 않습니다.
판사: 질문 답변 제출 수정
ui: websocket: 하트비트 패킷 추가
심사위원: 객관식 문제 수정 및 파일 IO 문제 제출 수정
판사: compile_time_limit 옵션 추가
핵심: kotlin 및 pypy3 사전 설정 추가
ui: 점수판: 자동 업데이트 지원
core: 콘테스트: 순위가 마감된 후 관리자가 실시간 점수를 볼 수 있도록 허용합니다.
판사: 주제별 언어 시간 및 공간 제한 배율 설정 지원
설치: hustoj 데이터 자동 가져오기 지원
install: 설치 소스 지정을 지원합니다.
core: npmjs에서 플러그인 자동 설치 지원
코어&UI: 버그 수정
심사위원 : 가장 낮은 평가 우선순위를 설정
핵심: 일부 경쟁 형식에서 순위가 마감된 경우 제출 목록을 계속 볼 수 있는 문제를 수정했습니다.
핵심: 토론 인증 최적화
판사: 통합 콜백 평가 상태 에코 최적화
판사: processTestdata
단계 제거
심사위원: 객관식 문제 과제 점수 에코
핵심: 테스트 데이터 구조 평면화
core: rp: 경기 점수 수정
core&ui: OAuth를 처음 사용할 때 비밀번호가 필요합니다.
ui: 평가 설정 UI 업그레이드
설치: 시스템 메모리에 따라 wtCacheSize를 조정합니다.
ui: 로딩 속도 최적화
핵심: 도메인 ID 사례 감지
ui: 탐색 모음 필드 인덱스
ui: 권한 그룹별 작업/경쟁 필터링 지원
판사: Javascript 기본 인터프리터를 노드로 설정
판사: 완료되지 않은 질문을 삭제하면 평가 대기열이 중단되는 문제를 수정했습니다.
코어: mongodb@5로 업그레이드
ui: 평가 세부정보에 하위 작업 점수 표시
core: 테스트 데이터 파일 이름이 공백으로 시작하여 비정상적으로 동작하는 문제 수정
dev: devcontainer 환경 업그레이드
ui: IDE 페이지 레이아웃 최적화
ui: 수명 주기 관리를 위해 cordis 사용(기존 버스 제거)
블로그: 독립형 @hydrooj/blog
플러그인으로 기능 이동
코어: 동적 설정 지원
판사: 성능 모드(단일 포인트 콜백 끄기)
ui: 작업에 대한 설정 관리자 지원
핵심: 제출 언어 화이트리스트에 대한 답변 질문 공개
import-qduoj: 빈 태그로 인해 가져오기가 실패하는 문제를 수정했습니다.
ui: 서비스 워커 로직 단순화
ui: 훈련 계획에 참여하지 못하는 문제를 수정했습니다.
핵심: 사용자 반환 필드 목록 단순화
코어&UI: 콘테스트.rule.ioi.strict
기타 버그 수정 및 경험 최적화
핵심: 입력 자체 테스트가 없는 문제 수정
core: EndpointForUser의 도메인 이름 불일치로 인해 발생하는 잘못된 토큰 문제 수정
코어: isBinaryFile 확인 제거
핵심: AllowViewCode 설정 수정
코어: cli: 몽고시를 선호합니다
작업 공간: @hydrooj/eslint-config
패키지 제공
기타 버그 수정 및 경험 최적화
핵심: 질문 제출 답변 수정
ui: 작업 페이지 편집 및 삭제 작업 수정
vjudge: Adapt codeforces 새 인터페이스
핵심: 빈 $set
작업 필터링
ui: domain_dashboard 페이지에 도메인 생성자가 표시됩니다.
판사: 해킹 수정
core: 제출 시 선택한 언어가 존재하는지 확인하세요.
core: 시작을 멈추게 하는 문제 감지를 지원합니다.
core: 특정 상황에서 등급 정보를 작성할 수 없는 문제 수정
핵심: 더 많은 유효성 검사기 필드 유형 지원을 추가하고 이전 버전의 유효성 검사기를 제거합니다.
코어&UI: CORS 지원
ui: 모듈의 지연 로딩 지원
ui: 이메일 로그인 수정
ui: 사이트 내 메시지가 비정상적으로 표시되는 문제 수정
vjudge: luogu: 로그인 수정
심사위원: 일부 객관식 문제가 미답으로 남아 평가 오류가 발생하는 문제를 수정했습니다.
핵심: ConnectionHandler
@subscribe(event)
지원합니다.
util: Message.sendNotification
의 비정상적인 형식 문제 수정
핵심: 데이터베이스 최적화
핵심: 사용자 아바타 확인
판사: onDestory 후크를 제거하고 대신 일회용품을 사용하세요
ui: 리소스 로딩 최적화
core&ui: webauthn 지원 추가
ui: 문제 해결책 투표 수정
ui: 대회 세부정보 페이지 레이아웃 최적화
ui: 빠른 검색에서 리뷰 기록 링크 수정
핵심: Types.ArrayOf()
지원 추가
ui: 사이드바 미리보기 저장 문제 수정
core: CookieDomain 설정 추가
ui: 개발 모드에서 페이지 무한 새로고침 문제 수정
vjudge: BasicFetcher 구성요소 제공
코어: DomainModel 캐시
코어&UI: 기타 버그 수정
핵심: Ledosai 지원 추가
vjudge: 인형극 관련 종속성 제거
심사위원: 객관식 문제에 대한 답변이 설정되지 않은 경우 평가 결과가 반환되지 않는 문제를 수정했습니다.
ui: 기본적으로 홈페이지 오른쪽에 있는 검색 모듈을 제거합니다.
ui: 사이트 내 아바타 업로드 모듈 추가
핵심: 매치 생성자가 숨겨진 점수판을 볼 수 있도록 허용
핵심: 토론이 생성 시간별로 정렬되도록 변경되었습니다.
ui: 문제 솔루션 투표 에코 수정
핵심: 비밀번호 검색 링크 합성 오류 문제 수정
판사: 파일 IO 질문 컴파일 출력 제한이 너무 작은 문제 수정
핵심: %
키워드로 사용하면 질문 검색 시 오류가 발생하는 문제를 수정했습니다.
core: 공모전 질문 목록에 제출 기록 모듈이 표시되지 않는 문제 수정
ui: 토론 포럼의 일부 이모티콘 사전 설정 ID가 실제 이미지와 일치하지 않는 문제를 수정했습니다.
설치: 성능 향상을 위해 기본적으로 vm.swappiness=1을 설정합니다.
ui: 쿼리 조건이 설정되면 일반 사용자가 평가 기록을 페이지 단위로 열람할 수 있도록 허용합니다.
ui: 제출 기록 목록에 점수 취소 버튼을 추가합니다.
core: 특정 상황에서 접속 로그가 기록되지 않는 문제 수정
작업 공간: pnpm 지원
작업공간: 모카 제거
핵심: handler/before/Name#method
사용한 필터링을 지원합니다.
심사위원: 성능 최적화
ui: 평가 기록 목록에서 다시 테스트를 클릭하면 페이지가 더 이상 새로 고쳐지지 않습니다.
ui: 전역 빠른 검색 지원
핵심: 문제 목록: 제한 매개변수 지원
핵심: 기본 토론 노드 목록 간소화
핵심: 유효성 검사기: 이중 중국어 문자도 유효한 사용자 이름으로 간주됩니다.
판사: 목표: 다답형 질문 지원
핵심: 문제통계: 성적이 취소된 제출물 무시
ui: 토론 편집 Ctrl+Enter 단축키 수정
ui: 토론 주제 기능 잠금 수정
핵심: 작업 인증 설정 최적화
핵심: 고정 목록 금지 기능
ui: 콘테스트: 참가자를 수동으로 관리할 수 있습니다.
ui: 콘테스트: 경쟁 중 방송 메시지 알림 지원
ui: 기타 버그 수정 및 성능 최적화
fps: 질문에 빈 파일이 있어서 가져오기에 실패하는 문제를 수정했습니다.
핵심: 사용자를 차단할 때 추가 이유 지원
vjudge: codeforces: 액세스할 수 없는 1769 및 1772 일치 항목 건너뛰기
UI : 좋아하는 질문 작업은 더 이상 페이지 새로 고침을 유발하지 않습니다
코어 : 재시험시 질문 구성 파일의 유효성을 확인하십시오.
핵심 : 종료시 임시 파일을 자동으로 정리하십시오
핵심 : 파일 이름으로 사용하는 것이 좋습니다
import-Qduoj : 불법적 인 질문을 건너 뛰십시오
핵심 : 답변 질문 제출을위한 경쟁 코드 수출 수정
판사 : Stdiolimit 항목을 추가하십시오
ui : message.flag_alert 디스플레이를 수정합니다
핵심 : 교육은 파일을 업로드 할 수 있습니다
UI : 경쟁 내비게이션 바 최적화
UI : 일치 결과 테이블은 다음 팀을 지원합니다
핵심 : 경쟁/일자리를 복제 할 수 있습니다
UI : 경쟁 편집 페이지에 기능 입구를 추가하십시오
핵심 : 스타 경쟁을 지원합니다
핵심 : 전체 질문을 다시 테스트 할 때 취소 된 점수 제출을 건너 뜁니다.
핵심 : 경쟁에서 ID를 기반으로 질문 검색 기능 수정
판사 : TestLib 오류 메시지의 비정상적인 표시 문제 수정
샌드 박스 : 기본 STDIO 한도를 늘리십시오
핵심 : 토론 기록에서 예외 문제를 해결하십시오
핵심 : 일일 작업의 실행 속도를 최적화하십시오
핵심 : 사용자 세부 사항 페이지는 사용자가 최근에 참여한 경쟁/과제를 표시하는 지원을 지원합니다.
판사 : 기본 언어 목록에 Bash를 추가하십시오
vjudge : CLI 모드에서로드를 건너 뜁니다
LSP : 자동 완료 프롬프트가 수정되었으며 수동으로 업데이트해야 할 수도 있습니다.
판사 : Diff 출력 최적화
설치 : 기본적으로 MongoDB URI는 데이터베이스 연결 방법으로 사용됩니다.
UI : 사용자 배경이로드되지 않을 때 기본 배경으로의 폴백
파일 경로는 사례에 민감하도록 변경됩니다.
프론트 엔드 플러그인은 import { ... } from '@hydrooj/ui-default'
사용하여 내장 라이브러리를 소개합니다.
ctx.inject('Notification')
여러 줄의 텍스트 삽입을 지원합니다.
코어 : 게임 스코어 보드 페이지의 성능을 최적화했습니다
핵심 : 지원 사용자를 가져올 때 사용자가 속한 그룹 및 학교 지정
Core & UI : 기타 버그 수정 및 성능 최적화
UserModel.getListForRender(domainId, uids)
메소드를 추가했습니다.
IHandler.response.pjax
속성을 추가하십시오.
핵심 : 문제를 제거하십시오
핵심 : 경쟁 후 질문이 여전히 숨겨져있는 경우 코드를 볼 수없는 문제를 수정했습니다.
UI : IE 브라우저에서 바닥 글 표시를 수정했습니다
판사 : 레몬 체커 문제가 비정상적으로 빠져 나가는 문제를 해결하여 질문 점수가 0이됩니다.
UI : 관리 측면에서 Firefox 호환성 경고를 최적화하십시오
UI : FPS 질문을 가져온 후 FPS 질문 표시를 최적화하십시오.
UI : IE 브라우저 디스플레이 언어 인식 문제 수정
설치 : 설치된 Pagoda 환경을 감지하고 비 호환성 경고를 던집니다.
UI : 일부 오류 프롬프트를 최적화하십시오
마이그레이션 : 성능 최적화
Vjudge : Codeforces 제출 레코드 크롤링 예외 문제를 수정하십시오
ProblemModel.getList()
그룹 매개 변수를 제거하고 후속 매개 변수를 앞으로 움직입니다.
cordis
2.6으로 업그레이드했습니다
검토 세부 사항 페이지가 특정 상황에서 바로 업데이트되지 않는 문제를 수정했습니다.
TestLib SPJ 오류를 사용자쪽에 반환합니다
문제 파일을 관리자 쪽에서 미리 볼 수없는 문제를 수정했습니다.
nodejs에 대한 결말 지원 <14
UI : API : 업데이트 된 API 워크 벤치
판사 : 환경 변수에서 R을 제거하고 Python 패키지 추가 설명
UI : 일부 권장 링크를 수정했습니다
PROM-CLIENT : 기록 이벤트 정보를 기록하십시오
핵심 : 컨테스트 : 컨테스트 정보 내보내기 정보를 고스트 형식으로 지원합니다
핵심 : 컨테스트 : 경쟁에서 제출 및 패스 계산 최적화
핵심 : 컨테스트 : 목록을 닫을 때 제출중인 보류를 표시합니다
판사 : 객관적인 질문이 답변으로 설정되지 않은 문제를 수정하여 평가를 건너 뜁니다.
Core : CSRFTOKENERROR 및 DOMAINNOTFOUNDERROR ECHO 최적화
핵심 : 서버 : WebSocket 오류를 포착합니다
핵심 : 유효성 검사기 : 빈 사이트 메시지 전송 문제 수정
기타 버그 수정 및 성능 최적화
질문 세부 사항 페이지에서 ScratchPad.store는 창에서 공개적으로 액세스 할 수 있습니다.
Caddy는 설치 중에 자동으로 설치되며 포트 80에서 경청하도록 리버스 프록시를 구성합니다.
hydrooj install <src>
및 hydrooj uninstall <name>
사용하여 플러그인을 신속하게 관리합니다.
도메인-> 도메인 프로파일 편집에서 언어 선택에 대한 자동 완성이 추가되었습니다.
OI 경쟁 형식으로 제출 된 코드보기를 지원합니다.
Import-QDUOJ : SPJ 질문 수입을 지원합니다.
FPS-Importer : FPS 파일 버전 1.4에 적응합니다.
다른 버그 수정 및 경험 최적화.
번역 파일을로드하기 위해 ctx.i18n.load(lang, Record<string, string>)
사용하여 지원합니다.
클래스 프로토 타입을 얻으려면 ctx.withHandlerClass(name, callback)
지원하십시오.
PROM-CLIENT : Custom ConnectionAndler보고 분류를 지원합니다.
handler.ctx를 handler.context로 이동하면 새 handler.ctx는 plugincontext입니다.
프레임 워크/예제/설치/이 프로젝트의 컨텐츠는 MIT 라이센스에 따라 라이센스가 부여되며 자유롭게 사용할 수 있습니다.
이 프로젝트에서 패키지/ UI-Default/의 콘텐츠는 AGPL-3.0으로 만 승인됩니다.
나머지 프로젝트는 이중 라이센스를 사용합니다.
이 코드를 AGPL-3.0 라이센스와 다음 추가 이용 약관에 따라 무료로 사용할 수 있습니다.
실제로 폐쇄 소스가 필요한 경우 다른 라이센스를 구매하려면 당사에 문의하십시오.
AGPL3 계약 제 7 조에 따라이 프로젝트를 사용할 때 다음 추가 약관을 준수해야합니다.
이 항목의 저작권 통지 및 저자/소스 속성을 제거하지 마십시오 (AGPL3 7 (b)).
이 소프트웨어의 수정 된 버전을 재분배 할 때는 소프트웨어 이름 또는 버전 번호로 명확하게 표시되어야합니다.
저자의 이름은 허가를 제외하고 홍보 목적으로 사용될 수 없습니다 (AGPL3 7 (d)).
지금 바로:
Hydro를 배포 할 때 Powered by Hydro
을 바닥에 유지해야하며 Hydro
라는 단어는 hydro.js.org/本仓库/fork
중 하나에 대한 링크를 가리켜 야합니다.
소스 코드를 수정 Powered by Hydro, Modified by xxx
확장하면 AGPL-3.0 또는 Later에서 공개적으로 공개해야합니다.
Contributing.md를 참조하십시오
링크 사전 순서로 특별한 순서로 순위
Github는 Hydro 용 코드 호스팅 및 자동화 된 빌드를 제공합니다.
Criyle은 검토 샌드 박스 구현을 제공합니다.
Vijos는 Hydro에 대한 UI 프레임 워크를 제공합니다.
Yun Dou Academy