Mono

[cover photo]
TOPICS
Programming
発行年月日
PRINT LENGTH
320
ISBN
4-87311-234-6
原書
Mono: A Developer's Notebook
FORMAT
Print
2,860円
この商品は品切れ再入荷未定です

Monoはクロス・プラットフォーム対応の .NET開発フレームワークです。C#をサポートし、オープン・ソースとして開発されています。本書は、Monoを使ってすぐに開発効率を上げたい開発者向けに書かれています。C#を使ったMonoプログラミングの基礎から、Gtk#によるユーザ・インタフェース開発やASP.NETによるネットワーク・アプリケーション開発など、実践的な活用ノウハウまでを扱っています。理論だけでなく、実用的なコードを多数収録しているので、読者は、Monoで何ができるのかをより具体的に理解できるでしょう。なぜMonoなのか?――その答は本書にあります。

目次

本書に寄せて
まえがき

1章 Monoを動かしてみる
	1.1 Monoのインストール
		1.1.1 どのようにすればよいのか?
	1.2 Windows互換のアセンブリの使い方は?
	1.3 Monoを紐解いてみる
		1.3.1 どのようにすればよいのか?
		1.3.2 コマンド名について
		1.3.3 さらに学習するには?
	1.4 MonoDevelop統合開発環境を起動してみる
		1.4.1 どのようにすればよいのか?
		1.4.2 WindowsまたはMac OS X向けのIDEは?
	1.5 環境にあわせてMonoをカスタマイズする
		1.5.1 どのようにすればよいのか?
		1.5.2 IDEを必要としないWindows開発者は?
		1.5.3 さらに学習するには?
	1.6 Monoコミュニティに参加する
		1.6.1 どのようにすればよいのか?

2章	C#を使ってみる
	2.1 "Hello World"を実行する
		2.1.1 どのようにすればよいのか?
		2.1.2 どのように動いているのか?
		2.1.3 自分が作成した名前空間を定義するには?
		2.1.4 さらに学習するには?
	2.2 実世界の物事の動きをモデル化する
		2.2.1 どのようにすればよいのか?
		2.2.2 どのように動いているのか?
		2.2.3 多重継承について
	2.3 データを引き渡す際のオーバーヘッドを回避する
		2.3.1 どのようにすればよいのか?
		2.3.2 どのように動いているのか?
		2.3.3 値型を参照として扱い、参照から値型を取り出すには?
	2.4 予期しないエラーの取り扱い
		2.4.1 どのようにすればよいのか?
		2.4.2 どのように動いているのか?
		2.4.3 オリジナルの例外を定義するには?
	2.5 関数ポインタを定義する
		2.5.1 どのようにすればよいのか?
		2.5.2 どのように動いているか?
	2.6 メタデータを自分の型に追加する
		2.6.1 どのようにすればよいのか?
		2.6.2 オリジナルの属性を作成するには?
	2.7 他のライブラリを呼び出す
		2.7.1 どのようにすればよいのか?
		2.7.2 どのように動いているのか?
		2.7.3 さらに学習するには?
	2.8 アセンブリを使ってクラスに関連するものをパッケージ化する
		2.8.1 どのようにすればよいのか?
		2.8.2 複数のアプリケーションで利用できるアセンブリを生成するには?
	2.8.3 さらに学習するには?

3章 .NETのコア
	3.1 ファイルと連携する
		3.1.1 どのようにすればよいのか?
		3.1.2どのように動いているのか?
		3.1.3 ファイルからバイナリ・データを読み込むには?
		3.1.4 さらに学習するには?
	3.2 文字列データを処理する
		3.2.1 どのようにすればよいのか?
		3.2.2 文字列を書式化するには?
	3.3 正規表現を使って文字列を検索する
		3.3.1 どのようにすればよいのか?
		3.3.2 どのように動いているのか?
		3.2.3 さらに学習するには?
	3.4 データのコレクションを管理する
		3.4.1 どのようにすればよいのか?
		3.4.2 どのように動いているのか?
		3.4.3 オリジナルのコレクション型を生成するには?
	3.5 アセンブリを使って処理する
		3.5.1 どのようにすればよいのか?
		3.5.2 どのように動いているのか?
		3.5.3 Monoのアセンブリを逆コンパイルするには?
		3.5.4 さらに学習するには?
	3.6 プロセスの起動と調査
		3.6.1 どのようにすればよいのか?
		3.6.2 どのように動いているのか?
	3.7 スレッドを使ったマルチタスク
		3.7.1 どのようにすればよいのか?
		3.7.2 どのように動いているのか?
		3.7.3 スレッドの実行をもっと詳細に制御するには?
	3.8 C#コードの単体テスト
		3.8.1 どのようにすればよいのか?
		3.8.2 どのように動いているのか?
		3.8.3 NUnitを使ってテストした出力結果の書式を制御するには?
		3.8.4 さらに学習するには?

4章 Gtk#
	4.1 基本的なGtk#プログラムの記述とイベントの扱い
		4.1.1 どのようにすればよいのか?
		4.1.2 どのように動いているのか?
		4.1.3 さらに学習するには?
	4.2 ボックスを用いたウィジットの配置
		4.2.1 どのようにすればよいのか?
		4.2.2 どのように動いているのか?
		4.2.3 さらに学習するには?
	4.3 ウィジット同士の相互作用
		4.3.1 どのようにすればよいのか?
		4.3.2 どのように動いているのか?
		4.3.3 さらに学習するには?
	4.4 サブクラス化によるダイアログの作成
		4.4.1 どのようにすればよいのか?
		4.4.2 どのように動いているのか?
		4.4.3 もっとセンスのよいサブクラス化を行う方法は?
		4.4.4 さらに学習するには?
	4.5 グラフィックスの描画
		4.5.1 どのようにすればよいのか?
		4.5.2 どのように動いているのか?
		4.5.3 さらに学習するには?
	4.6 メニューの作成
		4.6.1 どのようにすればよいのか?
		4.6.2 どのように動いているのか?
		4.6.3 もっと複雑なメニュー・アイテムを生成するには?
		4.6.4 さらに学習するには?
	4.7 ツリー表示によるデータの管理
		4.7.1 どのようにすればよいのか?
		4.7.2 どのように動いているのか?
		4.7.3 もっと人目を引くような外観を持つツリーにするには?
		4.7.4 さらに学習するには?
	4.8 ドラッグ&ドロップによるデータ交換
		4.8.1 どのようにすればよいのか?
		4.8.2 どのように動いているのか?
		4.8.3 さらに学習するには?

5章 Gtk#の高度な使い方
	5.1 GNOMEアプリケーションの作成
		5.1.1 どのようにすればよいのか?
		5.1.2 どのように動いているのか?
		5.1.3 さらに学習するには?
	5.2 Gladeを使ったインタフェースの設計
		5.2.1 どのようにすればよいのか?
		5.2.2 どのように動いているのか?
		5.2.3 さらに学習するには?
	5.3 GConfを使った設定情報の保存
		5.3.1 どのようにすればよいのか?
		5.3.2 どのように動いているのか?
		5.3.3 設定情報に説明書きを付与するには?
	5.4 ドルイドを使ってユーザをガイドする
		5.4.1 どのようにすればよいのか?
		5.4.2 どのように動いているのか?
		5.4.3 ドルイドのページが半永久的に増えていくことはないのか?
	5.5 非同期な操作を実行する
		5.5.1 どのようにすればよいのか?
		5.5.2 どのように動いているのか?
		5.5.3 さらに学習するには?
	5.6 HTMLのレンダリング
		5.6.1 どのように動いているのか?
		5.6.2 他に何ができるのか?
		5.6.3 さらに学習するには?
	5.7 ヘルプ・ファイルの提供
		5.7.1 どのようにすればよいのか?
		5.7.2 作成したアプリケーションを配布するには?
		5.7.3 さらに学習するには?
	5.8 プログラムのメッセージ翻訳
		5.8.1 どのようにすればよいのか?
		5.8.2 どのように動いているのか?

6章 XML処理
	6.1 XMLデータの読み込みと書き込み
		6.1.1 どのようにすればよいのか?
		6.1.2 どのように動いているのか?
		6.1.3 さらに学習するには?
	6.2 メモリの中にあるXMLデータの取り扱い
		6.2.1 どのようにすればよいのか?
		6.2.2 どのように動いているのか?
		6.2.3 メモリの中にあるXMLデータを変更するには?
		6.2.4 さらに学習するには?
	6.3 XMLドキュメントの構文を解析する
		6.3.1 どのようにすればよいのか?
		6.3.2 構文解析のパフォーマンスについて
		6.3.3 さらに学習するには?
	6.4 XMLデータの変換
		6.4.1 どのようにすればよいのか?
		6.4.2 プログラムの中からXSLTのスタイルシートを編集するには?
		6.4.3 さらに学習するには?
	6.5 XMLドキュメントの制約
		6.5.1 どのようにすればよいのか?
		6.5.2 プログラムの中からW3C XMLスキーマを使った処理を行うには?
	6.6 XMLを制約する別の方法
		6.6.1 どのようにすればよいのか?
		6.6.2 RNC(RELAX NG Compact syntax)の利用は?
		6.6.3 さらに学習するには?
	6.7 XMLを使ったオブジェクトのシリアル化
		6.7.1 どのようにすればよいのか?
		6.7.2 どのように動いているのか?

7章 ネットワーク処理とリモート処理、そしてウェブ・サービス
	7.1 ASP.NETのセットアップ
		7.1.1 どのようにすればよいのか?
		7.1.2 mod_monoをインストールできなかったら?
		7.1.3 さらに学習するには?
	7.2 ウェブ・アプリケーションの実行
		7.2.1 どのようにすればよいのか?
		7.2.2 どのように動いているのか?
		7.2.3 データとコードを別々にするには?
	7.3 ウェブ・サービスの提供
		7.3.1 どのようにすればよいのか?
		7.3.2 ウェブ・サービスとして別のアセンブリのクラスを公開するには?
	7.4 他のネットワーク・システムとの通信
		7.4.1 どのようにすればよいのか?
		7.4.2 どのように動いているのか?
		7.4.3 ソケットを使わずにウェブ・サーバに接続してデータを取得するには?
	7.5 リモート・オブジェクトへのアクセス
		7.5.1 どのようにすればよいのか?
		7.5.2 どのように動いているのか?
		7.5.3 実行時にリモート処理の設定を行うには?
	7.6 XMLを用いたリモート・プロシージャ・コール
		7.6.1 どのようにすればよいのか?
		7.6.2 どのように動いているのか?
		7.6.3 さらに学習するには?
	7.7 盗み見されないようにデータを守る
		7.7.1 どのようにすればよいのか?
		7.7.2 どのように動いているのか?
		7.7.3 さらに学習するには?
	7.8 データベースへのアクセス
		7.8.1 どのようにすればよいのか?
		7.8.2 どのように動いているのか?
		7.8.3 最近話題のdisconnected data setは?
		7.8.4 さらに学習するには?

8章 Monoの最近の動向
	8.1 Autotoolsを使ってソース・コードを保守する
		8.1.1 どのようにすればよいのか?
	8.2 クロス・プラットフォームで互換性のあるプログラムの書き方
		8.2.1 どのようにすればよいのか?
		8.2.2 直接コードを記述しないようにするには?
	8.3 MonoでJavaを実行する
		8.3.1 どのようにすればよいのか?
		8.3.2 Javaからデリゲートやプロパティにアクセスするには?
		8.3.3 さらに学習するには?
	8.4 Monoの開発版を動かす
		8.4.1 どのようにすればよいのか?
		8.4.2 さらに学習するには?
	8.5 Genericsを使う
		8.5.1 どのようにすればよいのか?
		8.5.2 どのように動いているのか?
		8.5.3 Genericsでインスタンスを生成できる型を強制するには?
		8.5.4 さらに学習するには?
	8.6 BasicでMonoプログラムを作る
		8.6.1 どのようにすればよいのか?
		8.6.2 さらに学習するには?

索引