セキュリティに特別な配慮が必要なサーバーサイドアプリケーションは、ブラウザに対してCORS
の一部としてAccess-Control-Allow-Headersというアドバイスをします。これは、サーバーサイドでクロスオリジンサイトとして安全とアドバイスしたサイトに対し「但し、Access-Control-Allow-Headersにあるヘッダーに限る」と制限をつけるものです。しかしながらヘッダーの性質上セキュリティに問題なりにくいヘッダについてはわざわざここにリストされていなくてもOKという取り決めがあります。これがCORSセーフリストリクエストヘッダー
となります。
traefik配下のサービスでAPIを提供するときに、ブラウザに対しCORSによるアドバイスを行います。
特定の文字列で始まるBitcoinの受け取りアドレスを作るにはvanitygenというソフトウェアを利用します。
curl
を使ってWebの接続を試したいときに--resolveというオプションを使ってホストの名前解決を上書きできます。例えばローカルサーバlocalhost:3000を
example.comでアクセスしたいときには以下のようにします
curl -i --resolv example.com:3000:127.0.0.1 http://example.com:3000
ふと、このresolveオプションexample.com:3000:127.0.0.1の3000番ポートの部分って何のためにあるんだろう?って思いましたので調べてみました。
n8n(Nodenamtion)でSlackを使ったアプリを作っていてどうしても欲しい機能があったので追加してのプルリクエストを投稿しました。
Add chat.getPermalink interface in Slack Nodes. #1366
現在は、マージされリリースされています。
このPRは、Slackのメッセージに対しパーマリンクを得るためのAPIchat.getPermalink
を呼び出すためのものです。
Growi
という優れたwikiエンジンでwikiサイト(wiki.tumf.dev
)を立ち上げてみます。Growiはmarkdownで記述でき、かなり高機能で別のところで愛用しています。
シェルからパスワードなどを簡単に生成したい時に以下のようにします
私は、メインのエディタとしてVimクローンのneovim
を使っています。折りたたみ(fold)を覚えてそこそこ大きなソースコードの編集が楽になりました。しかしながら、nvim起動の度に折りたたみ状況が解除されて手間だったので、バッファ状態保存の方法を調べたら以下の方法に行き当たりました。
今日は、ssh-argv0という、ものぐさを極めた伝統的なシェルスクリプトを紹介します。
とするのを
とssh の部分省略できるスクリプトです。これだけですが😅
GoogleCloudPlatform
(以下GCP)にはCloudFunctions
とCloudRun
という2つのサーバレスサービスがあります。簡単にいうとこの2つは動作環境が違います。CloudFunctionsは開発者のコードを固定されたOS環境で動かすためのものであるのに対し、CloudRunは開発者が持ち込んだDockerコンテナを動かします。どちらを利用するべきか考える順番はCloudFunctions→CloudRunです。双方の違いは「自由と簡単」のトレードオフです。
今回CloudRunを初めて使ってみましたので記事にしてみました。