最後の改訂 POSIX原理主義シェルスクリプトレシピ本の集大成
2014年末に発行し,大好評を得て商業本化までされるに至った同人誌が大幅な改訂を経て再登場.
アプリケーション開発をするのにおおよそ必要なレシピを,殆ど全てPOSIXの範囲のシェルスクリプトで済ませてしまおうという本の完成版です.(本書の改訂はこれで最後)
レシピの例
- 日時の加減算
- CSV,JSON,XMLのパース
- PIPESTATUS相当を素のshで
- 排他制御(ロック)とセマフォ
- テーブルのJOIN
- メール送信(添付ファイル付も)
- HTTPファイルアップロード
- Ajax
- Cookie
- HTTPセッション管理
- IDEなきシェルスクリプトにおけるデバッグのやり方
最終章では,本文レシピを活用した調理例(Webアプリケーション)を披露しています.
POSIX原理主義理論① ― POSIXはソフトウェアの「乾パン」
そもそも様々な便利が言語がある中で,なぜわざわざシェルスクリプト,しかもPOSIXという原始的な環境に縛る意義があるのでしょうか?その疑問に対する回答を序章(まえがき)でしっかり答えます.
答えは乾パンのようなソフトウェアを書くためです.乾パンとは保存食,つまり長持ちする食糧です.非常にゆっくりとした改訂しかされないPOSIXで書くことによって,10年,20年の長きに渡って動き続けるソフトウェアになるのです.対する他の言語やライブラリーは,美味ではあるものの生鮮食品のようなもの.下記のような,日持ちさせることが重要視される用途に向いている方法はどれなのか,言うまでもありません.
- メンテナンス地獄から解放されたい人向けのソフトウェア
- 手離れのよいソフトウェア
- 何年後,何十年後に使うかわからない災害復旧ソフトウェア
- 2020年東京五輪の6年も前に開催された,東京五輪を見据えたアプリコンテストに出展すべきソフトウェア
POSIX原理主義理論② ― 「交換可能性」で弱点を克服する
POSIX縛りに意味があるからといってもPOSIXでは不可能あるいは苦手な作業というものも存在します.例えば
- 通信(Webアクセスやメール)
- バイナリー処理・ビット演算
これらの処理が必要になった時,POSIX範囲外のコマンドに頼らざるを得ません.するとPOSIX原理主義理論は破綻するように思われますが,本書ではそれに対する回答も用意しています.
POSIX原理主義の本質は「交換可能性」の追求なのです.POSIXを遵守する限り,1つのOS(コマンド実装)が使えなくなっても,代替実装が容易に見つかりますので,道連れになって使えなくなる心配がありません.POSIX範囲外のコマンドに頼らざるを得ない場合は交換可能性に配慮しなかが依存するコマンドを選べばよいのです.
例えばWebアクセスコマンドのcURLがありますが,URLエンコードやファイルアップロード時のMIMEエンコード等はPOSIXの範囲で自力で実装し,HTTPアクセス部分だけに依存するように作るのです.こうしておけば同じWebアクセスコマンドであるWgetに乗り換えることができ,POSIX原理主義が目指す「交換可能性」を担保できるのです.
表紙も今風のアレっぽさに ― 改訂したのは本文だけじゃない!
本書の特徴はその外見がアレっぽいことですが,そのアレっぽさが今風に変わっています。→【参考】旧版
比べてください。最近刊行されたアレと!
さらに,表紙のユリカモメも2代目に交代!ですが、カバーを外すと初代のユリカモメもちゃっかり居ます.
▲トップに戻る |