Rubyアプリケーションプログラミング

Rubyアプリケーションプログラミング

-Amazon.co.jp: Rubyアプリケーションプログラミング: 前田 修吾, まつもと ゆきひろ, やまだ あきら, 永井 秀利: 本
--http://www.amazon.co.jp/exec/obidos/ASIN/4274064611/nilabwiki-22/ref=nosim/

-Rubyアプリケーションプログラミング|Ohmsha
--http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06461-1
--->Rubyでアプリケーションを作成するための実用情報が満載
--->Rubyを使えばソケットやスレッドを使った実用的なプログラムを比較的簡単に作ることができます。しかし、Rubyも魔法の杖ではありませんから、ある程度の規模のアプリケーションを作るためには、それなりにいろいろな知識が必要になります。本書では、アプリケーションを作成するために必要なさまざまなテクニックを紹介します。
--->
--->* オブジェクト指向プログラミング
--->* CGIによるWebプログラミング
--->* マルチスレッドによる並行プログラミング
--->* クライアント/サーバ型のネットワークアプリケーション
--->* Ruby/TkによるGUIアプリケーション
--->* C言語による拡張ライブラリ作成、およびRubyインタプリタの組み込み
--->
--->詳細目次
--->はじめに
--->本書を読む前に
--->本書のねらいと対象読者
--->対象とする環境
--->本書の構成
--->表記凡例
--->付属CD-ROMについて
--->免責事項
--->
--->■第1章 イントロダクション:Rubyとは
--->1.1 Rubyの特長
--->1.2 Rubyの用途
--->1.3 Rubyの哲学
--->1.4 Rubyの歴史
--->1.5 現在のRuby
--->1.5.1 Rubyのバージョン
--->1.6 将来のRuby
--->
--->■第2章 オブジェクト指向プログラミング
--->2.1 オブジェクト指向の歴史
--->2.2 オブジェクト指向入門
--->2.2.1 オブジェクト指向の真髄
--->2.2.2 オブジェクト指向関連の用語
--->2.2.3 オブジェクト指向言語の機能
--->2.2.4 最初のオブジェクト指向プログラミング
--->2.2.5 その次のオブジェクト指向プログラミング
--->2.3 クラスと継承とMix-in
--->2.3.1 多重継承
--->2.3.2 Mix-in
--->2.4 オブジェクトベースプログラミング
--->2.4.1 特異メソッド
--->2.4.2 特異Mix-in
--->2.4.3 特異クラス
--->2.5 メタプログラミング
--->2.5.1 メタ情報に関するメソッド
--->2.5.2 eval族
--->2.5.3 フック
--->2.5.4 メタプログラミングの例
--->2.6 オブジェクト指向設計入門
--->2.6.1 オブジェクト指向設計とは何か
--->2.6.2 手順1:問題を把握する
--->2.6.3 手順2:小人に役割を割り当てる ――オブジェクトの見つけ方
--->2.6.4 手順3:小人を具体化する ――オブジェクトの見極め方
--->2.6.5 手順4:オブジェクトをクラスにする ――クラス設計
--->2.6.6 手順5:プログラムを構築する ――プログラム構成
--->2.7 リファクタリング
--->2.7.1 リファクタリングとは
--->2.7.2 テストファーストプログラミング
--->2.7.3 リファクタリング・カタログ
--->2.7.4 リファクタリングのうれしさ
--->
--->■第3章 CGIプログラミング
--->3.1 おさらい〜CGIを取り巻く世界
--->3.1.1 登場人物とその関係
--->3.1.2 CGIスクリプトたるには
--->3.1.3 CGIとフォームとリンク
--->3.1.4 付加条件付きリクエストの姿(その1)
--->3.2 Hello World!
--->3.2.1 HTTPサーバの設定
--->3.2.2 CGIスクリプトのためのApacheサーバの設定
--->3.2.3 さあ試してみよう
--->3.3 CGIスクリプトとHTTPサーバ――CGIの詳細
--->3.3.1 ブラウザ――付加条件付きリクエストの姿(その2)
--->3.3.2 HTTPサーバ――およびCGIの実際
--->3.3.3 CGIスクリプトでの入出力
--->3.3.4 HTTPサーバを経てブラウザへ
--->3.3.5 レスポンスを受けたブラウザの動作
--->3.3.6 まとめ:それぞれの役割
--->3.4 Ruby的CGIスクリプト入門
--->3.4.1 CGIサポートライブラリcgi.rb
--->3.4.2 入力は信じられない
--->3.4.3 途切れ途切れのやり取り――セッション管理
--->3.4.4 クッキーとセッションの維持
--->3.4.5 実用クッキー
--->3.4.6 競合――ロック
--->3.4.7 この節のまとめにかえて
--->3.5 eRuby
--->3.5.1 eRubyのメリット
--->3.5.2 Erbを使う
--->3.5.3 erubyを使う
--->3.5.4 mod_rubyを使う
--->3.5.5 mod_rubyとCGIの違い
--->3.6 セキュリティ
--->3.6.1 ファイルの置き場所
--->3.6.2 ファイルの持ち主とそのモード
--->3.6.3 suEXEC
--->3.6.4 やってはいけないこと
--->3.6.5 クロスサイトスクリプティング
--->3.7 より高度なCGIスクリプト
--->3.7.1 データベース
--->3.7.2 こんなやり方も… DRb
--->3.7.3 実用例
--->
--->■第4章 マルチスレッド
--->4.1 スレッドの概要
--->4.2 スレッドの基本的な操作
--->4.2.1 生成
--->4.2.2 合流
--->4.2.3 終了
--->4.2.4 停止
--->4.3 スレッドと例外
--->4.4 同期
--->4.4.1 排他制御――Mutex
--->4.4.2 デッドロック
--->4.4.3 Sync(リーダ-ライタ・ロック)
--->4.4.4 条件変数
--->4.4.5 セマフォ
--->4.5 非同期FTPクライアント
--->
--->■第5章 ネットワークプログラミング
--->5.1 プロセス間通信とネットワーク通信
--->5.2 プロセス間通信
--->5.2.1 プロセスとは
--->5.2.2 パイプ
--->5.2.3 外部コマンドとの通信
--->5.2.4 子プロセスとの通信
--->5.2.5 子プロセスのゾンビ化の防止
--->5.3 ネットワーク通信の仕組み
--->5.3.1 サーバとクライアント
--->5.3.2 ネットワークプロトコル
--->5.3.3 接続先決定の仕組み
--->5.3.4 ネットワークバイトオーダー
--->5.4 プロトコルの特徴
--->5.5 Rubyのソケットライブラリ
--->5.6 TCPソケットプログラミング
--->5.6.1 接続の確立
--->5.6.2 1対1の同期通信:エコーサーバ/クライアント
--->5.6.3 タイムアウト
--->5.6.4 特定のプロトコルに沿った通信
--->5.6.5 1対1の非同期通信
--->5.6.6 切断における協調
--->5.6.7 複数クライアントを並列に抱えるサーバ
--->5.7 UDPソケットプログラミング
--->5.7.1 UDPソケットによる通信
--->5.7.2 複数クライアントへの対応
--->5.7.3 UDPソケットでのconnect
--->5.7.4 信頼性の向上
--->5.7.5 ブロードキャスト
--->5.8 デーモンの作成
--->5.8.1 バックグラウンドへの移行
--->5.8.2 資源の切り離し
--->5.8.3 シグナルへの対応
--->5.8.4 安全なディレクトリへの移動
--->5.8.5 ファイルの保護
--->5.8.6 セキュリティの強化
--->5.8.7 作例――伝言サーバ
--->5.8.8 Unix系OSのスーパーサーバinetd
--->5.9 ネットワークプロトコルライブラリ
--->5.10 分散Ruby
--->
--->■第6章 RubyとGUI――Ruby/Tk入門
--->6.1 グラフィカルユーザインタフェース(GUI)
--->6.1.1 GUIの功罪
--->6.1.2 GUIとスクリプト言語
--->6.2 GUI作成の流れ
--->6.3 Tk入門
--->6.3.1 Tkの特徴
--->6.3.2 Ruby/Tk
--->6.4 Ruby/Tkの概要
--->6.4.1 Ruby/Tkのインストール
--->6.4.2 最初の一歩(Hello, world!!)
--->6.4.3 日本語表示
--->6.4.4 もう一つのウィジェット初期化法
--->6.5 Rubyで使えるその他のGUIライブラリ
--->6.6 Ruby/Tkのウィジェット
--->6.6.1 ウィジェットクラスの階層
--->6.6.2 Tk変数オブジェクト
--->6.6.3 他者の土台となるウィジェット
--->6.6.4 ボタン系のウィジェット
--->6.6.5 メニュー(menu)ウィジェットとメニューボタン(menubutton)ウィジェット
--->6.6.6 文字列を扱うウィジェット
--->6.6.7 その他のウィジェット
--->6.6.8 Ruby/Tk Widget-Demo
--->6.7 ウィジェットの配置管理の仕組み―ジオメトリマネージャ
--->6.7.1 Packジオメトリマネージャ
--->6.7.2 ほかのジオメトリマネージャ
--->6.8 ウィジェットの重なり順序
--->6.9 一般的なウィジェット属性
--->6.9.1 ウィジェット属性へのアクセス方法(メソッド)
--->6.9.2 表示文字列に関する属性
--->6.9.3 大きさに関する属性
--->6.9.4 枠に関する属性
--->6.9.5 色に関する属性
--->6.9.6 余白に関する属性
--->6.9.7 コマンド属性
--->6.9.8 フォント属性――TkFont
--->6.9.9 その他の属性
--->6.10 作例――既存のコマンドにGUIを付ける
--->
--->■第7章 Ruby/Tkの詳細
--->7.1 テキストウィジェットの詳細
--->7.1.1 テキストインデックスとテキストマーク
--->7.1.2 テキストタグ
--->7.1.3 ウィジェットやイメージの埋め込み
--->7.2 Composite Widgetの作成
--->7.3 イベント処理(バインディング)
--->7.3.1 バインディングの方法とバインドタグ
--->7.3.2 イベント
--->7.3.3 イベントキーワード
--->7.4 ウィンドウマネージャとの連携
--->7.5 作例――より親切なGUIへ
--->7.6 イメージ
--->7.7 キャンバスウィジェットの詳細
--->7.7.1 キャンバスの機能と特徴
--->7.7.2 キャンバスオブジェクト
--->7.7.3 キャンバスタグ
--->7.7.4 PostScript出力
--->7.8 その他のRuby/Tkメソッド
--->7.8.1 フォーカス(focus)とグラブ(grab)
--->7.8.2 組み込みのダイアログ
--->7.8.3 タイマーオブジェクト(TkAfter)
--->7.8.4 最後の手段
--->7.9 スレッドとともに
--->7.10 Tcl/Tkの拡張ライブラリを使う
--->
--->■第8章 GUIを持ったネットワークアプリケーション例
--->8.1 全体構成
--->8.2 ネットワーク通信
--->8.3 接続パラメータ設定ウィンドウ
--->8.4 接続認証ダイアログ
--->8.5 接続状態ウィンドウ
--->8.6 メニュー部
--->8.7 チャットボックス部
--->8.8 キャンバス部
--->8.9 描画機能ボタン部
--->
--->■第9章 拡張ライブラリとRubyインタプリタの組み込み
--->9.1 拡張ライブラリとは
--->9.2 拡張ライブラリのインストール
--->9.3 hello world
--->9.4 Ruby API
--->9.4.1 データ型:VALUE
--->9.4.2 データ型:ID
--->9.4.3 クラス・モジュール定義
--->9.4.4 メソッド定義
--->9.4.5 定数の定義
--->9.4.6 RubyとCの型変換
--->9.4.7 構造体
--->9.4.8 インスタンス変数のアクセス
--->9.4.9 メソッド呼び出し
--->9.4.10 ブロック付きメソッド(イテレータ)
--->9.4.11 例外処理
--->9.5 bzip2拡張ライブラリの作成
--->9.5.1 はじめに
--->9.5.2 作成方針
--->9.5.3 extconf.rbの作成
--->9.5.4 プロトタイプの作成
--->9.5.5 例外の発生
--->9.5.6 close時の処理
--->9.5.7 GCへの対応
--->9.5.8 引数の省略のサポート
--->9.5.9 イテレータの定義
--->9.6 アプリケーションへのRubyインタプリタの組み込み
--->9.6.1 はじめに
--->9.6.2 hello world
--->9.6.3 インタプリタの初期化
--->9.6.4 インタプリタの呼び出し
--->9.6.5 インタプリタの終了処理
--->9.6.6 エラーリカバリ
--->9.6.7 セキュリティについて
--->9.6.8 簡易対話環境
--->
--->■付録A Rubyのインストール
--->A.1 Rubyのインストール方法
--->A.1.1 バイナリパッケージを利用する
--->A.1.2 ソースコードからビルドする
--->A.1.3 Windows系OSへのインストールについて
--->
--->■付録B 支援ツールの利用
--->B.1 デバッガ
--->B.2 プロファイラ
--->B.3 Emacs用Rubyモード
--->B.4 その他のツール
--->
--->■付録C リファレンス
--->C.1 リファレンス
--->C.1.1  章別一覧
--->C.1.2  著者名順一覧
--->C.1.3  オンラインリソース
--->
--->索引

-Ruby アプリケーションプログラミング レビュー
--http://archive.linux.or.jp/bookreview/BR65.html