3月
21
2010
2

これまでに読んだ技術書レビュー

大学に入学して IT に触れて以来これまで、多くの技術書を読んできました。
常時接続が当たり前になった現代、新しい知識を得るために何でもウェブで済ます事も可能ですが、体系的に新しいことを知るために書籍という媒体は未だ有効です。

やはり最初に何かを学ぶ時は、書籍を使うのが一番早いと思います。
そこで、後述の理由もあって、これまでに読んだ技術書の書評を作りました。
だいぶ古い本も含まれているので、その後改版されていないかも調べた上で、一覧にしてあります。

改版「あり」となっている本は、古い内容を元にしたレビューですので、その点割り引いて読んで欲しいです。書籍タイトルのリンク先は amazon の最新版です。
とはいえ今回、書評を書くにあたって、パラパラとめくってみましたが、普遍的な内容は今もまだ色褪せないですね。

レビュー

タイトル カテゴリ コメント 改版
新 C++ 入門 C++ ★★☆
いわゆる入門本。プログラミング初心者でも読める。独習 C++ が既読だったので、自分で買う本としてチョイス。可もなく不可もない。
プログラミング言語 C++ 第3版 C++ ★★★
C++ の全てが書いてあると言っても過言ではない。いわば C++ の仕様書。難しくて分厚いので、初心者にはお勧め出来ないが、ある程度 C++ を理解した後なら、言語仕様のみならず、プログラミングとは、オブジェクト指向とは、といったトピックについて、1段とばしで駆け上がることが出来る名著。
STL標準講座 C++ ★★★
最近の C++ 事情は知らないのだけど、今もまだ STL って有用だ…よね?であれば、知っとけ。という内容。STL を知ったら、STL 以前の C++ には戻れなくなるはず。
Direct3Dプログラミング入門 C++ ★☆☆
DirextX7 時代の本。さすがに今はもうどうかと。
DirectX 実践プログラミング C++
独習Java Java ★★☆
Java 初学者向け。もちろん、プログラミング初心者でも読める。手持ちの本は版が古いせいか、Vector とか Hashtable とか、臆することなく使うので、他の情報で補足した方がよい。
あり
JavaAPI 実用リファレンス Vol.1 Java ★★☆
元々他言語を使っていて、これから Java を始める人にお勧めしたい。標準 API で概ね何が出来るかが網羅されている。ざっと目を通して何があるのか把握したら、後は辞書的に使える。言ってみれば紙の JavaDoc だけど、サンプルソースと大きなクラス図がついているのが嬉しい。JDK 1.4 が対象なので星1つマイナス。
JavaAPI 実用リファレンス Vol.2 Java
JavaAPI 実用リファレンス Vol.3 Java
JavaAPI 実用リファレンス Vol.4 Java
サーブレット/JSP プログラミングテクニック Java ★★☆
Java におけるウェブ開発の土台となっている技術。最近は、高機能なフレームワーク上での開発が主流となって、ある意味不要な知識なので、星1つマイナス。そりゃもちろん知っておいた方がいいと思うが、「サーブレットも知らずにフレームワークを語るな」「C も知らずに Java を(ry」「アセンブラも知らずに C を(ry」以下ループ、という意味で、あんまり言うと老害。
あり
Java 言語で学ぶデザインパターン入門 Java ★★★
デザパタはいきなりそれだけ覚えようと思っても、覚えられるようなものではない。色んな API を見て、色んなライブラリを触って、それからこの本を読むと、妙に納得感が高いはず。あの API のロジックにはこういう名前が付いていたのか!という感じ。
あり
Effective Java Java ★★★
難しくてためになり、時に (いい意味で) 変態的。一通りの Java を理解したら、その先の落とし穴にはまらないために知っておきたい知識が色々と。
あり
PHP パーフェクトリファレンス PHP ★☆☆
言ってみれば辞書代わりだけれども、今時はウェブを使うから要らないか。ただ、ぱらぱらと眺めていると、苦労したあの処理が実は 1 行で出来たのか!みたいなことがある。
PHP 実践のツボ セキュアプログラミング編 PHP ★★☆
前半には特筆すべき部分はないけれど、後半のセキュリティを扱った部分は、これだから PHPer は…と言われないためには知っておきたいセキュリティの基本知識。最低限このくらいは、という水準だが、それすら出来ていない人が多いのは悲しい事実。セキュリティに関しては、他の言語でも通用する内容が多い。
今日から使える PHP 4 サンプル集 PHP ★☆☆
あくまで PHP 4 なので、全面的に支持出来ないけれども、具体的なサンプルが羅列されているので、スニペット集として捉えてちょっとここだけ拝借。みたいな使い方はあり。
あり
CGI レスキュー実践 Perlプログラミング Perl ★☆☆
だいぶ古い Perl の本。もちろん全て今でも使えるが、今から Perl をやるならモダンな Perl を身につけるべし。
実用UNIX Perlハンドブック Perl
Perl 5 デスクトップ リファレンス Perl ★★☆
Perl をコマンドラインツールとか、シェルスクリプトとして使うなら、1冊置いておくと便利に使える。超薄い。今で言うところのチートシートの趣。
かんたん UML 開発工程 ★★☆
UML の初歩の初歩について解説されている。…が、中小の開発会社とかであれば、UML についてはここで解説されている程度の知識で十分なのでは。
あり
SEを極める50の鉄則 開発工程 ★★☆
日本における開発工程ではプログラマの上位職とされている SE の話。あくまで日本における…の話ではあるが、日本の普通の開発会社で普通に開発をしていくなら知っておきたい知識。
ソフトウェア開発201の鉄則 開発工程 ★★☆
プログラミングにおける格言集という感じ。従って、案外当たり前の事が書いてあるけれども、納期が迫ってくると、ついついね…。という自戒を込めて読みたい。仕事としてプログラミングをしないならそこまで重要ではない事が多いけれども、初めてそういうプログラミングをするなら、むしろ先に読むのが吉。
ヤフー!グーグル SEO 対策テクニック その他 ★★☆
SEO の世界は、日進月歩 (正確に言えば検索エンジンの進化が日進月歩) なので、今も全てが通用するとは限らないが、普遍的な SEO について正しく触れられている良書。巷に溢れるエセ SEO に騙されないためにも知っておきたい知識。ちゃんと改版されていた。
あり
Illustrator 8.0J ポケットリファレンス その他 ★☆☆
フォトショとイラレのキーボードショートカットを覚えると、作業が超早くなるよ。っていう事に気づいた本。それだけだったり。
Photoshop 5.0J ポケットリファレンス その他
エキスパートから学ぶ XML 実践プログラミング その他 ★★★
XML について知識が曖昧だな、ちゃんと理解した上で使った方がいいと思うんだけど…。という人にお勧め。XML の基本から始まり、XML を正しく理解出来るようになる。実際に XML を読み書きする時に遭遇するエラーとかも読み解ける知識が身に付く。
実践 PostgreSQL その他 ★★☆
PostgreSQL にフォーカスしている本ながら、PostgreSQL は標準 SQL への準拠率が高いので、そのまま SQL を学ぶための本として通用する。対象としている PostgreSQL のバージョンが 7 系で古いので、星1つマイナス。SQL 初心者にとっては、今も色あせない知識がほとんどなので、辞書代わりにも使える。

そもそも何でこんなエントリを書いたかというと…

いま、自宅の机の周りをかなり根本的に片づけていて、もう読まなくなった技術書がたくさん出てきました。
「片づけること=捨てること」なので、どっさり捨ててしまおうかとも思ったのですが、全部買ったら結構な額になるのでそれももったいない。
それで色々考えた挙げ句、お世話になった大学のサークル (神楽坂一丁目通信局) に寄付してみるのはどうかと思い立ちました。

とはいえ、正直に言ってだいぶ古い本も含まれます。
自分が後輩の立場なら、「ゴミ捨てにくんなよ!」って思うような本も混ざってそうです。
なので、このリストの中から必要なものだけ選んでもらえればいいかなと思います。
残念ながら選ばれなかった本には、古本としての価値もなさそうですし、天寿を全うしてもらいましょう。

books1
books2

Written by Otchy in: Development, Technology |
12月
04
2009
2

Google は現代の MS か?独禁法で訴えられる日は来るのか?

最近、Google 日本語入力なるものが発表されて、にわかに注目を浴びています。
使用後のレビューなどを見る限り、Google が持つ圧倒的な情報量を武器に、Social IME の理想を実現したと思わせる秀逸な出来のようです。
例によって、Google は無料配布してますし、MS IME の馬鹿さ加減も手伝って、今後、普及が進んでいくのではないかと思います。

そのニュースの興奮もさめやらぬ中、Google Public DNS なるものが発表されました。
こういった流れをもって、いよいよ Google 帝国の世界支配が現実味を帯びてきた…という論調が、以前にも増して声高に聞こえるようになってきました。
(ちなみに、無料 DNS の煽り文句に踊らされている人もいますが、DNS サーバをホスティングするわけではなく、Google の超パワーで高速なキャッシングを提供する話っぽので、レンタルサーバ業者に与える影響は限定的だと思います。)

では、MS が独禁法で訴えられたのと同じように、Google が訴えられるかというと、それは違うのではないかと思います。
例えば、Chrome ブラウザや Google DNS を通さないと使えないサービスがあったり、Google のサービス同士じゃないと連携しない制限をかけたり、といった事を Google がやっていないからです。

MS に例えて言うなれば、Google は最初から、IE や Media Player を他のアプリに置換可能な状態でリリースしていると言えます。
しかも有料 OS に無料ソフトを添付したりではなく、最初から全てが無料なので、独禁法に定められた、不当な/不公正な「取引」 に当たるのかさえ、微妙に感じます。

もし Google を日本の法律の枠組みで訴えるとしたら、それは独禁法ではなく、不正競争防止法では無いでしょうか?

ただ難しいのは、例えば ATOK を擁するジャストシステムが不当に安価な製品を提供して市場を破壊した、と Google を訴えたとしても、Google IME 自体に直接広告がなければ、「これは商用製品ではありません。当社の社会奉仕活動です。当社に利益をもたらすものではありません。」と言えてしまうところです。
これは、直接的に広告を表示させていない全ての無料サービスについて、同様の理屈が成り立ちます。

もちろん、Google に全く利益をもたらさないかというとそれは違います。
ユーザ体験の向上によってブランディングの効果があったり、検索量が増える事で、結果的に広告収入が増えるという事は十分考えられます。

Google DNS や Chrome ブラウザ等、Google がスピードにこだわるのも、当然表向きはユーザ体験の向上が目的、と言いますが、実態はそれだけではありません。
ユーザが高速な Web を体験できるようになることは、実は Google の収益に直結しています。

Google:0.5秒遅くなると、検索数が20%減少する
Amazon:0.1秒遅くなると、売り上げが1%減少する
Aberdeen Groupというリサーチ会社が出したレポートによると、一般的に表示スピードが1秒遅くなると、PVは11%、CVは7%、顧客満足度は16%ダウンする

High Performance Web Design ~デザインから考えるハイパフォーマンスWebサイト~ | warikiru

しかし、こういった因果関係を法廷で証明するのは難しいのではないでしょうか?
仮に、因果関係が認められ、Google 敗訴となった場合だって、「Google IME の権利を放棄します。サジェストの API を公開して、IME はオープンソースに寄贈します。」と言ってしまえば、それっきりになってしまいます。

「最初に作った名誉」という形のブランディング効果は残り、Google 自体は訴訟から完全に解放されつつも、ユーザが増え続ければ、Google は自身の目的を達する事が出来ます。
これは怖いです。こうなったらどうやっても止められません。

実はすでに、Android がこの状態です。そう遠くない将来、Symbian OS や Palm OS、Windows Mobile などは駆逐されていってしまうのではないでしょうか?

この傾向が進んだ未来はどんな世界でしょうか?
影から世界を牛耳る Google 帝国が完成するのか、あるいは世界共和国とでも呼ぶべき、民主的な世界になるのか、全ては Google の社訓 “Don’t be evil” がどれほど守られるかにかかってる気がしてなりません。
そして、それを担保するのは、Google サービスを利用する我々にかかっていると思うのです。

Google のサービスはほとんどが無料ですし、便利で有用なものが多いですが、Google のサービスを利用する時は「その情報は全て Google が握っているのだ」という事実と、「evil に堕ちた時はいつでも糾弾するのだ」という監視の目を忘れずにいたいですね。

あるいは、もう、すでに…。

Written by Otchy in: Business, Technology | タグ:
11月
02
2009
2

TwitterAPI.js Ver 0.9.3 リリース。大幅刷新。

TwitterAPI.js の Ver 0.9.3 をリリースしました。

バージョンとしてはマイナーバージョンアップとしていますが、全面的に書き直して、大幅な機能追加を行っています。

JavaScript だけで Shift_JIS/EUC-JP のページから UTF-8 に変換して POST する方法 や、JavaScript だけでクロスドメインで POST メソッドを送る方法 の POST 完了時にコールバック関数を呼び出す技の成果などを取り込んだり、従来不可能と思っていた BASIC 認証における再ログインを実装したりと、意欲的なバージョンアップです。

全面的なリファクタリングに際して記述を洗練させたため、機能が増えても、容量や実行速度は減っています。
最初、Ver 1.0.0 を付けて華々しく…と思ったものの、全面書き換えでバグがあったりすると切ないので、やめました。「バグフィックス版の Ver 1.0.2 がスタンダードになる」みたいのって、格好悪いじゃないですか。

それと、本家の Twitter API も以前と比べ色々と追加されていたので、それらにも追随しました。report_spam とか、search とか出来るようになったので使い道も増えたんじゃないでしょうか?
近々、リスト系の API が追加されれば、それも取り込んでいきたいと思います。

さしあたって、スパム報告機能については、TwitMgr と相性が良さそうなので、そこで使っていきたいですね。

Written by Otchy in: Technology | タグ: ,
10月
28
2009
3

とほほさん騒動まとめ(結論はとほほ(杜甫々)さん≠平志朗氏)

今日 (2009-10-28) の朝、とほほの WWW 入門 で有名なとほほ(杜甫々)さんが亡くなったのでは?というニュースが Twitter を駆けめぐりました。
発端になったのはこの投稿です。

tohoho01

この投稿にはてブが付き始めたり、「とほほ」がばずり始めたりすると、訃報が一気に広まったのです。
また個人のブログで、広島在住、Perl 使いという特徴から「とほほ(杜甫々)さん=平志朗氏」説を述べているページが以前からあった事も、ニュースを補強します。

tohoho02tohoho03

とほほの WWW 入門にお世話になった世代と、日本で Twitter を使っている世代が重なった事もあって、Twitter 上のあちこちで訃報を悲しむ声が上がりました。

そんな中、冷静にとほほ(杜甫々)さんと同一人物とはまったく思えないといった指摘があがります。

tohoho04

ここで指摘されているサイトはどうやら亡くなった平志朗氏のサイトなのですが、確かに「とほほの WWW 入門」からは想像出来ないサイトの作りです。

tohoho05

しかもソースを見る限り、ホームページビルダーで少なくとも 2004 年以降に作成されています。
このあたりから、徐々に、とほほ(杜甫々)さんと平志朗氏は別人ではないかという見方が広がり始めます。

ただ、Twitter の特徴として各人の TL で情報伝播速度に違いがあるため、この段階では真偽入り乱れる非常に混乱した状態になってきていました。
訃報に悲しみ続けている人、さらなるソースを求めて真偽を見定めようとする人、結論を保留して様子見を決める人もいます。

そしてついに、ソースが発見(追記:初出はこちらとの事です)されます。

tohoho06

tohoho08

平志朗氏のサイトで、平志朗氏自身がとほほ(杜甫々)さんとは別人であると書き込む内容です。

tohoho07

すると、TL の内容も徐々に誤報を伝えるコメントが増え、訃報が広まったのと同じ速度で誤報であるという情報も広まっていきました。
今回の騒動を機に、とほほ(杜甫々)さんの影響の大きさを感じた人も多かったようです。

こうして今回の騒動は収束し始めていったのですが、この間、時間にしたらおよそ 1 時間程度でしょうか?
Twitter 検索でずっと情報を追っていたのですが、あまりのスピードに驚きました。

次の Web のトレンドはリアルタイムだと言われて久しいですが、今回まさにそれを体験した思いです。
こういった事象をもっと早い段階で何度も見せられた米国のネット関係者は、Twitter のすごさをもっと早くに理解していたんですね。
Google や MS が自前の開発ではなく、Twitter との提携に踏み切った理由もよく分かります。

これからの Web はますます面白くなりそうです。

また、今回の騒動はとほほ(杜甫々)さん≠平志朗氏で決着が付きましたが、それでも誰かが亡くなった事実には変わりません。ご冥福をお祈りします。

追記(2009-10-29)

その後、とほほ(杜甫々)さんご本人より、平志朗氏の訃報を悼むコメントが とほほの WWW 入門に掲載されました。

tohoho09

Written by Otchy in: Technology | タグ:
6月
22
2009
3

情報伝達速度と信頼性

Twitter 上の自分のつぶやきを元にブログをポスト。

詳細に関しては、他のニュースサイトで大きく取り上げられていますが、アキバの事件の時にあったような実況がいまイランでも行われています。
どうやら携帯電話の動画撮影機能で取った動画が、ネットにアップされているようです。ネットワークに繋がったカメラを一般市民が持つというのは、こういう事なのですね。

そしてその情報伝達のスピードも、既存メディアではあり得ない速度で世界中を巡っていきます。
イランでポストされた Twitter のつぶやきが、世界を巡って自分の元に届くまで果たして何分かかるのでしょう?いや、分のオーダーですらなく、数十秒の内に到達する事もあるでしょう。

しかし、そのスピードは信頼性を犠牲にした上でのスピードである事は忘れないようにしたいです。
1次情報が何の裏付けもないまま自分の元に届くという事には、メリットとデメリットの両面がある事は間違いありません。
情報伝達の速度が上がればあがるほど、情報の信頼性が落ちていくというのは肝に銘じておきたいですね。

悪意を持った嘘を流すのが今ほど簡単な時代も、人類の過去の歴史には無かったのですから。

Written by Otchy in: Technology | タグ:

Powered by WordPress | Aeros Theme | TheBuckmaker.com