数週間前、私は Twitter のデータを使用してバネ力ノード図プロジェクトを開始しました。 複雑になったので、それを紹介するにはビデオが最適だと判断しました。 しかし、ビデオは長くて退屈でした。 これが初期のスナップショットです。
Half-baked idea中途半端なアイデア
ワッフルの日曜日に、私は何人かの家族に、それをより良くする方法を検討して提案するよう依頼しました。 みんな良いコメントをしてくれましたが、ダニエルは本当に私に何かを見せたかったのです。 結局のところ、私のビデオはそれほど素晴らしいものではないと気づき始めるまで、私は彼のことを後回しにし続けました。
「わかった、ダニエル。 あなたはどれだけ持ってる?"
「グーグルに行って聞いてくださいウィキペディアを聞く。」
それはあなたを連れて行きますhttp://listen.hatnote.com/ 。 私はそれがどのように機能するのか疑問に思いながら数分間見たり聞いたりしました...私はいくつかの悪い推測をしました。 それから私はについてリンクして、私のやり方に従ってくださいhatnote の JavaScript コード123行目あたりから学び始めましたWebソケットこれらにより、ブラウザーは Web サーバーに対して双方向ポートを開いたままにしておくことができ、2022 年にはほとんどのブラウザーがこれらをサポートします。 「Wikipedia を聞く」ページを見ると、ブラウザで実行されている JavaScript が wikipedia WebSocket をリッスンし、すぐにウィキペディアの更新に関する通知。 ドキュメンテーション必要ありません。
Twitter には独自の API があり、WebSocket は使用されません。 私が作成していたビデオは 5 分ごとにポーリングを行っているだけで、歴史的なものであり、ウィキペディアの更新のようなインタラクティブなものではありませんでした。 WebSocket を使用したいので、他に何かが必要です。
調べてみると、stackexchange サイト グループ (stackoverflow を含む) に双方向の WebSocket があることがわかりました。 WebSocket は、すべての新しい投稿を購読し、それらの投稿の更新を購読したり購読解除したりできます。 (約。 私が使用したスタックエクスチェンジポスト私の参考までに言うと、新しくない可能性のある投稿が表示されることは明らかです。)
JSLで何ができるの? WebSocket はブラウザのものです。 少し検索した結果、Python WebSocket パッケージを見つけました。 Python コードは、シムJSL と WebSocket の間。 すべて JSL で実行できると確信していますが、扱いたくない醜い部分がいくつかあります。そこで Python を使用します。
次の JSL には少量の汎用 WebSocket コードと、stackexchange 固有のコードが多数含まれています。 stackexchange 用ではなく、同様のソリューションを構築する場合は、おそらく Python 部分を保持し、残りを大まかなガイドとして使用することになるでしょう。 コードにはコメントがあり、アドインとしてパッケージ化されているため、[表示] -> [アドイン] からコードを見つけ、WebSocket を選択し、ディレクトリをクリックします。
アドインを起動した後、処理が開始されるまでにしばらく時間がかかる場合があります。 一般に、特にアドインが大量のサブスクリプションを取得するのに十分な時間実行された後は、10 秒ごとに何かが発生します。 5 分経っても何も表示されず、何も聞こえない場合は、おそらく機能していません。ログ ウィンドウに注目してください。 表示する必要があるデータ量を考慮して、このプロジェクトには幅 1920 × 高さ 1080 のディスプレイが必要であることに落ち着きました。 それを縮小するのは難しいでしょう。質問の 9X9 グリッドには、説明、アイコン、インジケーターを表示する必要があります。 見た目が良くなるようにすべて手作業で調整されています。 フォントも微調整が必要かもしれません。 少し実行した後の様子を示す短いビデオを次に示しますが、アドインを実行するとさらに楽しくなります。 このアドインは Windows および JMP 16 用です。 Mac でも動作する可能性がありますが、テストされていません。
アドインを試していない場合は、ビデオの短い抜粋をご覧ください。
アドインを実行している場合は、項目をクリックすると、Web ブラウザーによって記事が表示されます。
加えるStackexchange を使用した WebSocket のデモ