추상 위키백과/단계
추상 위키백과의 개발은 각각 많은 수의 과제로 구성된 두 가지 주요 부분으로 진행됩니다. 파트 P1은 함수위키 개발에 관한 것이고 파트 P2는 추상적인 내용과 자연어 생성에 관한 것입니다. 이 페이지에서는 파트 P1의 작업을 각각 주어진 작업의 일부 작업을 다루는 단계로 세분화합니다. 아래에는 작업과 단계가 더욱 세분화 된 파브리케이터에 대한 링크가 포함되어 있습니다.
이 위키 페이지는 오래되었을 수 있습니다. 작업에 대한 정보의 표준 위치는 파브리케이터입니다. 파브리케이터에서 현재 상태를 찾으세요.
함수 위키를 시작하기 전에 약 10단계가 걸릴 것으로 예상됩니다.
아래의 모든 단계는 달리 표시되지 않는 한, 과제 P1.2: 초기 개발에 따른 작업을 다룹니다.
파트 P1: 함수의 위키
알파(α) 단계: 저장 및 표시, 헤더 편집 — 완료 2020-08-25
- 복제 가능한 개발 환경 구축합니다. — 작업 T258893
- 완료 확장을 시작하세요. — 작업 T258893
- 완료 구성이 작동하고 부트 스트랩 콘텐츠를 업로드합니다.
- 완료 기존 JSON ContentHandler를 재사용합니다. — 작업 T258893
- 완료 원시 편집 인터페이스를 통해 JSON 객체를 입력할 수 있습니다. — 작업 T258893
- 완료 JSON 객체의 검사기를 확장하고 하드 코딩하여 Z객체의 형식이 올바른지 확인합니다. 제대로 구성되지 않은 것은 더 이상 처리되거나 저장되지 않습니다. 올바른 형식은 아마도 PHP와 JS 코드에서 확인되어야합니다 (어쨌든 작성하기 쉬울 것입니다).
- 완료 PHP에서. — 작업 T258894
- 잘 만들어진 형식: 키 구문과 허용되는 키, 값은 문자열 또는 프로토 객체 또는 값 목록입니다. — 작업 T258894
- 완료 저장된 모든 최상위 Z객체는 Z2/영구 객체여야합니다. — 작업 T258897
- 완료 하나의 키를 제공하는 Z1/객체 생성. Z1K1/유형.
- 완료 Z1K1/유형을 확인하는 하드 코딩된 검증자 확장.
- 완료 Z2/영구 객체 생성. — 작업 T258897
- 완료 Z2/영구 객체에는 Z2K1/ID 및 Z2K2/값 키와 Z2K3/프로토-레이블 키가 있으며 후자는 언어 정보가 없는 단일 문자열입니다. — 작업 T258897
- 완료 지금까지 Z2/영구 객체에 대한 하드 코딩된 검증자를 확장합니다. — 작업 T258897
- 완료 Z2/영구 객체(즉, 헤더)에 대해 하드 코딩된 디스플레이를 제공합니다(아주 큰 과제). — 작업 T258898
- 완료 Z2K2/값 객체에 대한 일반 보기를 제공합니다. — 작업 T258898
- 완료 Z2K3/프로토-레이블을 다국어 텍스트에 적합한 Z2K3/레이블로 전환합니다.
- 완료 다국어 텍스트로 Z2K3/레이블 보기를 확장합니다.
단계 완료 조건: [미디어위키 확장이 설치된 사이트의] 사용자로서 새로운 Z객체로 문자열을 생성하고 저장할 수 있습니다. "e.g." "Hello world!".
베타(β) 단계: 유형 및 인스턴스 생성 — 완료 2021-02-04
- 완료 Z4/프로토-유형 및 Z3/프로토 키에 대한 하드 코드된 검증자. — 작업 T258900
- Z4에는 Z3의 json 리스트가 있는 Z4K2/키가 있습니다.
- 프로토-키에는 Z3K1/ID 및 Z3K2/유형, Z3K3/레이블이 있습니다(Z2K3용 레이블 개발을 반영하시겠습니까?).
- 완료 Z4/유형 및 Z3/키(과제 P1.14)를 만듭니다.
- 완료 레이블로 Z객체를 검색합니다. — 작업 T260750
- 이 단계에서 완료 객체의 유효성을 검사하기 위해 Z4 유형 데이터 및 키 선언을 사용합니다. — 작업 T260861
- 완료 객체의 일반보기에 Z4 유형 데이터 및 키 선언을 사용합니다. — 작업 T258901
- 완료 객체 편집 및 생성에 Z4 유형 데이터 및 키 선언을 사용합니다. — 작업 T258903 & 작업 T258904
- 완료 Z12 유형에 대한 하드 코딩 된 디스플레이 및 편집 인터페이스를 제공합니다. — 작업 T258900
단계 완료 조건: 사용자는 위키에서 정의된 모든 유형(예를 들어, 양의 정수)을 구현하는 객체를 만들고 저장할 수 있습니다.
감마(γ) 단계: 함수, 구현, 오류 — 완료 2021-04-02
- 완료 간단한 오류 객체를 소개합니다. — 작업 T261464
- 완료 간단한 함수를 소개합니다. — 작업 T258957
- 완료 지금은 내장 기능만 있는 간단한 구현을 소개합니다. — 작업 T258958
- 완료 몇 가지 함수와 내장 함수를 만듭니다. — 작업 T261474
- 완료 간단한 함수 호출 유형을 소개합니다. — 작업 T261467
- 완료 테스터 유형 (과제 P1.10). — 작업 T261465
단계 완료 조건: 사용자로서 함수 호출과 함수 및 테스터(객체 만, 아직 실제 평가 없음)를 저장할 수 있습니다. 예를 들어, if(true, false, true)
("참이면 거짓, 그렇지 않으면 참"으로 읽으면, "즉" 부정)
델타(δ) 단계: 내장 기능 — 완료 2021-05-11
- 완료 빌트인 평가 시스템. — 작업 T260321
- 완료 웹 사용자가 API 모듈(과제 P1.5)를 통해 평가를 호출 할 수 있습니다. — 작업 T261475
- 완료 평가 호출을 위한 특별 페이지입니다(과제 P1.11). — 작업 T261471
단계 완료 조건: 사용자는 특수 페이지를 사용하여 제공된 입력이 있는 내장 함수를 평가할 수 있습니다. 예를 들어, 빈 목록이 비어 있는지 확인합니다.
엡실론(ε) 단계: 네이티브 함수 호출 — 완료 2021-06-30
- 완료 자바 스크립트 구현 (과제 P1.12). — 작업 T275944
- 완료 파이썬 구현 (과제 O6). — 작업 T273517
- 완료 평가를 위해 양식을 포함 할 수 있습니다. — 작업 T261472
단계 완료 조건: 사용자는 특수 페이지를 사용하여 지원되는 언어 중 하나로 사용자가 작성한 함수를 평가할 수 있습니다. "예를 들어" 파이썬에서 사용자 작성 함수를 호출하여 두 숫자를 더할 수 있습니다.
제타(ζ) 단계: 컴포지션 — 완료 2021-08-27
- 완료 컴포지션 구현 허용 (과제 P1.6). — 작업 T261468
단계 완료 조건:
- 사용자는 직접 작성하는 것이 아니라 다른 함수를 조합하여 함수를 구현할 수 있습니다. 예를 들어,
negate(Boolean → Boolean)
. — 완료 - (스트레치 조건) 사용자는 해당 기능 구현 페이지에서 테스터의 결과를 볼 수 있습니다. [이 시점에서 모든 요구 사항이 충족되지 않을 수 있으므로 이후 단계로 이동해야 할 수도 있습니다. 요타(ι) 단계에 의해 수행되어야합니다] — 완료
에타(η) 단계: 제너릭 유형 — 완료 2022-04-08
- 완료 특히 Z10/리스트 및 Z8/함수에 대한 제너릭 유형을 허용하고 Z10/리스트 및 Z8/함수를 대체합니다. ― 작업 T275941
- 완료 오류는 Z객체처럼 처리될 수 있습니다.
- 완료 사용자 정의 유형은 유효성 검사기와 함께 작동합니다.
단계 완료 조건:
curry
를 위키에서 컴포지션으로 구현할 수 있지만 엄격한 정적 분석이 필요하지 않음 — 완료- 위키에서 다음 세 가지 '사용자 정의' 유형 생성 가능:
positive integer
,sign
그리고integer
— 완료 - 위키에서 작성을 통해 일반 감싸기(래퍼) 유형을 만들 수 있음 — 완료
해당 단계에 대한 이 업데이트도 참조하세요.
세타(θ) 단계: 해동 및 동결 — 완료 2023-06-19
- 완료 콘텐츠 동결 및 해동 (과제 P1.7). ― 작업 T275942
- 완료 과제 P1.9: 보안 검토를 통과. — 작업 T274682, …
- 완료 공개 테스트 시스템 시작 (과제 P1.4). — 작업 T261469
단계 완료 조건:
- 시스템 관리자로서 사용자가 작성한 모든 객체를 동결 및 동결 해제할 수 있습니다(미디어위키의 보호 시스템과 유사하거나 동일할 수도 있음). 모든 시스템 제공 객체는 영구적으로 동결됩니다.
- 동결된 페이지를 편집하는 사용자는 레이블을 변경할 수 있지만 구현은 변경할 수 없지만 동결해제된 페이지에서는 둘 다 가능합니다.
- Z객체는 유형이 지정된 목록에 대한 새로운 표준 형식을 사용하여 저장되며 모든 부분은 여전히 작동합니다.
- 보기 및 편집 기능이 구현되고 성공적으로 테스트되었습니다.
- 여러 구현을 사용할 수 있는 경우 "최상"이 선택됩니다. (체력 판정은 추후 변경될 수 있습니다.)
- 각 함수의 실행 시간과 메모리 사용량을 측정하여 실행 결과 및 구현/테스트 테이블에 표시합니다.
- 시스템 정의 Z객체에 대한 편집은 올바른 권한을 가진 사용자로 제한됩니다. 이해할 수 있는 diff가 생성됩니다. 결과가 캐시됩니다.
- 대체, 참조, 문자열, 목록이 있는 텍스트가 성공적으로 구현 및 테스트되었습니다.
- 팀이 위키함수에 기여하는 방법과 그 이유에 대해 커뮤니티와 공유된 이해가 문서화되어 있습니다.
- 모바일 및 데스크탑에서 다국어 문서를 보고 편집할 수 있는 디자인이 승인되었습니다. UX가 계측되고 데이터가 수집됩니다.
요타(ι) 단계: 객체 문서화
- 이것은 예비 과제이며 문서화 작업을 여기로 이동합니다.
- 헤더에 대한 편집을 제공합니다(완전한 원시 편집에 추가로)(이것은 매우 큰 작업입니다) — 실제로는 레이블만 참조합니다.
- 다국어 텍스트로 Z2K3/레이블 편집을 확장합니다.
- Z2K4/문사화로 헤더를 확장하세요. — 작업 T260954 & 작업 T260956
- Z2K4/문서를 다루기 위해 편집을 확장합니다. — 작업 T260955
단계 완료 조건: 사용자는 위키 텍스트를 사용하여 지원되는 모든 언어로 Z객체를 문서화 할 수 있습니다.
카파(κ) 단계: 뒤처리
- 모든 사전 실행 작업을 닫기 위해 작업을 강화하고 정리합니다.
단계 완료 조건: 추상 위키백과 팀으로서 우리는 모든 관련 동료의 승인을 포함하여 출시 준비가 되었다고 생각합니다.
람다(λ) 단계: 출시
- 람다(λ) 단계는 출시를 의미합니다. 이를 방지하는 사전 출시 작업이 있다면 당연히 그렇게 하세요.
- 새로운 위키미디어 프로젝트를 구축합니다.
- 프로젝트에 대한 일부 위키 페이지를 메타에서 위키함수로 이동하세요.
단계 완료 조건: 웹에 있는 사람으로서 저는 Wikifunctions.org를 방문하여 사이트에서 직접 기능을 작성하고 실행할 수 있습니다.
단계화되지 않은 과제
수행해야 하지만 아직 단계적으로 진행되지 않은 사전 출시 작업: