docker containerを守るために、fail2banで認証に失敗したアドレスからの接続を拒否するようにします。ここでは、fail2banのインストール方法と、設定、使用方法を説明します。
公開されたVSCodeのDev Containerなら問題はないが、コンテナを自作するとIDのミスマッチが起こり/workspace
の読み書きが出来ない。これはローカルと同じIDのユーザがすでにbase imageにいるため。そこで、一般ユーザを全て削除することで解決した。またイメージを作成するときに指定したコンテナ内ユーザIDがローカルIDと異なっていると、パーミッションの問題は起きないが、イメージが肥大化する。そこでcompose.yaml
を使うことで、動的にコンテナ内ユーザIDを上書きしてローカルと同じIDでイメージを作成できるようにした。
VSCodeでMarkdownをフォーマットするとき、prettierは括弧を使った数式のインライン表記をサポートしていない。変わりにmarkdownlintを使用する。Cloudflare PagesのHUGOは、標準では括弧を使った数式のインライン表記をサポートしない。ビルドシステムをV3に変更する必要がある。
Git で使用するエディタは、設定ファイルのcore.editor
で指定する。ただし VSCode は、コマンドラインから起動すると background になるため、foreground で実行するように--wait
オプションを加える必要がある。
太陽は、約 11 年周期で黒点の数が変化しています。2025 年はこの太陽黒点の数が極大となる時期と予想されていました。しかし、2025 年になって昨年より太陽黒点の数が少ない月が続いています。そこでこれまでの太陽黒点数の観察データをプロットしてみると、2024 年が極大であり2025 年はすでに下降期に入っている可能性も考えられます。ただし過去の周期では何度かピークを持つ周期があるので、この後また黒点数が上昇する可能性も否定できません。
Cloudflare Pages は無料で静的サイトを公開でき、Git のブランチを使って事前にプレビューを確認することも可能です。
プレビュー用のブランチ(例: draft
)を作成し、Cloudflare Pages に push すると、draft.example.pages.dev
のような URL で自動的にプレビューサイトが生成されます。限定公開にしたい場合は、Cloudflare Access を使って Google や GitHub を認証に設定し、アクセス制限をかけることができます。
最終確認後にプレビュー用のブランチを公開用ブランチにマージすれば、自動的に本番公開されます。
Pythonでは、match文を使うことで、switch文のような構文が簡潔に書けることがわかりました。これで同じ変数に対するif
とelif
の繰り返しを避けることができます。
Hugoのrender hookを使用して、コードブロックにファイル名を表示するようにした。
Hugoのコードブロックにコマンド実行例をいい感じに表示したいと思いました。そこで実行例を記載するためのrender hookを作成しました。
ObsidianのデータをGitHubにアップロードする。そして、GitHub用のプラグインを使って、複数のマシンでvoltデータを共有する。