現在位置: ホーム / ゲストブログ / [新連載] 達人出版会 高橋征義の ITエンジニア向けおすすめブックガイド

[新連載] 達人出版会 高橋征義の ITエンジニア向けおすすめブックガイド

今回のゲストブログは、先日「春です!新生活をはじめる人に勧めたい5冊はコレ!」で、新人向けの書籍をご紹介いただいた 達人出版会 代表取締役社長であり、日本Rubyの会代表理事である高橋征義さんです。今後高橋さんには、最近出版されたコンピュータ書を中心とした「 ITエンジニア向けおすすめブックガイド」を、定期的に連載いただくことになりました。(2015年7月7日)



みなさんこんにちは。高橋征義です。

先日は「春です!新生活をはじめる人に勧めたい5冊はコレ!」というタイトルで、新人向けの書籍をいくつか紹介させていただきました。
今回からITエンジニアの方のために、最近出版されたコンピュータ書(紙書籍または電子書籍)を中心としたブックガイド的な記事を書かせていただくことになりました。どうぞよろしくお願いいたします。

奥野幹也 著『理論から学ぶデータベース実践入門』(技術評論社)

さて今回最初にご紹介したいのは、奥野幹也 著『理論から学ぶデータベース実践入門』(技術評論社)です。

本書の特徴は、なんといっても「リレーショナルモデルへのこだわり」と「実践への応用」です。

現代的なRDBMSの理論的な話としてはやはりリレーショナルモデルに遡りつつ、正規化の話とトランザクションの話をしたりするのが王道なのですが、研究などへの興味ならともかく、仕事などでRDBMSと戦っている人にはどうにも取っ付きが悪いというか、現場の仕事との結びつきがどうにも弱いころは否めませんでした。

日本語での書籍としては、C.J.Date 著『データベース実践講義 ―エンジニアのためのリレーショナル理論 』(オライリー・ジャパン)が思い出されるわけですが、これもほんとに「実践」か? と言われるとちょっと言葉を返しづらいところがあったわけです。

一方で、実践的なDB解説書では、正規化くらいの説明はあってもそこから突っ込んだ話はあまりないところが物足りないというか不安なところなのでした。

そこに行くと本書は、第1章と第2章で、いきなり正面からリレーショナルモデルの解説と述語論理がなされています。と言っても別に難解なわけではなく、普通の技術書を読める人ならちゃんとついていける人も多そうです(とはいえ、命題論理と述語論理が初耳です、みたいな人は本書だけではちょっとキツイかもしれないので、何か他の参考書でも触れておいた方が無難かもしれません)。

とはいえ、2章までなら読み返してみれば『データベース実践講義』でも紹介していた項目ではあったわけで(述語論理は付録でしたが)、そこまでならふむふむなるほど、でもこれって(面白い人には)面白いけど役に立つの? で終わっていたわけです。

しかし本書の本領発揮は第3章以降です。ID設計、NULLの扱い、履歴やインデックスやキャッシュなど、実際に対処が必要になる課題について、あくまで「RDBMSの本質はリレーショナルモデルである」という立場を崩さずに、どのように解決するべきかを解説していきます。
その安定感も、2章までの基本があってこそのものでしょう。

RDBの理論と実践を架橋してくれる本書はたぶん空前絶後、というほどではないにしても、なかなか世にでるものではないでしょう。
ぜひとも読んでいただきたい一冊です。


理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus)

著者 : 奥野幹也
出版社: 技術評論社
発売日: 2015/3/10
 

Robert Picard 著『探検! Python Flask』(達人出版会)

続いて紹介させていただきたいのは、手前味噌ながら、私の会社の達人出版会で刊行したRobert Picard 著『探検! Python Flask』(達人出版会)です。

おそらくはRubyで書かれたSinatraというWebアプリケーションフレームワーク以降、様々な言語で小さなWebアプリケーションフレームワークが開発されてきました(もっとも、Ruby界ではSinatraの前に「Camping:http://camping.io/ 」という小さなWebアプリケーションフレームワークがあったことは触れておいてもよいでしょう。Campingの作者はあの_whyことwhy the lucky stiffです)。

本書が取り上げているのは、そのPython版とも言えるFlaskです。Flaskも他のマイクロフレームワークに似て、本体は小さなものになっている分、その他のライブラリと組み合わせて使いこなすようになっています。

また、テンプレートエンジンとしてJinja2、データベースライブラリとしてのSQLAlchemyなども紹介されています。

さらにFlaskのコンポーネント的なブループリントやデプロイなどについても解説しているので、とりあえずFlaskを使ってみたい方から、試したことはあるけれど本格的に使いこなしてみたい方まで、広くおすすめできるようになっています。

API等でちょっとHTTPを使いたいけどフルスタックなフレームワークを導入するのはちょっと……という方はぜひどうぞ。

Robert Picard著, 濱野司訳『探検! Python Flask』(達人出版会)

探検! Python Flask

著者 : Robert Picard/濱野 司 訳
出版社: 達人出版会
発売日: 2015/4/22

Kent Beck著『エクストリームプログラミング』(オーム社)

6月はすでに刊行されている古典とも言える書籍の新版が2冊ほど出ています。

一冊目はKent Beckの『エクストリームプログラミング』です。

こちらについては私のブログでも書いたのでそちらも合わせて読んでいただければうれしいです。
ブログ:君のための本 -- ソフトウェア開発を一生の仕事としていいのか悩んでいる開発者に贈りたい1冊:2015年版

XP(エクストリームプログラミング)の全てを書き尽くした技術書、というよりは、XPのエッセンスについてその提唱者が語ったエッセイ集、のような趣もあります。
10年以上前のXPを取り巻く熱は、今となっては失われてしまったと言っていいでしょう。当時のように、何か新しいものを学ぶつもりで読むものではなくなってしまったかもしれません。

しかしながら、XPを含めたアジャイルが持っていたムーブメント自体の変質も指摘され、Dave Thomasが「Agile Is Dead」と言ったかと思えば、Andy HuntはGROWSメソッド(TM)を提唱したりという昨今なので、ここは原点に立ち戻って、XPとは何だったのかと振り返りつつ、これからのソフトウェア開発のあり方を考えてみるのもよいかと思います。

エクストリームプログラミング

著者 : Kent Beck・Cynthia Andres 共著/角 征典 訳
出版社: オーム社
発売日: 2015/6
 

Donald E. Knuth著『The Art of Computer Programming: Volume 1 Fundamental Algorithms Third Edition 日本語版』(アスキードワンゴ)

二冊目の「古典」は、TAOCPことDonald E. Knuthの『The Art of Computer Programming: Volume 1 Fundamental Algorithms Third Edition 日本語版』です。

TAOCPと言えばもはや説明不要の……と思っているのはおっさんだけかもしれないので改めて紹介すると、プログラミング、特にアルゴリズムを解説した古典的名著です。

アルゴリズムは古典的なものはもう何十年も前に発明・発見されているため、新しい本が必ずしもいいというわけではありません(もっとも、21世紀以降に盛り上がっているアルゴリズムの分野もあるようなので、そういうところでは新しめの本を読むべきです)。そもそも「クヌースのアルゴリズム」というものがいろんな分野にある(クヌース一人ではなく、クヌース-モリス-プラットのアルゴリズムだったりクヌース・ベンディックスのアルゴリズムだったりとかもしますが)くらいなので、そういう生きて動くアルゴリズム界の巨人みたいな人がライフワークとして書いている(まだ終わっていない)書籍です。その本の第1巻が2015年に復刊したのでした。

ただし実装については、MIXという1バイト=6ビット、1ワード=5バイト、という(現代から見ると)変態的なコンピュータのアセンブリ言語で解説されているため、正直言ってちょっとこいつどうしてくれようと思わないではないです(かといってIA64やThumb2とかで書かれたら読みやすくなるわけでもないですが)。その辺は変わった趣向のパズルかと割り切って真面目に読むか、斜め読みして読み飛ばす程度の度量は必要かもしれません。

また、Knuthの名前のみを知っている方にはすごく偉い先生なのかと思われるかもしれませんが(実際すごく偉い先生ではあるのですが)、人生で初めて商業誌に掲載された原稿はMADというお笑い雑誌に載ったものでもあるくらいの曰くつきの方でもあります。

本書でも、冒頭の「演習問題の注意」に載っている演習問題例の最後が、「nが整数でn>2なら、 x^n+y^n=z^n という方程式は、x,y,zが正の整数になるような解をもたないことを示せ」となっていたり、著者本人も「読んではいけない」と太字で書いてある(本書xvページ)ような面白い(けどどうでもいい)引用が随所にあったり、木構造の「研究史と参考文献」(2.3.4.6、391ページ)では「木は、もちろん天地創造の第3日目から存在しており」などと、小粋な(くだらない)アメリカンジョークが仕込んであったりするところも見逃せません。

アスキードワンゴというのは社名ではなくてブランド名なのですが、元々KADOKAWA/アスキーメディアワークスでハイエンド書籍編集部の編集長をされていた鈴木嘉平さんが、いろいろあってKADOKAWAからドワンゴに移籍し、新たに立ち上げたブランドです。
このような古典をちゃんと現代的に作り直して出版してくれる貴重な版元さんにはぜひ頑張っていただきたいところです。

The Art of Computer Programming Volume 1 Fundamental Algorithms Third Edition 日本語版

著者 : Donald E. Knuth著/有澤誠 和田英一 監訳/青木孝 筧一彦 鈴木健一 長尾高弘 訳
出版社: アスキードワンゴ
発売日: 2015/6/26
 

牧野智和 著『日常に侵入する自己啓発: 生き方・手帳術・片づけ』(勁草書房)

最後に、冒頭に言ったことをいきなり撤回するようで恐縮ですが、今回ラストでご紹介したい本はコンピュータ書ではありません。
が、読んでおいて損はない本です。

「生き方・手帳術・片づけ」という、サブタイトルの突拍子もなさがありつつも、(ある意味で)納得できる関連性の高さが自己啓発界隈に詳しい人にはぐっと来るというか、分かる人(書店の自己啓発書籍棚に詳しい人とかには)には異様に分かりそうなタイトルが素敵です。

本書の内容は、前著『自己啓発の時代』を踏まえたもので、ピエール・プルデューの社会学を背景にして、自己啓発がどのように作られ、どのように読まれているのか、また世の中の流れとどのように関連しているのか(世界の「自己啓発化」)といったことを、特に男性向け・女性向け「年代本」(20代/30代/40代までに読むべきなんとか的な本)、主に男性向けの時間管理として「手帳術本」、そして女性向けの空間管理としての「片づけ本」(ときめいたりするやつ)を取り上げ、自己啓発書と社会の関係を考察した一冊です。

広い意味での自己啓発書は、コンピュータ書に親しいところもあります。
コンピュータ書のある種のサブジャンルは、そのまま自己啓発書に括られても問題ないかもしれません。
また、多かれ少なかれ、技術書を読むことには「自分を高める」こと、本書の言葉を使うなら「獲得的文化資本」のための技術書(読書)、というものは不可避であると言っていいでしょう。

世界を(自分を「高める」ことで)操作可能であると見なす世界観、それに伴う世界の単純化・一元化、あるいは「自己啓発化」など、この手の人文社会系の分析スタイルはふだんのコンピュータ周辺では出会わないかもしれませんが、日々の業務とは違った視点から考えなければいけないときに、ひょっとすると強力な武器になるかもしれません。
まあ単純に読んでてめちゃくちゃ面白かったからこの勢いに任せておすすめしたいというのが率直な気持ちなのですが、せっかくなので興味があれば読んでみていただきたい一冊です。

日常に侵入する自己啓発: 生き方・手帳術・片づけ
著者 : 牧野智和
出版社: 勁草書房
発売日: 2015/4

 

おわりに

だいぶ長くなってしまいました。余裕があれば本稿締切後に出版される予定の青木峰郎 著『10年戦えるデータ分析入門』(SBクリエイティブ)もご紹介したかったところですが、こちらは次回にご紹介させていただければ。それではまた。

 

参考記事:春です!新生活をはじめる人に勧めたい5冊はコレ! 

各種お問い合わせ

サイオスOSSよろず相談室(1)

問い合わせボタン

最新の情報
わかっておきたいセキュリティ: 第4回 IRMA (Incident Response Malware Analysis) 2017年03月29日
わかっておきたいセキュリティ: 第3回 マルウェア解析サンドボックス「Cuckoo」との連携 その2 2017年02月22日
[第14回] Linux/OSS エバンジェリスト古賀政純の 『オープンソース・Linux超入門』 システム要件において検討すべき点 その4 2017年02月08日
[第13回] Linux/OSS エバンジェリスト古賀政純の 『オープンソース・Linux超入門』 システム要件において検討すべき点 その3 2017年02月01日
[第12回] Linux/OSS エバンジェリスト古賀政純の 『オープンソース・Linux超入門』 システム要件において検討すべき点 その2 2017年01月25日
[第11回] Linux/OSS エバンジェリスト古賀政純の『オープンソース・Linux超入門』 システム要件において検討すべき点 その1 2017年01月18日
Python人材育成の支援を目的としたPythonエンジニア育成推進協会の活動とは? 2016年12月21日
わかっておきたいセキュリティ: 第2回 マルウェア解析サンドボックス「Cuckoo」との連携 2016年12月14日
可知豊の『 わかっておきたい、オープンソースライセンス』: 第3回 オープンソースライセンスの使い方をわかっておきたい 2016年12月08日
可知豊の『 わかっておきたい、オープンソースライセンス』: 第2回 色々なオープンソースライセンスをわかっておきたい 2016年11月30日
可知豊の『 わかっておきたい、オープンソースライセンス』: 第1回 著作権とライセンスをわかっておきたい 2016年11月17日
わかっておきたいセキュリティ: 第1回 マルウェア解析サンドボックス「Cuckoo」 2016年11月02日
[第10回] Linux/OSS エヴァンジェリスト古賀政純の 『オープンソース・Linux超入門』 Linuxサーバーシステム導入前の検討~ RHELを知る ~ 2016年10月26日
[第9回] Linux/OSS エヴァンジェリスト古賀政純の 『オープンソース・Linux超入門』 Linuxサーバーシステム導入前の検討~ Ubuntu Serverを知る ~ 2016年10月19日
[第8回] Linux/OSS エヴァンジェリスト古賀政純の 『オープンソース・Linux超入門』  Linuxサーバーシステム導入前の検討~ SUSEを知る ~ 2016年10月12日
[第7回] Linux/OSS エヴァンジェリスト古賀政純の 『オープンソース・Linux超入門』~「初心者でもわかる、Linuxサーバーシステム活用者が知っておくべきポイント」(後編) 2016年08月09日
[第6回] Linux/OSS エヴァンジェリスト古賀政純の 『オープンソース・Linux超入門』~「初心者でもわかる、Linuxサーバーシステム活用者が知っておくべきポイント」(前編) 2016年08月02日
[第5回] Linux/OSS エヴァンジェリスト古賀政純の 『オープンソース・Linux超入門』~「ミッションクリティカルシステムとオープンソース・Linux」(後編) 2016年06月22日
[第4回] Linux/OSS エヴァンジェリスト古賀政純の 『オープンソース・Linux超入門』~「ミッションクリティカルシステムとオープンソース・Linux」(前編) 2016年06月16日
[第3回] Linux/OSS エヴァンジェリスト古賀政純の 『オープンソース・Linux超入門』~「CEOが知っておくべきオープンソース革新」(後編)~ 2016年05月25日
最新の情報 - もっと...