linkto_oldcontents linkto_sitemap  
  menu_top   menu_aboutus   menu_coterie  
    menu_inquiry   menu_link   menu_blog
発行物紹介
 
発行物一覧

  ▼次回イベント情報

  ▼すべての発行物

  ▼ご注文方法

頒布中発行物

  Win/Mac/UNIX
すべてで20年動くプログラムはどう書くべきか

  あの紀文(ひと)は今、キッコーマン。(改)

  Shell Script
ライトクックブック
2014-2016

  鳥と太陽の紋章を受け継ぎし者たち

  コンパチブル・シェルスクリプティング

  すべてのUNIXで20年動くプログラムはどう書くべきか

  キッコーマンの
飛んでる豆乳
飲みたい紀文

  本当は身近な
うつ病のはなし

頒布終了発行物

  あの紀文(ひと)は今、
キッコーマン。

  すべてのUNIXとWindowsで20年動くプログラムはどう書くべきか

  Shell Script
ライトクックブック
2014-2015

  ななか Inside Press vol.5

  リッチな
コンピューター入門

  リッチな
サーバー構築
VOLUME1 DS

  Shell Script
ライトクックブック

  笑顔になりたい

  Googol Mac
Like Racks 第1版

  リッチな
サーバー構築
VOLUME2

  できねPROmini
Chromium OSクラウドコンピューティング

  できねPRO
そろそろIPv6事始め

  できねPRO
快適データ通信

  TeX同人誌用
栄養補助食品
 
  カバー・タイトル
 
表紙:Windows/Mac/UNIXすべてで20年動くプログラムはどう書くべきか

Windows/Mac/UNIX
すべてで20年動く
プログラムはどう書くべきか

デプロイ・保守に苦しむ エンジニア達へ贈るシェルスクリプトレシピ集

松浦智之 著,USP研究所 監修,C&R研究所 発行

2016年11月4日 初版発行

A5版 2色刷 336ページ
3,600円

11/15入荷現在,カゴに 冊入っています

Amazonでも注文受付Amazonで注文

目次を表示(別ウィンドウ)正誤表(2017/1/17更新)

▲トップに戻る


  本の内容
 

ほとんどの人が知らない!
2016年8月2日,コンピューター史に残る革命が起きた事実を

この日,Windows 10 Anniversary UpdateによってBash on Ubuntu on Windows(Windows Subsystem for Linux)がリリースされたが,これにより,今世界で発売されているPCのほぼ100%(UNIX,Mac,そしてWindows)でそのまま動くプログラムが書ける時代が到来したのだ.しかもそのプログラムには,10年,20年もの長期間の寿命を持たせることができる.つまり,OSも,時代も超えたプログラムが書けるようになったということだ.

“Write once, run anywhere, run FOR GOOD”
(一度書けば,どこでも動き,ずっと動く)

本書は,この静かに起こされた革命を,WindowsやMacの開発者に知らせるために書かれた本である.

なぜ皆,この革命に気づかないのか?

それはこの,OSも時代も超えたプログラムを書くための言語がシェルスクリプトだからである.

Windowsネイティブの人は,そもそも馴染みのない言語であるため,何ができるかイメージが湧かない人が多い.MacやUNIXネイティブの人は,「シェルスクリプトなんて,記述が古臭い,開発言語としてはほとんど何もできない,遅い,機種依存が激しい」というイメージを抱いている人が多い.

結果,どちらの人々からもシェルスクリプトがもたらす革命は見過ごされてしまっているのだ. Bash on Ubuntu on Windowsの登場で,シェア90%を誇るWindowsが折角シェルスクリプトに公式対応するようになったのに…….

OSも時代も超えたプログラミングができる理由 ― POSIX

OSも時代も超えたプログラミングがなぜ可能なのか?それはPOSIXというUNIX系OSが最低限満たすべき規格の範囲内で極力プログラミングを行うからである.

POSIXは,UNIX系とされるOSのほとんどがその仕様を満たしている.それらOSは,バージョンアップをする時でもPOSIXの仕様にだけは極力準拠しようと努めている.しかもPOSIXは,今どきの言語やライブラリーのように仕様をコロコロ変えたりはしない.だから,POSIXに準拠させればOSも時代も超えられるのだ.

しかしこれだけではまだ納得は得られない.「POSIXの範囲でできることなど,たかが知れてるんじゃないの?」と.

シェルスクリプトを強力な開発言語に変える「POSIX原理主義」

そこで本書は,シェルスクリプトを強力な開発言語に変えるための具体的なノウハウを余すことなく記した.

主なポイントは次の3つ.

■シェルスクリプト,実は速い!

シェルスクリプトが遅いのは速い書き方を知らないからで,実はC言語並の処理速度が出せる.その方法を解説.

■シェルスクリプト,実は互換性が高い!

機種依存が激しいのは,一部でしか通用しない文法やコマンドを,そうとは知らず使うから.そこで.何が方言で,何が共通語なのかを徹底解説.

■シェルスクリプト,実は多機能!

POSIXにはチューリング完全コマンドがあるので,理論上何でもできる.本書では,乱数発生やファイルロック等の基本機能から,セッション管理,Cookie,Ajax,JSON読み書きといったWeb時代のプログラミングを行うレシピまで解説し,最終的にはTwitterアプリ制作や,郵便番号住所検索Webアプリを紹介.

※ さらに初版になかった内容として,Windows/Macユーザーに向けたシェル・プログラミング開発環境の準備手順も記した.

 

シェル・プログラミングは「ブルーオーシャン」だ!OSも時代も超えられる言語は他にはなく,ろくな競争相手もまだいない. 本書を読んで,是非この新しい価値で満たされた大海原に乗り出してもらいたい.

本書の実用性を疑う人が見るべきデモ

「シェルスクリプトで,しかもPOSIX原理主義でマトモなアプリなんて作れるわけないだろ.寝言は寝て言え!」と思っている人は次のアプリ(デモ)を見てもらいたい.

  • シェルスクリプト製Twitterクライアント「恐怖!小鳥男」
    • WindowsでもMacでも各種UNIXでも、そのまま動くプログラムの制作例
    Ajaxで時計を更新するデモ
  • HTTPセッション管理をするデモ
    • シェルスクリプトで実装したCookieを駆使
  • 郵便番号から住所を引くデモ
    • 日本郵便が提供しているCSVデータをシェルスクリプトでパース
    • データは全部で約14万レコードだが,果たして何秒で答えを出すか?
  • 東京メトロ車両位置情報表示プログラム「メトロパイパー」
    • Web APIからJSONで渡ってくる車両位置情報をパース
    • HTMLをプログラムから分離,Webデザイナーとの協業を実現
  • 侵略型ショッピングカート「シェルショッカー1号男」
    • このサイト自体がデモサイト(たとえばここ
    • PayPal Web APIを叩き,オンライン決済が可能
    • よそのCMSやサイトをショッピングカート化することも可能(→
    • スライドも参照

実用性はいかがだろうか.本書の中でももちろん紹介&解説.

▲トップに戻る


  同人誌版と商業版
 

なんと、同人誌版も頒布継続!!

本書は、同人誌として作ってきた「ShellScriptライトクックブック2014」が元になっています.本来ならば商業本に発行に伴って同人誌版は販売を終了するとろですが,出版社の粋な計らいで販売継続できることになりました.

その大きな理由の一つは,本書で紹介しているプログラムを実演するためです.本書ではシェルスクリプト製のショッピングカートを紹介していますが,同人誌版はそのショッピングカートで通信販売しています.つまり,本書(商業版)の内容に実用性があることを実証するためにこその販売継続なのです.

C&R研究所さんスバラシい!ありがとうございます。

でも同人誌版とは完成度が違う!

そうなると,果たして商業版が存在する必要があるのかと戸惑うかもしれません.しかし,ハッキリ言って完成度が全然違います.同人作家としては自分の実力不足を痛感して少し悔しいところですが,さすがそれでメシを喰っている方々の本気には敵いません.

同人誌版との5つの違い

  1. 誤字、表記揺れに対するプロ編集者からの厳しいツッコミ
  2. 素人のTeX組みでは敵わないプロ編集者による組版
  3. しかも2色刷りで圧倒的に見やすい
  4. 書き下ろしコラム付き(7本)
  5. トドメの索引付き

同人誌版を購入済という方も,一度書店で眺めて判断する価値は大いにあります.

▲トップに戻る


  正誤情報
 

発行後に見つかった訂正情報について報告します.ご購入いただいた皆様にはご迷惑をお掛けして申し訳ございませんが.下記の正誤情報をご覧ください.

48ページ,表2.3「〜ブラケット内側」内,メタ文字「[」,「\x」,「\\」

これらには,表に記述されたような特記事項はありませんでした.無視してください.「[」にも「\」にも特別な意味はなく,素直に普通の文字として解釈されます.

207ページ,「■掲示板で名前とメールアドレスを〜」リスト内

cookie_str=$(mkcookie -e +604800 -p /bbs -s Y -h Y $Tmp-forcookie)
cookie_str=$(mkcookie -e +604800 -p /bbs -s Y -h Y < $Tmp-forcookie)

他にも判明した場合には随時報告致します.

▲トップに戻る


  その他情報
 

クレジット

This book is the 14th work of the Rich Laboratory.
Copyright © 2015 Tomoyuki Matsuura (Matsura Rich Laboratory), All rights reserved.

▲トップに戻る

 
 
nearly_valid_html401
[Powered by FreeBSD]
Powered by Apache
     
 
Copyright © 2007 Matsura Rich Laboratory, All rights reserverd.