추상 위키백과/예약된 ZID

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search
This page is a translated version of the page Abstract Wikipedia/Reserved ZIDs and the translation is 100% complete.

메일링 리스트를 통한 추상 위키백과 IRC의 추상 위키백과 텔레그램의 위키함수 트위터의 위키함수 페이스북의 위키함수 유튜브의 위키함수 위키함수 웹사이트 Translate

함수 위키는 현재 몇 가지 설정시 정적 Z객체를 로드합니다. 시간이 지남에 따라 몇 가지 더 필요합니다.

이 페이지는 얼마나 많은 ZID를 예약해야하는지, 연속해야하는지 여부, 그리고 이러한 첫 번째 ZID가 무엇이어야 하는지에 대한 재미있는 바이크 셰딩 토론에 관한 것입니다. 이것은 또한 위키데이터에서 다소 인기가 있는 것으로 입증된 기능인 이스터 에그를 심는 장소가 될 수 있습니다.

토론을 단순화하기 위해 현재 우리는 함수 위키를 실행하는 소프트웨어의 연합 인스턴스를 가질 수 있는 미래 가능성과 그것이 어떻게 작동 할 것인지에 대해 생각하지 않습니다. 우리는 함수 위키 자체에 대해 어떤 ZID를 예약해야 하는지에 대해서만 생각하고 있습니다.

예약 된 ZID는 연속적이어야합니까?

네.

"4자리 이하의 모든 ZID가 예약되어 있습니다"라고 말하는 데에는 어떤 단순성이 있습니다.

또한 모든 ZID를 특정 숫자 이하로 예약하고 이스터 에그 또는 특정 이유로 더 큰 ZID를 추가로 예약하는 하이브리드 모델도 있습니다(위키데이터가 수행한 작업입니다).

얼마나 많은 ZID를 예약해야합니까?

4자리 이하의 모든 ZID를 예약하겠습니다.

모든 핵심 객체는 3자리 이하의 ZID에 있으며 언어에 대해 4자리 ZID를 유지합니다.

이것은 토론 페이지와 파브리케이터에서 공동체 구성원이 작성한 대략적인 제안을 따릅니다. 특히 우리는 공간을 포장하지 않을 것입니다.

현재 예약된 ZID

Tracked in Phabricator:
task T258914

범위

사전에 정의된 특정 종류의 객체를 위해 특정 공간을 예약합니다.

  • Z1 – Z99: 핵심 유형. (아래의 § 핵심 유형을 참조하세요.)
  • Z100 – Z199: 핵심 유형에 대한 검증자(즉, 각 핵심 유형에 대해 +100은 검증자를 제공함), 예를 들어 Z104는 Z4/유형의 검증자입니다.
  • Z200 – Z299: 핵심 유형의 검증자에 대한 기본 제공 구현(즉, Z204는 Z4/유형에 대한 검증자에 대한 기본 구현임)
  • Z300 – Z399: 지금은 할당되지 않음
  • Z400 – Z499: 로컬 사용을 위해 예약됨
  • Z500 – Z599: 핵심 오류 유형(Z5는 오류이므로 Z5xx) (아래의 § 핵심 오류 유형을 참조하세요.)
  • Z600 – Z699: 핵심 프로그래밍 언어(Z61은 프로그래밍 언어이므로 Z6xx)
  • Z700 – Z799: 지금은 할당되지 않음
  • Z800 – Z899: 내장된 핵심 함수의 정의(Z8은 함수이므로 Z8xx) (아래의 § 핵심 함수를 참조하세요.)
  • Z900 – Z999: 핵심 함수 내장(각각의 Z8xx에서 +100입니다)
  • Z1000 – Z1999: 자연어 (Z60의 인스턴스)
  • Z2000 – Z6999: 향후 사용을 위해 예약됨
  • Z7000 – Z7999: NLG에 사용되는 실험용이 변경됩니다.
  • Z8000 – Z8999: 사전 정의된 각 기능에 대한 테스터("예" Z801은 Z8010, Z8011, Z8012, … Z8019를 통해 테스트됩니다.)
  • Z9000 – Z9999: 향후 사용을 위해 예약됨

핵심 유형

  • Z1: Z객체, 루트.
  • Z2: 영속적 객체(Persistent object) (유형) : 위키의 모든 것이 Z2이므로 ZID가 낮습니다.
  • Z3: 키(Key) (유형) : key라는 단어에는 영어로 된 세 글자가 있기 때문입니다.
  • Z4: 유형(Type) (유형) : type이라는 단어에는 영어로 된 네 글자가 있기 때문입니다.
  • Z5: 오류(Error) (유형) : error라는 단어에는 영어로 된 다섯 글자가 있기 때문입니다. (아래의 § 핵심 오류 유형을 참조하세요.)
  • Z6: 문자열(String) (유형) : string이라는 단어에는 영어로 된 6개의 글자가 있습니다.
  • Z7: 함수 호출(Function call) (유형) : 함수 호출은 시스템의 주요 마법이고 7은 마법의 숫자이기 때문입니다. 또한 Z8에 가깝습니다.
  • Z8: 함수(Function) (제네릭 유형, 따라서 기술적으로 함수) : function에는 영어로 된 8개의 문자가 있기 때문입니다. (아래의 § 핵심 함수를 참조하세요.)
  • Z9: 참조(Reference) (유형) : reference라는 단어에는 영어로 된 9개의 글자가 있습니다.
  • Z10: 리스트(List) (제네릭 유형, 따라서 기술적으로 함수) : 두 자리가 있는 첫 번째 숫자이기 때문입니다.
  • Z11: 단일 언어 텍스트(Monolingual text) (유형) : 왜냐하면 그것은 단지 하나의 언어이고 이름에 "하나(one)"가 있기 때문입니다.
  • Z12: 다국어 텍스트(Multilingual text) (유형) : Z11의 확장이기 때문입니다.
  • Z13: 빈 리스트(empty list) (리스트) : 자연은 진공을 싫어하고 사람들은 13을 싫어합니다.
  • Z14: 구현(Implementation) (유형) : implementation이라는 단어에는 영어로 된 14개의 문자가 있기 때문입니다.
  • Z15: "아직 할당되지 않았습니다."
  • Z16: 코드(Code) (유형) : 그럴만 한 이유가 없으며 Z14 및 Z61/프로그래밍 언어에 가깝습니다.
  • Z17: 인수 선언 (유형).
  • Z18: 인수 참조 (유형).
  • Z19: "아직 할당되지 않았습니다."
  • Z20: 테스터 (유형) : 20/20은 완벽한 비전이고 테스트는 오류를 가시화하기 때문입니다.
  • Z21: 유니트(Unit) (유형).
  • Z22: 쌍(Pair) (제네릭 유형, 따라서 기술적으로 기능) : 왜냐하면 둘(2)이기 때문입니다.
  • Z23: Nothing (유형).
  • Z24: 빈(void) (유니트).
  • Z25: "아직 할당되지 않았습니다."
  • Z26: "아직 할당되지 않았습니다."
  • Z27: "아직 할당되지 않았습니다."
  • Z28: "아직 할당되지 않았습니다."
  • Z29: "아직 할당되지 않았습니다."
  • Z30: "아직 할당되지 않았습니다."
  • Z31: 단일어 텍스트세트(Monolingual textset) (유형).
  • Z32: 다국어 텍스트세트(Multilingual textset) (유형): Z31의 확장이기 때문입니다.
  • Z33: "아직 할당되지 않았습니다."
  • Z34: "아직 할당되지 않았습니다."
  • Z35: "아직 할당되지 않았습니다."
  • Z36: "아직 할당되지 않았습니다."
  • Z37: "아직 할당되지 않았습니다."
  • Z38: "아직 할당되지 않았습니다."
  • Z39: 키 참조 (유형): Z3/키 Z9/참조이기 때문입니다.
  • Z40: 불리언(Boolean) (유형) : 조지 불(Boole)이 (18)40년대에 처음 출판했기 때문입니다
  • Z41: 참(true) (불리언).
  • Z42: 거짓(false) (불리언).
  • Z43: "아직 할당되지 않았습니다."
  • Z44: "아직 할당되지 않았습니다."
  • Z45: "아직 할당되지 않았습니다."
  • Z46: "아직 할당되지 않았습니다."
  • Z47: "아직 할당되지 않았습니다."
  • Z48: "아직 할당되지 않았습니다."
  • Z49: "아직 할당되지 않았습니다."
  • Z50: 오류 유형(Error type) (유형) : 오류는 Z5이기 때문입니다.
  • Z60: 자연어(Natural language) (유형): Z6는 문자열이기 때문입니다.
  • Z61: 프로그래밍 언어 (유형): Z16는 코드이기 때문입니다.
  • Z80: 바이트(Byte) (유형) : 바이트는 8진수이기 때문입니다.
  • Z84: 유니온(Union) (유형).
  • Z85: "아직 할당되지 않았습니다."
  • Z86: 코드 포인트(유형): 정확히 Z80/바이트가 아니라 Z6/문자열과 비슷하기 때문입니다.
  • Z99: 인용(Quote) (유형) : 마치 영어로 된 닫는 따옴표처럼 보이기 때문입니다.

핵심 함수

  • Z801Echo: T ➝ T
    변경되지 않은 입력을 반환
  • Z802If: Boolean, T, T ➝ T
    첫 번째가 참이면 두 번째 인수를 반환하고 그렇지 않으면 세 번째 인수를 반환합니다; 만일 두 글자가 있다면
  • Z803Value by key: Key reference, Any ➝ Any
    객체에서 키로 값을 반환합니다; Z3/키
  • Z805Reify: Any ➝ List(Pair(Key reference, Any))
    모든 객체를 키-값 쌍 목록으로 변환합니다. 구체화(reify)에는 다섯 글자가 있습니다
  • Z808 Abstract: List(Pair(Key reference, Any)) ➝ Any
    키-값 쌍 목록을 객체로 변환합니다; 추상(abstract)은 8개의 글자가 있습니다.
  • Z810 Prepend element to list: T, List(T) ➝ List(T)
    (Z10이 목록이기 때문에) 정렬된 객체 목록의 시작 부분에 객체를 삽입합니다.
  • Z811 First element: List(T) ➝ T
    순서가 지정된 객체 목록에서 첫 번째 항목을 가져옵니다(Z10이 리스트이고 첫 번째 항목을 가져 오기 때문).
  • Z812 List without first element: List(T) ➝ List(T)
    첫 번째 객체없이 리스트를 가져옵니다(Z10은 리스트이고 두 번째 객체는 나머지 객체를 가져 오기 때문에)
  • Z813 Empty: List(T) ➝ Boolean
    리스트에 항목이 포함되어 있지 않으면 반환됩니다(Z13은 빈 리스트이기 때문).
  • Z820 Trigger Metadata: Error ➝ Any
    주어진 오류 또는 기타 메타데이터를 가져와서 함수 호출 응답 엔벨로프에 내보냅니다.
  • Z821 First: Pair(T1, T2) ➝ T1
    쌍의 첫 번째 값을 추출합니다(Z22는 쌍이므로).
  • Z822 Second: Pair(T1, T2) ➝ T2
    쌍의 두 번째 값을 추출합니다(Z22는 쌍이므로).
  • Z844 Boolean equality: Boolean, Boolean ➝ Boolean
    두 입력이 같으면 true를 반환하고 그렇지 않으면 false를 반환
  • Z860 Language code to language: String ➝ Language
    문자열로 주어진 언어 코드를 받아 자연어 객체를 반환
  • Z866 String equality: String, String ➝ Boolean
    두 입력이 같으면 true를 반환하고 그렇지 않으면 false를 반환
  • Z868 Convert: String ➝ List(Character)
    Z6/문자열 및 Z86/문자이므로 문자열을 문자 목록으로 변환합니다.
  • Z881Typed list: Type ➝ Type
    유형을 취하고 해당 유형의 요소 목록 유형을 반환
  • Z882Typed pair: Type, Type ➝ Type
    두 가지 유형을 취하고 이들 쌍을 나타내는 유형을 반환
  • Z883Map: ... ➝ ...
    ...
  • Z884Union: T, T ➝ T
    두 가지 유형을 취하고 둘 중 하나를 허용하는 유형을 반환
  • Z885Error type to type: Error type ➝ Type
    오류 유형을 가져와서 유형을 생성
  • Z886Convert: List*(Character) ➝ String
    Z86/문자 및 Z6/문자열 때문에 문자 목록을 문자열로 변환합니다.
  • Z887Reduce: ... ➝ ...
  • Z888 Same: Character, Character ➝ Boolean
    두 문자를 비교하고 같으면 반환합니다.
  • Z899 Unquote: Quote ➝ Any
    Z99/인용이기 때문에 Z객체를 인용 해제합니다.

핵심 오류 유형

  • Z501 (오류 메시지, 입력) : 구문 오류
  • Z502 (하위 유형, 값): 형식이 올바르지 않음, Z52x 또는 Z53x를 가리킴
  • Z503 (함수 이름): 아직 구현되지 않았습니다.
  • Z504 (zid) : Zid를 찾을 수 없습니다.
  • Z505 (예상, 실제, 인수): 인수 불일치 수
  • Z506 (예상, 실제, 인수): 인수 유형 불일치
  • Z507 (함수 호출): 평가 오류
  • Z508 (객체): 모순되는 키
  • Z510 (없음) : 없음
  • Z511 (키 참조, 객체) : 키를 찾을 수 없습니다
  • Z512 (객체) : Z9 오류
  • Z513 (해결된 개체) : Z2K2없이 해결된 객체
  • Z514 (구현) : 내장 기능이 존재하지 않습니다
  • Z515 (구현) : 내장 ID가 잘못되었습니다
  • Z516 (키, 잘못된 값) : 인수 값 오류
  • Z521 (문제의 값) : Z객체는 숫자 또는 불리언, null이 아니어야합니다.
  • Z522 (배열의 잘못된 인덱스, 전파된 오류) : 배열 요소가 제대로 형성되지 않았습니다
  • Z523 (객체) : Z1K1 누락
  • Z524 (Z1K1의 값) : Z1K1은 문자열 또는 배열이 아니어야합니다
  • Z525 (키) : 유효하지 않은 키
  • Z526 (키, 전파된 오류) : 잘 형성되지 않은 값
  • Z531 (전체객체) : Z6에는 2개의 키가 있어야합니다
  • Z532 (전체객체) : Z6K1이 없는 Z6
  • Z533 (Z6K1의 값) : Z6K1은 문자열이어야합니다
  • Z534 (전체객체) : Z9에는 2개의 키가 있어야합니다
  • Z535 (전체객체) : Z9K1이 없는 Z9
  • Z536 (Z9K1의 값) : Z9K1은 JSON의 문자열이어야합니다
  • Z537 (Z9K1의 값) : Z9K1은 참조처럼 보여야합니다
  • Z538 (페이지 제목): 잘못된 이름공간
  • Z539 (페이지 제목): 잘못된 콘텐츠 유형
  • Z540 (언어 코드): 잘못된 언어 코드
  • Z541 (언오 코드): 언어 코드를 찾을 수 없습니다
  • Z542 (예상 유형, 실제 객체): 예상 유형, 실제 객체
  • Z543 (유형 이름): 유형을 찾을 수 없습니다
  • Z544 (유형 zid, 유형 이름, 기존 유형 이름): 충돌하는 유형 이름
  • Z545 (유형 zid, 유형 이름, 기존 유형 zid): 충돌하는 유형 Zid
  • Z546 (유형 zid, 유형 이름): 내장 유형을 찾을 수 없습니다
  • Z547 (입력): 잘못된 형식
  • Z548 (오류 메시지, 입력): 잘못된 JSON
  • Z549 (참조 값): 잘못된 Z참조
  • Z550 (참조 값): 알 수 없는 Z참조
  • Z551 (키, 예상 유형, 실제 유형): 키 유형 불일치

같이 보기