MSDN の Visual Basic の "Learn" (ラーニング) セクションについて (Beth Massi)

Visual Basic Developer Center の [Learn] (ラーニング) タブは、多くの新しいコンテンツと VS 2008 のトピックで更新されています。ページの中央にはトピックの一覧が表示され、クリックすると最新の情報が表示されます。トピック ページには現在 200 を超える項目が掲載されていますが、毎週さらに追加していきます。現時点では、各トピックはコンテンツ タイプ (Web キャスト、ビデオ、記事、ブログなど) 別に決まった順序で表示されていますが、いずれはタグ クラウドを追加して、ナビゲーションを容易にし、コミュニティ機能も増やしていく予定なので、こまめにチェックしてください。各見出しの横の RSS アイコンをクリックすると、各コンテンツ セクションを個別に購読することもできます。     この表示が気に入らない場合は、自分用のクエリを作成することもできます。そう、これらのフィードはすべて動的、そしてすべて公開されています。たとえば、Visual Basic のすべての項目を LINQ で表示できます。   http://services.community.microsoft.com/feeds/feed/query/tag/linq/eq/tag/visual%20basic/eq/and/locale/en-us/eq/and (英語)   または、すべてのビデオを VB のデータ アクセスにできます。   http://services.community.microsoft.com/feeds/feed/query/tag/video/eq/tag/data%20access/eq/and/tag/visual%20basic/eq/and/locale/en-us/eq/and (英語)   さらに多くの機能が間もなく登場します。   ぜひご覧ください。-Beth Massi、VS コミュニティ   投稿 : 2008 年 5 月 9 日午後…


VB XML 料理ブック レシピ 4 : Nodes プロパティから内部 XML を取得する (Doug Rothaus)

「レシピ 3」では、混在 XML コンテンツを XML 子孫軸プロパティと ReplaceWith メソッドを使用して操作する 1 つの方法を紹介しました。これは ID 変換の 1 つの方法であり、今後の投稿で別の方法を取り上げます。完全に機能する ID 変換のためには、「レシピ 3」で説明していない重要な機能が必要になります。それは、要素の内部 XML のコピーという概念です。要素の内部 XML は、Nodes プロパティから取得します。    「レシピ 3」では、AdventureWorks サンプル ドキュメントの電子メール オブジェクトを HTML ドキュメントのハイパーリンクに変換し、ID 変換を実行することにより元の書式を保持しました。ただし、「レシピ 3」では話を簡単にするため、<eMailAddress> 要素 (ContactTypes.xsd スキーマ ファイルにあります) のスキーマでは、電子メール アドレスを含む <eMail> 要素と、呼び出しのときに電子メールの代わりに使用する電話番号などの追加指示用の <SpecialInstructions> 要素の両方が許されるという事実を除外しました。<SpecialInstructions> 要素には、ContactTypes.xsd で識別される他のすべての要素を格納できます。<eMailAddress> 要素のすべての情報を含めるには、特別な命令もすべて含める必要があります (メモ : XML ドキュメントと関連スキーマは「レシピ 1」の投稿からダウンロードできます)。    <eMail> 要素には電子メール アドレスの値だけが含まれるので、電子メール アドレスから…


SQL から LINQ への変換、パート 10: Like (Bill Horst)

ここでは、これまでの「SQL から LINQ への変換」の投稿をお読みになっていることを前提としています。   LINQ の投稿に関する具体的なリクエストはそれほど多くなかったので、ご提案があれば今からでも歓迎します。VB LINQ で LIKE キーワード機能を模倣する方法についてのリクエストが 1 つありました。   SQL では、LIKE キーワードは文字列フィールドをパターンと比較し、その文字列がパターンと一致したかどうかを表すブール値を返します。たとえば、市外局番が 206 のすべての顧客を選択するには、次の SQL クエリを使用できます。   SQL SELECT * FROM CustomerTable WHERE Phone LIKE ‘206*’     LIKE 式にはワイルドカード文字を指定できますが、システムによって異なる場合があります。上の例では、* は任意の文字列と一致するので、’206*’ は 206 で始まるすべての文字列を表します。   VB にもたまたま Like 演算子があるので、これは簡単に変換できます。上の SQL 式の LINQ バージョンは次のようになります。   VB From Contact In CustomerTable _…


南カリフォルニアのユーザー グループ ツアーへのお誘い (Lisa Feigenbaum)

今週、南カリフォルニアで開催される一連のユーザー グループ会議において、VB IDE のプレゼンテーションを行う予定です。イベントはサンディエゴとロサンゼルス地区で開催されます。C# チームの Charlie Calvert もプレゼンテーションのためにレドモンドから飛んできます。   スケジュールは次のとおりです。   ·         5 月 6 日午後 6 時、サンディエゴ、http://sddotnetdg.org/ (英語) ·         5 月 7 日午後 6 時半、アーバイン、http://www.ocdotnet.org/ (英語) ·         5 月 8 日午後 6 時半、トーランス、http://www.southbaynet.org/southbaynet.org/default.html (英語)   私は「Visual Basic 2008 IDE Tips and Tricks」(Visual Basic 2008 IDE のヒント) についてプレゼンテーションします。   このプレゼンテーションでは、新しい言語と IDE 機能を使って、Visual Studio 2008 の権威になる方法を紹介します。ヒントとして、VB IntelliSense…

2

VB XML 料理ブック レシピ 3 : ID 変換 (Doug Rothaus)

XSLT の ID 変換は、その名称が示すとおり、ある要素または属性の ID を新しい ID で置き換えます。ID 変換は、構造があまり固定されていない XML マークアップを操作するときに特に重要です。ニュース記事の文書構造を考えてみましょう。タイトルが記事内で参照されると、そのタイトルは斜体で強調表示されます。ただし、その記事の XML スキーマでは斜体は指定されていません。スキーマではその用語がある種のタイトルであることを指定し、他の変換がそれぞれのやり方でその用語を処理できるようにします。このような XML を HTML などの可読形式に変換する場合、本来の目的が損なわれないように、強調表示される用語の周囲のテキストの構造を保持する必要があります。例を示します。   <Paragraph sequenceID=”1”>This week a remastered version of the movie <title type=”movie”>Raider’s of the Lost Ark</title> was released.</Paragraph>   この XML は次のように変換されます。   <p>This week a remastered version of the movie <i>Raider’s of the Lost Ark</i> was released.</p>…


新しいコミュニティ記事の紹介 -「The Power of Custom Workflow Activities (Part 2)」(英語) (Beth Massi)

水曜日に、Windows Workflow に関する Maurice de Beijer の記事の第 2 部を VB Developer Center (英語) に公開しました。「The Power of Custom Workflow Activities (Part 2)」(英語) で、Maurice はワークフロー アクティビティの開発のさらに詳細な面について取り上げています。 ぜひご覧ください。  -Beth Massi、VS コミュニティ  投稿 : 2008 年 4 月 14 日午後 2 時 18 分 VB チームの Web ログ – http://blogs.msdn.com/vbteam/archive/2008/04/14/new-community-article-the-power-of-custom-workflow-activities-part-2-beth-massi.aspx (英語) より

1

ウィンドウの位置を変更する方法 (Matt Gertz)

“パジャマプログラマ” をサポートする 在宅勤務はすばらしいことです。環境にやさしい人でありたい私としては、現実的に実行できる場合は心から支持したいと考えます。私の現在の仕事は、人と対面するミーティングが多く、実際は在宅勤務する機会があまりありません。しかし、投稿するブログを練るときなどに夕方家で働くので、家から仕事ができる環境をセットアップすることは重要です。 ここで問題となるのは、会社のコンピュータはデュアルモニタであり、家のコンピュータはシングルモニタなことです。そのため、家に帰る前にすべてのウィンドウを第 1 モニタに移動させる決意をしない限り、家から会社のコンピュータにリモートでアクセスすると、必要なウィンドウの多くが画面の外に出てしまうことになります。ウィンドウを “並べて表示” したり “重ねて表示” したりするコマンドは、ウィンドウを現在のモニタから移動するわけではないので、効果がありません。もちろん、該当するウィンドウのアイコンをタスクバーで右クリックして [移動] をクリックし、カーソルキーを押してウィンドウをゆっくりと第 1 モニタに動かすことができますが、実用的な方法ではありません。私が望むのは、「ここへ来い!」の一言で 1 つ以上のウィンドウを手早く移動する方法なのです。 現在この手の操作を行うフリーウェアが多数あることを知っていますが、WPF (Windows Presentation Foundation、以前の “Avalon”) ウィンドウで遊ぶチャンスを探してもいたので、今まで使う機会が少なかった WPF を学ぶ手段として、自作のコードで WPF ウィンドウを統合する時間を取ることにしました。この投稿では、いかにも WPF 的な実演をお見せするつもりはなく、透明、立体表示なども扱いません。この演習は、トリッキーなことに取り組む前に、デザイナやプロパティのバリエーションに慣れるのが主な目的です。 自作コードの目標は、システム上でタイトルが付いたウィンドウをすべて一覧表示し、選択したウィンドウを確実に第 1 モニタ上にある (10,10) の位置に移動するボタンがあるアプリケーションを作成することです (VS2005 以前のバージョンのユーザー向け : ここでは、VS2008 で WPF ウィンドウを使用しますが、このコードがフォームで実行できない理由は少しもなく、きわめて単純に変換できます)。 デザイナで基本アプリケーションを作成する まず、[新しいプロジェクト] をクリックし、[WPF アプリケーション] を Windows プロジェクトの種類の一覧から選択し、名前を付けて (この例では “VBGitOverHere”) [OK] をクリックします。プロジェクトが作成されたら、以前のバージョンでフォーム用に使用していたデザイナとはやや異なる外観のデザイナが表示されます。最上部の外観はフォーム デザイナに似ていますが、最下部に XAML ウィンドウが表示されます。XAML は…

1

VSLive! San Francisco の内容 (Amanda Silver)

皆さん、私はこれから VSLive! San Francisco の「LINQ Deep Dive and Tips &Tricks」セッションに出かけます。このデモとスライドは、次の URL に投稿してありますので、ご覧ください。 https://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=LaunchVB&ReleaseId=805 (英語) VB チーム 投稿 : 2008 年 3 月 31 日 2:19 PM 分類 : Amanda Silver、LINQ/VB9、IDE、Extension_Methods、VB2008、IQueryable、コントロール VB チームの Web ログ – http://blogs.msdn.com/vbteam/archive/2008/03/31/vslive-san-francisco-content-amanda-silver.aspx (英語) より


マイルストーン品質と "ドッグフーディング" (Matt Gertz)

ハードで実り多い仕事の結果、次期バージョンの Visual Studio、Team System、および .NET の開発に備える目標を掲げたマイルストーン品質 (MQ) を達成しました。Visual Basic に限った話題ではありませんが、この場を借りて、他の Visual Studio および .NET 製品同様に Visual Basic にも大いに影響がある、今回の成果を皆さんにご紹介したいと思います。 以前のブログにも書いたように、新しい機能や、その機能の内容がツールやプロセスを次のサイクルに進めるうえで合ったものになっているかどうかなどは、MQ の作業には含まれません。エンジニアリング プロセスを途中で変更すると、多大な混乱が生じるため、コーディングを開始する前にこの仕事を完了していることが重要です。今回の MQ は我々にとって困難なもので、エンジニアリング上の大きな変更が伴いましたが、それだけに順調に達成できた喜びがあります。 以前の投稿で書いたとおり、MQ では “ドッグフーディング” (開発の完了まで未完成のコードを自分たちで使うこと) に時間の多くを割くことを決定しました。その他のセットアップ作業も MQ で行ったのですが、この投稿ではドッグフーディングへの取り組みを中心に書くことにします。ドッグフーディングを実施する理由は次の 3 つです。 1.       利用環境の安定性の向上 : 皆さんが実際に使用される前に、毎日使用する中でバグを見つけることができます。 2.       販売する製品を自分も使う : 皆さんにお勧めするなら、自分たちも使う必要があります。 3.       最良の開発ツールだから使う : 趣味の領域から大企業のソリューション開発まで、すべての開発用途に適する最良の製品開発基盤を提供している自負が私たちにはあります。Visual Studio を開発するための最良のツールは Visual Studio なのです。 今でこそドッグフーディングに慣れたものの、かつてはこれほど早期の段階で実施してきませんでした。通常、最初のベータ版と次のベータ版の間、コードがほぼ完成した後で転換していました。以前のバージョン (全面的に書き換えた Visual Studio .NET 2002 など) では、その段階に至るまでコードを実際に統合できなかったため、この方法に意味がありました。この方法のマイナス面は、ドッグフーディングの開始が遅れれば、カバー範囲を同じにはできないことです。ベータ版では、新しい機能を開発するのではなく、バグの修正のみに特化して注力し、品質の高い機能を開発することが VS、TS、および…

1

LINQ to SQL (および LINQ to Entities) のパフォーマンスの改善 (Tim Ng)

ここ数か月間、VB チームと Data Programmability チームは LINQ to SQL (LINQ to Entities のマニフェスト内にもあります) のパフォーマンス上の問題の解決に取り組んできました。問題というのは、VB LINQ クエリに Null 許容型の列を対象とするフィルタが含まれる場合、LINQ to SQL で生成される T-SQL クエリが最適化されないことです。 たとえば、次のクエリを例とします。Dim q = From o In db.Orders Where o.EmployeeID = 123 Select o.CustomerID このシナリオでは、Orders.EmployeeID フィールドは Null 許容型のフィールド (Integer?) です。VB では、論理演算子 (<、<=、= など) は 3 値論理演算子と見なされるため、等式の比較結果は “Boolean?” 型の値となります。しかし、LINQ 演算子は “Boolean” 型の値が返されることを予想し、”Boolean?” 型ではないため、VB では合体演算子を使用して “Boolean?”…