著書「シェルスクリプト+データベース活用テクニック」 に関する情報を集めています。
シェルスクリプトは、他のプログラムの起動や、テキストファイルの読み書きを 最高に効率よく書ける言語です。たんなるコマンド起動の羅列だけでなく、 シェル関数やパイプが自在に使えるようになると飛躍的に高度なものを 作れるようになると気づいている人は多いでしょう。
さらにそこに、SQLという武器を足してみませんか。
シェルとの親和性の高いSQLiteを用いることで、 シェルスクリプトのコンパクトさはそのままに、 SQLの持つ高度なデータ整合性保証を組み込むことができます。 これまで小規模用途を対象としていたものでも、 中規模以上に適用可能なシステムの実装が可能となるでしょう。 また、SQLに興味はあるものの、どんなシチュエーションで活かすべきか 思い浮かばなかったような場合にもお勧めです。入門書でしか SQL に接しなかった場合でも、実際にありがちな問題を SQL で表現することで、 それまでに得た実力が高度に役立つものであると実感してください。
本書は特定の1つの技術を掘り下げるものではなく RDB と、一般的な軽量フィルタコマンドを利用して実用的な情報システムを構築する ために必要な複数の分野の知識をとりまとめた形になっています。 まず、各章で取り扱うデータをRDBに格納するにはどのように設計すればよいかを事前に考えてから読み進めてみてください。
SQLはかじったことがあるが、 これまで積極的に活用してこなかったという層を想定して、RDB+SQL に対するありがちな思い込みに触れ、実際には手軽に利用でき、 シェルスクリプトのロジックを単純化できる効果があることを紹介します。
「数え上げ」という単純なデータ処理を題材に、RDB 利用の有無によってシェルスクリプトの設計にどのような違いが出るかを明らかにします。
「日程調整」のように、複数人からの書き込みを想定した システムを題材に、根本となるデータ管理スクリプトをまず作成し、 それをネットワークサービスデーモン経由で起動させる設定について説明します。
SQLiteではバイナリファイルの処理方法と、一般的なユーザ認証機構の 基本的な考え方について説明します。
前章までの技術を応用して、シンプルなカタログデータベースを Web アプリケーション形態で構築する例を示します。あくまでも一例なので よりきれいで高度な設計のものを作る礎としてください。
SQLiteでさらに複雑なシステムを構築したりするための Tips を紹介しています。よく練られたSQL文を構築するときには Emacs + sql-mode が非常に役立つため、先に6.4を読むとよいでしょう。
本書のあと書きにある「シェルスクリプトで構築されたSNS」を 読者の情報交換用に運用しています。 「s4square」は紹介制の SNS です。招待メイルを送りますので、下記アドレスまでお気軽にご連絡ください。
以下の修正点が確認されました。
ページ | 誤 | 正 |
---|---|---|
p373 | sudo apt-get -y install emacs24 # FreeBSD | sudo apt-get -y install emacs24 # Debian |