ツールボックス
簡単な Wiki のホスティング、Scott Hanselman のブログ、および画面のキャプチャ
Scott Mitchell

目次
Wiki をホストする
Wiki は、ユーザーがコンテンツを共同で追加、更新、および編成する Web アプリケーションです。ブログや他のコンテンツ管理システムと同様に、Wiki のコンテンツも Web ページ インターフェイスを使用して編集できます。Wiki とブログや従来のコンテンツ管理システムとの違いは、Wiki には本質的に一定のスタイルがないという点です。サイトのユーザーは、コンテンツを作成し、関係を定義し、サイトの Web ページ間のリンクを設定します。最もよく知られた Wiki は、おそらく
Wikipedia.org でしょう。
Wiki はナレッジ マネジメント ポータルを作成する際に特に便利です。会社内部では、進行中の開発プロジェクトとその状況、コード作成規則、ベースライン開発環境の設定方法についての新規雇用者向けチュートリアルなどに関する情報を収めた Wiki を、開発者チームが管理することがあります。
顧客向けサポート サイトには、信頼を受けたサポート スタッフがよく寄せられる質問に対する回答を事前に作成および管理することのできる Wiki が含まれていることがあります。また、多くのコミュニティ指向のサイトには、メンバによるサイトの更新やナレッジ ベースへの投稿が可能な Wiki が含まれています。たとえば、
CodePlex.com でホストされているオープンソース コード プロジェクトは、Wiki として管理されています。
さまざまな市販の Wiki プラットフォームやオープンソースの Wiki プラットフォームがあります。ASP.NET および C# で作成されたオープンソースの Wiki の 1 つが、ScrewTurn Wiki Version 2.0 です。既定では、ScrewTurn Wiki のページ、変更履歴、およびユーザー アカウントは、Web サーバーのファイル システムに保存されます。つまり、この Wiki にはデータベースが必要ありません。そのため、Web サーバーへの ScrewTurn Wiki の展開は、コピー アンド ペースト操作と同じくらい簡単です。
ただし、Wiki のストレージ システムはプロバイダ モデルの上に構築されるので、代替のプロバイダをプラグインとして利用し、システム情報を他の場所でも保持できます。ScrewTurn Wiki Web サイトでは、SQL Server® ストレージ プロバイダや MySQL ストレージ プロバイダが使用されています。
ScrewTurn Wiki をインストールした時点では、だれでもアカウントを作成でき、認証されたユーザーであればコンテンツを作成、編集、または削除することができます。これらのアクセス レベルは Wiki の管理ページで制限可能です。
訪問者は、登録が禁止されることもあれば、ログインするために管理者の承認が必要なこともあります。管理者は、ユーザーが実行できる操作を制限できます。たとえば、ユーザーにページの作成および編集を許可するが削除は許可しない、という制限をサイトに設定できますもちろん、他の Wiki と同様に、ScrewTurn Wiki でもページの変更履歴は完全に保持されます。異なるバージョンの比較を行うツールも用意されています。また、管理者はページを以前のバージョンにロールバックできます。
ScrewTurn Wiki では、複数の言語でコンテンツを作成および表示することができます。英語、フランス語、スペイン語、ドイツ語などがサポートされています。
価格 : 無料 (オープン ソース)
オープンソースの ScrewTurn Wiki (クリックすると拡大画像が表示されます)
注目のブログ
他の開発者のソース コードを読むことは、自分自身のプログラミング スキルを磨くうえで非常に役立ちます。一般的なタスクを実行するさまざまな方法を学ぶことができるためです。マイクロソフトのシニア プログラム マネージャであり、精力的なブロガーでもある Scott Hanselman もこの考えに賛同しており、一般の人々が新聞を読むようにソース コードに目を通しています。彼は、その中でも最も興味深いコードについて、「The Weekly Source Code (今週のソース コード)」というタイトルのブログ エントリでコメントを付けて紹介しています。
開発者の皆さんは、「The Weekly Source Code」に加えて、Scott の「Ultimate Developer and Power Users Tool List (開発者とパワー ユーザー向けの究極のツール リスト)」(
hanselman.com/tools) もぜひご覧ください。これは、Scott が日常的に使用しているツールやユーティリティを列挙したリストです。この記事では、トピックごとに分類されたお勧めのツールやユーティリティが多数紹介されています (Visual Studio
® の生産性向上ツールに対する XML の操作から、電子メールの受信トレイの管理や Web ブラウザの活用まで)。「Ultimate Developer and Power Users Tool List」の投稿は 2003 年に始められ、それ以降毎年更新されています。
Scott は頻繁にブログ記事を投稿していますが、それに加えて、「Hanselminutes」というオーディオ ポッドキャストも毎週ホストしています。Scott はこのポッドキャストで、開発者ツールをレビューし、プログラミングに関する助言を行い、苦労話を紹介しています。また、主要なマイクロソフトのスタッフや Microsoft® .NET Framework 開発者コミュニティのメンバへのインタビューが収録されていることもあります。ポッドキャストの各エピソードは 30 分程度なので、通勤途中に聞くのに最適です。
スクリーンショットをキャプチャ、編集、および共有する
通常の作業日に、私はスクリーンショットを何十枚も撮ります。そのほとんどは執筆中のブログ エントリ、記事、または書籍のためのものですが、同僚や顧客に送信することもあります。
多くの場合、電子メールを使用して問題の説明を試みるよりも、問題のある UI のスクリーンショットを送信する方が簡単です。Windows® では、Print Screen キーで現在の画面をコピーできるほか、Alt キーを押しながら Print Screen キーを押すことで現在のウィンドウをコピーできます。そのスクリーンショットは、電子メール メッセージ、画像編集プログラム、Microsoft Office Word 文書などに貼り付けることができます。
最近になって、Print Screen キーよりも堅牢な画面キャプチャ手法にアップグレードする必要性を感じたため、TechSmith 社の SnagIt Version 8.2 を購入することにしました。この製品の最初のレビューが MSDN Magazine の 2003 年 7 月号に掲載されていますが、それ以降、多数の変更が加えられました。最新の SnagIt は、ユーザー インターフェイスが更新され、画像編集ツールが多数追加され、さまざまな新しいファイル形式で画像を保存する機能も備えています。
SnagIt では、ユーザー指定の領域、指定したウィンドウ、または画面全体のスクリーンショットを撮ることができます。また、スクロール ウィンドウをキャプチャする際にドキュメント全体が自動的にスクロールされるよう構成できるため、コンテンツ全体を 1 枚の画像にキャプチャできます。この機能は、長い Web ページをキャプチャする際に特に役立ちます。
ウィンドウまたは選択した領域をキャプチャすると、SnagIt はそのスクリーンショットを強力な編集/共有ツールに読み込みます。マウスを数回クリックするだけで、テキストの追加、図形の描画、領域の切り取りと移動、領域の強調表示、境界線の色と幅の指定、コールアウトの追加などが可能です。キャプチャした画像をトリミング、サイズ変更、回転することで、スクリーン キャプチャのサイズを詳細に調整できます。
透かしの追加、重要な領域の強調表示や拡大、ホットリンクの追加など、より高度な作業も実行できます。何よりすばらしいのは、SnagIt はシンプルで使いやすいという点です。デジタル画像の編集エキスパートでなくても使いこなせます。
編集したスクリーンショットは、ボタンをクリックするだけで共有できます。さらに、キャプチャの画像としての保存、クリップボードへのコピー、印刷、電子メールでの送信、FTP 経由の送信、インスタント メッセンジャーでの送信、Microsoft Office Excel®、Word、または PowerPoint® ファイルへの読み込みなどをワンクリックで行うことができます。
また、キャプチャはさまざまなファイル形式で保存できます。SnagIt では、BMP、JPG、PNG などの標準的な画像形式に加えて、PDF 文書、Web アーカイブ ファイル (.MHT)、または Adobe Flash ファイルとして画面のキャプチャを保存できます。こうしたオプションも、現在のバージョンの新機能です。
価格 : 1 ユーザー ライセンス - 4,680 円 (本体価格 (税抜))
SnagIt は最新ユーザー インターフェイスを備えている (クリックすると拡大画像が表示されます)
推薦図書
データのクエリは、プログラマにとって最も一般的なタスクの 1 つです。ただし、さまざまなデータ型にアクセスするには、固有の構文とセマンティクスを学習する必要があります。また、XML ファイルやデータベースなどの外部データ ソースのクエリでは、通常、クエリ構造を文字列にシリアル化する作業が伴います。
コンパイラではコードを解析できますが、文字列リテラルは解析できないため、IntelliSense® やコンパイル時の型チェックなどの機能は利用できません。このような問題を解決するため、マイクロソフトでは、統合されたデータ クエリ構文を開発者に提供する LINQ を作成しました。LINQ では、C# および Visual Basic® プログラミング言語が拡張され、オブジェクトのコレクション、XML ドキュメント、データベースなどに対するクエリに使用できる、SQL に似たリッチな構文が追加されます。
LINQ は、.NET Framework におけるさまざまな新しい言語拡張、および新しい名前空間とクラスによって実現されました。LINQ に関連するトピックは広範で内容の難解さも伴うため、LINQ を徹底的に学習するにはかなり多くのオンライン記事を読む必要があります。LINQ 関連の書籍の 1 つに、Fabrice Marguerie 氏、Steve Eichert 氏、および Jim Wooley 氏の共著である『LINQ in Action』があります。この書籍では、読み進めるうちに深まる読者の理解度を踏まえて豊富な例を提示することで、LINQ のさまざまな側面を説明しています。
『LINQ in Action』は、私がこれまでに読んだ LINQ の入門書の中でも最良の部類に入ります。この本では、最初に LINQ の目的および設計の目標が示され、LINQ に対応して C# や Visual Basic に追加される言語拡張が紹介されています。次に、オブジェクト、リレーショナル データ、および XML データでの LINQ クエリを可能にするライブラリとして、LINQ to Objects、LINQ to SQL、および LINQ to XML の説明があります。最後の 2 章では、LINQ を拡張して Web サービスなどの代替データ ソースでクエリを実行する方法と、アプリケーション アーキテクチャのさまざまなレイヤで LINQ を最大限に活用する方法が解説されています。
『LINQ in Action』で私が一番気に入っているのは、最も重要な機能に重点を置いた、簡単で理解しやすい例が、各章の導入部分として使用されている点です。その後で、LINQ のクエリと機能が実際にはどのように実装されるかが説明されています。
土台を築いたうえで、内容はより高度な機能やシナリオに進みます。たとえば、LINQ to SQL を扱った章は、オブジェクト マッピングの設定方法と DataContext クラスを使用したデータの読み取りおよび更新の方法から始まります。その後で、LINQ のクエリ構文が T-SQL にどのように変換されるかが説明されています。最後に、同時実行の制御、ストアド プロシージャやユーザー定義関数の使用など、高度な LINQ to SQL 機能の説明で締めくくられています。
価格 : 44.99 ドル