2010-06-15

予知夢

東野圭吾
文藝春秋 (ガリレオシリーズ公式サイト)

ガリレオ第二弾。

シリーズ一気読み。

短編集

そういえば、探偵ガリレオの文庫版の巻末に佐野史郎の解説が載っていた。なんでも、作者は湯川学を佐野史郎をイメージして書いたらしい。どこをどう間違って福山雅治になったんだろうか。


【amazonで購入】
【楽天ブックスで購入】
【DMMで購入】

探偵ガリレオ

東野圭吾
文藝春秋 (ガリレオシリーズ公式サイト)

今更な感じもするが、読みました。ドラマでも全部見たので、すでにネタはバレているのですが、原作を読んでみたくなって借りてきました。

こういう理系ミステリーは大好き。

おぉっ!柴咲コウの役の人出てないんだ。と思ってしまった。シリーズを読んでいったらわかったのですが、ガリレオの苦悩までは草薙さんと湯川さんだけなんですね。

薄いインスタントコーヒーでも飲んでみたくなりました。


【amazonで購入】
【楽天ブックスで購入】
【DMMで購入】

レッドゾーン 上下

真山仁 (オフィシャルホームページ)
講談社 ()()

ハゲタカシリーズ第三弾

ゴールデンイーグルと呼ばれた鷲津政彦が、中国マネーに翻弄される。自動車業界をめぐる中国と日本企業の攻防。

【amazonで購入】 (上)(下)
【楽天ブックスで購入】(上)(下)
【DMMで購入】(上)(下)



本ブログのハゲタカ紹介
本ブログのバイアウト紹介

プロになるためのWeb技術入門

小森裕介 (ウルシステムズ)
技術評論社

なぜ、あなたはWebシステムを開発できないのか

皆さんの身の回りに、当たり前のように普及しているWorld Wide Web。本書は、Webアプリケーション開発の「基礎の基礎」を「プロを目指す」皆さんがしっかり習得できるように作りました。通信技術とソフトウェア開発技術の両面から、Webシステムの仕組みをひとつひとつ確実に解説しました。必要な場合は難解な技術も、さらに一歩踏み込んでやさしく説明することを試みました。これにより、理解できないままになりがちな技術や知識が皆さんの頭の中で結びつき、総合的にWebアプリケーションのしくみがわかるようになります。「10年以上使える確かな実力」を本書で身に付け、皆さんのアイデアをWebアプリケーション開発で実現させてください!

Webアプリ関連の仕事ではないが、タイトルに惹かれてちょっと読んでみました。Webアプリケーションの仕組みを知るための入門書。6章までは技術入門といっても技術の歴史や概要についてがほとんど。6章以降でWebアプリ開発関連の技術が出てくる。

【amazonで購入】
【楽天ブックスで購入】
【DMM.comで購入】

目次
  1. はじめに
  2. プロローグ
      • 市民権を得た「Webアプリケーション」
      • 「Webアプリケーション」開発の難しさ
      • 「Webアプリケーション」の開発技術はどこで学べる?
      • なぜ、あなたはWebアプリケーション開発技術を学べないのか
      • 本書の対象読者
      • 本書を読む上での想定知識
      • 最も効率良く「技術」を学ぶ方法
  3. 「Webアプリケーション」とは何か
    1. デスクトップアプリケーション
    2. Webアプリケーション
    3. まとめ
  4. Webはどのように発展したか
    1. WWWの誕生と普及
      • 世界中のコンピュータを結ぶインターネット
      • インターネット普及の立役者・World-Wide WebとMosaic
      • WWWの誕生
      • 現代Webブラウザの祖先・NCSA Mosaic
    2. Webを支える技術の発明
      • WebサーヴァとWebクライアント
      • なぜ、クライアントとサーバに分けるのか
      • コラム「クライアント」と「サーバ」偉いのはどっち?
      • 「そのリソースはどこにある」- URL
      • HTTP
      • コラム インターネットに公開された技術仕様 - RFC
    3. CGIの誕生
      • 動的なコンテンツへの要求
      • CGIの誕生

      • Webの爆発的な普及

    4. サーブレットの登場
      • CGIにまつわる問題点
      • Java/サーブレットの誕生
      • Javaでアプリケーションを開発することの利点
      • コラム 早すぎた技術、Javaアプレット
    5. JSPの誕生
      • サーブレットの問題点
      • 発想の逆転!JSPの誕生
    6. Webアプリケーションフレームワークの時代
      • サーブレットやJSPの問題点
      • Webアプリケーションフレームワークの誕生
    7. まとめ
  5. HTTPを知る
    1. HTTPの知識はなぜ必要か
      • コラム ハードウェアさえも信じられない事態!?
    2. WebブラウザとWebサーバの通信をのぞいてみよう
      • 横取り丸とInetSpyのインストール
      • HTTP通信をのぞいてみよう
      • HTTPリクエストを除く
      • コラム URLとURIは何が違うのか?
      • HTTPレスポンスをのぞく
      • HTTPでは1回で1つのリソースを取得
      • ファイル名を省略した場合のリクエスト
    3. 情報はどうやってインターネットの大海原を越えるのか
      • インターネット上の住所・IPアドレス
      • IPアドレスを頼りに情報を届けるTCP/IP
      • IPアドレスは誰が決めるのか
      • グローバルIPアドレスとプライベートIPアドレス
      • コラム IPアドレスと個人情報
      • ホスト名をIPアドレスに変換するDNS
      • DNSはどのようにして実現されるのか
      • ホスト内の宛先を決定するポート番号
    4. Webサーバへの要求をどのように伝えるか
      • GETメソッドによるパラメータ渡し
      • アプリケーション側でのパラメータの受け取り
      • POSTメソッドによるパラメータ渡し
      • GETとPOSTどちらを使えばよい?
      • 日本語はどのようにして渡せばよいか
    5. まとめ
  6. CGIからWebアプリケーションへ
    1. 宅配ピザ注文サイトを作ろう
    2. 画面構成を考える
      • コラム 実際のWebシステム開発の流れ
    3. 画面モックを作ろう
    4. ログイン認証機能を作成する
      • PHPで認証機能を作ろう
      • 認証機能の動作を確認しよう
      • リダイレクト動作のHTTP通信を確認しよう
      • コラム PHPはどのように実行されるのか~CGIとモジュールの違い~
    5. ログイン状態をどのようにして記憶するのか
      • ステートフルなプロトコルとステートレスなプロトコル
      • ステートレスなHTTP上で状態をどのように表現するか
      • Cookieを利用して状態を保存する
      • Cookie利用の実際を確認する
    6. 安全に状態を保存するための技術 -セッション-
      • Cookieにまつわる問題点
      • コラム Cookieはどこに保存されている?
      • 銀行の窓口業務でセッションを理解しよう
      • 口座開設業務の進行状況をどのように管理するか
      • セッションで処理の進行状況を管理する
      • セッションの状態をどこで保持するか
      • HTTPにおけるセッションIDの受け渡し方法
      • セッションID利用の実際を確認する
      • セッションIDによるユーザの識別
    7. ピザ・ペントミノの完成
      • コラム Webサーバによる認証機能~Basic認証~
    8. まとめ
  7. Webアプリケーションの構成要素
      • なぜWebアプリケーションの構成を理解しなければならないのか
      • コラム コンピュータとは「節」?
    1. WebサーバとWebクライアントの時代
      • WWWの黎明期
      • CGIの時代
      • コラム ソフトウェア?プログラム?アプリケーション?サーバ?
    2. データベースサーバの登場
      • 大量の情報をどのようにして管理するのか
      • データベース管理システムの登場
      • コラム DB?DBMS?RDBMS?
      • データベースに対する操作
      • データベースによる情報の管理
      • コラム データベース設計はITシステムの要
      • データベースから情報を抽出する
      • 必要な情報をSQLでデータベースへ伝える
      • コラム データベースに対するCRUD操作とSQL文の関係
      • データベースとクライアントの関係
      • データベースサーバの分離
      • Webアプリケーションとデータベースの通信
      • コラム 代表的なデータベース製品
    3. アプリケーションサーバの登場
      • ServletやJSPはどこで動いているのか
      • Servlet/JSPを動かすためのアプリケーションサーバ
      • Webサーバとアプリケーションサーバの連携
      • Webサーバとアプリケーションサーバの分担
      • Webサーバとアプリケーションサーバ連携のメリット
      • 複数のTomcatへの転送
      • Webサーバの機能を持ったアプリケーションサーバ
      • コラム アプリケーションサーバの提供する機能
    4. Webシステムの三層構成
      • 最小構成のWebシステム
      • 一般的な構成
      • Webシステムの三層構成
      • コラム 現代のWebシステムを支えるオープンソース
    5. まとめ
  8. Webアプリケーションを効率よく開発するための仕組み
    1. サーブレット/JSPだけではいけないのか
      • Webアプリケーション開発のスタンダード・Java
      • サーブレットとJSPの連携
    2. サーブレット/JSPで「ピザ・ペントミノ」のログイン処理を実現する
      • JSPによるログイン画面の表示
      • サーブレットの呼び出し
      • ログインサーブレットの処理
      • フォワードとリダイレクトの違い
      • リクエストスコープにおける情報の受け渡し
      • JSPにおけるリクエストスコープからの情報の取り出し
      • なぜリクエストスコープが必要なのか
      • セッションスコープとリクエストスコープの違い
      • コラム さまざまなセッションの実現方法
    3. Webアプリケーションのアーキテクチャ
      • ロジックとデザインの分離
      • ソフトウェアの建築様式
      • コラム カスタムタグとJSTL
      • 「ピザ・ペントミノ」の構造を俯瞰しよう
      • MVCモデルによるWebアプリケーションのアーキテクチャ
      • MVCモデルによる処理の流れ
    4. フレームワークによるアーキテクチャの実現
      • フレームワークとは何か
      • StrutsによるMVCモデルの実現
      • Strutsによる「ピザ・ペントミノ」のログイン処理
      • JSPからのログイン処理アクションの呼び出し
      • コラム Javaを部品化するための仕組み -Java Beans-
      • ログイン処理アクションでログインチェック処理
      • 商品一覧画面への遷移
    5. レイヤパターンによるデータアクセス層の分離
      • モデルをどのように実現するか
      • JDBCによるデータベースからの情報の取得
      • レイヤパターンによるデータアクセス層の分離
      • DAOパターンによるデータアクセス層の実現
    6. O/Rマッピングフレームワークによるデータアクセス層の実現
      • O/Rマッピングフレームワークの必要性
      • RDBとオブジェクトのインピーダンス・ミスマッチ
      • iBATISによるO/Rマッピングの実際
      • Data MapperとSQLマップファイルによるO/Rマッピング処理
      • Dao Frameworkを利用したDAOの作成
    7. フレームワーク利用におけるメリットとデメリット
      • フレームワーク利用のメリット
      • フレームワーク利用のデメリット
    8. まとめ
  9. セキュリティを確保するための仕組み
    1. なぜセキュリティを確保しなければならないのか
      • Webアプリケーションが守るべきセキュリティ
    2. 代表的なWebアプリケーションの攻撃手法とその対策
      • SQLインジェクション
      • クロスサイトスクリプティング(XSS)
      • セッションハイジャック
      • コラム SSLによる通信路の暗号化
      • クロスサイトリクエストフォージェリ
      • コラム セキュリティの陰の立役者・ハッシュ関数
      • 強制ブラウズ
      • ディレクトリトラバーサル
      • コラム より安全な認証方式~Digest認証~
    3. 設計・実装ミスに起因する誤動作やセキュリティ問題を防ぐための対策
      • 「戻る」ボタン対策
      • ダブルサブミット対策
      • hiddenタグに重要な情報をもたせない
      • デバッグ情報を出力させない
      • グローバル変数に情報を持たせない
    4. まとめ
  10. おわりに
    1. 謝辞
  11. 付録
    1. 参考書籍・サイト
  12. 索引
MVC (Model View Control)
モデル
ロジック
ビュー
デザイン
コントロール
アダプタ
レイヤ 自分自身と直下層にのみ関心を持つ
プレゼンテーション層
ユーザーインターフェース
ビジネス層
ロジック
データアクセス層
永続化
ワンタイムトークン
読み込み時にランダム値を発行しておき、この値を保存しておく。送信時に利用されたらそのランダム値を使用済みとする。こうすることで、様々な災を避けることができる。問題は定期的に保存したワンタイムトークンを削除しなければならず、どのタイミングで削除するかだ。発行日時とワンタイムトークンを一緒に保存してデータ読み込み時に一定期間が経過したワンタイムトークンはハッシュから削除するようにする。
onsubmit
formタグのonsubmitイベントはfalseが返ると送信されない? これを利用してグローバル変数のフラグを送信時に倒せば良い。が、これは掲示板などでは連続投稿ができない。質問者は良いが、回答者は連続で回答することが多いがこれでは困る。
ヘッダー情報を操作してキャッシュをno-cacheなどにする ヘッダー情報でLocationを利用するとリダイレクトが利用できる

2010-05-31

薬は体になにをするか 「あの薬」が効くしくみ……

矢沢サイエンスオフィス
技術評論社

薬がどのように体に作用しているのかが、科学的だが、知識のない私のような読者にも理解できるように解説されていて、発見や開発にまつわるエピソードなども紹介されている。

非常に読みやすくできていて、薬が体に効く仕組みの入門書としてはとても良い本だと思う。

第1章 抗うつ剤
気分を高揚させ前向きな精神を生み出す魔法の薬?
第2章 アルツハイマー病治療薬
脳細胞の不可逆崩壊を防ぐ薬はできるか
第3章 ステロイド剤
劇的な治療効果とやっかいな副作用が表裏をなす
第4章 頭痛薬
痛みをごまかす薬から痛みを消し去る薬へ
第5章 抗生物質
細菌を殺し、その増殖を抑えて病気の源を断つ
第6章 糖尿病治療薬
原因も対処法も異なる「I型糖尿病」と「II型糖尿病」
第7章 抗がん剤
がん細胞の分裂・増殖を遺伝子レベルでくい止める
第8章 てんかん治療薬
脳の神経細胞の過剰な興奮を抑える
第9章 インフルエンザ治療薬
タミフルは感染直後のウィルスの増殖を阻止する
第10章 アレルギー治療薬 (抗ヒスタミン剤)
アレルギーを引き起こすヒスタミンのはたらきを抑える
第11章 エイズ治療薬
エイズウィルスの増殖を抑えて免疫系の完全崩壊を防ぐ
第12章 パーキンソン病治療薬
「L-ドーパ」の問題点と新薬への期待
第13章 ピル(経口避妊薬)
世界標準から遅れた日本女性の抵抗感とピルの効用
第14章 モルヒネ
がん患者を耐え難い痛みから解放する最良の痛み止め

【amazon】
【DMM.com】
【楽天ブックス】

2010-05-29

問題は「数字センス」で8割解決する

望月実
技術評論社

この手の数字マジック的な本は何冊か読んできましたが、相変わらず感じるのは、それほど目からウロコというような新発見が無いことですね。

鵜呑みにせずに、一度自分で冷静に評価する。評価する際に自分の身の丈で評価すると感覚的に理解しやすいということだろう。

この手の関係の本では、先日読んだ「高校生でもわかる日本経済のすごさ!」の方が面白かった。





目次

第一章 数字を「読む」力をつける - 問題発見力を高める5つの数字の読み方

イントロダクション
ケース1
1つの数字から多くの情報を引き出す
できる人は同じ数字からチャンスをつかむ

ケース2



大きな数字に惑わされない
伊勢丹と三越、利益の差は200億円

ケース3



隠された数字を探す
資産1兆8000億円と負債20兆円、どちらが良い会社か?

ケース4



フローとストック、2種類の数字に注目する
NTTドコモは本当に1人負けか?

ケース5



多くの数字の中から目的の数字を見つけ出す
仕事で数字が合わなくて困っているあなたへ

コラム1



イチローと数字に強いひとの共通点
第2章 数字で「考える」力をつける - 問題解決力を高める3つの数字の使い方
イントロダクション
ケース1
お客様とコミュニケーションを取りながら問題を解決する
どちらのセールスレターが売れるのか?
ケース2
数字を使って仲間と問題を解決する
「利益を2倍」にする戦略の立て方
ケース3
決められた時間内に問題を解決する
イメージを現実にするスケジューリングの技術
  • スケジューリングの大切さを学んだ新人時代
  • なぜ成果を出すにはスケジューリングが大切なのか
  • スケジューリングに助けられたセミナー
コラム2
なぜ外資は数字を重視するのか
第3章 数字で「伝える」力をつける - コミュニケーション能力を高める7つの数字の使い方
イントロダクション
ケース1
ターゲットに合わせた数字を使うプレゼンの苦い思い出
ケース2
最初に要約資料を見せる売れない営業マンから売れる営業マンへ
ケース3
不要な数字は資料から削除するあれもこれも、は数字の切れ味を半減させる
ケース4
イメージがわかない数字は置き換える数字のすごさだけをアピールしてもピンとこないときには
ケース5
ウリになる数字を作るなぜ、映画のコマーシャルは「興行成績No.1!」なのか
  1. NO.1になる数字を見つける
  2. ブランド力のある数字とおきかえる
  3. 大きな数字を分割する
    • コーヒー1杯いくらなんだろう?
    • 割引チケットは本当に得か
  4. 大きな数字を作る
ケース6
メッセージに合わせたグラフを作る同じ数字でも印象はこんなに変わる
  1. グラフに使う数字を吟味する
  2. メッセージに合わせてグラフをカスタマイズする
    • 軸の長さを変化させる
    • 目盛りの範囲を変化させる
ケース7
反論されないストーリーを作るなぜあの人のプレゼンはうまくいくのか
コラム3
プロが勧める数字の本

【amazon】
【楽天ブックス】
【DMM.com】

2010-05-21

ドラゴンランス 1 廃都の黒龍

マーガレットワイス
トレイシーヒックマン
安田 均 (翻訳)
エンターブレイン

小1の息子が図書館で、タイトルのみで借りてきたが、まったく読めないでいたので、返却までに私が読んでみた。

まあ、多分、漢字が読めないという障害を克服したとしても、読んだ言葉の意味が理解できないという、新たな障害が立ちはだかるであろう内容だったので、どちらにしても小学生向けではないような気がする。
それなのに、漢字にはことごとくルビがあり、なんだかとても読みづらい。

その上、登場人物がやたらと多い上に、カタカナ名であり、登場人物を名前で呼ぶ場合と、人種、正確には、人ではないので「人種」ではなく「種」で呼ぶ場合があり更に混乱する。

半分くらいまで読み進むまでは、内容すら把握できず、人物や相関もまったく理解できていなかった。

もともとは、古典ロールプレイングゲームだったらしい。

図書館には全館揃っていたので、1冊読んだので、全巻読破しようとは思っているのだが。

本書は現在は、角川つばさ文庫で出版されているようです。

【amazonで購入】ドラゴンランス 1 廃都の黒竜 (上) (角川つばさ文庫)
【楽天ブックスで購入】ドラゴンランス(1)(角川つばさ文庫)
【DMM.comで購入】ドラゴンランス 1 (角川つばさ文庫)