プログラミング工房 >

おすすめプログラミング関連書籍

●Win32 API のおすすめ書籍


 『できるプログラマになるための―APIで学ぶWindows徹底理解』

●Win32 API の定番書籍


 『プログラミングWindows第5版(上)Win32 APIを扱う開発者のための決定版!』
 『プログラミングWindows第5版(下)Win32 APIを扱う開発者のための決定版!』
 『Win32 APIオフィシャルリファレンス改訂3版 グラフィック/GUI編』
 『Win32 APIオフィシャルリファレンス改訂3版 Windowsサービス/ネットワーク編』
 『Advanced Windows 第5版 上』
 『Advanced Windows 第5版 下』

●Linux(UNIX)プログラミング のおすすめ書籍


 『ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道』

●Linux(UNIX)プログラミング の定番書籍


 『Linuxプログラミング―例題で学ぶUNIXプログラミング環境のすべて』
 『詳解UNIXプログラミング 新装版』
 『UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI』
 『UNIXネットワークプログラミング〈Vol.2〉IPC:プロセス間通信』
 『入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 改訂第2版』
 『新The UNIX Super Text 上 改訂増補版』
 『新The UNIX Super Text 下 改訂増補版』

●C言語 のおすすめ書籍


 『改訂新版 Cプログラミング診断室―さらに美しく健康的なプログラムのために』
 『C実践プログラミング 第3版』

●C言語 の定番書籍


 『プログラミング言語C』

●Python のおすすめ書籍


 『IronPythonの世界』

●Python の定番書籍


 『みんなのPython』
 『初めてのPython 第2版』
 『Python クックブック 第2版』
 『Pythonクィックリファレンス』

●Ruby のおすすめ書籍


 『初めてのRuby』
 『Rubyを256倍使うための本 界道編』

●Ruby の定番書籍


 『プログラミング言語 Ruby』
 『プログラミングRuby 第2版 言語編』
 『プログラミングRuby 第2版 ライブラリ編』
 『たのしいRuby 第2版 Rubyではじめる気軽なプログラミング』
 『Rubyレシピブック 第2版 268の技』

●HSP の定番書籍


 『最新HSP3.1プログラミング入門』
 『3Dゲーム・クックブック―HSP+Easy3D入門』
 『逆引きHSP3プログラミング事典 基本編』
 『逆引きHSP3プログラミング事典 応用編』

●Perl のおすすめ書籍


 『PERLクイックリファレンス』

●Perl の定番書籍


 『初めてのPerl』

●WideStudio のおすすめ書籍


 『プログラミングWideStudio―オープンソース、マルチプラットフォーム対応統合開発環境』

●プログラミング一般 のおすすめ書籍


 『UNIXという考え方―その設計思想と哲学』


『できるプログラマになるための―APIで学ぶWindows徹底理解』

 Win32 APIを使いこなせばWindowsプログラミングの幅が一気に広がります。Win32 APIについて幅広く知りたいが、ペゾルド本はちょっと荷が重いという人におすすめ。

 収録されている知識は、C/C++でのプログラミングはもちろんHSPやRubyなどスクリプト言語でのプログラミングにも十分活用できる。

(目次)

第1部:OSの仕組みを学ぶ

  • Part1 OSの動作を根本から理解する
  • Part2 OSの3大機能を詳しく学ぶ
  • Part3 ユーザー入力を扱う仕組みを知る

第2部:APIから知るWindowsの仕組み

  • Part1 Windowsアプリケーションの構造を理解する
  • Part2 ウィンドウについて詳しく学ぼう
  • Part3 ウィンドウ・メッセージをとことん理解する
  • Part4 Windowsのコンソールを使いこなす
  • Part5 ファイル・アクセスを細かく制御する
  • Part6 Windowsのメモリー管理を理解する
  • Part7 Windowsのプロセスとスレッドを学ぶ
  • Part8 複数スレッドの間で同期をとる
  • Part9 作ってわかるDLLの動作原理
  • Part10 複数プロセスでデータを共有する
  • Part11 実行ファイルの構造を理解する
  • Part12 Windowsのアクセス制御の仕組みを理解する
  • Part13 「サービス」を作るのは意外に簡単
  • Part14 プロセス間通信を使ってデータを受け渡す
  • Part15 デバッガはなぜデバッグができるのか
  • Part16 Unicodeを利用して複数の言語に対応する
  • Part17 フォントはけっこう奥が深い
  • Part18 構造化例外処理のメカニズムを学ぶ
  • Part19 非同期I/O処理を利用して効率よくファイルにアクセスする
  • Part20 デバイス・ドライバとプラグ・アンド・プレイの仕組みを学ぶ
  • Part21 デバイス・ドライバの作成に挑戦


 『できるプログラマになるための―APIで学ぶWindows徹底理解』

『プログラミングWindows第5版(上)Win32 APIを扱う開発者のための決定版!』

(目次)

基礎

  • はじめに
  • Unicode入門
  • Windowsとメッセージ
  • テキストの入力
  • 描画の基礎
  • キーボード
  • マウス
  • タイマ
  • コントロール
  • メニュー、その他のリソース
  • ダイアログボックス
  • クリップボード

グラフィックス

  • プリンタの使い方
  • ビットマップとBitBlt

『プログラミングWindows第5版(上)Win32 APIを扱う開発者のための決定版!』

『プログラミングWindows第5版(下)Win32 APIを扱う開発者のための決定版!』

(目次)

グラフィックス

  • 続き・DIB
  • パレットマネージャ
  • テキストとフォント
  • メタファイル

高度なトピック

  • MDI
  • マルチタスクとマルチスレッド
  • DLL
  • サウンドとミュージック
  • Internetを少し

『プログラミングWindows第5版(下)Win32 APIを扱う開発者のための決定版!』

『Win32 APIオフィシャルリファレンス改訂3版 グラフィック/GUI編』

『Win32 APIオフィシャルリファレンス改訂3版 Windowsサービス/ネットワーク編』

 ほぼすべてと言っていい数のAPIのリストが機能、引数、戻り値の説明とともに掲載されている。

『Advanced Windows 第5版 上』

(目次)

第1部 必須の基礎知識

第1章 エラー処理

  • ユーザー定義のエラーコード
  • ErrorShowサンプルアプリケーション

第2章 文字と文字列の操作

  • 文字エンコーディング
  • ANSIとUnicodeの文字データ型と文字列データ型
  • WindowsのUnicode関数とANSI関数
  • CランタイムライブラリのUnicode関数とANSI関数
  • Cランタイムライブラリの安全な文字列関数
  • Unicodeを使用すべき理由
  • 文字と文字列の推奨される操作方法
  • UnicodeとANSI間の文字列の変換

第3章 カーネルオブジェクト

  • カーネルオブジェクトの概要
  • プロセスのカーネルオブジェクトハンドルテーブル
  • プロセス間でのカーネルオブジェクトの共有

第2部 作業を遂行する

第4章 プロセス

  • 初めてのWindowsアプリケーションの作成
  • CreateProcess関数
  • プロセスの終了
  • 子プロセス
  • 標準ユーザーとして実行する管理者

第5章 ジョブ

  • ジョブのプロセスでの制限の設定
  • ジョブへのプロセスの配置
  • ジョブに含まれているすべてのプロセスの終了
  • ジョブの通知
  • Job Labサンプルアプリケーション

第6章 スレッドの基礎

  • スレッドを作成する状況
  • スレッドを作成しない状況
  • 初めてのスレッド関数の作成
  • CreateThread関数
  • スレッドの終了
  • スレッドの仕組み
  • C/C++ランタイムライブラリについて
  • IDの認識

第7章 スレッドのスケジューリング、優先度、親和性

  • スレッドの保留と再開
  • プロセスの保留と再開
  • スリープ
  • 別のスレッドへの切り替え
  • ハイパースレッドCPUでの別のスレッドへの切り替え
  • スレッドの実行時間
  • CONTEXT構造体の考察
  • スレッドの優先度
  • 優先度クラスの概要
  • プログラミングの優先度
  • 親和性

第8章 ユーザーモードでのスレッドの同期

  • 不可分のアクセス:インターロック関数
  • キャッシュライン
  • 高度なスレッドの同期
  • クリティカルセクション
  • SRWLock
  • 条件変数

第9章 カーネルオブジェクトによるスレッドの同期

  • 待機関数
  • 待機の完了の副作用
  • イベントカーネルオブジェクト
  • 待ち受けタイマーカーネルオブジェクト
  • セマフォカーネルオブジェクト
  • ミューテックスカーネルオブジェクト
  • スレッド同期オブジェクトの一覧表
  • その他のスレッド同期関数

第10章 同期デバイスI/Oと非同期デバイスI/O

  • デバイスのオープンとクローズ
  • ファイルデバイスの操作
  • 同期デバイスI/Oの実行
  • 非同期デバイスI/Oの基礎
  • I/Oリクエスト完了通知の受け取り

第11章 Windowsスレッドプール

  • シナリオ1:非同期の関数呼び出し
  • シナリオ2:一定間隔での関数呼び出し
  • シナリオ3:1つのカーネルオブジェクトがシグナル状態になったときの関数の呼び出し
  • シナリオ4:非同期I/Oリクエストの完了時の関数呼び出し
  • コールバック終了アクション

第12章 ファイバ

  • ファイバの操作

『Advanced Windows 第5版 上』

『Advanced Windows 第5版 下』

(目次)

第3部 メモリ管理

第13章 Windowsメモリアーキテクチャ

  • プロセスの仮想アドレス空間
  • 仮想アドレス空間のパーティション分割
  • アドレス空間内のリージョン
  • リージョン内での物理ストレージのコミット
  • 物理ストレージとページングファイル
  • 保護属性
  • メモリアーキテクチャのまとめ
  • データアラインメントの重要性

第14章 仮想メモリの探究

  • システム情報
  • 仮想メモリの状態
  • NUMAマシンでのメモリ管理
  • アドレス空間の状態

第15章 カスタムアプリケーションでの仮想メモリの使用

  • アドレス空間でのリージョンの予約
  • 予約されたリージョンでのストレージのコミット
  • リージョンの予約とストレージのコミットの同時実行
  • 物理ストレージをコミットする状況
  • 物理ストレージのコミット解除とリージョンの解放
  • 保護属性の変更
  • 物理ストレージの内容のリセット
  • Address Windowing Extension

第16章 スレッドのスタック

  • C/C++ランタイムライブラリのスタックチェック関数
  • Summationサンプルアプリケーション

第17章 メモリマップファイル

  • メモリマップ実行可能ファイルとDLL
  • メモリマップデータファイル
  • メモリマップファイルの使用
  • メモリマップファイルを使用した大きなファイルの処理
  • メモリマップファイルと一貫性
  • メモリマップファイルのベースアドレスの指定
  • メモリマップファイルの実装上の詳細
  • メモリマップファイルを使用したプロセス間でのデータ共有
  • ページングファイルから作成されるメモリマップファイル
  • 部分的にコミットされたメモリマップファイル

第18章 ヒープ

  • プロセスのデフォルトヒープ
  • 追加のヒープを作成する理由
  • 追加のヒープを作成する方法
  • その他のヒープ関数

第4部 ダイナミックリンクライブラリ

第19章 DLLの基礎

  • DLLとプロセスのアドレス空間
  • 全体像

第20章 DLLの高度なテクニック

  • 明示的なDLLモジュールのロードとシンボルのリンク
  • DLLのエントリポイント関数
  • DLLの遅延読み込み
  • 関数フォワーダ
  • 既知のDLL
  • DLLリダイレクト
  • モジュールのベースアドレスの変更(リベース)
  • モジュールのバインディング

第21章 スレッドローカルストレージ

  • 動的TLS
  • 静的TLS

第22章 DLLインジェクションとAPIフック

  • DLLインジェクション:例
  • レジストリを使用したDLLのインジェクト
  • Windowsフックを使用したDLLのインジェクト
  • リモートスレッドを使用したDLLのインジェクト
  • 「トロイの木馬」DLLによるDLLのインジェクト
  • デバッガとしてのDLLのインジェクト
  • CreateProcess関数によるコードのインジェクト
  • APIフック:例

第5部 構造化例外処理

第23章 終了ハンドラ

  • 終了ハンドラの例

第24章 例外ハンドラとソフトウェア例外

  • 例外フィルタと例外ハンドラの例
  • EXCEPTION_EXECUTE_HANDLER
  • EXCEPTION_CONTINUE_EXECUTION
  • EXCEPTION_CONTINUE_SEARCH
  • GetExceptionCode関数
  • GetExceptionInformation関数
  • ソフトウェア例外

第25章 未処理の例外、ベクトル化例外処理、C++例外

  • UnhandledExceptionFilter関数の仕組み
  • ジャストインタイムデバッグ
  • Spreadsheetサンプルアプリケーション
  • ベクトル化例外と継続ハンドラ
  • C++例外と構造化例外
  • 例外とデバッガ

第26章 エラー報告とアプリケーションの回復

  • WERコンソール
  • プログラムによるWER
  • プロセスでのすべての問題のレポートをカスタマイズする方法
  • 問題のレポートの作成とカスタマイズ
  • アプリケーションの自動的な再起動と回復

付録A ビルド環境

  • CmnHdr.hヘッダーファイル

付録B メッセージクラッカー、子コントロールマクロ、APIマクロ

  • メッセージクラッカー
  • 子コントロールマクロ
  • APIマクロ

『Advanced Windows 第5版 下』

Page Top

『ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道』

(目次)

Linuxの仕組み

  • Linuxプログラミングを始めよう
  • Linuxカーネルの世界
  • Linuxを描き出す3つの概念
  • Linuxとユーザ

Linuxプログラミングの根幹

  • ストリームにかかわるシステムコール
  • ストリームにかかわるライブラリ関数
  • headコマンドを作る
  • grepコマンドを作る
  • Linuxのディレクトリ構造
  • ファイルシステムにかかわるAPI
  • プロセスとハードウェア
  • プロセスにかかわるAPI
  • シグナルにかかわるAPI
  • プロセスの環境

Linuxネットワークプログラミング

  • ネットワークプログラミングの基礎
  • HTTPサーバを作る
  • HTTPサーバを実用化する
  • 本書を読み終えたあとは

『ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道』

『Linuxプログラミング―例題で学ぶUNIXプログラミング環境のすべて』

(目次)

  • さあ、はじめよう
  • シェルプログラミング
  • ファイルの操作
  • Linux環境
  • 端末
  • cursesによるテキストベースの画面制御
  • データの管理
  • 開発ツール
  • デバッグ
  • プロセスとシグナル
  • POSIXスレッド
  • プロセス間通信とパイプ
  • セマフォ、メッセージキュー、共有メモリ
  • ソケット

『Linuxプログラミング―例題で学ぶUNIXプログラミング環境のすべて』

『詳解UNIXプログラミング 新装版』

(目次)

  • 概論
  • UNIXの標準化と実装
  • ファイル入出力
  • ファイルとディレクトリ
  • 標準入出力ライブラリ
  • システムデータファイルと情報
  • UNIXプロセスの環境
  • プロセス制御
  • プロセスの関係
  • シグナル
  • 端末入出力
  • 高度な入出力
  • デーモンプロセス
  • プロセス間通信
  • データベースライブラリ
  • PostScriptプリンタとの通信
  • モデムの発信
  • 疑似端末

『詳解UNIXプログラミング 新装版』

『UNIXネットワークプログラミング 第2版〈Vol.1〉ネットワークAPI:ソケットとXTI』

(目次)

第1部 序説とTCP/IP概説

  • 序説
  • トランスポート層: TCPとUDP

第2部 基本ソケット捜査

  • ソケットAPI入門
  • 基本TCPソケット
  • TCPクライアント-サーバ例題
  • I/Oの多重化: select関数とpoll関数
  • ソケットオプション
  • 基本UDPソケット
  • 基本的な名前-アドレス変換

第3部 高度なソケット操作

  • IPv4とIPv6の相互運用
  • 高度な名前-アドレス変換
  • デーモンプロセスとinetdスーパーサーバ
  • 高度な入出力関数
  • Unixドメインプロトコル
  • 非ブロッキングI/O
  • ioctl操作
  • 経路制御ソケット
  • ブロードキャスト
  • マルチキャスト
  • UDPソケットの高度な操作
  • 帯域外データ
  • シグナル駆動I/O
  • マルチスレッド
  • IPオプション
  • rawソケット
  • データリンクアクセス
  • クライアント-サーバシステムの設計手法

第4部 XTI: X/Openトランスポートインターフェイス

  • XTI: TCPクライアント
  • XTI: 名前-アドレス変換関数
  • XTI: TCPサーバ
  • XTI: UDPクライアントとサーバ
  • XTIオプション
  • ストリーム
  • XTI: その他の関数

『UNIXネットワークプログラミング 第2版〈Vol.1〉ネットワークAPI:ソケットとXTI』

『UNIXネットワークプログラミング 第2版〈Vol.2〉IPC:プロセス間通信』

(目次)

第1部 序説

  • 序説
  • PosixのIPC
  • System VのIPC

第2部 メッセージパッシング

  • パイプとFIFO
  • Posixメッセージキュー
  • System Vメッセージキュー

第3部 同期

  • 相互排除変数と条件変数
  • リードライトロック
  • レコードロック
  • Posixセマフォ
  • System Vセマフォ

第4部 共有メモリ

  • 共有メモリ序説
  • Posix共有メモリ
  • System V共有メモリ

第5部 リモート手続き呼び出し

  • Doors
  • Sun RPC

『UNIXネットワークプログラミング 第2版〈Vol.2〉IPC:プロセス間通信』

『入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 改訂第2版』

(目次)

  • 書き方にかかわる基本的な説明
  • シェル変数
  • シェル関数、組み込みコマンド
  • リダイレクションによるファイル操作
  • 環境
  • コマンド行の解析、処理
  • フィルタの使用法
  • シェルのいろいろな機能
  • シェル関数の例
  • シェルスクリプトの例
  • デバッグの手順、手法
  • 汎用性
  • FAQ

『入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 改訂第2版』

『新The UNIX Super Text 上 改訂増補版』

(目次)

  • UNIXって何
  • コンピュータって何
  • キーボード
  • 使用上の注意
  • ログインとログアウト
  • UNIX入門
  • Xウィンドウシステムの利用
  • オンラインマニュアルの読みかた
  • ファイルとディレクトリ
  • プロセス
  • csh入門
  • Emacs入門
  • こんなときどうする
  • 著作権とライセンス
  • 知っていると便利なコマンド
  • 日本語環境
  • プリンタ
  • テキストエディタvi
  • Emacsの世界
  • ネットワークの利用
  • ファイルとディレクトリの高度な操作
  • プロセスの高度な操作
  • アクセス制御
  • インターネット
  • 電子メール
  • ネットワークニュース
  • ftpとtelnet
  • World Wide Web
  • 安全な通信
  • 環境設定
  • Xウィンドウシステムの設定
  • 正規表現
  • 検索と置換
  • 木構造とグラフ構造
  • フィルタのテクニック
  • Perl入門
  • 圧縮とアーカイブ
  • 時間と時刻
  • cshプログラミング
  • sh
  • いろいろなシェル

『新The UNIX Super Text 上 改訂増補版』

『新The UNIX Super Text 下 改訂増補版』

(目次)

  • オペレーティングシステム
  • デバイス
  • インターフェイス
  • 記憶媒体
  • バックアップ
  • 端末ドライバの仕組みと設定
  • ファイル形式とファイル名
  • フォント
  • 文書整形システムLaTeX
  • 文書整形システムroff
  • 文書作成の道具箱
  • ドローツール
  • 画像処理
  • プレゼンテーション
  • 数と文字の表現
  • Cの使い方
  • システムコールとライブラリ
  • プログラミングの道具箱
  • デバッグの方法
  • Pascalの使い方
  • Fortranの使い方
  • Lispの使い方
  • Tcl/Tkの使い方
  • Javaの使い方
  • その他のプログラミング言語
  • 字句解析
  • 構文解析
  • プロセス間通信と同期
  • マルチスレッドプログラミング
  • 画面制御
  • X Toolkitによるプログラミング
  • Motifによるプログラミング
  • Perlによるプログラミング
  • スーパーユーザ
  • 起動と停止
  • カーネルの構築
  • ファイルの管理
  • ユーザの管理
  • ソフトウェアのインストール
  • ハードウェアの追加
  • Xウィンドウシステムの管理
  • ネットワークへの接続
  • メールシステムの設定
  • ニュースシステムの設定
  • World Wide Webの設定
  • セキュリティ
  • UNIXの歴史
  • UNIXとDOS/Windows
  • UNIXとMacintosh
  • 個人で楽しむUNIX
  • GNUプロジェクト

『新The UNIX Super Text 下 改訂増補版』

Page Top

『改訂新版 Cプログラミング診断室―さらに美しく健康的なプログラムのために』

 読者が投稿してきた実在のプログラムのソースコードを添削するという雑誌連載をまとめた本の改訂版。珍しい主旨で内容も優れていると定評があるだけあって面白い。C以外の言語しか知らなくてもある程度は楽しめるが、やはりCでプログラムを作り始めてからの方がずっと楽しめる。

(目次)

第1部 外来診療室

  • 普通の初心者
  • これでもプロ
  • 上司が問題
  • キャストが好き
  • 管理は複雑に
  • 不慣れ
  • 文字列処理は得意
  • Pascalが好き
  • 開院11年目の心得

第2部 集中治療室

  • 珠玉の力作
  • 最長不倒関数
  • 奇っ怪な条件
  • 芸術的字下げ
  • 計算は自分で
  • メモリが足りない

『改訂新版 Cプログラミング診断室―さらに美しく健康的なプログラムのために』

『C実践プログラミング 第3版』

 Cの初心者でも読みやすい。ただC言語自体と同じく、先に他の簡単な言語を経験していないときついかも。

(目次)

  • Cとは何か
  • プログラム記述の基本
  • スタイル
  • 基本的な宣言および式
  • 配列、修飾子および数値の使用
  • 条件文と制御文
  • プログラミング手順
  • 他の制御文
  • 変数スコープおよび関数
  • Cプリプロセッサ
  • ビット演算
  • 高度な型
  • 単純なポインタ
  • ファイル入出力
  • デバッグと最適化
  • 浮動小数点
  • 高度なポインタ
  • モジュールプログラミング
  • 古いコンパイラ
  • 移植性の問題
  • あまり使用しないCの機能
  • まとめのプログラム
  • プログラミングに関する格言

『C実践プログラミング 第3版』

『プログラミング言語C』

 翻訳がイマイチだとかなんだかんだ言われつつ、それでも必ず「読まずに済ませることはありえない」と評価されるバイブル。

(目次)

  • やさしい入門
  • データ型・演算子・式
  • 制御の流れ
  • 関数とプログラム構造
  • ポインタと配列
  • 構造体
  • 入出力
  • UNIXシステム・インタフェース

『プログラミング言語C』

Page Top

『IronPythonの世界』

 .NET対応PythonであるIronPythonの入手・導入から、オリジナルのPythonとの共通点・相違点、.NET Frameworkライブラリ活用の詳細まで懇切丁寧に解説されている。この本でもPythonの基礎の基礎は学べるが、Python初心者の人は『みんなのPython』も用意した方がよい。あとはネット上の情報と「Microsoft .NET Framework 2.0 SDK 日本語版」のオンラインヘルプを活用すれば、ガンガンPythonでの.NETプログラミングを楽しめる。

(目次)

IronPythonとは

  • IronPythonの歴史
  • CLIと.NET FrameworkそしてIronPython
  • IronPythonのアーキテクチャ
  • IronPython環境の構築
  • IronPythonのライセンスについて

IronPythonを動かしてみる

  • IronPythonの起動と環境の表示
  • プログラミングの基本
  • インタラクティブシェルのコマンドラインオプション
  • IronPythonと日本語

CPythonとの互換性

  • 組み込みのデータ型
  • 関数
  • ファイル処理
  • 組み込みモジュール
  • CPythonのライブラリを利用する
  • プログラムを短くするテクニック
  • オブジェクト指向

.NET Frameworkのライブラリを利用する

  • IronPythonから.NET Frameworkへのシームレスな連係
  • .NET Frameworkのライブラリを使う準備
  • ファイル入出力を使う:System.IOネームスペース
  • 正規表現:Reモジュール
  • Windows Formsを使ったGUIアプリの構築
  • WPFを使ったGUIアプリの構築
  • イベントハンドラを使う

IronPythonでDB&Webプログラミング

  • データベースプログラミング
  • インターネットにアクセスする
  • WebサービスAPIとの連係
  • XMLやHTMLを使う
  • Webアプリケーションを作る

もっとIronPythonを使いこなすために

  • ソースコードを探索しよう
  • IronPythonに独自モジュールを追加しよう
  • .NET Framework対応の言語からIronPythonを使う
  • COM相互運用アセンブリを使う
  • デバッグの方法

『IronPythonの世界』

『みんなのPython』

 入門書だが、Pythonの初心者やIronPythonが使いたいのでとりあえず一冊参考書がほしいという人には、これだけでも十分使いでがある。

(目次)

Pythonを始める

  • Pythonの魅力
  • Pythonの入手とインストール方法
  • Pythonプログラミングの基本
  • 組み込みのデータ型を使う
  • 条件分岐とループ
  • 関数
  • ファイル処理
  • スクリプトファイル
  • 効率的なプログラミング
  • 組み込みのデータ型を使いこなす
  • Pythonと日本語
  • モジュールを使う
  • 標準ライブラリを使う(1)

Pythonを知る

  • 華麗で短いプログラミング
  • Pythonとオブジェクト指向
  • 純粋オブジェクト指向言語としてのPython
  • 例外処理
  • 標準ライブラリを使う(2)
  • サードパーティのモジュールを使う
  • プログラムのテストを行う

Pythonを使いこなす

  • データベースと接続する
  • Webアプリケーションを作る
  • WebサービスAPIとの連携
  • XMLやHTMLを扱う
  • Tkinterを使ったGUIアプリの開発

『みんなのPython』

『初めてのPython 第2版』

(目次)

I部 Pythonの基礎知識

1章 PythonについてのQ&A

  • Pythonを使うメリットは何ですか?
  • Pythonはスクリプト言語なのですか?
  • Pythonの欠点は何ですか?
  • Pythonのユーザ数はどのくらいですか?また、どんな人がPythonを使っているのですか?
  • Pythonを使うとどんなことができるのですか?
  • Pythonの技術的な長所は?
  • 他言語とPythonの比較

2章 Pythonプログラムの実行

  • Pythonインタープリタ
  • プログラムの実行
  • 実行モデルのバリエーション

3章 プログラムの起動方法

  • 対話型プログラミング
  • プログラム(モジュール)ファイル
  • Windowsのファイルアイコン
  • モジュールのインポートとリロード
  • IDLEユーザインタフェース
  • IDLE以外のIDE
  • 他の言語のプログラムへの組み込み
  • フローズンバイナリ
  • テキストエディタによるプログラムの起動
  • その他の起動方法
  • 今後の可能性
  • 起動方法の選択
  • I部のまとめ演習

II部 ビルトインオブジェクト

4章 数値

  • Pythonプログラムの構造
  • ビルトインオブジェクト
  • 数値
  • Pythonの式と演算子
  • 数値の使用例
  • ダイナミックな型付け

5章 文字列

  • 文字列リテラル
  • 文字列の利用
  • 文字列フォーマット
  • 文字列のメソッド
  • 型のカテゴリー

6章 リストとディクショナリ

  • リスト
  • リストの利用
  • ディクショナリ
  • ディクショナリの利用

7章 タプル、ファイルオブジェクト、その他

  • タプル
  • ファイル
  • ビルトイン型の分類
  • 複合型オブジェクトの類似点、相違点
  • リファレンスとコピー
  • 比較とブール値
  • ビルトインオブジェクト間の関係
  • その他のオブジェクト
  • ビルトインオブジェクトに関する注意事項のまとめ
  • II部のまとめ演習

III部 ステートメント

8章 代入ステートメント、式ステートメント、printステートメント

  • 代入ステートメント
  • printステートメント

9章 ifステートメント

  • ifステートメントとは
  • Pythonの構文に関するルール
  • Pythonのブール演算

10章 whileループとforループ

  • whileループ
  • break、continue、passステートメントとelseブロック
  • forループ
  • 特殊なforループ

11章 Pythonのドキュメント

  • ドキュメントについての基礎知識
  • ステートメント、構文についての注意事項
  • III部のまとめ演習

IV部 関数

12章 関数の基礎

  • 関数とは
  • 関数のコードの書き方、関数の使い方
  • 関数の実例1
  • 関数の実例2

13章 スコープと引数

  • スコープに関するルール
  • globalステートメント
  • ネストスコープ
  • 引数
  • 引数のバリエーション

『初めてのPython 第2版』

『Python クックブック 第2版』

(目次)

1章 テキスト

  • イントロダクション
  • 文字列を1文字ずつ処理する
  • キャラクタとその文字コード値を相互変換
  • オブジェクトが文字列のようなものかテストする
  • 文字列の整形
  • 文字列両端のスペースを刈り込む
  • 文字列の連結
  • 文字列を単語ごとに反転する
  • 文字列にキャラクタセットの文字が含まれるか調べる
  • 文字列クラスのtranslateメソッドを簡便に使う
  • 文字列をキャラクタセットでフィルタリング
  • 文字列がテキストかバイナリ調べる
  • 大文字小文字
  • 文字列の一部にアクセスする
  • インデントの変更
  • タブとスペースの変換
  • 文字列中の変数に手を加える
  • 文字列中の変数に手を加える
  • 一度に複数のパターンの置換をする
  • 文字列末尾が各種パターンと一致するか調べる
  • Unicodeにより多言語テキストを扱う
  • Unicodeと通常の文字列を相互変換
  • 標準出力にUnicodeキャラクタを出力
  • XMLやHTML向けにUnicodeデータをエンコード
  • 一部の文字列のみ大文字小文字無関係にする
  • Unixターミナル上でHTMLをテキストに変換

2章 ファイル

  • イントロダクション
  • ファイルを読む
  • ファイルに書き込む
  • ファイル中のテキストの検索置換
  • ファイル中の特定の行を読み込む
  • ファイルの行数を数える
  • ファイル中の全てのワードを処理する
  • 入出力をランダムアクセスで
  • ランダムアクセスファイルの更新
  • zipファイルのデータを読む
  • 文字列の中のzipファイルの扱い
  • ファイルツリーをtarファイルにして圧縮
  • バイナリデータをWindowsの標準出力に送る
  • C++的なiostreamシンタックスを使う
  • 不可逆ストリーム入力のファイルを巻き戻す
  • 「ファイル的」オブジェクトを普通のファイルオブジェクトに
  • ディレクトリツリーの探索
  • ディレクトリツリーに散在するファイルの拡張子を変更
  • サーチパスにあるファイルを見つける
  • サーチパスとパターンマッチでファイルを見つける
  • Pythonサーチパスにあるファイルを見つける
  • Pythonサーチパスの動的変更
  • 相対パスを導き出す
  • バッファされない文字をプラットフォームに依存せずに読む
  • Mac OS XでPDFのページ数を数える
  • Windowsでファイル属性を変更する
  • OpenOffice.org文書からテキストを抽出
  • Microsoft Word文書からテキストを抽出
  • プラットフォームに依存せずAPIでファイルロック
  • ファイル名にバージョンを
  • CRC-64の計算

3章 時間とお金

  • イントロダクション
  • 昨日と明日の計算
  • 先週の金曜日
  • 2つの日付の間の期間は
  • 合計演奏時間
  • 2つの日付の間のウィークデーの数
  • 休日の自動計算
  • ファジーな日付解釈
  • 夏時間が使用されているか調べる
  • タイムゾーン間の変換
  • コマンドの反復実行
  • コマンドの予定実行
  • Decimal(十進)による計算
  • Decimalを通貨として整形する
  • Pythonを簡単な加算器に
  • クレジットカードのチェックサム
  • 為替レートの監視

4章 ショートカット

  • イントロダクション
  • オブジェクトのコピー
  • リスト内包でリストを作る
  • 指定した要素がリスト中に存在すれば返す
  • シーケンスのアイテムとそのインデックスをループ処理
  • 参照を共有せずにリストのリストを作る
  • 入れ子になったシーケンスの平滑化
  • 列から成るリストのデータを行単位で削除/並べ替え
  • 2次元配列の転置
  • ディクショナリから値を得る
  • ディクショナリにエントリを追加
  • 引用府におぼれずディクショナリ構築
  • キーと値が交互に入ったリストからdictを構築
  • ディクショナリの部分集合
  • ディクショナリの反転
  • ディクショナリの各キーに複数の値を割当てる
  • メソッドや関数の発行にディクショナリを使う
  • 複数のディクショナリ集合から、和(∪)や交差(∩)を探索
  • 名前のついたアイテム群を集めておく
  • 単一の文で代入と検査を同時に行う
  • Pythonでprintf
  • アイテムごとに確率を定めたランダム抽出
  • 式中での例外処理
  • 指定のモジュール内で名前が定義されていることを保証する

5章 サーチとソート

  • イントロダクション
  • ディクショナリのソート
  • 文字列リストを大文字小文字無関係にソート
  • オブジェクトのリストをオブジェクトの属性でソート
  • キーやインデックスを、その値によりソート
  • 含まれる数値で文字列をソート
  • リストのアイテム全てをランダムな順序で処理
  • アイテムが加えられてもソート済みに保つ
  • シーケンスのアイテムを小さい方から取る
  • ソート済みシーケンスからアイテムを探索
  • n番目に小さい要素は
  • クイックソートを3行で示す
  • シーケンスにアイテムの存在チェックをかける
  • サブシーケンスを見つける
  • ディクショナリにレーティング機能を
  • 名前をソートしてイニシャルで分ける

6章 オブジェクト指向プログラミング

  • イントロダクション
  • 温度スケールの変換
  • 定数を定義する
  • 属性の設定を制限
  • ディレクトリ探索のチェーン化
  • 継承ではできないことをする(自動委譲)
  • proxyで特殊メソッドを委譲
  • 名前付きアイテムのタプル
  • プロパティにアクセスするコードをキレイに
  • オブジェクトのコピーを素早く
  • ガベージコレクションを邪魔することなく結合メソッドへのリファレンスを保持
  • リングバッファを実装する
  • インスタンスに変化があったかチェックする
  • オブジェクトが必要な属性を備えているかチェックする
  • Stateデザインパターンを実装する
  • Singletonデザインパターンを実装する
  • Singletonデザインパターンの使用を避けてBorgの方法を利用する
  • Null Objectデザインパターンを実装する
  • __init__の引数でインスタンス変数を自動設定
  • スーパークラスの__init__が存在すれば実行する
  • スーパークラスのメソッドの共同呼び出しを簡潔かつ安全に

7章 永続性、データベース

  • イントロダクション
  • marshalモジュールを用いてデータをシリアライズする
  • pickle/cPickleモジュールを利用してシリアライズする
  • シリアライズしたデータを圧縮する
  • クラス、インスタンスにcPickleを使用する
  • 結合メソッドをPickle化できる状態で保存する
  • コードオブジェクトをPickle化する
  • shelveを使ったオブジェクトに変更を加える
  • Berkeley DBデータベースを使う
  • MySQLデータベースへのアクセス
  • BLOBをMySQLに保存する
  • BLOBをPostgreSQLに保存する
  • BLOBをSQLiteに保存する
  • フィールド名と列番号の対応表のディクショナリを生成する
  • dtupleでクエリ結果にフレキシブルにアクセスする
  • データベースカーソルの内容をきれいに出力したい
  • DB APIモジュールに渡すパラメータのスタイルを統一する
  • ADOを経由してMicrosoft Jetを使用する
  • JythonのサーブレットからJDBCを使ってデータベースにアクセスしたい
  • JythonでExcelのデータを扱うためにODBCを利用する

8章 デバッグとテスト

  • イントロダクション
  • ループや条件式の実行を止める
  • Linux上でもメモリ使用量を測定する
  • ガベージコレクションの過程をデバッグ
  • 例外のトラップと記録
  • デバッグモードで式やコメントを追う
  • トレースバックからより多くの情報を
  • トラップできない例外で自動的にデバッガを起動
  • 最も簡単なユニットテスト
  • ユニットテストを自動的に
  • doctestをunittestで使う
  • ユニットテストで範囲値をチェック

9章 プロセスとスレッド、その同期

  • イントロダクション
  • オブジェクト中の全メソッドを同期
  • スレッドの終了
  • Queue.Queueを順位付きキューとして使う
  • スレッドプール
  • 引数のセットをいくつも使って関数を並列実行
  • 簡単なメッセージパッシングによるスレッド協調
  • スレッドごとの情報を保存
  • スレッドを使わずに協調的マルチタスクを
  • Windowsで、同じスクリプトが既に走っているか確かめる
  • MsgWaitForMultipleObjectsでWindowsメッセージの処理
  • popenで外部プロセスを駆動
  • Unixシェルコマンドの標準出力、エラー出力をキャプチャ
  • デーモンのフォーク(Unix

10章 システム管理

  • イントロダクション
  • ランダムなパスワードの生成
  • 簡単に覚えられて、ある意味ランダムなパスワードの生成
  • POPサーバを使ったユーザ認証
  • IPアドレスごとのヒット数集計(Apache)
  • クライアントキャッシュのヒット率計算(Apache)
  • スクリプトからエディタを起動
  • ファイルのバックアップ
  • Mailboxファイルを選択コピー
  • Mailboxからアドレスのホワイトリストを作成
  • 重複メールのブロック
  • Windowsのサウンドシステムをチェック
  • Windows DLLの登録・削除
  • Windowsのログイン時の自動実行タスクをチェック、修正
  • 「共有」の作成(Windows)
  • 実行中のInternet Explorerにつなげる
  • Microsoft Outlookの「連絡先」を読む
  • 詳しいシステム情報を得る(Mac OS X)

11章 ユーザインタフェース

  • イントロダクション
  • コンソールでプログレスインジケータを表示する
  • lambdaを使わずコールバック関数を書く
  • tkSimpleDialogの関数にデフォルト値や範囲制限を使う
  • Tkinterのリストボックスをドラッグアンドドラッグで並び替えできるようにする
  • Tkinterでアクセント記号を入力
  • Tkinterで使うGIFをコードに埋め込む
  • 画像のフォーマットを変換する
  • Tkinterによるストップウォッチ
  • スレッドでGUIと非同期I/Oを結合
  • TkinterでIDLEのツリーウィジェットを利用する
  • 複数の値を入れられる行(row)を持ったTkinterのリストボックス
  • Tkinterウィジェット間でジオメトリメソッドやオプションをコピーする
  • Tkinterでタブを
  • wxPythonでタブを
  • JythonでImageJプラグインを実装
  • SwingとJythonを使ってURLのイメージを表示
  • Mac OSでユーザに入力させるには
  • Python Cocoa GUIの「プログラマティックな」構築
  • IronPythonでフェードインするウィンドウを作る

12章 XMLの処理

  • イントロダクション
  • 整形式(well-formed)であるかチェックする
  • タグを数える
  • テキストの抽出
  • XMLエンコーディングの自動認識
  • XML文書をPythonのオブジェクトツリーに変換
  • XML DOMノードのサブツリーからスペースのみのテキストノードを削除
  • Microsoft ExcelのXMLをパース
  • XML文書の検証(validate)
  • ある名前空間に属す要素と属性を除く
  • 連続的なテキストイベントをSAXフィルターで結合
  • XMLやHTMLのパースにMSHTMLを使う

13章 ネットワークプログラミング

  • イントロダクション
  • ソケットデータグラムによるメッセージ伝達
  • Webドキュメントの取得
  • FTPサイトリストにフィルタをかける
  • SNTPプロトコルでサーバから時刻を得る
  • HTMLメールを送る
  • MIMEによるファイル添付
  • MIMEマルチパートメッセージのアンパック
  • 添付ファイルの削除
  • Python 2.4のemail.FeedParserで解釈されたメッセージを修正
  • POP3メールボックスを対話的に調べる
  • アクティブでないコンピュータの検知
  • HTTPベースのネットワークモニタ
  • ポートのフォワード、リダイレクト
  • プロクシでSSLトンネリング
  • ダイナミックIPアドレスのアップデート
  • IRCに接続してログを記録する
  • LDAPサーバへのアクセス

14章 ウェブプログラミング

  • イントロダクション
  • CGIの動作確認
  • CGIスクリプトでURLを扱う
  • CGIでファイルのアップロード
  • ウェブページの存在確認
  • HTTPにおけるcontent typeの確認
  • HTTPファイル転送のレジューム
  • クッキーの処理
  • 認証の必要なプロクシを通じたHTTPSサイト巡回
  • Jythonでサーブレットを書く
  • Internet Explorerのクッキーを探す
  • OPMLファイルの生成
  • RSSフィードの収集
  • テンプレートを使ってデータをウェブ化
  • 任意のオブジェクトをNevowでウェブ化

15章 分散プログラミング

  • イントロダクション
  • XML-RPCのメソッドコールをする
  • XML-RPCサーバ
  • MedusaによるXML-RPC
  • XML-RPCサーバをリモートから終了可能に
  • SimpleXMLRPCServerの小技いろいろ
  • wxPythonでXML-RPCサーバにGUIを
  • TwistedのPerspective Brokerを使う
  • CORBAサーバとクライアント
  • telnetlibでリモートログイン
  • SSHでリモートログイン
  • SSLクライアントの認証

付録A Pythonと日本語処理について

  • Pythonで日本語を使う
  • ソースコードに日本語が使いたい

『Python クックブック 第2版』

『Pythonクィックリファレンス』

(目次)

I部 はじめてのPython

1章 Pythonの概要

  • Python言語
  • Pythonの標準ライブラリと拡張モジュール
  • Pythonの実装
  • Pythonの開発とバージョン
  • Pythonに関する資料

2章 インストール

  • ソースコードからのPythonのインストール
  • バイナリからのPythonのインストール
  • Jythonのインストール

3章 Pythonインタープリタ

  • Pythonプログラム
  • Pythonの開発環境
  • Pythonプログラムの実行
  • Jythonインタープリタ

II部 Python言語とビルトイン

4章 Python言語

  • 語彙の構造
  • データ型
  • 変数とその他の参照
  • 式と演算子
  • 数値演算
  • シーケンス演算
  • ディクショナリ演算
  • プリント文
  • 制御フロー文
  • 関数

5章 オブジェクト指向のPython

  • 従来のクラスとインスタンス
  • 新しいスタイルのクラスとインスタンス
  • 特殊メソッド
  • メタクラス

6章 例外

  • try文
  • 例外の伝達
  • raise文
  • 例外オブジェクト
  • カスタム例外クラス
  • エラーチェック戦略

7章 モジュール

  • モジュールオブジェクト
  • モジュールのロード
  • パッケージ
  • ディストリビューションユーティリティ

8章 基本的なビルトイン

  • ビルトイン型
  • ビルトイン関数
  • sysモジュール
  • getoptモジュール
  • copyモジュール
  • bisectモジュール
  • UserListモジュール、UserDictモジュール、UserStringモジュール

9章 文字列と正規表現

  • 文字列オブジェクトのメソッド
  • stringモジュール
  • 文字列のフォーマット
  • pprintモジュール
  • reprモジュール
  • Unicode
  • 正規表現とreモジュール

III部 Pythonライブラリと拡張モジュール

10章 ファイルとテキストの操作

  • osモジュール
  • ファイルシステムの操作
  • ファイルオブジェクト
  • ファイルI/Oのための補助モジュール
  • StringIOモジュールとcStringIOモジュール
  • 圧縮ファイル
  • テキストの入出力
  • 高度なテキストI/O
  • 対話型のコマンドセッション
  • 国際化

11章 永続性とデータベース

  • 直列化
  • DBMモジュール
  • Berkeley DBモジュール
  • Python DBAPI 2.0

12章 時間の操作

  • timeモジュール
  • schedモジュール
  • calendarモジュール
  • mx.DateTimeモジュール

『Pythonクィックリファレンス』

Page Top

『初めてのRuby』

 他言語でのプログラミング経験がある人のためのRuby入門書。ポイントを押さえたRubyの基礎知識がピントの合った文章で丁寧にしかもコンパクトに解説されている。適度なページ数であるとともに、バージョン1.9対応の情報も含めRuby言語の特徴がとてもよくまとめられているので、ふとした時に気軽に手に取れるリファレンスとしても使える。

(目次)

1章 ようこそ、Rubyのある生活へ

  • Rubyの特徴
  • 処理系と実行環境
  • 実行モデル
  • インタプリタの実行
  • 文法と機能
  • 本章のまとめ

2章 配列とハッシュ

  • 配列
  • ハッシュ
  • Enumerableモジュール
  • 本章のまとめ

3章 数値

  • 数値リテラル
  • 数値演算
  • 比較
  • 数学関数
  • ビット演算
  • 本章のまとめ

4章 文字列

  • 文字列の構築
  • 文字と文字リテラル
  • 正規表現
  • 部分文字列へのアクセス
  • 文字列操作
  • イテレータ
  • フォーマット
  • シンボル
  • Ruby 1.8とマルチバイト文字列
  • Ruby 1.9とマルチバイト文字列
  • 本章のまとめ

5章 入出力

  • プログラムへの引数
  • ファイル
  • 標準入出力
  • その他の入出力オブジェクト
  • エンコーディング
  • 本章のまとめ

6章 変数と式

  • 変数
  • 演算子
  • 制御式
  • 例外処理
  • 大域脱出
  • 本章のまとめ

7章 メソッド

  • メソッド呼び出し
  • メソッドの定義
  • ブロック付きメソッド
  • 本章のまとめ

8章 オブジェクトとクラス

  • クラス定義
  • 変数と定数
  • アクセス権限
  • 特異メソッドと特異クラス
  • モジュール
  • メソッドの探索
  • 本章のまとめ

9章 本書を越えて

  • RubyGems
  • ネットワーク
  • データベース
  • 画像
  • GUI
  • Rubyの黒魔術
  • Rubyの情報源
  • コミュニティ

付録A 処理系のインストール

  • バージョンの選択
  • Microsoft Windows
  • Mac OS X
  • GNU/Linux
  • ソースコードからのインストール
  • RubyGems
  • その他

付録B 諸表

  • Ruby 1.8から1.9への変更点
  • 用語集

『初めてのRuby』

『Rubyを256倍使うための本 界道編』

 フレンドリーな文章で楽しく読めるRuby/Tkの入門書。手ごろなサイズ、値段にもかかわらず内容は濃い。

(目次)

第1章 Ruby/Tkって?

  • GUIプログラミング
  • Ruby/Tkとは
  • Tcl/Tk
  • Tkの従え方
  • そしてRuby/Tk
  • トントン、入ってます?−−Ruby/Tkを使うには
  • Tcl/Tkのインストール
  • Rubyでの拡張ライブラリのインストール

第2章 Hello, Worldの前に

  • とりあえず窓のひとつでも
  • ウィジェットって?
  • イベントって?
  • ウィジェットの作り方
  • ジオメトリマネージャ

第3章 Hello, World!!

  • Helloボタンを作ろう
  • 属性指定のあれこれ
  • ウィジェットの初期設定のあれこれ
  • Exitボタンもつけよう
  • ウィジェット配置のあれこれ
  • packによる配置のしくみ

第4章 気分はGUIプログラマ

  • 呼べば応える−−"Hello,〜!!"
  • 陣取り合戦−−packが扱う領域
  • 少しは端に寄ってよ!−−anchor属性
  • もっと見栄え良く配置するには?
  • 余白、余白、余白
  • もっと! 余白、余白、余白
  • まだまだ余白、余白、余白!!
  • 誰が先?−−packの順序
  • ふたつの世界を繋ぐ架け橋−−TkVariable

第5章 属性をいじれ!!

  • Tcl/Tkのマニュアルの読み方
  • ウィジェット属性の参照と設定
  • フォントとの戦い
  • ウィンドウマネージャと仲良く

第6章 操作の要−−バインディング

  • ショートカット!!
  • バインディングの方法
  • バインド対象
  • イベントシーケンス
  • イベントキーワード
  • 仮想イベント
  • イベントの強制発生
  • 始まりの終わり

第7章 Ruby/Tkのパワー

  • 簡易メモフレーム
  • 表示範囲のスクロール
  • 超々簡易エディタ(1)−−縦横スクロールバー
  • 超々簡易エディタ(2)−−メニューとファイル選択ダイアログ

第8章 ウィジェットツアー

  • ウィジェットクラスの階層
  • ウィジェット概観
  • Ruby/Tk Widget-Demo

第9章 もっと!!Ruby/Tk

  • 文字の点滅−−TkAfter
  • ウィジェットクラス作り
  • ラベルフレームウィジェットクラス
  • 矢印ボタン−−キャンバスウィジェットの活用
  • Ruby/SDLとの連携

第10章 Tcl/Tkの拡張ライブラリが使いたい!

  • Tcl/Tkでの準備
  • Ruby/Tkでのライブラリ導入
  • Ruby/Tkからの利用方法
  • インターナルRuby/Tk

『Rubyを256倍使うための本 界道編』

『プログラミング言語 Ruby』

 Rubyの言語仕様について日本語で網羅的に書かれた中では最新の本(2009/02/19現在)。バージョン1.9対応。

(目次)

1章 イントロダクション

  • Rubyひとめぐり
  • Rubyを使ってみよう
  • 本書について
  • Rubyによる数独ソルバ

2章 Rubyプログラムの構造と実行

  • 字句構造
  • 構文構造
  • ファイル構造
  • プログラムのエンコーディング
  • プログラムの実行

3章 データ型とオブジェクト

  • 数値
  • 文字列
  • 配列
  • ハッシュ
  • 範囲
  • シンボル
  • true、false、nil
  • オブジェクト

4章 式と演算子

  • リテラルとキーワードリテラル
  • 変数参照
  • 定数参照
  • メソッド呼び出し
  • 代入
  • 演算子

5章 文と制御構造

  • 条件分岐
  • 繰り返し
  • イテレータとEnumerableオブジェクト
  • ブロック
  • 制御フローの変更
  • 例外と例外処理
  • BEGINとEND
  • スレッド、ファイバ、継続

6章 メソッド、proc、lambda、クロージャ

  • 単純なメソッドの定義
  • メソッド名
  • メソッドとかっこ
  • メソッド引数
  • Proc
  • クロージャ
  • Methodオブジェクト
  • 関数プログラミング

7章 クラスとモジュール

  • 単純なクラスの定義方法
  • メソッドの可視性: public、protected、private
  • サブクラス化と継承
  • オブジェクトの作成と初期化
  • モジュール
  • モジュールのload、require
  • 特異メソッドと特異クラス
  • メソッドの探索
  • 定数の探索

8章 リフレクションとメタプログラミング

  • 型、クラス、モジュール
  • 文字列とブロックの評価
  • 変数と定数
  • メソッド
  • フック
  • トレーシング
  • ObjectSpaceとGC
  • カスタム制御構造
  • method_missingとconst_missingの活用
  • メソッドの動的な作成
  • エリアスチェイン
  • ドメイン固有言語(DSL)

9章 Rubyプラットフォーム

  • 文字列
  • 正規表現
  • 数値と数学
  • 日付と時刻
  • コレクション
  • ファイルとディレクトリ
  • 入出力
  • ネットワーキング
  • スレッドと並列処理

10章 Ruby環境

  • Rubyインタープリタの起動オプション
  • トップレベル環境
  • 実用的な抽出と報告のためのショートカット
  • OS呼び出し
  • セキュリティ

『プログラミング言語 Ruby』

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

 バージョン1.8対応のプログラミング初心者向けRuby本。

(目次)

  • Rubyをはじめよう
  • 基礎を学ぼう
  • クラスを学ぼう
  • Rubyを使いこなそう
  • ツールを作ってみよう

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

プログラミングRuby 第2版 言語編

 Rubyの充実したチュートリアル。バージョン1.8対応。

(目次)

第1部 Rubyの基礎

  • 第1章 さあ、はじめよう
  • 第2章 Ruby.new
  • 第3章 クラス、オブジェクト、変数
  • 第4章 コンテナ、ブロック、イテレータ
  • 第5章 標準型
  • 第6章 さらにメソッドについて
  • 第7章 式
  • 第8章 例外と大域脱出(catch/throw)
  • 第9章 モジュール
  • 第10章 基本入出力
  • 第11章 スレッドとプロセス
  • 第12章 ユニットテスト
  • 第13章 デバッガ

第2部 Rubyとその周辺

  • 第14章 Rubyとその世界
  • 第15章 irb(対話型Rubyシェル)
  • 第16章 Rubyのドキュメントを書く
  • 第17章 RubyGems によるパッケージ管理
  • 第18章 RubyとWeb
  • 第19章 RubyTk
  • 第20章 RubyとWindows
  • 第21章 Rubyを拡張する

第3部 Rubyの文法と動作の仕組み

  • 第22章 Rubyの文法
  • 第23章 Duck Typing
  • 第24章 クラスとオブジェクト
  • 第25章 Ruby とセーフレベル
  • 第26章 リフレクション、ObjectSpace、分散Ruby

プログラミングRuby 第2版 言語編

プログラミングRuby 第2版 ライブラリ編

 Rubyの包括的なリファレンス。バージョン1.8対応。

(目次)

第4部 Ruby ライブラリリファレンス

  • 第27章 組み込みクラス/モジュール
  • 第28章 標準ライブラリ

プログラミングRuby 第2版 ライブラリ編

『Rubyレシピブック 第2版 268の技』

Rubyのいわゆる逆引きTips集、クックブック。バージョン1.8対応。

(目次)

  • 第1章 Rubyの文法
  • 第2章 文字列
  • 第3章 配列とハッシュ
  • 第4章 ファイルとディレクトリ
  • 第5章 入出力
  • 第6章 数値
  • 第7章 日付と時刻
  • 第8章 環境とのかかわり
  • 第9章 プロセスとプロセス間通信
  • 第10章 CGI
  • 第11章 オブジェクト

『Rubyレシピブック 第2版 268の技』

Page Top

『最新HSP3.1プログラミング入門』

(目次)

第1章 HSPの準備

  • HSPのインストール
  • サンプルで遊んでみよう
  • いよいよスタート

第2章 プログラミングの基礎

  • プログラミングの準備
  • HSPスクリプトエディタを使ってみよう
  • 超カンタンスクリプト
  • HSPに命令を出そう
  • スクリプトに旗を立てよう
  • これがランチャー?
  • 変数を使ってみよう
  • さらに高度な条件判断
  • 実行ファイルできちゃった
  • 誰にもわからない数
  • 文字がいっぱい
  • メモリいただきます
  • おいしく効率アップ

第3章 HSPプログラムの作成

  • デジタル時計の作成
  • CGビューアーの作成
  • サウンドプレイヤーの作成
  • テキストエディタの作成
  • シューティングゲームの基本
  • マップ表示の基本
  • ブラウザ実行プログラムの作成
  • COMコンポーネントの利用

第4章 HSPプログラミング詳説

  • シューティングゲームの作成
  • ノベルゲームの作成
  • シミュレーションRPGの作成
  • スクリーンセーバーの作成
  • 3Dゲームの作成

付録

  • コマンド一覧
  • 添付CD-ROMについての説明

コラム

  • HSPって何ですか
  • どんな機種で動作するのですか
  • DirectXとは?
  • HSPでどんなことができるの
  • なぜインタープリタなのですか
  • HSPTVとは?
  • HSP2.61から新しく変わった部分は?
  • HSP2.61のスクリプトを動作させるには
  • HSPを使う利点は何ですか
  • ステップ実行機能について
  • かんたん入力機能
  • 自由に使ってかまわないのですか
  • フォルダの指定がうまくできないようです
  • ファイルの暗号化
  • 拡張ランタイムについて
  • HSP3は難しい?
  • Peasエディタとは?
  • HSP3支援モジュール
  • 省略値について
  • WindowsXPへの対応について
  • Windows Vista上での注意点
  • 画像形式について
  • 拡張プラグインとは?
  • HSP3.1で追加されたプラグイン
  • HSPCVプラグインを活用しよう
  • 音楽CDの再生
  • MCIの奥深い世界
  • OGG形式の再生
  • コンソールモードについて
  • gmodeでのコピーモードが正常に設定されません
  • mousex、mouseyでカーソルの位置が参照できません
  • HSPプログラムコンテスト
  • HSPで広がるパソコン教育
  • gcopy命令による画像操作
  • スクリーンセーバーの目的
  • wait20回の謎
  • HGIMG3のオブジェクトパラメータ設定

『最新HSP3.1プログラミング入門』

『3Dゲーム・クックブック―HSP+Easy3D入門』

(目次)

ユーザー作成ソフト

  • The Tower
  • ナンチャラ剣物語
  • DeathBlaze
  • ペンペンパニック
  • お届けモノ3D
  • 光の射す場所 〜烈光剣舞〜 完全版
  • CoolMasterTheRoad完成版
  • トレジャー・ハント ―洞窟の秘宝―
  • いちにさんし☆
  • 本編サンプルゲーム紹介

Part1 はじめに

  • はじめに

Part2 HSPとプラグイン、ツールのインストール

  • HSPとは
  • クイックスタート
  • スクリプトエディタ
  • HSPのしくみ
  • HSP拡張プラグインについて
  • Easy3Dのインストール
  • RokDeBone2のインストール
  • メタセコイアのインストール

Part3 予備知識

  • 予備知識
  • 3D座標
  • ベクトル

Part4 3Dデータの準備

  • メタセコイア
  • RokDeBone2の使い方

Part5 Easy3Dの基本

  • 3Dモデルを表示する
  • モーションを再生する
  • 向きたい向きを向く
  • でこぼこ地面の上を歩く
  • 移動可能領域を設定する

Part6 3Dゲームの実践

  • ジャンピングたこ
  • タコレース
  • 宇宙人げっちゅ
  • 格闘ゲーム
  • 音ゲーのコア

Part7 資料編

  • コマンド一覧
  • OnePoint

『3Dゲーム・クックブック―HSP+Easy3D入門』

『逆引きHSP3プログラミング事典 基本編』

(目次)

  • HSP豆知識
  • ウィンドウ
  • オブジェクト
  • グラフィック
  • ゲーム
  • システム
  • ファイル
  • マルチメディア
  • 日付・時刻
  • 文字列

『逆引きHSP3プログラミング事典 基本編』

『逆引きHSP3プログラミング事典 応用編』

(目次)

  • 3D
  • ゲーム
  • ウィンドウ
  • オブジェクト
  • グラフィック
  • システム
  • ファイル
  • マルチメディア
  • 文字列
  • ネットワーク
  • データベース
  • CGI

『逆引きHSP3プログラミング事典 応用編』

Page Top

『PERLクイックリファレンス』

 膨大な数の組み込み関数、標準モジュールの仕様が網羅されている。コンパクトにまとめられた言語仕様の解説付き。

(目次)

1部 導入ガイド

  • 初めてのPerl
  • Perlのインストール

2部 基本言語仕様

  • Perlインタプリタ
  • Perl言語
  • 関数リファレンス
  • デバッグ

3部 モジュール

  • パッケージ、モジュール、オブジェクト
  • 標準モジュール

4部 CGI

  • CGIの概要
  • CGI.pm
  • mod_perlによるWebサーバプログラミング

5部 データベース

  • データベースとPerl

6部 ネットワークプログラミング

  • ソケット
  • Email
  • ネットニュース(Usenet)
  • FTP
  • LWPライブラリ

7部 Perl/Tk

  • Perl/Tk

8部 Win32

  • Win32モジュールとその拡張
  • PerlScript

『PERLクイックリファレンス』

『初めてのPerl 第3版』

(目次)

1章 Perl入門

  • 質問とその答え
  • Perlとは何の略なのでしょうか?
  • どうやってPerlを手に入れるのでしょうか?
  • どうやってPerlのプログラムを作るのでしょうか?
  • Perl早わかりツアー
  • 練習問題

2章 スカラーデータ

  • スカラーデータとは?
  • 数値
  • 文字列
  • Perlに組み込みの警告メッセージ
  • スカラー変数
  • if制御構造
  • ユーザからの入力を受け取る
  • chomp演算子
  • while制御構造
  • 未定義値
  • defined関数
  • 練習問題

3章 リストと配列

  • 配列の要素にアクセスする
  • 配列の特別なインデクス
  • リストリテラル
  • リスト代入
  • 配列を文字列の中に展開する
  • foreach制御構造
  • Perlお気に入りのデフォルト:$_
  • スカラーコンテキストとリストコンテキスト
  • リストコンテキストでを使う
  • 練習問題

4章 サブルーチン

  • システム関数とユーザ関数
  • サブルーチンを定義する
  • サブルーチンを起動する
  • 戻り値
  • 引数
  • サブルーチンの中でプライベートな変数
  • local演算子
  • 可変長のパラメータリスト
  • レキシカル変数(my変数)についての注意事項
  • use strictプラグマ
  • return演算子
  • 練習問題

5章 ハッシュ

  • ハッシュとは?
  • ハッシュの要素にアクセスする
  • ハッシュ関数
  • ハッシュの利用法
  • 練習問題

6章 入出力の基本

  • 標準入力からの入力
  • ダイヤモンド演算子からの入力
  • 起動引数
  • 標準出力への出力
  • printfによるフォーマット付き出力
  • 練習問題

7章 正規表現の基本

  • 正規表現とは?
  • 単純なパターンを使う
  • パターンをテストするプログラム
  • 練習問題

8章 正規表現の詳細

  • 文字クラス
  • 汎用の量指定子
  • アンカー
  • カッコによって記憶する
  • 優先順位
  • 練習問題

9章 正規表現の利用法

  • m//を使ってマッチを行なう
  • オプション修飾子
  • 結合演算子:=~
  • 変数をパターンに埋め込む
  • マッチ変数
  • s///を使って置換を行なう
  • split演算子
  • join関数
  • 練習問題

10章 さまざまな制御構造

  • unless制御構造
  • until制御構造
  • 式修飾子
  • 裸のブロック制御構造
  • elsif節
  • オートインクリメントとオートデクリメント
  • for制御構造
  • ループを御制する
  • 論理演算子
  • 練習問題

11章 ファイルハンドルとファイルテスト

  • ファイルハンドルとは?
  • ファイルハンドルをオープンする
  • dieによって致命的エラーを発生させる
  • ファイルハンドルを使う
  • 標準ファイルハンドルを再オープンする
  • ファイルテスト
  • 練習問題

12章 ディレクトリ操作

  • ディレクトリツリーの中を移動する
  • グロブ
  • グロブのもう1つの書き方
  • ディレクトリハンドル
  • 再帰的なディレクトリ処理
  • 練習問題

13章 ファイルとディレクトリの取り扱い

  • ファイルを削除する
  • ファイルの名前を変更する
  • リンクとファイル
  • ディレクトリの作成と削除
  • パーミッションを変更する
  • ファイルのオーナーを変更する
  • タイムスタンプを変える
  • 単純なモジュールを使う
  • 練習問題

14章 プロセス管理

  • system関数
  • exec関数
  • 環境変数
  • 逆クォートを使って出力を取り込
  • プロセスをファイルハンドルとして使う
  • forkを使って低レベル処理を行なう
  • シグナルを送受信する
  • 練習問題

15章 文字列処理とソート

  • indexを使って部分文字列を探す
  • substrを使って部分文字列をいじる
  • sprintfを使ってデータをフォーマットする
  • 高度なソート
  • 練習問題

16章 単純なデータベース

  • DBMファイルとDBMハッシュ
  • packとunpackを使ってデータを加工する
  • 固定長ランダムアクセスデータベース
  • 可変長(テキスト)データベース
  • 練習問題

17章 上級テクニック

  • evalによってエラーをトラップする
  • grepを使ってリストから要素を選び出す
  • mapを使ってリストを変換する
  • クォートなしのハッシュキー
  • より強力な正規表現
  • スライス
  • 練習問題

付録A 練習問題の解答

付録B リャマを越えて

  • 豊富なドキュメント
  • 正規表現
  • パッケージ
  • Perlの機能を拡張する
  • いくつかの重要なモジュール
  • プラグマ
  • データベース
  • その他の演算子と関数
  • 数学
  • リストと配列
  • ビット操作
  • フォーマット
  • ネットワークとIPC
  • セキュリティ
  • デバッグ
  • CGI(Common Gateway Interface)
  • コマンドラインオプション
  • 組み込み変数
  • さまざまな構文
  • リファレンス
  • タイ変数
  • 演算子オーバーロード
  • ダイナミックロード
  • Perlをほかのプログラムに組み込む
  • 他の言語からPerlへの変換
  • findコマンドラインをPerlに変換する
  • コマンドラインオプションを受け取る
  • ドキュメントを埋め込む
  • ファイルハンドルをオープンするほかの方法
  • ロケールとUnicode
  • グラフィカルユーザインターフェース(GUI)
  • そしてまだまだ続く……

『初めてのPerl 第3版』

Page Top

『プログラミングWideStudio―オープンソース、マルチプラットフォーム対応統合開発環境』

 フリーのC/C++、Perl、Ruby、Python対応ビジュアル開発環境WideStudioを1から詳しく解説している。内容は、操作方法・チュートリアル・使いこなしテクニック・内部構造の解説・リファレンスなど。Windowsユーザを含めすべてのユーザ向けに書かれている。単なるマニュアルではなく、プログラミングの具体的なヒントも豊富。

(目次)

第1部 WideStudio入門

  • WideStudioとは
  • 統合開発環境―アプリケーションビルダ
  • アプリケーション開発手順

第2部 WideStudioの内部構造

  • WideStudioの構造設計
  • プロジェクトデータの構成とアプリケーションの構成

第3部 付録

  • 追加情報
  • WideStudioクラスリファレンス

 目次詳細はこちら

『プログラミングWideStudio―オープンソース、マルチプラットフォーム対応統合開発環境』

Page Top

『UNIXという考え方―その設計思想と哲学』

 UNIX流のソフトウェア設計・開発手法を平易な文章で解説していて、特定の言語、プラットホームを選ばない内容になっている。プログラミングスタイルのひとつの見本として、日曜プログラマーを含めてあらゆる人におすすめ。

(目次)

  • 第1章 UNIXの考え方:たくさんの登場人物たち
  • 第2章 人類にとっての小さな一歩
  • 第3章 楽しみと実益をかねた早めの試作
  • 第4章 移植性の優先順位
  • 第5章 これこそ梃子の効果!
  • 第6章 対話的プログラムの危険性
  • 第7章 さらなる10のUNIXの考え方
  • 第8章 一つのことをうまくやろう
  • 第9章 UNIXとその他のオペレーティングシステムの考え方

『UNIXという考え方―その設計思想と哲学』

Page Top


"For Dummies"シリーズ

(洋書)

"For Dummies"シリーズとは

 本国アメリカでは非常に有名な初心者向けHowTo本のシリーズで、コンピュータ/プログラミング関連だけでなく、生活・学問全般のテーマを扱っている。初心者向けなのでできる限り簡単な英語で丁寧に説明する配慮がされており、ネイティブ・スピーカー以外でも比較的少ない労力で理解することができる。また字数的にそれなりにボリュームがあり(400ページ前後)内容的にも充実している一方、文章が短めの章がたくさん並んでいる形式なので、読破するのを途中であきらめてしまう危険が少ない。英語にあまり自信がない人でも、まずは日本語で勉強したことがあるテーマを選ぶことで、予想以上のスピードで読めてしまう可能性が高い。プログラミング関連の英語を学ぶ入門書としてもおすすめ。

C# 2005 For Dummies C#言語入門

C++ For Dummies C++言語入門

C For Dummies C言語入門

Perl For Dummies Perl入門

Design Patterns For Dummies デザインパターン入門

AmazonでFor Dummiesシリーズを探す

※ 「For Dummies」シリーズがSafariでも読めるようになりました。Safariについてはこの下↓の解説を読んでください。

Page Top



Safari Bookshelf の紹介

 Safari Bookshelfとは、ユーザ登録を行って月ぎめの料金を払うと、O'Reillyをはじめサービスに参加している出版社のデジタルデータ化された書籍が一定の範囲内(料金コースによって条件が変わる)で読み放題になるというサービスです。

 システムとしては、例えば無料の14日間お試しコースの場合、ユーザはまず10スロットの容量がある「My本棚」を与えられます。スロットとはバーチャルな書籍が占有するスペースの単位で、登録されている多くの書籍は1スロットの容量を消費しますが、中には2スロットや1/2スロットの書籍もあります。

 ユーザは書籍リストの中から好きなものを選んでそれを「My本棚」に入れることで、初めてすべての内容を閲覧できるようになります。「My本棚」に入れていない書籍の場合、サンプル用のごく一部の内容しか見ることができないため、実質読むことができないのと同じです。システムのポイントは、料金コースによって「My本棚」の容量(スロット)が変わることと、一度「My本棚」に入れた書籍は丸30日間「My本棚」から出すことができないことです。

 料金コースは大きく分けて2つあり、Maxコースは「My本棚」に入れた書籍を自由に読めることに加え、1ヶ月につき5章分のPDFを基本料金だけでダウンロードできます(ちなみにこのPDFはダウンロード請求ごとに生成され、ダウンロードしたユーザの情報がしっかり埋め込まれます)。もう一つのBasicコースは基本料金内では「My本棚」に入れた書籍の閲覧のみ可能です。両コースともスロットの大きさを複数から選択でき、Maxコースは最低10スロット($19.99/月)から、Basicコースは最低5スロット($9.99/月)からとなっています。(年間契約による割引あり)

 このサービスの対象になっている書籍は英語版(原書)のみですが、Basic/5スロットコースであれば少々高めの雑誌を講読する感覚で利用でき、お得なサービスだとは言えると思います。またO'Reilly以外の出版社も参加しており、リストをざっと眺めただけでも、「コード・コンプリート」、「達人プログラマー」、「リファクタリング」、「人月の神話」、「デス・マーチ」、「Code Reading」などリファレンスやチュートリアル形式以外のタイトルも非常に充実している印象です。

 Safari Books Online

Page Top



Safari Books 収録タイトル紹介


Windows PowerShell Quick Reference

 本書はO'reillyの"Short Cuts"シリーズの中の1冊です。"Short Cuts"シリーズはPDFでのみ公開されている1冊100ページ前後のドキュメント集で、Safari Booksに収録されているほか、O'reillyのサイトでバラ売りで購入することも可能です。

 内容としては以下の目次にあるようにインタラクティブシェルの操作方法やシェル言語の仕様、さらにPowerShellを活用するための.NETクラスやCOMコンポーネントのリスト(抜粋)などがコンパクトにまとめられています。

PowerShellを起動する

 スタートメニューからの起動方法を説明しています。

インタラクティブシェルの操作方法

 ウィンドウのカスタマイズ、テキスト選択方法、キーボードショートカット、プロファイル(スタートアップスクリプト)、プロンプトのカスタマイズ、タブ補完機能のカスタマイズについて説明しています。

コマンドと式

 コマンドと式の違い、式の中の要素評価の順番や方式を変えるための括弧の使い方について説明しています。

コメント

 コメント記号の使い方を説明しています。

変数

 変数の種類と書式について説明しています。

真偽値

 真偽値を表す事前定義の変数、基本的なデータ型が値によって真偽どちらに評価されるかについて説明しています。

文字列

 リテラル文字列とそこに式を埋め込むための書式、ヒアストリング、エスケープシーケンスについて説明しています。

数値

 書式、文字列や異なる基数の値への変換方法について説明しています。

配列とリスト

 配列変数の作り方、書式、操作方法について説明しています。

ハッシュテーブル(連想配列)

 ハッシュ変数の作り方、書式、操作方法について説明しています。

XML

 PowerShellでネイティブな型としてサポートされているXML変数の作り方、操作方法について説明しています。

単純な演算子

 算術演算子、論理演算子、単項演算子などについて説明しています。

比較演算子

 テキストマッチ演算子などを含めた比較演算子について説明しています。

制御文

 if文、switch文について説明しています。

繰り返し文

 for文、foreach文、while文、do-while文、do-until文などについて説明しています。

.NET Frameworkを利用する

 .NET Frameworkオブジェクトの生成、メソッド呼び出し、プロパティ操作、およびCOMオブジェクトの利用方法や型拡張について説明しています。

シェルスクリプトの利用

 インタラクティブシェルからスクリプトファイルを実行する方法、スクリプト内での入出力の扱い方、スクリプトの構造化(関数、スクリプトブロック)について説明しています。

エラーハンドリング

 強制終了エラー、その他のエラーについて説明しています。

出力のフォーマット、出力の取得、トレースとデバッグ

 それぞれの処理に必要なコマンドレット、リダイレクト記号について説明しています。

付録(正規表現リファレンス、自動変数、便利な.NETクラス、便利なCOMコンポーネント、WMIリファレンス、数値フォーマット文字列、日時フォーマット文字列、おもなPowerShell Verbs)

 かなり多くの項目が簡単な説明とともにリストされています。(書籍全体の約半分のページ数を占めています)

Safari収録タイトルリストに戻る
Page Top