2019-01-01から1年間の記事一覧

Azure SignalR Service の REST API では URL区切り文字を含んだユーザーIDがあて先のメッセージを送れない

Azure SignalR Service は serverless モードにして Azure Functions と使うことができる。その場合には Azure Functions から REST API1 で Azure SignalR Service へ メッセージを発行する。 現時点(2019/12/29)の Azure SignalR Service では URL区切り文…

OBS Studio の browser source に スマホのカメラ映像を出す

OBSのブラウザソースは、Chromium Embedded Framework (CEF)で出来ているそうだ。ローカルファイルのHTMLをロードすることもできる。それを使ってAndroidスマホのカメラからの映像を表示しようと思った。WebRTCだ。 OBSのブラウザソースで表示したHTMLは、ボ…

Pythonでwindows apiを呼ぶ

呼ぶ = call ウィンドウサイズをどうかしたかった。 Jupyter と Python でwindows api 触れたら楽だね。pywin32と足りない分は自分でctypes使えばできる。 miniconda をインストールしたらもうpywin32も入ってた。 ウィンドウのサイズはスナップしたときとそ…

ウィンドウにしるしをつけようと思ったけどできなかった

OBS Studioのウィンドウキャプチャがウィンドウを見つける方法は、 タイトル 実行ファイル名 なるべく一致 (??) ということで、複数のChromeウィンドウがあったときに配信用と定めたものにキャプチャを限定できないか考えてみた。 タイトルは、ウィンドウタ…

twitchでスクリーンキャストストリーミングをはじめた

OBS Studio を使ってる。 配信用に設定したChromeを用意した。「ハードウェアアクセラレーションが使用可能な場合は使用する」がONになっているとOBSでウィンドウキャプチャができなかった。ユーザーディレクトリごと別に分けてしまって、"設定"画面で、ハー…

Vue.js v-for template の v-bind:key

virtual dom の nodeには一意のキーが必要 componentはnamespaceを作るけど、templateは作らない。 なので、例えば一つの.vueファイルの中で、

JavaScriptの時刻

moment.jsを使っとけばいいのだけれど、JavaScriptのDateがどういうものか調べた。 Dateオブジェクトは、UNIX epochからのミリ秒をデータとして持つ。 UNIX epoch = 1970 1/1 00:00:00 (UTC) 引数なしコンストラクタcallのときは現在時(UTC)。 ホストシステ…

JavaScript の Jupyter Notebook を Google Cloud Shell の Docker で 動かす

いつも通り、Google Cloud Shell での作業。 JavaScript で Firestore を使うのにあれこれ書いて試したかった。 Google Cloud Shell で Jupyter Notebook を Dockerコンテナとして動かす Jupyter プロジェクト公式のイメージが Docker Hub に置いてある。 ju…

Firestore local emulator に Firebase JavaScript SDK (Web) で接続する

admin SDK ではなくて、Webブラウザで使う firebase-js-sdk で firestore ローカルエミュレーターに接続する方法。 const db = firebase.firestore(); db.settings({ host: "172.18.0.1:18080", ssl: false }); Connect your app and start prototyping | Fi…

Firestore local emulator に Docker コンテナから接続する

$ firebase setup:emulators:firestore firebase.json { "firestore": {} "emulators": { "firestore": { "host": "0.0.0.0", "port": "18080" } } } "0.0.0.0"で全てのIPで待ち受けをして、リクエストのホスト名チェックも無効になる。 今回はgoogle cloud …

文字起こしと発声時刻で動画に文字を表示してみた

音声のフリー素材から静止画動画を作って、文字を発声のタイミングに合わせて画面に表示するやつ。ざっくりやってみた、オンラインでもないし全自動でもないけど。ffmpegとクラウドの音声認識サービスを使った。ポッドキャストやってる人はこんな感じで動画…

Google Cloud Shellのカスタム環境をGoogle Cloud Shellでcloudshell envコマンドを使って用意する

Google Cloud Shell は Cloud Registory に登録した Dockerイメージ をシェルとして利用できる。これをカスタム環境 [en]と呼ぶ。 カスタム環境の開発には Google Cloud Shell に予めインストールされているcloudshell envコマンドが便利。 cloudshell env …

monoランタイムとPaketを実行できるだけのdllをインストールしたGoogle Cloud ShellのDockerイメージを作った

Google Cloud Shell で F# スクリプトを書きたかった。Google Cloud Shellには .NET Core SDK がインストールされているのでdotnet fsiコマンドで F# の REPL が使える。 nuget パッケージを使うときに Paket があると便利だが、Paket の実行には mono が必…

vue-language-serverをvim-lspから使う設定をした

Vue Language Server Vue Language Serverはnpmのパッケージvue-language-serverとして公開されている vlsコマンドとして提供される Vue Language ServerはLanguage Server Protocolのサーバー実装 vim-lspをクライアントとしてvimから利用することができる …

Google Cloud ShellでClangのビルドをしようとしたけど時間がかかりそうだからやめた

2019年4月29日の時点で、google cloud shellにはclang-8がインストール済みだった。 知らずにソースコードからビルドしようとしたけどものすごく時間がかかりそうだったから断念した。 インストール済みだけどパスは通ってない。 export PATH=/usr/lib/llvm-…

JavaScriptのフォーマッターPrettierのVimプラグインをインストールした

vim-prettierは、デフォルトの設定ではprettierのデフォルトルールとは違う整形ルールを持つ。 vim-prettierは、デフォルトの設定では.prettierrcがあればその設定を優先する。 prettier prettier.io prettierのインストール プロジェクトローカルにprettier…

タイトルが付けられるならブログに書く

自然とタイトルが思い浮んでいないのならtwitterに書く。ブログに短かいエントリーを書いてもいい。題名というかキャッチフレーズ的なものをひらめいて、それから何かを思うことがよくある。ツイートにはタイトルが付けられない。

水泳の練習メニューを変えた

週3日、1回30分でクロールと平泳ぎ。 いままでは、 10分ゆっくりクロール 10分ゆっくり平泳ぎ 10分強めのクロール これから 5分以上のゆっくりクロール 5分以上のゆっくり平泳ぎ 10分以上の強めのクロール ゆっくりクロールは準備運動。 ゆっくり平泳ぎは、…