Posts RSS Comments RSS 32 投稿 and 1 コメント till now

Archive for the 'プログラミング' Category

たのしいRuby 第2版 Rubyではじめる気軽なプログラミング

たのしいRuby 第2版 Rubyではじめる気軽なプログラミング

著者/訳者:高橋 征義 後藤 裕蔵

出版社:ソフトバンククリエイティブ( 2006-08-05 )

定価:¥ 2,730

単行本 ( 489 ページ )

ISBN-10 : 4797336617

ISBN-13 : 9784797336610


インターネット検索があればいらないかな。

Rubyの弱点の一つは言語そのものの弱点ではないけれど、情報の少なさがあるように思う。よく比較対象になるスクリプト言語のPythonはドキュメントが充実しているのに対してRubyはruby-lang.orgがしばしば503エラーで見られなかったり悲しい思いをする。いくつか有用なサイトがあるけれど、まだまだ足りない。そういうときに手元に製本されたマニュアルがあるのは入門者にはありがたいかもしれない。しかし、本の場合は検索に向いていないので、基礎的なことを見つけるだけならGoogleに聞いた方が短時間でよい解に近づけると思う。

本の作りは丁寧に書いてあると思うし悪い本ではないと思うけれど、上述のような理由で結局本をめくるより検索に頼ってしまっている。実際にコードを書くときには逆引きの方が使い勝手がよい。本書の構成では目的の情報に到達するのがちょっと面倒くさい。それとも学校の教科書のように頭から1つ1つ理解してくことを想定しているのだろうか。

Rubyという言語は単なるスクリプト言語というよりマニア向けの言語だと思う。上級者のコードを読むと、いくら探しても明示的に定義されていない変数やメソッドがでてきて混乱することがある。つまり動的言語なのだが、これは普通のC言語のような学び方ではRubyの神髄には近づけないと思う。C++を使い始め、テンプレートの変態的な使い方にハマってBoostを活用してlambdaとかを使い始めるくらいになるとC++に辟易とするようになるらしいが、そういう人がRubyを骨の髄までしゃぶり尽くすのだろう。

Rubyの楽しさを伝えるのにC言語のような書き方の本では、相当熟練するまでは神髄は伝わらない。初心者にRubyを伝えるなら他に工夫した方がよく、あまりよい例は知らないけれど、Objective-Cの本はもうちょっと上手く書いてあることが多い。Objective-CのユーザーはJavaやC++を強く意識している傾向が強く、なぜObjective-Cのほうがよいのかという説明を強く打ち出すことが多い。

目次
第1部 Rubyをはじめよう(はじめてのRuby便利なオブジェクト ほか)
第2部 基礎を学ぼう(オブジェクトと変数・定数条件判断 ほか)
第3部 クラスを学ぼう(数値(Numeric)クラス配列(Array)クラス ほか)
第4部 Rubyを使いこなそう(Ruby落ち穂ひろい演算子 ほか)
第5部 ツールを作ってみよう(ログの解析郵便番号の検索 ほか)

Spidering hacks—ウェブ情報ラクラク取得テクニック101選

Spidering hacks―ウェブ情報ラクラク取得テクニック101選

著者/訳者:Kevin Hemenway Tara Calishain

出版社:オライリー・ジャパン( 2004-05 )

定価:¥ 3,675

単行本 ( 516 ページ )

ISBN-10 : 4873111870

ISBN-13 : 9784873111872


Javaスパイダーツールサンプルが面白かったので購入した本。Javaスパイダーツールサンプルの方が自分にとっては良書であった。

まず、ツールの中心がPerlになる。Java本は正規表現を中心にゴリゴリやっていたのに対して、こちらはHTML::TokeParserなどのツールも積極的に使う。しかし、私はスクリプト言語ではRubyやPythonのほうに関心があるので同等の同じものを探すことになった。RubyではHpricotというHTMLパーサが評判がいいなどを調べてレンタルサーバにインストールなど、私にとっては本を読んですぐに実践に移れるわけではなかった。

また、もともとアメリカの本であるためかサンプルがアメリカのものが多い。それでも日本の気象庁などからデータを引っ張ってくるサンプルなども充実しており、単にやり方を学ぶだけではなく、人によってはそのまま使えるようなサンプルも入っている。最後に付録として「日本語処理(訳者補)」がついており、この辺のサービスもよい。

本書の一番自分にとってよかったのはXML-RPCなどの技術について多く触れていたことである。別件でWordPressにプログラムから投稿を行うためにXML-RPCの資料を探していたが、こんなところにもあったのかという感じである。このように、スパイダリングのみならず、色々な技術やツールについても理解が深まる点で勉強になった。

目次:

訳者まえがき
クレジット
まえがき
1章 ウォーミングアップ
2章 道具を揃える
3章 メディアファイルの収集
4章 データベースからのデータ収集
5章 コレクションを維持管理する
6章 世の中に還元する
付録 日本語処理[訳者補]
索引

Javaスパイダーツールサンプル&クックブック—自動アクセス&収集・加工プログラム

Javaスパイダーツールサンプル&クックブック―自動アクセス&収集・加工プログラム

著者/訳者:Array

出版社:秀和システム( 2005-05 )

定価:¥ 2,730

単行本 ( 377 ページ )

ISBN-10 : 4798010618

ISBN-13 : 9784798010618


スパイダリングのみならず、正規表現(Jakarta ORO)やJakarta HttpClient、Javaプログラミングのよい手本となった。

この本は自分にとってはとても当たりで、普通はPerlやRubyなどのスクリプト言語で正規表現の魅力にハマるようだが、私は本書とJakarta OROで学んだ。クックブックというだけあって、実際のサンプルが多く、スパイダリングを行うメリットがあることをハッキリ分かりやすく伝えてくれる。後半にかけてのサンプルはHTMLからどのように正規表現で欲しい部分だけ抽出するかというステップを丁寧に書いてあるため、初めて正規表現を使う者にとっても非常に理解がしやすかった。本書を片手に正規表現対応のエディタで試行錯誤してソースコードを書くだけで、今までとはまったく違う世界が開けたのを覚えている。

また、JakartaやTomcatなどのツールのインストールやチュートリアルとしても優秀で、HttpClientの情報はインターネットを検索しても見つかるが、本書のサンプルが一番分かりやすかったと思う。

このように本書は単にスパイダリングの入門書以上に、プログラミング全般のよい入門書となるだろう。プログラミングを始めたばかりのものにとって”Hello World!”のような無味乾燥なプログラムを書かせるより、こうしたすぐにできて、しかも実用になるプログラムはよいと思うし、これだけ丁寧に書いてあれば落伍者もあまり出ないと思う。目次を見るとさまざまなツールの使い方から面白そうなサンプルまでたくさん収録されているのが分かる。とても大盤振る舞いなサービスのよい本であった。

目次:

Part1 スパイダーとスクレーパーの基礎知識

  • 「スパイダー」と「スクレーパー」とは
    • 定義とメリット
  • スパイダープログラミングの流れ
    • プログラミングの流れ
  • 問題を起こさないために
    • 知的所有権
    • 使用上の注意をよくお読みください

Part2 環境を用意しよう

  • J2SE
    • ・インストールと設定
  • TOMCAT
    • インストールと設定
    • web.xmlに関する注意点
    • TOMCATの起動
  • Jakarta COMMONSライブラリ
    • HttpClientの入手とインストール
    • Loggingの入手とインストール
  • Codecの入手とインストール
    • Jakarta OROライブラリ
    • 入手とインストール
  • MySQL
    • 入手とインストール
    • サンプルデータベースの作成
    • MySQLの自動起動
    • JDBC

Part3 スパイダーの基礎

  • URLConnectionクラスを使う場合
    • URLConnectionを使ったスパイダー
    • 文字コード指定のURLConnectionを使ったスパイダー
    • MIMEヘッダーを読む
    • 文字コードを自動判定してHTMLソースを取得
  • HttpURLConnectionクラスを使う場合
    • HttpURLConnectionを使ったスパイダー
  • HttpClientクラスを使う場合
    • HttpClientを使ったスパイダー(byte[]で読む)
    • HttpClientを使ったスパイダー(Stringで読む)
    • HttpClientを使ったスパイダー(InputStreamで読む)
    • robots.txtの取得方法

Part4 クッキングレシピ集 Vol.1

  • 「ファイルの収集」
    • 写真のダウンロード
    • 音楽のダウンロード
    • 音楽をまとめて自動ダウンロード
    • ウェブカメラの映像をダウンロード
    • ウェブカメラの映像1週間分を1ページにまとめる
  • 「検索」といろいろな日本語コード
    • スパイダーでNIKKEI検索(Shift_JIS)
    • スパイダーでYahoo!検索(EUC-JP)
    • スパイダーでGoogle検索(UTF8)
    • 日本語文字化け対策のまとめ
  • OROによる検索とスクレーピングテクニック
    • Yahoo!から東京の週間天気予報だけスクレーピング

Part5 クッキングレシピ集 Vol.2

  • 「欲しい情報」だけを集める
    • ベストセラーCD一覧表示
    • JavaBeansを使ったベストセラー本のスパイダリング
    • マルチスレッドを使ったベストセラー本のスパイダリング
    • 高く売れる古本だけを見つける
  • 「お得な情報」を集める
    • ぐるなびからクーポン券だけゲット!
  • 「最新情報」を集める
    • 新聞社をスパイダリングしてトップニュースをいただく
    • 複数ポータルサイトの検索語ランキングを一覧にする
    • 売れ筋ワイン
    • 人気化粧品ランキングに価格.comで値段を調べるリンクをつける
    • 複数のJava雑誌の最新目次をまとめて見る

Part6 クッキングレシピ集 Vol.3

  • 「楽しい情報」を集める
    • 話題の人気映画情報をまとめて見る
  • 「ビジネス情報」を集める
    • いろいろな企業情報をまとめて表示
  • 情報をまとめて見る
    • 面倒だから掲示板のタイトルと本文を同時に表示
  • 「情報を関連させて見る」Webサイト×別のWebサイト=お得情報
    • 最近の話題を仕入れる
    • スーパーの特売品をスパイダリングしてそれでできる料理を検索
    • 人気の本をタダで読む!人気の新刊を借りられる図書館の検索

Part7 ひと味違うスパイステクニック

  • ファイルに書き出す
    • ホームページをZIP圧縮してディスクに保存
    • Excelファイル書き出し入門
    • Webサイトのデータを自動的にExcelファイルに書き出す
    • Webページのデータを自動的にデータベースに取り込む
    • データベースにAccessを使う方法
  • RSSフィールドを読む
    • RSSとは
    • 環境の準備
    • JavaでRSSを読む
    • サーブレット版RSSリーダー
  • Webコンテンツのグラフ化
    • ヤマダ電機から液晶テレビの価格をスパイダリング
    • Javaによるグラフ出力入門
    • Webページの液晶テレビ価格を自動的にグラフ化する

« Prev