Vor einigen Wochen habe ich mit Daten von Twitter ein Federkraft-Knotendiagrammprojekt gestartet. Es wurde kompliziert und ich entschied, dass ein Video der beste Weg sei, es zu präsentieren. Aber das Video war lang und langweilig. Hier ist ein früher Schnappschuss.
Half-baked ideaHalbfertige Idee
Am Waffelsonntag habe ich mehrere Familienmitglieder gebeten, die Waffel noch einmal zu bewerten und Vorschläge zu machen, wie man sie besser machen könnte. Sie haben alle gute Kommentare abgegeben, aber Daniel wollte mir unbedingt etwas zeigen. Ich vertröstete ihn immer wieder, bis mir klar wurde, dass mein Video doch nicht so toll war.
„Okay, Daniel. Was haben Sie?"
„Gehen Sie zu Google und fragen Sie nach Hören Sie sich Wikipedia an ."
Das bringt Sie dorthin http://listen.hatnote.com/ . Ich habe einige Minuten lang zugeschaut (und zugehört) und mich gefragt, wie es funktioniert ... Ich habe einige falsche Vermutungen angestellt. Dann habe ich auf geklickt um Link und folgte meinem Weg dorthin Hatnotes JavaScript-Code Etwa in der Zeile 123, wo ich anfing, etwas darüber zu lernen WebSockets Sie ermöglichen es einem Browser, einen bidirektionalen Port zu einem Webserver offen zu halten, und im Jahr 2022 werden sie von den meisten Browsern unterstützt. Als Sie sich die Seite „Wikipedia anhören“ angesehen haben, hat das in Ihrem Browser ausgeführte JavaScript den Wikipedia-WebSocket abgehört und abgerufen sofort Benachrichtigungen über die Wikipedia-Updates. Dokumentation Du brauchst es nicht.
Twitter verfügt über eine eigene API und verwendet keine WebSockets. Das Video, das ich gemacht habe, war nur eine Umfrage alle fünf Minuten, historisch und nicht interaktiv wie die Wikipedia-Updates. Ich möchte einen WebSocket verwenden, daher benötige ich etwas anderes.
Nachdem ich mich umgesehen hatte, entdeckte ich, dass die Stackexchange-Site-Gruppe (einschließlich Stackoverflow) über einen WebSocket verfügt, der bidirektional ist. Der WebSocket kann alle neuen Beiträge abonnieren und dann Updates zu diesen Beiträgen abonnieren und abbestellen. (Etwa. ich benutzte ein Stackexchange-Posten (nur zu meiner Information und es ist ziemlich klar, dass Beiträge angezeigt werden, die möglicherweise nicht neu sind.)
Was kann ich mit JSL machen? WebSockets sind Browser-Dinge. Nachdem ich eine Weile gesucht hatte, fand ich ein Python-WebSocket-Paket. Der Python-Code ist ein Unterlegscheibe zwischen JSL und dem WebSocket. Ich bin mir ziemlich sicher, dass alles in JSL erledigt werden könnte, aber es gibt einige hässliche Teile, mit denen ich mich nicht befassen möchte ... also Python.
Die folgende JSL enthält eine kleine Menge generischen WebSocket-Codes und viel Stackexchange-spezifischen Code. Wenn Sie eine ähnliche Lösung erstellen, nicht für den Stapelaustausch, behalten Sie wahrscheinlich den Python-Teil bei und verwenden den Rest nur als grobe Richtlinie. Es gibt Kommentare im Code, und da er als Add-In verpackt ist, können Sie den Code unter „Ansicht->Add-Ins“ finden, WebSocket auswählen und auf das Verzeichnis klicken.
Nach dem Start des Add-Ins kann es eine Weile dauern, bis etwas passiert. Im Allgemeinen passiert etwa alle 10 Sekunden etwas, insbesondere nachdem das Add-In lange genug ausgeführt wurde, um eine Reihe von Abonnements zu haben. Wenn Sie nach fünf Minuten nichts gesehen und gehört haben, funktioniert es wahrscheinlich nicht. Behalten Sie das Protokollfenster im Auge. Aufgrund der Menge an Daten, die angezeigt werden müssen, entschied ich mich für ein Display mit einer Breite von 1920 x 1080 für dieses Projekt. Es wird schwierig sein, es zu verkleinern; Das 9x9-Fragenraster muss eine Beschreibung sowie ein Symbol und Indikatoren enthalten. Sie sind alle von Hand optimiert, damit sie gut aussehen. Möglicherweise muss auch die Schriftart angepasst werden. Hier ist ein kurzes Video, das zeigt, wie es aussieht, nachdem es eine Weile ausgeführt wurde, aber das Ausführen des Add-Ins wird mehr Spaß machen. Das Add-In ist für Windows und JMP 16. Es könnte auf einem Mac funktionieren, wurde aber nicht getestet.
Wenn Sie das Add-in nicht ausprobieren, finden Sie hier einen kurzen Videoausschnitt.
Wenn Sie das Add-in ausführen, können Sie auf die Elemente klicken und Ihr Webbrowser führt Sie zum Artikel.
Add-in WebSocket-Demo mit Stackexchange