「あなたの知らない超絶技巧プログラミングの世界」

id:ku-ma-meさんの本です。

書籍『あなたの知らない超絶技巧プログラミングの世界』が 9 月 25 日に発売されます - まめめも

以前にPerlの記号プログラムを勉強していたこともあったり 縁あって、レビューに参加させていただきました。
あとがきに名前まで載せていただいていて、とても光栄です。ありがとうございます。

あなたの知らない超絶技巧プログラミングの世界

あなたの知らない超絶技巧プログラミングの世界


自分は誤字脱字指摘レベルの瑣末なことにしか貢献できませんでしたが、とても面白く読ませていただいていました。他のレビュワーの方々とのやりとりはとても勉強になり、レビューの中でまた新たな技術が生み出されたりと、とてもすごい世界でした。


本の内容については まずとにかく第1章「超絶技巧プログラムギャラリー」で読者の方々は度肝を抜かれることと思います。Quineや記号プログラム、アスキーアート化、ターミナル上でアニメーションさせたり音を鳴らしたり。読んでて「マジか」「こんなこと出来るのか」「頭おかしいwww」といった感想が普通に出てきました僕は。

それだけでもうお腹いっぱいになりますが、第2章からはそれらの超絶技巧プログラムを支える技術について丁寧に解説してくれます。こういう技を使えばこんなプログラムが書けるようになる、というのが第1章で紹介されるプログラムたちと関連づけて紹介されるので ひたすら「なるほど〜」と唸るばかりです。


かと言ってこれを読めば誰でもそういう凄い超絶技巧プログラムが書けるようになる、というわけではないですが、なんか色んな可能性を感じられるようになるのではないでしょうか。
少なくとも、プログラミングの面白さはより強く感じられるようになると思います。プログラミングが好きな人にとってはもっとプログラミングが好きになる、とても面白い本だと思います。

少しでも興味を持った方は是非ぜひ読んでみてください。オススメの一冊です。

集中線アニメーションさせるChrome拡張

!!!集中線GIFメーカー!!!っていうのが面白くて、

Goに移植されたりもしていて、
集中線GIFメーカー in Golang - syohex’s diary

じゃあJSでも出来るかな、と思ってChrome拡張にしてみた。
ブラウザ上で表示している画像たちに自動的に集中線アニメーションをつけるもの。


https://github.com/sugyan/speedline.js に適当に置いた。Web Storeに上げるようなものでもないよね…。
あまり動作確認していないので上手く動かないサイトも結構あるかも。

実装

画像のimgタグを探して、そこにcanvas要素を上にのせてそこで集中線をアニメーション描画するだけで出来るよねー、と思ったんだけど imgの上にピッタリcanvasをのせるっていうのが意外に難しくて、サイズは簡単に取れてもその絶対座標に合わせて配置っていうのが簡単にはいかず、なんか苦労した末imgのあったところにinline-blockなdivを入れてその下に元のimgとcanvasをぶら下げposition:absoluteで固定する、みたいなめんどくさい方法で解決した。最初からcanvasにまるっと入れかえてその中でimageをloadする、とかの方が上手くいくのかなぁ。
あとonload後に1回imgを探して処理するだけだとajaxで追加読み込みされた画像たちに適用できなくて、どうしたらいいかな、と思ったけど とりあえず定期的に全imgを探して適用済みだったら無視するだけという富豪的な方法にしてしまっている。

JSとかHTMLとか詳しい人だったらこういうのどうやって作るのか知りたい。