Cloudflare Pagesに認証付きpreviewを加える

Cloudflare Pages は無料で静的サイトを公開でき、Git のブランチを使って事前にプレビューを確認することも可能です。 プレビュー用のブランチ(例: draft)を作成し、Cloudflare Pages に push すると、draft.example.pages.dev のような URL で自動的にプレビューサイトが生成されます。限定公開にしたい場合は、Cloudflare Access を使って Google や GitHub を認証に設定し、アクセス制限をかけることができます。 最終確認後にプレビュー用のブランチを公開用ブランチにマージすれば、自動的に本番公開されます。

Pythonのswitch文 (match)

Pythonでは、match文を使うことで、switch文のような構文が簡潔に書けることがわかりました。これで同じ変数に対するifelifの繰り返しを避けることができます。

ABC406のD問題Garbage Removalの復習

AtCoder Beginner Contest 406 (ABC406)のD問題 Garbage Removalをコンテスト後に正解できたメモ。ゴミの位置は (X, Y)で与えられるが、二次元配列ではなく各rowとcolumn毎にSet型で保持するのがポイント。

ABC 405の感想戦

AtCoder Beginners contes に参加し始めて、初めて A, B, C, D の 4 問を時間内に正解できました。ここではどのように回答したかを振り返ってみます。

PDP-11をLSI化したDCJ11マイコン

DECのミニコンPDP-11のCPUをLSI化したDCJ11というチップがあります。これを使ったマイコンシステムを構築し、UNIX V6を動かしたい。既にDCJ11を使ったマイコンシステムの構築や、UNIX V6を動かしたという先行事例があるので、それらの成果を使わせてもらいます。

ABC 402のD問題 Line Crossingの感想戦

ABC 402 の D 問題Line Crossingの感想戦。平行な直線は傾きが等しくなるが、傾きを計算するのではなく多角形を結ぶ円と接する場所を考えて分類する。この時平行となる接線は2ヶ所存在するので、余りを使うことで1つに集約した。

ABC 402のC問題 Dislike Foodsの感想戦

ABC 402のC問題Dislike Foodsの感想戦。食べられるようになる順番を逆にたどり、食べられない料理の集合を作ることで解決。さらに料理に使われる食材を見て食べられるようになる日に変換することで、よりスマートに解決する方法があることを知った。