焼き直し、または進化の過程
12月はアドベントカレンダーの季節である。 月初はまだ暖かく、今年は楽に過ごせそうだなと高を括っていたが、急に寒くなり、とうとう暖房をつけるハメになった。
今回、参加したアドベントカレンダーは現在所属している企業のエンジニアが書くアドベントカレンダーである。
ところが、12月は妙に忙しく、新規にネタを温めることができなかった。 ひとまず、ここの怪文章置き場からネタを掘り返して焼き直すことにした。
画像のバイナリ列から画像のフォーマットを判定する
これは前職で遭遇した拡張子がイマイチ信頼できない画像ファイルの取り扱いの記事の焼き直しである。
今回、遭遇したシチュエーションは、エンジニア以外のメンバーがGitレポジトリに画像をアップロードする際に、想定した形式であることをチェックするためである。 前回ほどは殺伐とした状況ではないが、一々形式チェックするのも面倒である。 そのため、レポジトリにプッシュした際にCIを走らせてチェックを行うことにした。 前回はサーバー内部で使う想定だったので単純な函数であったが、今回はCI上で動かすのでstdin経由でぶち込む想定で実装した。
PythonesqueなPythonオブジェクトを作ろう
これは「役に立たないプログラムを書く」というまさに何も役に立たない取り組みの焼き直しである。
前回の記事の動機付けとしてはMonty Pythonのスケッチから着想をえた、という構成にした。 今回は、それを意識しつつも荘子の無用の用の概念を強く意識して書いた。
なぜ「役に立たないプログラムを書く」という発想に至ったのか。 単なる天邪鬼な性格の故、とも言えるし、「プログラミングは目的ではなく手段」という言説に対する反例を示したかった、とも言える。 「プログラミングは目的ではなく手段」を信奉するのは別に個人の自由であるが、それをありがたい御題目として他人に押し付けられるのが嫌なのである。 プログラミングそのものもそれ単体で十分技芸であり、それ自身を目的としてもよいのである。 それらのエントリが技芸に足るのか、は別の問題であるが。
役に立たないと言いつつも、「ランダムにイテレートされるリスト」は何かに役に立ちそうな気がする。 もっとも、何が何に役に立つのかなど、浅はかな自分にわかりやしないのであるが。