ノラカン「あの素晴らしいCGIからもう一度」を読んだ
技術書同人誌博覧会
というイベントが 2021 年 6 月に開催されました。
電子書籍でいくつか買い、ダウンロードしたファイルをリネームし、iPad でも開ける Dropbox のフォルダに格納したまま・・・になっておりました。
かつては通勤時間や旅行・帰省の際にこういった本を読んでいました・・・が、コロナ禍による「新しい生活様式」のなかですっかり読むタイミングを逸してしまっていました。
昨日、成分献血という拘束された状況で未読の本があることを思い出して読んだのが「あの素晴らしいCGIからもう一度」です。
わたしとCGI
本格的にプログラミングと Perl を学び始めた 2013 年時点で、既に CGI は化石みたいな扱いであったと思います。
書籍で学ぼうにも情報が古かったり、また環境構築に手間取った覚えがあります。
たしか、 XAMPP 入れて簡単な掲示板やアクセスカウンターを動かした記憶があります。
それ以降は Perl入学式で学んだ Mojolicious::Lite という Web フレームワークをメインに学んできました。
3章 アプリケーションコードの呼び出し
Plack が必要とされる歴史的背景については知りませんでした。
でも、この本の以下の記述でやっと理解できたわけです。
CGI が高速化のためのネイティブ API が利用できないとか、CGI.pm が大きなモジュールであることから忌避され、結果としてフレームワークが出てきて・・・の続きです。
フレームワークごとにウェブアプリケーションの呼び出し方も異なります。簡単な例を考えてみると... - あるものはリクエストのデータを配列でくれ、といい - あるものはリクエストのデータはハッシュでくれ といっているような感じです。
3.4 ちょっとでかすぎたCGI: 効率向上を求めたアプリケーションサーバがCGI.pmを避けるように 48p
ここで、あー、だから PSGI によるインターフェースの統一が必要だったんだ、と、やっと理解できたのでした。
確かに、自分で作ったプログラムでも作る時期、日によってサブルーチンに渡す値がハッシュだったりハッシュリファレンスだったりします・・・(目を背けながら
改めてみる「Perl ウェブ開発の中世〜CGI と Plack の間〜」
この辺り、じつは 2017 年の YAPC::KANSAI OSAKA で Perl 入学式の現校長 id:xtetsuji さんが発表しています。
この本でも参考文献の一つとなっています。
当時はこれを聞いて、「わかったつもり」になっていましたが、今思うと浅い理解であったなぁ、と思います。
そして、かつてよりわからないことが増えた気がします。
これは無知の知とでも言うか単なる老化なのか、はてさて。
単純に Perl のことが語られていて嬉しい
この本は 1 章丸々割いて PSGI について語ってくれています。
近年は Perl についての本があんまりないだけに、それだけでも嬉しかったですね。
当然、わからない用語や聞いただけの用語・単語もあるのですが、理解していくためのとっかかりとしてとても良かったです。