위키함수:소개
- 위키함수의 첫 번째 목표는 위키미디어 프로젝트를 지원하는 것이지만 위키데이터와 마찬가지로 그 이상의 목표를 지원할 것입니다. 이것은 위키백과를 넘어서는 위키함수에 대한 설명입니다.
- 사명 선언문
- 모든 사람이 공동으로 코드 함수 라이브러리를 생성하고 유지하여 위키미디어 프로젝트와 그 이상을 지원하고 모든 사람이 세계의 자연 언어 및 프로그래밍 언어로 호출하고 재사용 할 수있는 위키미디어 프로젝트
위키함수는 누구나 사용하고 기여할 수있는 공개 코드 저장소입니다.
위키함수는 함수로 구성되어 있다. 함수는 여러 언어로 된 설명과 매개변수 목록, 테스트 케이스, 다양한 프로그래밍 언어의 구현 목록 및 추가 메타데이터를 가질 수 있으며 모두 위키미디어에서 지원하는 여러 언어로 제공된다. 구현은 다른 소프트웨어 프로젝트(사설 앱 또는 스크립트)에서 재사용할 수 있으며 온라인에서 호출 및 실행할 수 있다(브라우저에서만 또는 클라우드 환경 또는 Jupyter 또는 PAWS 노트북에서). 또한 더 복잡한 기능을 달성하기 위해 구성할 수 있으며 서명, 분석 또는 유효성 검증할 수 있으며 더 많은 작업을 수행할 수 있다.
위키함수(Wikifunctions)는 위키백과, 위키데이터, 위키낱말사전 및 기타 유사한 세계적 협력 자유 문화 프로젝트의 정신에 따라 진행되는 프로젝트입니다. 이 프로젝트는 전 세계의 기여자들이 누구나 어떤 목적으로든 사용할 수 있는 다국어 함수 라이브러리를 만들고 유지할 수 있도록 합니다. 각 함수는 다양한 프로그래밍 언어의 여러 구현, 테스트 케이스, 전후 조건, 문서화, 런타임 추정치 및 복잡성 보장과 같은 형태의 메타데이터 등으로 지원될 수 있습니다. 사용자는 웹 사이트에서 직접 함수를 호출하거나 자체 코드 또는 응용 프로그램, 명령줄 인터페이스 또는 로컬 앱에서 호출할 수 있습니다. 함수는 브라우저에서 로컬로, 클라우드에서 또는 사용자의 응용 프로그램에 로컬로 실행될 수 있습니다.
Wikifunctions는 널리 재사용될 수 있는 잘 정의된 공통 함수 카탈로그와 함수를 신속하게 결합하고 즉시 실행할 수있는 환경을 만들기위한 것입니다. Wikifunctions는 외부 라이브러리처럼 이 저장소에 의존할 수있는 개발자의 삶을 더 쉽게 만드는 것을 목표로 하며, 필요에 따라 함수를 호출할 수 있는 최종 사용자를 위해 현재 자바 애플릿이 있는 1990년대 웹 사이트의 형태로 작성되는 특정 웹사이트를 통해 매우 고르지 않은 범위에서만 현재 사용할 수 있습니다.
안전한 샌드 박스 실행을 가능하게하기 위해 모든 함수는 순수합니다. 또한 모든 구현은 메타 데이터로 주석을 달고 암호화 서명할 수 있습니다. 최종 사용자는 사용 가능한 하드웨어 리소스와 신뢰 웹 설정에 따라 사용할 각 함수의 구현을 선택하고 감사할 수 있습니다.
Wikifunctions를 사용하면 위키데이터와 같은 대규모 지식 기반뿐만 아니라 바이너리 입력 및 출력 파일에도 쉽게 접근할 수 있습니다. 이미지를 입력 파일로 업로드하고 분석 결과를 반환하는 것은 예를 들어 이미지에 묘사된 내용 또는 이미지에 얼마나 많은 다른 색상이 있는지 또는 바이너리(예를 들어, 다른 형식으로)와 같이 전적으로 가능합니다. 이것은 위키미디어 공용의 워크플로우에서 사용할 수 있습니다.
Wikifunctions는 일반적으로 명령 라인에서 또는 컴퓨터에 능숙한 컴퓨터 사용자가 앱을 사용하여 더 많은 계산을 웹으로 이동하고 이전에는 사용할 수 없었던 기능에 대한 접근을 대중화하는 전통을 이어갑니다. 동시에 스택오버플로우(StackOverflow)의 답변을 올바르게 복사하여 붙여 넣는 대신 대용량 코드 라이브러리를 사용할 수 있기 때문에 모든 곳에서 개발자의 생산성을 높일 수 있습니다.
위키백과와 달리 기여자는 기존 함수를 업데이트하는 대신 함수에 대한 새로운 구현을 대부분 만듭니다. 구현은 주어진 테스트에 대해, 서로에 대해 자동으로 문자화되고 추가 분석될 수 있습니다.
구현은 다양한 프로그래밍 언어로 작성될 수 있지만 다른 프로그래밍 언어로 구현된 함수를 호출할 수 있습니다. 실행 엔진은 다른 언어로 원활하게(반드시 가능한 최고의 성능을 제공하지는 않지만) 작동할 수 있습니다. 대부분의 경우 단일 프로그래밍 언어 내에서 함수를 구성함으로써 성능이 크게 향상되지만 그렇게 할 필요는 없습니다. 대부분의 경우에 개발 속도와 개발자의 시간이 실행 엔진에 소요되는 추가 컴퓨터 주기보다 더 중요합니다.
주석