技術者として、気づいたこと、感じたこと、困ったことなどを書き連ねていこうと思います。この先気づいたことがあれば増やしていきたいとおもいます。

間違いなどあると思います。業務で利用する場合、そのまま鵜呑みにしないようにお願いします。できるだけ責任のある情報を載せたいと思います。訂正等ありましたら、ご連絡いただけると幸いです。

技術メモ もあります。

タイトル
エンジニアのための時間管理術
著者
Thomas A. Limoncelli (著), 株式会社クイープ (翻訳)
出版社
オライリー・ジャパン
Amazonで購入する

本書は【システム管理者】向けの時間・タスク・スケジュール管理のテクニックを説明した書籍です。タイトルにはエンジニアと書いてあるのに本文ではシステム管理者と説明されていて、ちょっと混乱するかもしれません。

今までタイムマネージメント本と違うところは、システム管理者のためだけに書かれているという点です。本書の各章でシステム管理者特有の問題がまとめられていて、システム管理者のライフサイクルをどのように変化させればよいかという点について書かれています。

以下が本書の目次です。

  • タイムマネージメントの原則
  • 集中と割り込み
  • ルーチン
  • サイクルシステム
  • サイクルシステム:作業リストとスケジュール
  • サイクルシステム:カレンダーの管理
  • サイクルシステム:人生の目標
  • 優先順位
  • ストレスの管理
  • 電子メールの管理
  • 時間の浪費
  • 文章化
  • 自動化

本書の対象読者は、いつも時間に追われているシステム管理者、タスクリスト(TODOリスト)をうまく使いたいエンジニアです。テクニック本なので気軽に読み進めて、簡単なものから真似していくのがよいと思います。

タイトル
Ship It! ソフトウェアプロジェクト 成功のための達人式ガイドブック
著者
Jared Richardson (著), William Gwaltney Jr. (著), でびあんぐる (著)
出版社
オーム社
Amazonで購入する

The Pragmatic Programmers シリーズの本です。ソフトウェア開発の日々の進め方の具体的なアドバイスが満載です。『達人プログラマー―ソフトウェア開発に不可欠な基礎知識 バージョン管理/ユニットテスト/自動化』で説明されている達人プログラマーの偉大な習慣を、具体的にどう実践するかについて書かれています。

今日からでも実践できる内容にまで落とされているので、読んですぐに理解できるし、わかりやすいです。今までもこういう本を読んできたけどうまく実践できなかったという人にお勧めです。

本書は、すばらしいプロジェクトにするための、「インフラストラクチャ」、「テクニック」、「プロセス」 について書かれています。インフラストラクチャでは、チームが仕事をより楽に進めるための各種ツールを、テクニックでは、苦労してではなく賢く仕事を進めるために毎日使える習慣を、プロセスでは、曳光弾(えいこうだん)開発とよばれる開発プロセスの方法論を紹介しています。

この本は、偉大な習慣を学ぶ本です。

「僕は、偉大なプログラマなんかじゃない。偉大な習慣を身につけたプログラマなんだ。」Kent Beck

自分用の Eclipse 開発環境メモ。『Web+DB Press vol.35 の実演テスト駆動開発』 を読んで、自分用の開発環境テンプレートを作ろうとやっと決心したので ( ..)φメモメモ (といっても、ほとんど記事の内容そのままだけど)

ちなみに、TDD(Test Driven Development: テスト駆動開発) の利点は、「テスト可能なコードになる」、「コード利用者の視点を得る事ができる」、「インターフェースと実装を分けて考えることができる」。 2番目のコード利用者の視点を得ることができるというのに特に共感できる。自分の中で、インターフェースはユーザ(コードの利用者)が決めるものだ!というポリシーがあるので。t-wadaさんには、一度だけお会いしたことがある(名刺交換だけだけど)。

タイトル
JUnitと単体テスト技法―JUnit4対応
著者
福島 竜 (著)
出版社
ソフトリサーチセンター
Amazonで購入する

本書は、JUnit の使い方と単体テストについての知識を得られるものになっています。JUnit を使ったテストファーストの流れを説明し、テストとは何か(単体テスト、結合テスト、システムテスト)ということを解説しています。

対象読者は次のような人です。

  • JUnit を使ったテストファーストを学んでみたい
  • 単体テストでどんなテストを行えばよいのか迷っている
  • テスト技法に関してさらっと基礎をつかんでおきたい

テストファーストに関してさらに学びたい人にはこちらがお勧めです

バグがないプログラムのつくり方 JavaとEclipseで学ぶTDDテスト駆動開発

Information
本書で説明されている JUnit のバージョンは 3.8.1 です。付録に JUnit4 の説明が20数ページ割かれています。

EJB3.0 を使ったプログラミング覚書です。EJB3.0は SpringFramework の良いところを取り入れた、次期バージョンのの EJB です。

EJB3.0 は、EJB2.1 の問題点をいろいろと改善し、ほぼデフェクトスタンダードと言える Hibernate や SpringFramework などのフレームワークを参考にした機能を、標準化しています。

また、POJO の採用によるテストの効率化アップなど、 Ease of Development(EoD : 易しい開発)を追求しています。

Ejb3.0 は、次のような特徴を持っています。

  • Java Persistence API(JPA : 永続化 API )による永続化フレームワークの標準化
  • アノテーションの採用
  • デフォルト値の多用
  • POJO のサポート、EJB インターフェースからの開放
  • Dependency Injection(DI : 依存性の注入)の採用

Ejb3.0 の覚書をチョコチョコと書いていこうと思います。

タイトル
Ajaxイン・アクション
著者
Dave Crane (著), Eric Pascarello (著), Darren James (著), 柏原 正三 (著), 株式会社はてな (著), 網代 淳 (著), 星 睦 (著)
出版社
インプレス
Amazonで購入する

本書は、Ajax(エイジャックス : Asynchronous JavaScript + XML)の実践本です。Ajax とは何か?Ajax を使って何ができるのか?Ajax と呼べるアプリケーションを構築したい!Ajax ブームに乗っかりたい!という人のための本になっています。

本書は Ajax に関する4つの話題について書かれています。

  • Ajax とは何か?Ajax を使う理由
  • Ajax アプリケーションを取り巻くコア技術
  • Ajax アプリケーションを実際に使えるようにするには、どういう点に気をつけるべきか
  • Ajax アプリケーションを実際に作りながら、実践的なアプローチの仕方を学ぶ

Ajax では、よく知られているいくつかのウェブ技術を組み合わせ、それらを新しい興味深い方法で使用します。<中略> Ajax 技術そのものはすべてクライアントサイドの話であるものの、その特徴はサーバーサイドにも及びます。

本書 序章 「本書の内容」 より抜粋

本書の対象読者は、Ajax に興味のある人ですが、それなりにヘビーな内容になっています。本書を隅々まで読むには、Web の仕組み(HTTP 通信)を理解してることと、JavaScript が読める必要があります。Ajax とは何か?だけが知りたい人は別の書籍を当たったほうがよいと思います。本書は、Ajax 開発者向けの本になっています。

タイトル
プレファクタリング―リファクタリング軽減のための新設計
著者
Ken Pugh (著), 木下 哲也 (翻訳), 有限会社 福龍興業 (翻訳)
出版社
オライリージャパン
Amazonで購入する

「プレファクタリング」(Prefactoring)とは、pre(事前に) + refactoring(リファクタリング)という意味の新造語です。リファクタリングとは、コーディング中にコードの動きを変えずにコードを改善する手法のこと。そして、プレファクタリングは、コーディング前にリファクタリングを行うことで、リファクタリングの効率をさらに上げようというもので、… (略)

本書裏表紙のコメントより抜粋

プレファクタリングは、自分のこれまでの経験や知識さらには他人の経験や知識を元に、リファクタリングの効率を上げるような設計を行うというものです。かなり簡単に言ってしまうと、設計や実装時のイディオムを覚えるということになると思います。例えば、「コンポーネントは、どのように機能するのかよりもどう役に立つのかを考えることで、インターフェースに意識を集中し、抽象化を行うようにする」といった具合です。

これまで、コーディングにおけるイディオム、良い設計への指針などについて書かれた本はいくつかありました。それらをまとめたものが本書です。全体で250ページ強のボリュームながら、良いことが書かれているなーという印象を受けました。

コーディングに携わるプログラマや、クラス設計に携わる人にぜひお勧めする一冊です。オライリーの本なので、品質の高さは保証つきです。

タイトル
楽々ERDレッスン
著者
(株)スターロジック 羽生 章洋 (著)
出版社
翔泳社
Amazonで購入する

本書は、著者である羽生 章洋さんのご自分の経験を元に、データベース設計を行う底力を教えてくれる教科書です。テーブル設計のやり方や、コード体系の考え方、経営資産としてのデータベース、RDBMSを資産活用するためのSQLの書き方など、筆者の経験を惜しみなく公開されているという感じです。

最近はデータモデリングという言葉がもてはやされています。データモデリングにも色々な流派があり、コード体系、識別子、主キーの扱い、関係の扱いなど考え方がさまざまです。僕が読んできたデータモデリングの本で、これまでで一番共感が持てる考えが本書の考え方でした。もちろん、これまで読んできた本に書かれていることも多く、同じ考えをしているところも多々あります。ただ、本書はそういった部分を筆者の経験を元に解説しているので、非常にわかりやすいのです。

本書はデータモデリングとは何か、RDBの設計の練習がしたい人、ER設計に興味がある人が読者対象です。プログラマからSE、コンサルタントまで読んでおくと必ず為になる一冊だと思います。おすすめです。

タイトル
Webアプリセキュリティ対策入門
著者
大垣 靖男 (著)
出版社
技術評論社
Amazonで購入する

Webアプリケーションのセキュリティを高めるために使える本です。セキュリティ対策とは何をすることかということから始まり、Webアプリケーションが狙われる手法などを解説しています。固有の名称を持つWebサイト攻撃法を紹介し、それに対する防御手段を解説しているところが実用的なところだと思います。

Webアプリケーションに特化したセキュリティ対策本ですが、Webアプリケーションだけでもこんなにたくさんの攻撃方法があるのかとちょっと怖さも感じました。

物理的なセキュリティ対策と比べ、ソフトウェアセキュリティ対策に漏れがないか検証することのほうが難しいです。プログラムのソースコードがない場合、安全性の検証はさらに難しくなります。ソフトウェアのセキュリティ対策は非常にもろいものであることがほとんどです。このため、使用中のソフトウェアが安全であるか情報を収集し、安全性が保たれているか継続的に確認することが重要であるとともに、複数の安全対策を実施することが重要です。

本書「セキュリティ対策の基礎知識」より

本書の対象読者は、Webアプリケーションの開発者やそのマネージャ、管理者です。Webアプリケーションのセキュリティは、仕組みをよく理解して適切な対策を行わなければ意味がありません。さらには、その対策を複数行わなければ安全性を確保することが難しいです。本書を何度も読み直して、セキュリティ向上に役立てられるといいと思います。