メインコンテンツまでスキップ

Software Design 202412

ドメイン解体新書 / HTTPS レコード

HTTPS レコードは、サーバ側で利用されていどころ

  • 使い捨てのスクリプト
  • ラッパースクリプト
  • バッチ処理
  • 環境に強く依存せず実装したいところ(コンテナ、IaC、CI/CD など)るプロトコルなどの情報を DNS で提供する仕組みである。 汎用型である SVCB レコードの HTTPS 特化版。

一度のリクエストで多くの情報を取得することで、効率的で早い通信を実現するためのもの。 例えば HTST によるたらい回しなどがなくなる。 提供される情報には、HTTP や TLS のバージョン、さらには A レコードや AAAA レコードなども含まれる。

ただし、クライアント側の対応が必須かつ今は過渡期なので、これだけに頼ることはできない。あくまで従来の方法も併用したうえでのトッピング的な扱いである。

エイリアスモードとサービスモードという二つのモードがある。プライオリティ値を 0 にするか 1 以上にするかで切り替える。

なお、dig は HTTP レコードの照会に対応していない。 https://dev.classmethod.jp/articles/dns-https-svcb-resource-record/

実践データベースリファクタリング / ループされたクエリ

ループされたクエリは、IN 句か JOIN 句を使って解消せよ。

シェルスクリプト

  • シェル
    • UNIX や Linux に標準でインストールされている、インタプリタ型のプログラミング言語
  • POSIX
    • 移植性をサポートするために、標準の OS のインターフェースと環境を定義する標準規格
    • bash はデフォルトでは POSIX 準拠ではないが、/bin/shとして起動するなどすることで POSIX モードになる
    • シェルスクリプトを書くときは、POSIX 準拠で書くか、環境を固定(e.g. bash でしか動かないように)するか、どちらかを選択する
  • 使いどころ
    • 使い捨てのスクリプト
    • 順にコマンド群を実行するためのラッパースクリプト・バッチ処理
    • 特定の言語環境に依存せず実装したい箇所(コンテナ、IaC、CI/CD など)