2023年10月29日日曜日

ImageMagickで、画像フォーマット変換の結果を標準出力に出す方法

 ImageMagickで画像フォーマットを変換するとき、普通は出力先のファイル名を指定すればその拡張子から自動的に適切なものにしてくれるんですが、標準出力に出すにはどうすればいいんだろうと気になったので調べてみました。

magick input.jpg png:-

このように変換先フォーマット:-を指定すれば、指定のフォーマットで標準出力に出してくれるそうです。

これでパイプ処理にも使えますね!

2023年10月22日日曜日

ITエンジニアの慣用句

 AIに考えさせた「メモリを食う」「サーバーが落ちる」の絵がそのまんますぎて笑い呼ぶ

こんな記事を見て思わずクスッと笑ってしまったので、こちらも負けずにBing Chatゾンビプロセスの絵を描いてもらいました。

ゾンビというよりマドハンドですねこれ🤔

2023年10月15日日曜日

Install SSH Key v2.6.1を公開しました

 Install SSH Key v2.5.0でアクション終了時に .ssh ディレクトリーを削除する機能を追加したんですが、その数日後に「あらかじめ.sshがセットアップされているセルフホストランナーでも問答無用で削除するなんてひどいや!」という報告がありました。いやその通り。.ssh自体が存在していないマシン上で動かすことしか想定していませんでした。ごめんなさい。

というわけで、その報告から10ヶ月後の先日、v2.6.0でついに対応しました(おせーよ)

今回の変更で、アクション終了後にInstall SSH Keyを実行する前の状態に戻るようになりました。内部処理は以下のとおりです。

  • 最初に.sshディレクトリーが存在しなかった場合は、終了後に.sshディレクトリーを削除(これまでと同じ)
  • .sshディレクトリーが存在していた場合は、各種ファイルを作成するときに同名のファイルが存在していればバックアップを別名でコピー、終了時に戻す

.sshディレクトリーの中身自体をまるっと別名でコピーする方法も考えたのですが、ファイルの移動やコピーが最小限ですむ今回の方法を採用しました。とはいえ、まるっと待避→まるっと復元の方がリスクも少ないので、もしかしたら今後こちらの方法に変更するかもしれません。

そしてリリースの翌日にちょっとしたバグが見つかったので、急遽v2.6.1をリリースしました。このバグが発生する状況は限定的で、バグ自体も致命的ではないとはいえ、このバグはまるっとコピーしていれば発生しなかったものです。。。

2023年10月8日日曜日

ローカルやと 8080 でちゃんと動くのに Docker にのせたら8080でリッスンしてないのなんで

知り合いの子がこんなことを𝕏にポストしていました。

ローカルコンピューター内で作ってみたサーバーをDockerイメージ化すると、ちゃんとポートもマッピングしているのに外からアクセスできない。うん、Dockerのあるあるですね。

答えはコレ。

あーそうだそうだ。しょっちゅう忘れる。度々ハマるくせに、そもそもDockerイメージの設定ファイルを作る頻度自体がそこまで高くないので、次回作るときまでに諸々忘れているアレです。覚書としてここに残しておこう。

ちなみにChatGPTに聞いてみたところ

  1. ポートは正しくマッピングされているか?
  2. ファイヤーウォールなどでブロックされていないか?
  3. アプリケーション側で該当のポートを正しくListenしているか?
  4. ポートが別のアプリケーションと競合していないか?

などをチャックするように言われましたが、0.0.0.0のことは指摘してくれませんでした。。。

2023年10月1日日曜日

OpenTofu

 オープンコーラのような、レシピがOSSになっているやつではありません。

簡単にまとめると

  1. Terraformのライセンスが変更された
  2. ライセンス変更前のTerraformからOSS版のフォーク(OpenTF)が誕生
  3. OpenTFだと商標を侵害する可能性があるので新しい名前を募集
  4. OpenTofuに決定

Terraformとは何か?については、今回の主題ではないので説明は省略します。知らなくてもこの記事の理解に支障はありません。

元々このTerraformはOSS(MPL)として提供されていたのですが、v1.6からライセンスが変更されました

こちらによると、商用利用が一部制限され、Terraform作成元のHashiCorpと競合するような使い方をするとこの制限に引っかかりそうです。単にインフラ整備のために使うなら問題なさそうですね。

とはいえ、それでも今後のリスクがあるので、ライセンス変更前のバージョンからフォークしてOpenTFという新しいOSSが誕生しました。まあ最近よくある流れです。

ただ、このOpenTFという名前もHashiCorpの商標の侵害の可能性があるねということで新たな名前を募集したところ、OpenTofuが支持を集めたようです。OpenTofuのロゴ画像は一部黄色いので、どちらかというと揚げ豆腐なんでしょうか。

こちらによると、OpenTofuのいいところは

  • 元の単語と意味的に離れていて訴訟の心配が少ないこと
  • 単語・発音が短いこと
  • 「.tf」という拡張子の互換性を維持できること

だそうです。なるほど確かに。

OSS企業がプロダクトのライセンスを商用利用を制限する方向に変更するのはここ数年よく見るパターンですが、このOpenTofuは名前に恥じない健康的なプロダクトになって欲しいものです。

ところで、さくらインターネットではたこ焼きのレシピをオープンソースとして公開しています。。。と思ったらライセンスが明記されていなかった。