無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

書籍をつつく3−プログラミング Microsoft Visual Basic 2005 言語編。余裕があればしばし待たれよ!

前回C#2005についての書籍を紹介したら、今度はVB.NET2005についての良書を紹介するピヨ。ボクが良書と思ったのはやっぱり公式解説書である、
プログラミング Microsoft Visual Basic 2005 言語編〈上〉 (マイクロソフト公式解説書)
プログラミングMicrosoft Visual Basic2005 言語編〈下〉 (マイクロソフト公式解説書)
ピヨ。でも購入には十分注意してね。というのも昨今はVB.NET2008の書籍が洋書で売り出されているからなんだ。だからどうしても今現在VB.NETの詳しい情報が必要な方や、2008で追加された構文をMSDNで見ることが出来る方 が買ってね。でも慌てないのならば購入は見送った方が得策だよ。じゃあ目次をアップするね。

プログラミングMicrosoft Visual Basic 2005 言語編 上

目次


謝辞
はじめに

第1部 基礎
-------------------------------------------------
第1章 .NET Frameworkの紹介
 1.1 .NET用語集

第2章 言語の基本概念
 2.1 モジュール、クラス、名前空間
   2.1.1 モジュール
   2.1.2 クラス
   2.1.3 名前空間
   2.1.4 属性
 2.2 変数
   2.2.1 宣言と代入
   2.2.2 データ型
   2.2.3 演算子
   2.2.4 配列

第3章 フロー制御とエラー処理
 3.1 実行フローの制御
   3.1.1 条件文とループ文
   3.1.2 プロシージャ
   3.1.3 コマンド、関数、定数
 3.2 エラー処理
   3.2.1 例外のスロー
   3.2.2 Try...Catch...Finally文
   3.2.3 Using...End Using文
   3.2.4 カスタム例外オブジェクト

第4章 Visual Studio 2005の使用
 4.1 プロジェクトとソリューション
   4.1.1 プロジェクトテンプレートとファイルテンプレート
   4.1.2 [ソリューションエクスプローラ]ウィンドウ
   4.1.3 [My Project]デザイナ
   4.1.4 複数のプロジェクトで構成されるソリューション
   4.1.5 構成マネージャ
   4.1.6 コンパイラ関連の属性
 4.2 コードの記述
   4.2.1 コードエディタ
   4.2.2 XMLコメント
   4.2.3 検索と置換
   4.2.4 ブックマーク
   4.2.5 [エラー一覧]ウィンドウと[タスク一覧]ウィンドウ
   4.2.6 コードスニペット
   4.2.7 コードのリファクタリング
 4.3 その他の新機能と既存の機能
   4.3.1 ツールウィンドウの操作
   4.3.2 設定のインポートとエクスポート
   4.3.3 プロジェクトテンプレートと項目テンプレート
   4.3.4 オンラインコンテンツへのアクセス
   4.3.5 カスタマイズ機能
   4.3.6 マクロとコマンド

第5章 Visual Basicアプリケーションのデバッグ
 5.1 デバッグテクニック
   5.1.1 ブレークポイントとトレースポイント
   5.1.2 ステップ実行
   5.1.3 データヒントとビジュアライザ
   5.1.4 例外への対処
 5.2 トレースとベンチマーク
   5.2.1 DebugクラスとTraceクラス
   5.2.2 TraceSourceクラス
   5.2.3 My.Application.Logオブジェクト
   5.2.4 StopWatchクラス
 5.3 単体テスト
 5.4 その他のデバッグ/テストテクニック
   5.4.1 Debuggerオブジェクト
   5.4.2 StackTraceオブジェクト
   5.4.3 ゾーン内デバッグ機能
   5.4.4 Visual Studioホスティングプロセス
   5.4.5 デバッグ用のマクロ
   5.4.6 さまざまな構成ファイルのテスト

第2部 オブジェクト指向プログラミング
-------------------------------------------------
第6章 クラスの基礎
 6.1 フィールド
 6.2 メソッド
   6.2.1 メソッドのオーバーロード
   6.2.2 オーバーロードと強制変換
   6.2.3 あいまいなケース
 6.3 プロパティ
   6.3.1 読み取り専用プロパティと書き込み専用プロパティ
   6.3.2 GetブロックとSetブロックのスコープ
   6.3.3 引数をとるプロパティ
   6.3.4 既定のプロパティ
 6.4 コンストラクタ
   6.4.1 コンストラクタのオーバーロード
 6.5 共有メンバ
   6.5.1 共有メソッド
   6.5.2 共有フィールド
   6.5.3 共有プロパティ
   6.5.4 共有コンストラクタ
   6.5.5 共有ファクトリメソッド
 6.6 部分クラス
 6.7 演算子のオーバーロード
   6.7.1 Operatorキーワード
   6.7.2 オーバーロード可能な演算子
   6.7.3 CType演算子のオーバーロード
   6.7.4 ほかの言語との相互運用性
 6.8 Visual Studioの型の管理
   6.8.1 [クラスビュー]ウィンドウ
   6.8.2 [クラスデザイナ]ウィンドウ
   6.8.3 [オブジェクトテストベンチ]ウィンドウ

第7章 デリゲートとイベント
 7.1 デリゲート
   7.1.1 デリゲートの宣言
   7.1.2 デリゲートの呼び出し
   7.1.3 デリゲートクラスのその他のメンバ
   7.1.4 コールバックメソッドとコードの再利用
   7.1.5 マルチキャストデリゲート
 7.2 イベント
   7.2.1 Handlesキーワードによるイベントの処理
   7.2.2 WithEventsキーワード
   7.2.3 イベントとデリゲートの仕組み
   7.2.4 AddHandlerキーワード
   7.2.5 配列およびコレクションからのイベントの捕捉
   7.2.6 イベントの公開
   7.2.7 イベントの構文に関するガイドライン
   7.2.8 カスタムイベント

第8章 継承
 8.1 継承の基礎
   8.1.1 派生クラスの使用
 8.2 基本クラスのメンバのオーバーライド
   8.2.1 さまざまなオーバーライド
   8.2.2 MyBaseキーワード
   8.2.3 派生クラスのコンストラクタ
   8.2.4 MyClassキーワード
   8.2.5 メンバのシャドウ
   8.2.6 共有メンバの再定義
 8.3 シールクラスと抽象クラス
   8.3.1 NotInheritableキーワード
   8.3.2 MustInheritキーワード
   8.3.3 MustOverrideキーワード
 8.4 スコープ
   8.4.1 ネストクラス
   8.4.2 Public、Friend、Privateスコープ限定子
   8.4.3 Protectedスコープ限定子
   8.4.4 Protected Friendスコープ限定子
   8.4.5 コンストラクタでのスコープ限定子の使用
   8.4.6 イベントの再定義
 8.5 ビジュアル継承
   8.5.1 基本フォームの例
   8.5.2 派生フォームの例
   8.5.3 基本フォームへのプロパティ、メソッド、イベントの追加

第9章 オブジェクトの有効期間
 9.1 ガーベージコレクション
   9.1.1 COMと参照カウンタ
   9.1.2 ガーベージコレクションの仕組み
   9.1.3 Finalizeメソッド
   9.1.4 Disposeメソッド
   9.1.5 DisposeメソッドとFinalizeメソッドの併用
   9.1.6 Dispose-Finalizeパターンの改良
   9.1.7 派生クラスのファイナライザ
   9.1.8 ファイナライザの単純化
 9.2 高度なテクニック
   9.2.1 ジェネレーション
   9.2.2 ガーベージコレクションとパフォーマンス
   9.2.3 オブジェクトの弱い参照
   9.2.4 オブジェクトの再生
   9.2.5 CPUを複数搭載したコンピュータでのガーベージコレクション

第10章 インターフェイス
 10.1 インターフェイスの定義と実装
   10.1.1 Interface ... End Interfaceブロック
   10.1.2 インターフェイスの実装
   10.1.3 インターフェイスへのアクセス
   10.1.4 インターフェイスと継承
   10.1.5 インターフェイスの再実装
   10.1.6 インターフェイスとポリモーフィズム
 10.2 .NETインターフェイスの使用
   10.2.1 IComparableインターフェイス
   10.2.2 IComparerインターフェイス
   10.2.3 ICloneableインターフェイス
   10.2.4 IDisposableインターフェイス
   10.2.5 コレクションクラスの作成

第11章 ジェネリクス
 11.1 ジェネリクスの必要性
   11.1.1 従来の解決策
   11.1.2 ジェネリクスに基づく解決策
 11.2 ジェネリック型の作成
   11.2.1 ジェネリックパラメータ
   11.2.2 ジェネリック制約
 11.3 高度なテーマ
   11.3.1 Nullable型
   11.3.2 算術演算子のサポート
   11.3.3 ジェネリクスとイベント
   11.3.4 オブジェクトプール

索引

プログラミングMicrosoft Visual Basic 2005 言語編 下

謝辞
はじめに

第3部 .NET Frameworkでのプログラミング
-------------------------------------------------
第12章 .NET Frameworkの基本型
 12.1 System.Objectクラス
   12.1.1 PublicメソッドとProtectedメソッド
   12.1.2 値型と参照型
   12.1.3 ボックス化とボックス化解除
 12.2 String型
   12.2.1 プロパティとメソッド
   12.2.2 足りないメソッド
   12.2.3 文字列の最適化
   12.2.4 CultureInfoクラス
   12.2.5 Encodingクラス
   12.2.6 数値の書式設定
   12.2.7 日付と時刻の書式設定
   12.2.8 Char型
   12.2.9 StringBuilderクラス
   12.2.10 SecureStringクラス
 12.3 数値型
   12.3.1 プロパティとメソッド
   12.3.2 数値の書式設定
   12.3.3 文字列から数値への変換
   12.3.4 Convertクラス
   12.3.5 乱数ジェネレータ
 12.4 DateTime型
   12.4.1 日時の加算と減算
   12.4.2 日時の書式設定
   12.4.3 日時の解析
   12.4.4 タイムゾーン
   12.4.5 TimeZoneクラス
   12.4.6 Guid型
 12.5 列挙型
   12.5.1 Enum型の値の表示と解析
   12.5.2 Enum型のその他のメソッド
   12.5.3 ビットフィールド値

第13章 配列とコレクション
 13.1 Arrayクラス
   13.1.1 要素のソート
   13.1.2 要素のクリア、コピー、移動
   13.1.3 値の検索
   13.1.4 ジャグ配列
   13.1.5 ジェネリックメソッド
 13.2 System.Collections名前空間
   13.2.1 ICollectionインターフェイス、IListインターフェイス、
        IDictionaryインターフェイス
   13.2.2 ArrayListクラス
   13.2.3 Hashtableクラス
   13.2.4 SortedListクラス
   13.2.5 その他のコレクション
   13.2.6 厳密に型指定されたコレクションのための抽象クラス
 13.3 ジェネリックコレクション
   13.3.1 Listジェネリッククラス
   13.3.2 Dictionaryジェネリッククラス
   13.3.3 LinkedListジェネリッククラス
   13.3.4 その他のジェネリックコレクション
   13.3.5 System.Collections.ObjectModel名前空間

第14章 正規表現
 14.1 正規表現の概要
   14.1.1 基礎
   14.1.2 正規表現言語
   14.1.3 正規表現オプション
 14.2 正規表現クラス
   14.2.1 Regexクラス
   14.2.2 MatchCollectionクラスとMatchクラス
   14.2.3 Groupクラス
   14.2.4 CaptureCollectionクラスとCaptureクラス
 14.3 正規表現に基づくプログラミング
   14.3.1 正規表現の共通パターン
   14.3.2 単語と引用符で囲まれた文字列の検索
   14.3.3 文字列、数値、日付の検証
   14.3.4 ネストしたタグの検索
   14.3.5 データファイルの解析
   14.3.6 式の解析と評価
   14.3.7 コードの解析
   14.3.8 正規表現遊び

第15章 ファイル、ディレクトリ、ストリーム
 15.1 Pathクラス
 15.2 DirectoryクラスとFileクラス
   15.2.1 ディレクトリとファイルの列挙
   15.2.2 ディレクトリとファイルの操作
   15.2.3 ファイルの読み取りと書き込み
 15.3 DirectoryInfoクラスとFileInfoクラス
 15.4 DriveInfoクラス
 15.5 FileSystemWatcherクラス
   15.5.1 FileSystemWatcherオブジェクトの初期化
   15.5.2 通知
 15.6 ACLの操作
   15.6.1 アカウント名とセキュリティID
   15.6.2 DirectorySecurityクラスとFileSecurityクラス
   15.6.3 ACLの変更
 15.7 Streamクラス
   15.7.1 ストリームの操作
   15.7.2 ストリームリーダーとストリームライター
   15.7.3 テキストファイルの読み取りと書き込み
   15.7.4 バイナリファイルの読み取りと書き込み
   15.7.5 固定長のデータファイルと文字区切りのデータファイルの操作
 15.8 その他のストリームクラス
   15.8.1 メモリストリーム
   15.8.2 文字列ベースのストリーム
   15.8.3 ネットワークストリーム
   15.8.4 バッファストリーム
   15.8.5 圧縮ストリーム

第16章 My名前空間
 16.1 My名前空間の概要
   16.1.1 My.Applicationオブジェクト
   16.1.2 My.Computerオブジェクト
   16.1.3 My.Userオブジェクト
   16.1.4 My.Resourcesオブジェクト
   16.1.5 My.Settingsオブジェクト
   16.1.6 My.FormsオブジェクトとMy.WebServicesオブジェクト
 16.2 My名前空間の拡張とカスタマイズ
   16.2.1 トップレベルオブジェクトの追加
   16.2.2 My.ApplicationオブジェクトとMy.Computerオブジェクトの拡張
   16.2.3 My.Resourcesオブジェクトの拡張
   16.2.4 My.Settingsオブジェクトの拡張
   16.2.5 コンパイル定数の使用

第17章 アセンブリとリソース
 17.1 コンポーネント
   17.1.1 .NETクラスライブラリの作成
   17.1.2 ホスト可能なコンポーネントの作成
 17.2 アセンブリ
   17.2.1 プライベートアセンブリと共有アセンブリ
   17.2.2 厳密な名前
   17.2.3 GACへのインストール
   17.2.4 アセンブリレベルの属性
   17.2.5 InternalsVisibleTo属性
 17.3 リソースとサテライトアセンブリ
   17.3.1 マニフェストリソース
   17.3.2 リソースのローカル化
   17.3.3 厳密に型指定された文字列リソースのローカル化
   17.3.4 カスタムリソースファイル
   17.3.5 サテライトアセンブリ
   17.3.6 サテライトアセンブリの属性
 17.4 バインディングプロセス
   17.4.1 アプリケーション構成ファイルのバージョンポリシー
   17.4.2 ロード済みのアセンブリとGACの検索
   17.4.3 コードベースヒント
   17.4.4 プローブ
   17.4.5 アセンブリバインディングログビューア
 17.5 構成ファイル
   17.5.1 CLRのバージョンの設定
   17.5.2 .NET Framework Configurationユーティリティ
 17.6 NGenユーティリティ
   17.6.1 NGenユーティリティの使用
   17.6.2 NGenサービスの使用
   17.6.3 ネイティブイメージのデバッグ
   17.6.4 NGenユーティリティの属性

第4部 高度なプログラミング
-------------------------------------------------
第18章 リフレクション
 18.1 アセンブリとモジュールの操作
   18.1.1 Assemblyクラス
   18.1.2 AssemblyNameクラス
   18.1.3 Moduleクラス
 18.2 型の操作
   18.2.1 Typeオブジェクトの取得
   18.2.2 Typeクラスのメンバの取得
   18.2.3 ジェネリクスでのリフレクション
   18.2.4 属性でのリフレクション
   18.2.5 カスタムオブジェクトブラウザの作成
 18.3 実行時のリフレクション
   18.3.1 オブジェクトの動的な生成
   18.3.2 メンバへのアクセス
   18.3.3 InvokeMemberメソッド
   18.3.4 共通コンパーラの作成
   18.3.5 イベントハンドラの動的な登録
   18.3.6 アクションシーケンスのスケジューリング
   18.3.7 その場でのコンパイル
   18.3.8 パフォーマンスの問題
   18.3.9 セキュリティの問題

第19章 カスタム属性
 19.1 カスタム属性の紹介
   19.1.1 カスタム属性クラスの作成
   19.1.2 カスタム属性でのリフレクション
 19.2 CSV直列化のためのカスタム属性
 19.3 ベンチマークツールの作成
 19.4 Windowsフォームアプリケーションのプラグインの作成
   19.4.1 PluginLibraryプロジェクト
   19.4.2 MainApplicationプロジェクトとMainApplicationStartupプロジェクト
   19.4.3 SamplePluginプロジェクト
 19.5 n層アプリケーションのフレームワーク
   19.5.1 DataObjectLibraryプロジェクト
   19.5.2 DataSetsプロジェクト
   19.5.3 DemoClientプロジェクト
   19.5.4 DataObjectsプロジェクト

第20章 スレッド
 20.1 スレッドの基礎
   20.1.1 スレッドを使用する状況
   20.1.2 スレッドの生成
   20.1.3 スレッドとのデータの受け渡し
   20.1.4 スレッドの操作
   20.1.5 スレッドのプロパティ
   20.1.6 データの保存と共有
   20.1.7 スレッドと未処理の例外
   20.1.8 スレッドのデバッグ
 20.2 スレッドの同期
   20.2.1 SyncLock文
   20.2.2 同期オブジェクト
   20.2.3 揮発的な読み取りと書き込み
   20.2.4 Monitorクラス
   20.2.5 Mutexクラス
   20.2.6 Semaphoreクラス
   20.2.7 ReaderWriterLockクラス
   20.2.8 Interlockedクラス
   20.2.9 ManualResetEventクラス、AutoResetEventクラス、
        EventWaitHandleクラス
 20.3 スレッドプールの使用
   20.3.1 ThreadPoolクラス
   20.3.2 Timerクラス
 20.4 非同期操作
   20.4.1 非同期デリゲート
   20.4.2 非同期のファイル操作
   20.4.3 カスタムクラスへの非同期サポートの追加
 20.5 Windowsフォームアプリケーションでのスレッディング
   20.5.1 ISynchronizeInvokeインターフェイス
   20.5.2 BackgroundWorkerクラス

第21章 直列化
 21.1 基本的な直列化
   21.1.1 バイナリ直列化
   21.1.2 SOAP直列化
   21.1.3 Serializableクラスの作成
   21.1.4 オブジェクトグラフ
   21.1.5 直列化とイベント
   21.1.6 オブジェクトのディープコピー
   21.1.7 Version-Tolerant Serialization(VTS)
 21.2 ユーザー定義の直列化
   21.2.1 IDeserializationCallbackインターフェイス
   21.2.2 ISerializableインターフェイス
   21.2.3 直列化イベントと逆直列化イベント
   21.2.4 IObjectReferenceインターフェイス
   21.2.5 ISerializationSurrogateインターフェイス
   21.2.6 直列化が不可能なクラスの継承

第22章 PInvokeとCOM Interop
 22.1 PInvokeの使用
   22.1.1 Declareキーワード
   22.1.2 DllImport属性
   22.1.3 データのマーシャリング
   22.1.4 MarshalAs属性
   22.1.5 StructLayout属性
   22.1.6 FieldOffset属性
   22.1.7 デリゲートとコールバックプロシージャ
   22.1.8 In属性とOut属性
   22.1.9 Marshalクラス
 22.2 .NETからのCOMコンポーネントの呼び出し
   22.2.1 Runtime Callable Wrapper(RCW)
   22.2.2 Visual StudioでのCOMコンポーネントのインポート
   22.2.3 インポートされたInteropアセンブリの使用
   22.2.4 TlbImpでのCOMコンポーネントのインポート
   22.2.5 Primary Interop Assembly(PIA)
   22.2.6 登録なしのCOMコンポーネント
   22.2.7 実行時バインディングとリフレクション
   22.2.8 COM Interopのマーシャリング
   22.2.9 スレッドの問題
 22.3 COMからの.NETオブジェクトの呼び出し
   22.3.1 COM Callable Wrapper(CCW)
   22.3.2 サンプル.NETコンポーネントの作成
   22.3.3 RegAsmユーティリティとTlbExpユーティリティ
   22.3.4 変換の詳細
   22.3.5 変換を制御する属性
   22.3.6 例外の操作
   22.3.7 COMを考慮した.NET Frameworkコンポーネントの作成

索引


この書籍の魅力はなんていっても情報量ピヨ。でもC#の場合と同じく、初心者こそこのような書籍がいいと思うピヨ。というのも、初心者のときは下手な入門書を読んだら 知識の欠落が生じる場合があるがあるピヨ。 そのような事態になったら知らないことを知らないまますごしてしまう危険があるよ。そうなってしまったら後は大変だから、この本を元に書籍の見る目を肥やそう
他にこの書籍が必要だと思うのはやはりプロだピヨ。プロは情報量が多くなければ務まらないから、まずは情報を確保する目的で購入し、辞書代わりに使う事をお勧めするピヨ。もちろん、世暇があったら目次だけでも見てね。その方が技術力がUPするのは間違いないよ。
ボクの好みから言うとC#の方よりもこっちの方が好きピヨ。というのも、目的がしっかりして情報量が多いからね。でも併読が必要なのは間違いないよ。その理由はこの本だけじゃあ楽習しにくいからだよ。 どうやったらこの本で楽習出来るのかはこのブログで今後紹介していくピヨ。お楽しみに♪
別窓 | 書籍レビュー | コメント:0 | トラックバック:0 | ∧top | under∨
<<OCamlをつつく9−論理演算。やっぱ必須だね♪ | 無差別に技術をついばむ鳥 | 中の人の徒然草50>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |