2024年9月1日日曜日

DockerfileでARGを1行に複数指定できた

 すでに知っている人にとっては何を今更と思うかもしれませんが、つい最近知りました。

公式のリファレンスの書式では1つしか指定できないように見えます。

ARG <name>[=<default value>]

使用例も1行に1つずつ指定する方法しか書いてありません。

FROM busybox
ARG user1
ARG buildno
# ...

でも試してみた結果、以下のように1行に複数のARGを指定できました。

ARG foo bar

ちなみにENVちゃんと1行に複数指定できることが明示されています

これで少しでもDockerイメージのレイヤーを減らせれば。。。

2024年8月25日日曜日

返信率が低いスカウトメール

 時々、知り合いの会社(複数)の人事の方から「エンジニア(IT開発者)にスカウトメールを送っているけど返信率が低い」という相談を受けることがあります。

話を聞いていると大体以下のどれかに当てはまっていることが多いのですが、他に思い当たる方はいないでしょうか。

2024年8月18日日曜日

GoのDTLSライブラリーの不具合

 GoでPion DTLSというライブラリーがあります。これはUDPの暗号化通信をするときに使われるライブラリーなので、特殊なプロトコルの実装以外ではそもそもそういうソフトウェアを開発する機会自体があまりないかもしれません。

このライブラリーにちょっとした不具合がありまして、コネクション切断後の再ハンドシェイクがDTLSの仕様どおりの挙動をしていないようです。

具体的には明示的なコネクション切断を行わずに同じ接続元(アドレス:ポート)からClientHello受け取ったとき、DLTSの仕様ではサーバーは新しいハンドシェイクを開始するべきなのですがこのライブラリーではClientHelloが無視されます。

1年近く前にその問題を報告したのですが、つい最近この問題が解消されたようです。

かなりニッチな情報ですが、個人的に結構嬉しかったのでここで報告。。。

2024年8月11日日曜日

Fluentdでmultilineを使うときにちょっとだけ注意

 前回に引き続きFluentdの話。今回はmultilineパーサーについてです。

このパーサーは正規表現で複数行を解析できるので、regexpの上位互換みたいなもんか。じゃあ何も考えずmultilineにしとけばええやん!と思っていたら・・・

なぜか最後の行が出力されない。

これでしばらく悩んだんですが、そもそも考えてみたら次の行頭が確定するまで現在の行全体が確定しないわけですからそりゃそうですね。

というわけで、しばらく入力がなかったら自動的に行を確定させるためにmultiline_flush_intervalを設定しましょう。

これも数日ハマったので、同じようなハマり方をしている人のために残しておきます。

2024年8月4日日曜日

FluentdでS3に出力するときに気をつけること

 クラウド全盛期の今、ロギングツールも各クラウドの機能に取って代わられている感がありますが、まだまだ現役なFluentdの話です。

Fluentdで収集したログをAWS S3にアップロードする場合、セキュリティー対策として(アカウントが乗っ取られたときにログを盗まれないように)アクセスキーやロールにWRITE権限しかつけないことがあります。

そのときは、out_s3プラグインの設定で以下の項目を無効にしましょう。

  auto_create_bucket false
  check_bucket false
  check_object false

よく考えれば当たり前なのですが、諸々の存在チェックはS3側に読みに行くので、READ権限が必要です。これらを無効にしておかないと、エラーが出てログを収集できなくなります。

なんでこんな当たり前のことをわざわざ記事にするかというと、これを忘れてハマったからです。

2024年7月28日日曜日

UNICODEのHELLO WORLD

5人組アイドル「UNICODE」登場 デビューシングルは「HELLO WORLD」 IT関心層「検索しにくそう」  

はい。ただのネタです。

そもそも文字コードとしての「ユニコード」は“Unicode”(先頭のみ大文字)、K&Rの元祖「ハローワールド」は“hello, world”(全て小文字、カンマあり)なので、このアイドルのことを知らなくてもブログのタイトルを見た時点で「ITとは関係ないな」とわかるはずです(?)

よーしパパ X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* というユニットを作っちゃうぞー

ユニット名を保存したファイルがセキュリティーソフトに引っかかってもしらないぞー

詳細はEICARテストファイルで。

2024年7月21日日曜日

スクラッチから開発する新しいブラウザー Ladybird

 Google広告費の影響を受けない新たなWebブラウザが必要だと、スクラッチからWebブラウザを開発する「Ladybird Browser Initiative」、元GitHub創業者らが立ち上げ

動機は納得だし、健全な競争のためにも大いに応援したいと思っています。ただここまで巨大化したウェブ標準をフルスクラッチで実装するのは骨が折れるどころか粉末状に砕けるレベルの大仕事でしょうね・・・

当面の問題は、開発人材の確保と運営資金でしょうか。

とりあえずリンクをぺたり。みなさんも応援してあげてください。

公式サイト

GitHubリポジトリー