SwitchBot 、便利ですよね。 そこそこ安くて、かつ一応 SwitchBot にロックインされるということもないので、わたしも使っています。 ところで、 SwitchBot の温湿度計やプラグでは、 API 経由で各種値が取得できます。 今回はそれらを VictoriaMetrics とい…
VPS へ SSH した~い!けど Cloudflare 通してるので生 IP だしたくないし覚えてもな~い! というときに便利かもしれない Tailscale を入れてみましょう。 ということで、インストールしていきましょう。 公式的にはスクリプトがあるんですが、 sudo じゃな…
Web サービスリニューアルしたいことってありますよね? ただ、一度に一気にリニューアルすると、想定していない不具合が出てきたり、今の運用どうするの?っていう問題があったりします。 そこで、 Cloudflare Workers を使って段階的に移行する方法を紹介…
嬉しいことにわたしが持っているいくつかのリポジトリについて、 Issue をちらほらたててもらえるのですが、どれがすでに見たものか、などが分からないことが出てきました。 そこで、ラベルでうまいこと管理しようと思ったのですが、個人でかなりの数のリポ…
海外の大手 CMS に Contentful があるんですが、 API ドキュメントがびみょーに分かりにくいのでメモ。 例えば、ある Entry に対してデータを作成したい場合、こんな感じでリクエストを投げてね、とあります。 import { createClient, Environment } from "c…
React で children で渡ってきた子コンポーネントのうち、テキスト部分だけ取り出したいこと、ありますよね? そういうときに便利なのが React Children Utilities です。 こんな感じで使えます。 import Children from "react-children-utilities"; type Pr…
Cloudflare Pages の Web UI から、 PNPM + Astro なウェブサイトをデプロイするぞ! ということで、やり方のメモ。 やり方は、リポジトリを接続した後、以下のように設定すれば良い。 ビルドコマンド: # pnpm のインストールと、依存のインストール&ビル…
iOS で WebView を使っている場合、何らかの理由で WebView のプロセスが死んだ場合は webViewWebContentProcessDidTerminate が呼ばれるんですが、原因が分からず、なんとも困った感じになります。 ということで、頑張ってなんでクラッシュしたのかの大まか…
いまさら JavaScript なんて書けるか!ということで、 Contentful JavaScript SDK を TypeScript で使います。 まずはライブラリのインストール: $ pnpm add contentful いれたあと、以下のようにライブラリを定義すると良い。 import contentful from "con…
このたびアップロードよりダウンロードのほうが多いであろうファイルについて、 Cloudflare R2 へ移行したので、その方法のメモ。 ただし、 S3 を使っているなら公式のマイグレーションツールを使った方がおそらく良いので、そちらを使うべし。 まずは、 Was…