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 |
3月
08
2010
7

テーブルのヘッダを固定してスクロールする jQuery プラグイン

Excel のウィンドウ枠の固定のように、テーブルのヘッダや左側を固定して、残りの部分をスクロールさせるための jQuery プラグインを書きました。
マークアップはシンプルで、普通にテーブルを書いたら、jQuery の作法でプラグインを呼び出すだけです。

jQuery のおれおれプラグインはいくつか書いた事がありましたが、こうやって公開するのは初めてです。ごてごての機能が欲しいんじゃなくて、単に既存のテーブルを固定スクロール化したいだけの時に、いいのが見つからなくて書いたので、けっこうニーズがあるんじゃないかと思ってます。

下記は簡単なサンプルです。詳細は専用ページを見てみて下さい。

HTML

<table id="tablefix">
    <thead>
    <tr>
        <th rowspan="2">ヘッダA</th>
        <th rowspan="2">ヘッダB</th>
        <th colspan="2">ヘッダC</th>
        <th rowspan="2">ヘッダD</th>
        <th rowspan="2">ヘッダE</th>
    </tr>
    <tr>
        <th>ヘッダ C-1</th>
        <th>ヘッダ C-2</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>データ</td>
        <td>データ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
    </tr>
    <tr>
        <td>データ</td>
        <td>データ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
    </tr>
    <tr>
        <td>データ</td>
        <td>データ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
    </tr>
    <tr>
        <td>データ</td>
        <td>データ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
    </tr>
    <tr>
        <td>データ</td>
        <td>データ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
    </tr>
    </tbody>
</table>

JavaScript

$(function() {
    $('#tablefix').tablefix({width: 500, height: 200, fixRows: 2, fixCols: 2});
});

実行結果

ヘッダA ヘッダB ヘッダC ヘッダD ヘッダE
ヘッダ C-1 ヘッダ C-2
データ データ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ
データ データ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ
データ データ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ
データ データ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ
データ データ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ


Written by Otchy in: Development | タグ: , , ,

Powered by WordPress | Aeros Theme | TheBuckmaker.com