外部スクリプトがロード完了したら何か実行する

次のようなコードを書いてみたが穴はないだろうか。

((scriptId, init) => {
    if ("commonmark" in window) {
        init();
    }
    else {
        let script = document.getElementById(scriptId);
        script.addEventListener("load", function () {
            init();
        });
    }
})("commonmark-script", () => {
    window.console.log("init!");
});

更新: 初出時コード中の改行が反映されていなかったので訂正しました。

ブラウザー上で X11 サーバーは動くか

最近はウェブ ブラウザー上に JavaScript でいろいろ作るのが流行っているようなので、昔懐かしい X11 サーバーを作れないかと考え始めてしまいました。

まず WebSocket で双方向通信が容易になったとは言え、 X11 サーバーには TCP 接続を待ち受けるサーバー ソケットが必要なので、何らかのエージェント プロセスは必要になりそうです。

複数クライアントに対応するとなると、 WebSocket の多重化も必要でしょうか。もっともこれは標準化が進められている様子なので、簡易なもので良さそうですかね。

Azure Functions で Docker Hub 自動タグ付けに挑戦中

docker pull しなくてもタグ付けができるのではないかと考えて、自動タグ付け機能を Azure Functions で実現しようとしています。

ウェブフックで API を呼び出そうとするとコールド スタートでタイムアウトしそうなことが判明して、キューを介した非同期処理にすることで回避しましたが、API の呼び出しはまだこれからといったところ。このまま無事完成するのでしょうか。

https://bitbucket.org/linuxfront/functions-azure

Azure Functions のコールド スタートが遅い

Azure Functions でウェブフックを立てようとしていますが、コールド スタートに時間がかかっているようなので対策を検討しています。一度キューに突っ込んで非同期化すれば良さそうですが、キューに入れるだけでも Functions を使うと解決しそうもないのですよね。

キューに入れるところは Microsoft Flow に持って行くとかでしょうか。

https://github.com/Azure/Azure-Functions/issues/131