タグ

2024年3月26日のブックマーク (2件)

  • cel-goで一番シンプルな例を動かしてみる

    https://www.drumato.com/ja/posts/validating-admission-policy/ で触れたように、 google/celはシンプルで汎用性を持った言語仕様を持っており、 新しくなにかソフトウェアを作るときに、設定ファイルのインタフェースとしてとても良いのではないかと感じた。 今回はこのgoogle/celの仕様をもとに実装された https://github.com/google/cel-go を使い、 簡単なサンプルを動かしてみることにする。 1 題ここでは、以下のようなJSONファイルに対してCELの条件式を記述し、 Goプログラム内でコンパイル、評価してtrueかfalseを出力する、ということをやってみる。 { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "na

    k1LoW
    k1LoW 2024/03/26
  • net.ConnのReadとWriteの振る舞いについて - methaneのブログ

    Go-MySQL-DriverでカスタムのDialをサポートしていたり圧縮プロトコルサポートのコードをレビューしていたりして、利用している Write() の実装が多様化してきたので、「Write(p)って Read(p)みたいに n が len(p) より小さい場合にループで続きを書き込まなくてい良いのは決まりがあったっけ?」と気になって確認してみました。 まず、 net.Conn の定義ではReadとWriteは次のようになっています。 // https://pkg.go.dev/net#Conn type Conn interface { // Read reads data from the connection. // Read can be made to time out and return an error after a fixed // time limit; see

    net.ConnのReadとWriteの振る舞いについて - methaneのブログ
    k1LoW
    k1LoW 2024/03/26