过堂是什么意思
- Wikifunctions’s erstes Ziel ist es, die Wikimedia-Projekte zu unterstützen, aber es wird darüber hinausgehende Ziele unterstützen, genau wie bei Wikidata. Dies ist eine Beschreibung von Wikifunctions über Wikipedia hinaus.
- Leitgedanke
- Ein Wikimedia-Projekt für jedermann zur gemeinschaftlichen Erstellung und Pflege einer Bibliothek von Code-Funktionen zur Unterstützung der Wikimedia-Projekte und darüber hinaus, für jedermann zum Aufruf und zur Wiederverwendung in den natürlichen und Programmiersprachen der Welt.
Wikifunctions ist ein offenes Code-Repository, das jeder nutzen und zu dem jeder beitragen kann.
Jede Seite in Wikifunctions stellt eine Funktion dar. Eine Funktion hat eine Beschreibung, eine Liste von Parametern, Testf?lle, eine Liste von Implementierungen in verschiedenen Programmiersprachen und weitere Metadaten. Die Implementierungen k?nnen in anderen Softwareprojekten (privaten Apps oder Skripten) wiederverwendet, online aufgerufen und ausgeführt werden (entweder nur im Browser oder in einer Cloud-Umgebung oder auf Jupyter[1]- oder PAWS[2]-Notebooks), zu komplexeren Funktionen zusammengestellt, signiert, analysiert oder validiert werden und vieles mehr
Wikifunctions ist ein Projekt im Geiste von Wikipedia, Wikidata, Wiktionary und anderen und erm?glicht es Mitwirkenden aus aller Welt, eine Bibliothek von Funktionen zu erstellen und zu pflegen, die von jedem für jeden Zweck verwendet werden k?nnen. Jede Funktion kann durch mehrere Implementierungen in verschiedenen Programmiersprachen, Testf?lle, Vor- und Nachherbedingungen, Dokumentation, Metadaten in Form von Laufzeitsch?tzungen und durch Komplexit?tsgarantien für die verschiedenen Implementierungen usw. unterstützt werden. Benutzer k?nnen eine Funktion direkt auf der Website oder aus eigenem Code oder eigenen Anwendungen, über eine Kommandozeilenschnittstelle (CLI) oder eine lokale App aufrufen. Die Funktion kann lokal im Browser, in der Cloud oder lokal und eingebettet in der Anwendung des Benutzers ausgeführt werden.
Wikifunctions soll sowohl einen wohldefinierten gemeinsamen Katalog von Funktionen, die in gro?em Umfang wiederverwendet werden k?nnen, wie auch eine Umgebung schaffen, in der Funktionen schnell kombiniert und on the fly ausgeführt werden k?nnen. Wikifunctions zielt darauf ab, das Leben für Entwickler zu erleichtern, die sich auf dieses Repository wie auf jede externe Bibliothek verlassen k?nnen. Ebenso soll sie Endbenutzern das Leben erleichtern, die Funktionen nach Bedarf auf eine Art und Weise aufrufen k?nnen, die derzeit nur mit einer sehr ungleichm??igen Abdeckung durch spezifische Websites verfügbar ist, die oft in Form von 1990er Websites mit Java-Applets geschrieben sind.
Alle Funktionen sind rein, um eine sichere Ausführung in der Sandbox zu erm?glichen. Au?erdem kann jede Implementierung mit Metadaten kommentiert und kryptografisch signiert werden. Endbenutzer k?nnen je nach verfügbaren Hardwareressourcen und Web-of-Trust-Einstellungen ausw?hlen und prüfen, welche Implementierung der einzelnen Funktionen verwendet werden soll.
Wikifunctions wird einen einfachen Zugriff auf gro?e Wissensdatenbanken wie Wikidata erm?glichen, aber auch auf bin?re Ein- und Ausgabedateien. Es ist durchaus m?glich, ein Bild als Eingabedatei hochzuladen und Analyseergebnisse zurückzuliefern, z. B. was auf dem Bild abgebildet ist oder wie viele verschiedene Farben das Bild hat – oder eine andere Bin?rdatei, z. B. in einem anderen Format. Dies wird den Workflows auf Wikimedia Commons zur Verfügung gestellt.
Wikifunctions setzt die Tradition fort, mehr Berechnungen, die normalerweise auf der Kommandozeile oder mit Apps von mehr erfahreneren Computernutzern stattgefunden haben, ins Web zu verlagern und den Zugang zu Funktionen zu demokratisieren, die vorher nicht verfügbar waren. Gleichzeitig wird es die Produktivit?t von Entwicklern überall erh?hen, da sie einfach eine gro?e Code-Bibliothek nutzen k?nnen, anstatt sich auf das korrekte Kopieren und Einfügen von Antworten aus StackOverflow zu verlassen.
Anders als in der Wikipedia werden die Mitwirkenden meist neue Implementierungen für eine Funktion erstellen, anstatt bestehende Funktionen zu aktualisieren. Die Implementierungen k?nnen automatisch gegen die vorgegebenen Tests und gegeneinander getestet und weiter analysiert werden.
Implementierungen k?nnen in einer Reihe verschiedener Programmiersprachen geschrieben werden und dennoch in der Lage sein, Funktionen aufzurufen, die in anderen Programmiersprachen implementiert sind. Die Ausführungsengine kann reibungslos (wenn auch nicht unbedingt mit der h?chstm?glichen Leistung) in verschiedenen Sprachen arbeiten. Obwohl in den meisten F?llen eine gro?e Leistungssteigerung durch das Zusammenstellen von Funktionen innerhalb einer einzigen Programmiersprache erzielt wird, ist dies nicht zwingend erforderlich. In vielen F?llen werden die Entwicklungsgeschwindigkeit und die Zeit des Entwicklers wertvoller sein als die zus?tzlichen Computerzyklen, die in der Ausführungsengine verbracht werden.