Wikifunctions:Status-Updates/2024-04-03

From Wikifunctions
This page is a translated version of the page Wikifunctions:Status updates/2024-04-03 and the translation is 100% complete.
Wikifunctions Status-Updates Translate

Produktneuigkeiten auf Diff und anstehende API-Verbesserungen

Letzte Woche haben wir einen Blogbeitrag auf dem Wikimedia-Blog Diff veröffentlicht, der den aktuellen Status von Wikifunctions und unsere bevorstehenden Pläne beleuchtet und verschiedene Möglichkeiten für unsere Community zur Teilnahme bietet. Außerdem werden darin kreative und interessante Möglichkeiten hervorgehoben, mit denen sich die Community seit dem Start der Plattform an der Erweiterung der Typen beteiligt hat.

In diesem Beitrag teilen wir unsere Begeisterung darüber, dass die Beiträge zu Wikifunctions immer robuster werden und besser auf die Ziele der Verarbeitung natürlicher Sprache abgestimmt sind. Wir feiern die entscheidende Rolle der Community bei der Übernahme der Verwaltung unserer neu geschaffenen Benutzerrolle ‘Funktionsbearbeiter’, die die Überwachung der Erstellung fortgeschrittener Artefakte und der Serverlast in den frühen Phasen der Plattform umfasst. Der Artikel beschreibt auch die geplanten Fortschritte bei der Integration mit Wikidata sowie unsere ersten Bemühungen zur Integration mit Wikipedia. Lese ihn auf Diff.

Letzte Änderungen an der Software

Wir haben Änderungen an einer neuen API vorgenommen, die als öffentlicher Einstiegspunkt für Wikifunctions-Aufrufe dienen soll (T360359). Die neue API wird etwas einfacher und besser gestaltet sein als unsere interne, beispielsweise indem sie HTTP-Antwortcodes für die meisten Fehlerzustände verwendet und den Inhalt nicht in eine Abstraktion einschließt (T349967). Da es sich um eine öffentliche API handelt, beabsichtigen wir, die API im Laufe der Zeit ohne schwerwiegende Änderungen beizubehalten, sodass Werkzeuge und Helferleins sie mit einiger Zuversicht verwenden können. Wir planen, sie nächste Woche öffentlich anzukündigen.

Wir haben einige Verbesserungen am "Über"-Dialogfeld für die Bearbeitung von Bezeichnungen und anderen Feldern vorgenommen. Wir haben die Eingabe für Kurzbeschreibungen in einen "Textbereich" geändert, der sich über mehrere Zeilen erstreckt, anstatt einer einzeiligen Eingabe, um die Bearbeitung zu vereinfachen (T359158). Wenn du Seitentitel bearbeitest, aktualisieren wir jetzt den Seitentitel während der Bearbeitung, anstatt darauf zu warten, dass du deine Änderungen veröffentlichst (T358209). Wir haben das Dialogfeld so korrigiert, dass die Eingabewerte immer geladen werden, ohne dass du zuerst eine Sprache auswählen müssen (T355084).

Bei Zeichenkettenwerten werden Leerzeichen jetzt nicht mehr ausgeblendet, sodass beispielsweise ein Test, der zeigt, dass sich eine Zeichenkette mit zwei Leerzeichen von einer Zeichenkette mit einem einzigen Leerzeichen unterscheidet, verstanden werden kann (T343608). Um zu verhindern, dass sehr lange Benutzerinhalte die Seite beschädigen, weisen wir den Browser jetzt an, sie überall dort umzubrechen, wo es möglich ist, selbst wenn es keinen natürlichen Umbrechungspunkt gibt (T359906). Wir haben den globalen Sprachwähler oben auf der Seite optimiert, um das Steuerelement beim Öffnen zu fokussieren und die Dinge reibungsloser zu gestalten (T343202).

Wir haben einen Fehler behoben, der dazu führte, dass die Sprachfilterung sowohl in den internen als auch in den öffentlichen APIs nicht funktionierte, was dieselbe Grundursache hatte (T351961 und T361213). Wenn du die Zielfunktion eines Tests änderst, setzen wir jetzt den vorgeschlagenen Prüfer zurück, wenn der Rückgabetyp des neuen Ziels keine Gleichheitsfunktion hat (T361127). Wir haben die Renderer-Aufrufe so korrigiert, dass sie nicht mit leeren Werten ausgeführt werden und daher beim Aufrufen "Anzeigefunktion hat einen unbekannten Fehler zurückgegeben" angezeigt wird (T360791). Die Spezialseiten zum Erstellen oder Ausführen von Funktionen werden jetzt nicht angezeigt, wenn du gesperrt bist, anstatt zu warten, bis du versucht hast, etwas zu übermitteln, um dir mitzuteilen, dass du sie nicht verwenden kannst (T342860).

Wir haben eine Reihe von Linter-Warnungen aus unserem Front-End-Code geprüft und dabei einige kleinere Fehler und Dokumentationsprobleme gefunden. Dabei ist uns aufgefallen, dass bei der Anzeige mehrerer Fehler jeder Fehler mehr als einmal angezeigt wurde. Dies ist nun behoben.

Der gesamte von Wikimedia bereitgestellte Code verwendet seit dieser Woche die neueste Version der Codex-UX-Bibliothek, v1.3.6. Obwohl wir nicht glauben, dass die Aktualisierung der Bibliothek für den Benutzer sichtbare Änderungen bei unserer Nutzung von Wikifunctions mit sich bringen wird, kommentiere bitte in der Projektdiskussion oder erstelle einen Phabricator-Task, wenn du ein Problem entdeckst. Wir haben mit dem Metrik-Platform-Team zusammengearbeitet, um unsere Benutzerinteraktionsmetriken mithilfe eines neuen Back-End-Systems von ihnen neu aufzubauen, bevor wir die Nutzung ihres alten Systems (T350497) einstellen.

Funktion der Woche

bitwise or (Z13652) ist eine grundlegende Operation in der Computerprogrammierung, die mit einzelnen Bits von Binärzahlen arbeitet. Da wir in den letzten Updates die logischen Operationen oder und nicht-oder besprochen haben, dachte ich, dies könnte ein natürlicher nächster Schritt sein. Bitweise oder kombiniert die entsprechenden Bits zweier Zahlen, wendet das logische oder auf sie an und erzeugt eine neue resultierende Zahl. Die Operation bitweise oder ist kommutativ und assoziativ, was bedeutet, dass die Reihenfolge und die Gruppierung der Operanden das Ergebnis nicht beeinflussen.

Wahrheitstabelle für die Operation bitweise oder

Wahrheitstabelle: Die Operation bitweise oder verwendet zwei Bits als Eingaben und gibt ein einzelnes Bit aus. Die Wahrheitstabelle für die Operation bitweise oder zeigt, dass das Ergebnis an jeder Position 0 ist, wenn beide Bits 0 sind, während das Ergebnis andernfalls 1 ist.

Anwendung auf Binärzahlen: Wenn eine Operation bitweise oder auf zwei Binärzahlen angewendet wird, wird jedes Bit im Ergebnis durch Anwenden der Operation oder auf die entsprechenden Bits in den Eingabezahlen bestimmt.

Operation bitweise oder an Binärzahlen

In diesem Beispiel haben wir bitweise so angewendet:

  • 1 OR 1 = 1
  • 0 OR 1 = 1
  • 1 OR 0 = 1
  • 0 OR 0 = 0

...und so weiter für jede Bitposition.

Verwendung: Bitweise oder wird bei verschiedenen Programmieraufgaben häufig verwendet:

  • Flags und Optionen: Jedes Bit in einem Feld entspricht einem bestimmten Flag oder einer bestimmten Option, und zum Setzen oder Umschalten dieser Flags wird bitweises oder verwendet.
  • Netzwerkprotokolle: In Netzwerkprotokollen wird bitweise oder zum Definieren und Bearbeiten von Paketheadern verwendet.
  • Grafik- und Bildverarbeitung: Bitweise oder wird in der Grafik- und Bildverarbeitung für Vorgänge wie das Überblenden und Zusammensetzen verwendet.
  • Algorithmen zur Bitmanipulation: bitweise oder ist eine grundlegende Operation in verschiedenen Algorithmen zur Bitmanipulation, wie sie beispielsweise zum Suchen eindeutiger Elemente in Arrays, zum Generieren von Permutationen oder zum Lösen kombinatorischer Probleme verwendet werden.
  • Low-Level-Systemprogrammierung: In der Low-Level-Systemprogrammierung wird bitweise oder zur Interaktion mit Hardwareregistern, zum Konfigurieren von Geräteeinstellungen und zum Implementieren effizienter Datenstrukturen und Algorithmen verwendet.
  • Maskierung und Filterung, Fehlererkennung mittels Paritätsbits, Grafik, Bildverarbeitung und viele weitere Aufgaben.

Für bitwise or (Z13652) haben wir derzeit eine Implementierung in Python. Diese verwendet die Python-Syntax von bitweise oder ‘|’ als direkte Implementierung.

Die Funktion hat einen Test: 123|456=507 (Z13658). Der Test nimmt zwei natürliche Zahlen und validiert die resultierende natürliche Zahl anhand der Gleichheit natürlicher Zahlen. Intern werden die Zahlen in ihre binären Entsprechungen zur Basis 2 umgewandelt und dann wendet die Funktionssyntax ‘|’ bitweise oder auf sie an, wodurch das Ergebnis ‘507’ zur binären Basis 2 erzeugt wird. Dies wird durch das für uns sichtbare Ergebnis zur Basis 10 dargestellt.

Da es für diese Funktion bisher nur eine Implementierung und einen Test gibt, besteht die Möglichkeit, sie zu erweitern und zu diversifizieren! Wir freuen uns darauf zu sehen, was sich die Community ausdenkt.

Du kannst dir auch den Artikel zu bitweise oder in der deutschsprachigen Wikipedia durchlesen.