メイン

2009年07月02日

CodePlexやMSDN Code GallaryからZIP形式でソースファイルをダウンロードしたとき忘れずにやっておくこと

うー。むちゃくちゃはまったのでメモ。知っている人には常識だよね。。

ZIPファイルをダウンロードしたら、右クリックしてプロパティウインドウのブロックの解除をしておくこと。

image

これをやっておかずにZIPファイルの内容をどこかに展開し、その展開されたプロジェクトを開くたびにVisual Studioから、「プロジェクトの場所は信頼されていません」とお叱りを受け、散々な問題が起こります。。とりあえずVista/Win7ではダウンロードしたファイルに対してはウイルスチェック等を行い問題ないようならこのボタンを押す癖をつけといたほうがいいですね。

追記:

英語のMSDNライブラリにはコメントがちゃんと付いてるね。。

http://msdn.microsoft.com/en-us/library/bs2bkwxc%28VS.80%29.aspx

2009年07月01日

Mono を Visual Studio 2010 のマルチターゲットに組み込む

うほ。おもしろい。

Code Monkey: Mono in Visual Studio 2010

image

ビルド対象としてMono 2.0が選択できるyほうになっています。

VS2010はEclipseへの対抗の意味もおそらくあって、拡張性に関する機能が強化されていて、今後もこのような拡張が様々に行われる可能性があり、その可能性の中に痛IDEもあります。

2009年06月29日

日本人デヴェロッパには痛 IDEが必要だ

いよいよ製作解説が始まるようです。

痛 IDE の作り方(1) - まめしば雑記

日本でITエンジニアを一定数以上望む方向に駆動しようと思う場合、戦略的に「萌え」を使う事は重要です。彼らの「萌え」を希求し、「萌え」を得るための情熱、行動力を無視することはできません。彼らは「萌え」のためであれば、寝食を忘れ、たとえ火の中水の中。。。

したがって、VS10普及のために「萌え」拡張でデヴェロッパを釣っていくことは容易です。彼らは、

そんな餌で俺様が釣られクマ――

とかいいながら、立派に釣られてくれます。

え?あ、はい。もちろん自分のことを話してるに決まっているじゃないですか。

2009年06月27日

I'm a VB!

I'm PCならぬI’m VBだそうです。

I'm a VB!

まぁ、国内じゃI'm PCキャンペーン自体やっていないので、よけいわけわからめですが。

ちなみにI'm C#とは誰も言っていないらしい。

2009年06月23日

Microsoft ADO.NET Entity Framework Feature CTP 1

そゆもの。

Download details: Microsoft ADO.NET Entity Framework Feature CTP 1

ADO.NET team blog : Announcing: Entity Framework Feature CTP 1

2009年06月22日

Linq to XML 入門 その4 結合(JOIN)

しばらく間が開いてしまいすいませんです。前回は基本的なクエリーまで説明したので、今回からはもう少し複雑なクエリー式の説明をします。

今回はJOINを説明します。

JOIN(結合)はLinqにおいてもリレーショナルデータベースの結合と同じく一定の条件の下データ同士を関連付けます。

結合(Join)の概念がちょっとわかりにくいという方はSQLの入門書で結合(Join)について勉強してみるといいと思います。このJOINあたりからが実際にはLinqの非常に強力な使用方法になっていきます。リレーショナルデータベースのデータでもないものを簡単な書式でJoinできるというのは実はすごいことなのです。

続きを読む "Linq to XML 入門 その4 結合(JOIN)" »

2009年06月20日

PDC09

日本ではTechEdも終わってませんが、そろそろPDCの話題が出てきました。そういえば2年連続でPDCをやるのは初めてじゃないかと思います。

Mike Swanson's Blog : PDC09

2009年06月19日

Microsoft Robotics Developer Studio 2008 R2リリース

おめでたい。

Microsoft Robotics Developer Studio

http://channel9.msdn.com/posts/LarryLarsen/Robotics-Developer-Studio-2008-R2-Available/

MSDNサブスクライバダウンロードにも登場しています。

2009年06月15日

Windows® API Code Pack for Microsoft® .NET Framework (v0.9)

v0.9になりました。

Windows® API Code Pack for Microsoft® .NET Framework - Home

7/4のNT-Committee2九州勉強会ではこれをねたにLTやろうと思っておりますので、よかったら来てください。

荒井省三のBlog : DLR の COM バインダーに対する考察を読んで

荒井省三のBlog : DLR の COM バインダーに対する考察

現状のDLRのCOMバインダではCOMのインスタンス化は動的な追加が可能になって簡単になるものの、リリースは勝手にやってくれないので、自分が面倒を見る必要がる。ただ、将来的には望みがあるかもよということのようです。

うーんそうですかって感じで、現状はDLRを使ってもReleaseComObject()地獄は変わらないか。プロセスがターミネートしてしまえば、嫌でもCOMはリリースされてしまうので簡単なコンソールアプリやフォームベースのアプリはいいのですが、サービスを造るとなると今までどおりですな。。

DynamicでCOMのリリースまでDynamicになればすばらしいのだけどなぁ。正直なところCOMのリリースがイージーにならないと、COMが使いやすくなりましたとはかなり言い辛い。

2009年06月13日

ASP.NET MVC For Visual Studio 2010 Beta 1

そゆもの。

ASP.NET - Release: ASP.NET MVC For Visual Studio 2010 Beta 1

2009年06月11日

Microsoft project code named "Velocity" CTP4は9月半ばリリース予定

Microsoft project code named "Velocity" : Update on Velocity upcoming release - CTP4

9月半ばリリース予定とBlogに書かれています。

個人的にはちょっと興味をなくしかけていて、どこまで追いかけようかって感じなんですがね。。

正直なところMemcachedで十分いろいろまかなえそうってところで興味をなくしつつあり。

2009年06月09日

痛IDE 化プロジェクト:メッセージのツンデレ化

できそうだな。。。

痛IDE 化プロジェクト:メッセージのツンデレ化

2009年06月08日

痛IDE、そこに日本のデヴェロッパの底力を感じる

わけないだろ。しかし、実際に行動を起こした人は偉い!

Visual Studio 2010 が WPF ベースなので痛IDEに出来るのではないかという話 - using Misuzilla.Subtech; - subtech

インテリセンスのカスタマイズ。二次元キャラが僕らのコーディングを助けてくれるお。

痛 IDE クラスタ - まめしば雑記

コードエディタの背景を、お好きなグラフィックに変更w

後考えられるとこととしては、IDEのワーニングメッセージをツンデレにしてみるとか(できるのか?)、ツールバーメニューあたりの背景ももっと萌えが必要とか。

2009年06月06日

LINQ to XSD がCodePlexに

LINQ to XSD – Home

もはや無かった事にされたんじゃないかと思っていたLinq to XSDですが、CodePlexでOSS(Ms-PL)として開発が続けられることになったようです。

現状はそのままインストール可能なバイナリはありません。

ちなみにCodePlexでLinqをキーワードに検索すると401プロジェクト。Linq toで検索しても398プロジェクト。皆さん何か悪いものでも(ryということでもないと思いますので、なんか、Linqがすごい人気。

Visual Studio 2010 Beta1 の機械翻訳ドキュメントの提供開始

Michiko's Blog : Japanese Visual Studio 2010 Beta1 Product Documentation is now available!!

ドキュメントの機械翻訳版が提供され始めたようです。

VS10

http://msdn.microsoft.com/ja-jp/library/fx6bk1f4(VS.100).aspx

.NET Fx 4

http://msdn.microsoft.com/ja-jp/library/w0x726c2(VS.100).aspx

機械翻訳の提供のされ方はMSN翻訳とかでもおなじみの原文が左、訳文が右に来るスタイルです。

2009年06月04日

Visual Studio 2010 日本語版 MSDNサブスクライバダウンロードに公開

そのほかTeam Foundation Server、.NET Fx 4の日本後ランゲージパックも公開されています。

2009年06月02日

CLR 4 - Inside the Thread Pool | Channel 9

Get Microsoft Silverlight  

Erika Parsons and Eric Eilebrecht : CLR 4 - Inside the Thread Pool | Going Deep | Channel 9

時間がないので、後で見るという感じでまだ見てませんが、ある意味.NET Fx 4で大幅に拡張される並列化機能の肝なので、必見なんじゃないかと思います。

InfoQ: Visual Studio 2010と.NET 4.0 ベータ1

猪俣さん翻訳開始1号記事ということで。

InfoQ: Visual Studio 2010と.NET 4.0 ベータ1

今までより格段に翻訳が読みやすくなっています。

2009年05月31日

TrueSkill Ranking System

MicrosoftがXBox Liveでベイズ理論を使ったランキングシステムを投入し話題になっているようだ。現状対応しているゲームはHAILO 3 SOCOMらしい。

具体的にはオンでのプレイ状況を細かくデータ化して、単純に生き残った、沢山敵を倒しただけではなく、如何に巧みにプレーしたかを解析してランキングするというもの。

なんというDryadの無駄遣いとか思いつつも、今は一番そこがお金になるし、お金も出るから、技術をジャンプアップさせていくのにはいい場所だと思ったり。

以下は、これに関するMSRのサイトと資料。

TrueSkill™ Ranking System: Details - Microsoft Research

http://research.microsoft.com/pubs/74417/NIPS2007_0931.pdf

数式ばっかりでよくわからないよなw

追記:

いろいろわかったので。。。

研究は2005年ぐらいから始まっている。

製品として使われたのはHAILO 3から。

論文へのリンク

http://research.microsoft.com/apps/pubs/default.aspx?id=67956

関連すると思われるF#での機械学習についてのPPT

http://cufp.galois.com/2007/slides/PhilTrelford.ppt

基本的にF#のスライドだがTrueSkillの話も出てくる

http://research.microsoft.com/en-us/um/redmond/about/collaboration/phd-summerschool/2006summerschool/donsyme.ppt

ふぁびょって書いたけど結構長いプロジェクトなんだな。

2009年05月30日

気になる本 : Framework Design Guidlines

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reuseable .NET Libraries (Microsoft .Net Development Series)
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reuseable .NET Libraries (Microsoft .Net Development Series) Krzysztof Cwalina

Addison-Wesley Professional 2008-10-31
売り上げランキング : 5709


Amazonで詳しく見る
by G-Tools

豊洲の某社某社員の方が翻訳しきっているらしい。すばらしい。こんな分厚本よく仕事の合間に翻訳されたと思う。

絶対に出版すべき>日経BP&マイクロソフト

2009年05月27日

Microsoft "Oslo" - May 2009 CTP

そゆもの。元ネタはPaul VickのTwitter

Download details: Microsoft "Oslo" - May 2009 CTP

CTPの新しい点としては

  • Quadrantがモデルの参照編集元としてレポジトリを参照するようになったよ。
  • ユースケース、アクティビティ図、クラス図、シーケンス図、コンポーネント図を含むUML 2.1仕様のためのドメインモデル
  • 2.1の仕様をサポートするXMIインポータ
  • System.Runtimeむけドメインモデルとローダ

てな感じらしいです。

何このOMG臭www

ある意味MSのUML回帰みたいな感じですね。VS10もそんな感じだし。

2009年05月26日

XML to Linq 入門番外編 : XDocumet.Load()でProxyの例外が発生する場合

前回までのサンプルではXDocument.Load(”URL”)でRSSのフィードをロードしてしましたが、Proxy経由でのアクセスが必要な場合に、Loadメソッド実行時に例外が発生します。

Loadメソッドは引数で指定されたURIがhttpであった場合に内部的にWebアクセスしていると思われますが、そのときにProxyに対しては考慮していないようです。また、Loadメソッドの引数やXDocumentのプロパティではProxyの設定をする方法が無いので、このような場合にはLoadメソッドで直接URIを指定するのではなく、Proxyの設定ができるWebClientとXmlReaderを使ってWEBサーバからXMLファイルを取得し、ストリーム化し、最終的にXMLデータとして取得する必要があります。

以下がそのサンプルです。

   1: using System.Xml;
   2: using System.Net;
   3: using System.IO;
   4:  
   5: WebClient web = new WebClient();
   6: WebProxy myProxy = new WebProxy("proxy:8080", true);
   7: myProxy.Credentials = CredentialCache.DefaultCredentials;
   8: web.Proxy = myProxy;
   9: Stream stream = web.OpenRead(@"http://www.isisaka.com/blog/index.xml");
  10:  
  11: XmlReader reader = XmlReader.Create(stream);
  12:  
  13:  
  14: //XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");
  15: XDocument rss = XDocument.Load(reader);

5行目でWebClientクラスのインスタンスを作ります。

6行目でWebProxyクラスのインスタンスを作り、Proxyサーバアドレス等を設定し、7行目でそのProxyの認証のタイプを設定します。(この場合はNTLM認証です)

8行目でWebClientのインスタンスにProxyを設定します。

9行目ではWEBサーバよりXMLデータをStreamとして取得します。

11行目ではstreamになっているXMLデータをXmlReaderに変換します。

15行目でLinq to XMLでXMLデータを使用できるようにXmlReaderからXDocumentにXMLデータをロードします。

XDocumentクラスのLoadメソッドでのURI指定は便利ですが、ネットワーク環境によってはこのような処理が必要になるので注意してください。また今回特に例外処理を入れてないのですが、実際には部分部分で例外処理が必要になる場合があるのでその注意もお願いします。

.NETでのProxy設定については以下のKBが参考になります。

[PRB] HTTP プロキシ サーバー経由で Web サービスを使用する .NET クライアントでエラーが発生する
http://support.microsoft.com/kb/318140/

早いところ次回が書けるといいなぁ。ではまた次回!

2009年05月21日

.NET Framework 4 での並列プログラミングサンプル

Samples for Parallel Programming with the .NET Framework 4 - Home

コードギャラリで公開されています。

また、ドキュメントへのリンクが以下にまとめられていました。

http://blogs.msdn.com/pfxteam/archive/2009/05/20/9633092.aspx

IronRuby 0.5.0 & CTP for .NET 4.0 Beta 1

IronRuby - Release: 0.5.0

IronRuby - Release: CTP for .NET 4.0 Beta 1

IrunRuby 0.5と4.0 Beta 1向けCTPがリリースされています。

久々のバイナリリースですね。この0.5よりBeta扱いとなったようです。

0.5での変更点はリンク先を確認してください。

ちなみにRoRがIronRubyで動き始めているようで、RailsConfでもその発表があったようです。

Ruby on Rails – IronRuby

ちなみにIronPythonでも2.6 Beta1とNet Fx 4.0 B1向けCTPがリリースされたようです。

Visual Studio 2008 でHTMLソースエディタが起動しない

Visual Studio 2008 インストール後初回起動時に

'package 'Visual Web Developer HTML SourceEditor Package' has failed to load properly (GUID={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}}'

のようなエラーが発生し、その後正常にHTMLソースエディタが起動できなくなる事象がありました。

いろいろやったのですが、結局はこの記事にあるようにVSの設定で英語なら英語、日本語なら日本語のUIロケールを選んだ後に”devenv /resetskippkgs”とパッケージの設定をリセットしてしまえばいいようです。

問題は英語UI環境でVS2008(日本語版)をインストール後に、それを着一度も起動しないままSQL Server 2008デヴェロッパエディション(日本語版)をインストールしたことのようです。こうすると、SQL Serverは日本語版でもインストール時のUIロケールにあわせたUIコンポーネントをインストールしてくれるらしく、その結果VSのUIロケールがわけがわからなくなり、いろいろ問題を起こすということのようです。ようは、私のような変則的な使い方をせずに、OSから言語エディションを統一して入れろと。そういうことらしいですよ。意外なところでUIロケールに足元すくわれました。

2009年05月20日

気になる本:プログラミングMicrosoft Linq

プログラミングMicrosoft LINQ (マイクロソフト公式解説書 Microsoft Visual Studi)
プログラミングMicrosoft LINQ (マイクロソフト公式解説書 Microsoft Visual Studi) 小高 太郎 (株)オーパス・ワン

日経BPソフトプレス 2009-05-25
売り上げランキング : 90663


Amazonで詳しく見る
by G-Tools

MS Press, Linq本の翻訳登場のようです。Amazonで予約。

2009年05月19日

Microsoft Tech·Ed Japan 2009

Microsoft Tech·Ed Japan 2009 ホーム

参加登録の受け付け、セッション概要が発表されました。

今年は8月26日から28日の3日間で去年より1日短いですね。(ああこんなところにも経済状況の影響がw)まぁ昔に戻っただけといえばそれまでですが。

Microsoft Visual Studio 2010 Beta1 ENU 公開

Microsoft Visual Studio 2010 First Look

MSDNサブスクライバダウンロードで以下のものが公開されています。いずれも英語版。

  • .NET Framework 4 Beta 1(IA64, x64, x68)
  • .NET Framework 4 Client Profile Beta 1 (x86 and x64)
  • .NET Framework 4 Client Profile Beta 1 (x86)
  • Visual Studio 2010 Professional Beta 1 (x86)
  • Visual Studio 2010 Remote Debugger Beta 1 (x64, x68)
  • Visual Studio Team Foundation Server 2010 Beta 1 (x86 and x64)
  • Visual Studio Team System 2010 Team Suite Beta 1 (x86)
  • Visual Studio Team System 2010 Test Load Agent Beta 1 (x86)
  • Visual Studio Team System 2010 Test Load Controller Beta 1 (x86)

2009年05月17日

Liunq to XML 入門 その3 (Linq クエリ構文)

今回は予定を変えてLinqのクエリ式の構文について説明します。前回クエリの方法について説明しましたが、クエリ式の構文についての説明はしていなかったので、前回説明した基本的なクエリ式の構文について説明します。

基本的なクエリ

Linqでの基本的なクエリ式は以下のようになります。

   1: from [範囲変数] in [データソース]
   2: select [範囲変数]

まず、クエリ式はfrom句から始める必要があります。つぎに最低でもselect句で範囲変数を指定し、最終的に式が返すソースシーケンスの内容を確定します。

from句

from [範囲変数] in [データソース]

from句ではクエリもしくはサブクエリの対象となるデータソースとソースシーケンス内の各要素を表すローカルの範囲変数を指定します。ソースシーケンスとはデータソースの中でLinq式内での各操作の対象となる連続したデータのことです。

LinqのデータソースにはIEnumerable<T>インターフェイスあるいはIEnumerableとその派生インターフェイスを実装したオブジェクトだけを指定することができます。通常の配列やArrayList、ADO.NETのデータセットはIEnumerableインターフェイスを持つのでLinqの対象とすることができます。

selsct句

select [式]

selsct句はクエリ式が実行されたときに生成される値の型を指定します。クエリ式の結果はselect句の前の式の評価およびselect句の式の評価によって生成されます。

select句の一番単純な例は式に範囲変数を指定し、ソースシーケンスをそのまま式の値にすることですが、以下の例のようにこの式でデータ変換をすることができます。

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");   
   2: //select句でデータ変換する   
   3: IEnumerable<DateTime> query = from x in rss.Element("rss").Elements("channel").Elements("item")
   4:             select DateTime.Parse(x.Element("pubDate").Value);   
   5: foreach (var d in query) {   
   6:     Console.WriteLine(d.ToLongDateString());   
   7: }

この例では4行のselect句の式でXMLのバリュー(string型)のデータをDateTime型に変換しているので、クエリ式の結果をIEnumerble<DateTime>型の変数に格納することができます。

条件付きクエリ

先ほどのもっとも単純なクエリ式ではソースシーケンスのデータに対し、なんのフィルタリングもかけずに値を返していましたが、実際には何らかのフィルタリング条件をつけて必要なデータだけをソースシーケンスから取り出したいことが多いと思います。

クエリ式において、このフィルタリング条件を指定するのがwhere句です。

   1: from [範囲変数] in [データソース]
   2: whewe [条件式]
   3: select [式]
where句

where [条件式]

where句はソースシーケンスの中からどんな要素を取り出すのかを条件式で指定します。

以下に例を示します。

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");   
   2: //select句でデータ変換する   
   3: IEnumerable<DateTime> query = from x in rss.Element("rss").Elements("channel").Elements("item")
   4:                               where DateTime.Parse(x.Element("pubDate").Value) > DateTime.Parse("2009/5/11")
   5:                               select DateTime.Parse(x.Element("pubDate").Value);  
   6:  
   7: foreach (var d in query) {   
   8:     Console.WriteLine(d.ToLongDateString());   
   9: }

この例ではpubDateエレメントの値が設定された日付以降の日付のデータだけを取り出しています。

続きを読む "Liunq to XML 入門 その3 (Linq クエリ構文)" »

2009年05月14日

Linq to XML 入門その2 (基本的ななクエリー)

それでは、Linqでの基本的なクエリーの方法について説明していきます。

今回はXMLデータとして、このBlogのRSS 2.0フィードを利用します。

では、まずRSSを表示してみましょう。

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");
   2: Console.WriteLine(rss.Declaration);
   3: //Console.WriteLine(rss.FirstNode);
   4: Console.WriteLine(rss);
   5:  

その表示結果の一部。

   1: <?xml version="1.0" encoding="utf-8"?>
   2: <rss version="2.0">
   3:   <channel>
   4:     <title>OPC Diary</title>
   5:     <link>http://www.isisaka.com/blog/</link>
   6:     <description>私的ソフトウェア開発あれこれ。</description>
   7:     <language>ja</language>
   8:     <copyright>Copyright 2009</copyright>
   9:     <lastBuildDate>Thu, 14 May 2009 10:47:36 +0900</lastBuildDate>
  10:     <generator>http://www.sixapart.com/movabletype/</generator>
  11:     <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  12:     <item>
  13:       <title>プログラム言語 Axum</title>
  14:       <description><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx">Axum</a></p>  <p>.NET Framework上でEr
  15: langっぽい(ぽいねあくまでも)並列言語実行環境を提供するプログラミング言語。Erlangっぽいので、基本的にメッセージパッシングで実行単位(Age
  16: ntというらしい)間でデータ交換を行うようだ。</p>  <p>これがこのまま製品化するとは思わないけど、まぁF#の例もあるので、案外化けるかもだ。素
  17: 直に考えればC#に取り込まれていくんだろうけど。</p>]]></description>
  18:       <link>http://www.isisaka.com/blog/archives/2009/05/_axum.html</link>
  19:       <guid>http://www.isisaka.com/blog/archives/2009/05/_axum.html</guid>
  20:       <category domain="http://www.sixapart.com/ns/types#category">.NET</category>
  21:       <category domain="http://www.sixapart.com/ns/types#category">オブジェクト指向・システム開発</category>
  22:       <pubDate>Thu, 14 May 2009 10:47:36 +0900</pubDate>
  23:     </item>

RSSフィードを受信して、表示できる事が確認できたでしょうか。

では、このデータからBlog記事の投稿日とタイトルの一覧を作りたいと思います。

RSS 2.0ではitemエレメントに各Blog記事のデータが入っています。

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");
   2: //XMLの木構造をたどって目的のElementに到達するやり方
   3: var query = from x in rss.Element("rss").Elements("channel").Elements("item")
   4:             select x;
   5: foreach (var i in query) {
   6:     DateTime pubDate = DateTime.Parse(i.Element("pubDate").Value);
   7:     Console.WriteLine(pubDate.ToString() + "\t: " + i.Element("title").Value);
   8: }
   9:  

1行目ではRSSフィードを取り出しています。

3行目でLinqを使いRSSフィードからitemエレメントを取り出します。ここではRoorのrssエレメントから純にRSSの木構造たどってitemeエレメントまでを指定し検索もとを絞っています。itemエレメントは一つとは限らないのでElementsとして指定します。

5行目以降では検索結果をもとに更新日とタイトルをリスト表示します。

この様に特定のエレメントを検索対象とするには性格に木構造をたどる形で指定していく必要があり、その木構造が深いと指定するのが大変です。

そこで、Linq to XMLではDescendantsでエレメント名を指定すれば木構造をたどらずにダイレクトに指定する事が出来ます。(Descendantの意味は子孫)

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");
   2: //Descendantsを使う方法
   3: var query = from x in rss.Descendants("item")
   4:             select x;
   5: foreach (var i in query) {
   6:     DateTime pubDate = DateTime.Parse(i.Element("pubDate").Value);
   7:     Console.WriteLine(pubDate.ToString() + "\t: " + i.Element("title").Value);
   8: }

先ほどと変わったのは3行目です。かなりスッキリ書けるようになったのがわかると思います。

   1: 2009/05/14 10:47:36     : プログラム言語 Axum
   2: 2009/05/11 19:03:02     : 第2回静岡 IT Pro 勉強会のご案内
   3: 2009/05/10 21:53:00     : 第30回 NT-Committee2関東勉強会
   4: 2009/05/10 21:21:41     : プリンタを買いました。(HP C309a)
   5: 2009/05/10 9:57:29      : キヤノン インクジェットプリンタのヘッド交換ができないので買い換えてやる!
   6: 2009/05/10 8:20:50      : そろそろCorei7かな。。
   7: 2009/05/10 0:06:41      : デザイナー目線でのFlash vs. Silverlight(2)
   8: 2009/05/09 15:42:19     : Linq to XML 入門その1 (XML文書の作り方)
   9: 2009/05/08 12:16:11     : Japan Windows Server : Hyper-V Server R2 Release Candidate 公開
  10: 2009/05/08 7:34:02      : Windows 7 向けリモートサーバ管理ツール
  11: 2009/05/06 23:34:56     : exFATはやはりブートメディアを作ることはできない
  12: 2009/05/05 15:48:55     : Vistaの供給は2011年1月まで、メインストリームサポートは2012年4月までらしい
  13: 2009/05/05 15:12:37     : Windows 7 RC アメリカでは一般公開
  14: 2009/05/04 23:32:40     : Windows 7(x64) をVirtualBoxに入れてみた。
  15: 2009/05/02 6:43:33      : プログラミングに適したフォント

表示結果はこうなります。

それでは、where句を使った条件検索を試してみます。

以下のコードでは5/11以降に更新された記事のリストを表示するようにします。

   1: XDocument rss = XDocument.Load(@"http://www.isisaka.com/blog/index.xml");
   2: //Descendantsを使う方法
   3: var query = from x in rss.Descendants("item")
   4:             where DateTime.Parse(x.Element("pubDate").Value) > DateTime.Parse("2009/5/11")
   5:             select x;
   6: foreach (var i in query) {
   7:     DateTime pubDate = DateTime.Parse(i.Element("pubDate").Value);
   8:     Console.WriteLine(pubDate.ToString() + "\t: " + i.Element("title").Value);
   9: }

4行目のwhere句で5/11以降のデータのみ抽出するようにしています。

以下が実行結果です。

   1: 2009/05/14 10:47:36     : プログラム言語 Axum
   2: 2009/05/11 19:03:02     : 第2回静岡 IT Pro 勉強会のご案内

11日以降に投稿した記事のリストが表示されています。

今回はここまで。

RSSを加工したい事はよくあるので、少しぐらいは参考になったでしょうか。

次回はもう少し複雑なクエリについて説明したいと思っています。ただ、データを作るのが難儀なのでしばらくお待ちください。。。

プログラム言語 Axum

Axum

.NET Framework上でErlangっぽい(ぽいねあくまでも)並列言語実行環境を提供するプログラミング言語。Erlangっぽいので、基本的にメッセージパッシングで実行単位(Agentというらしい)間でデータ交換を行うようだ。

これがこのまま製品化するとは思わないけど、まぁF#の例もあるので、案外化けるかもだ。素直に考えればC#に取り込まれていくんだろうけど。

2009年05月10日

デザイナー目線でのFlash vs. Silverlight(2)

Flash圧勝。まぁそんなもんだろうなぁ。

Flash vs. Silverlight: What Suits Your Needs Best? | How-To | Smashing Magazine

正直Expression ~はAdobeのツールには遠く及ばないし、Flashにあって、まだSilverlightにない機能も多いし。特にメインのツールであるExpression BlendでSilverlightのコンテンツを作るにはXAMLの構造をかなり理解した上でないと使いこなせないので、はっきり言って、これでの作業はコンテンツ制作というよりアプリケーション開発になってしまっている。

2009年05月09日

Linq to XML 入門その1 (XML文書の作り方)

準備

これから数回に分けてLinq to XMLの基礎的な使い方についてまとめていきます。

これらの記事に書かれているコードは特に明記がない場合は以下の環境で試験をしています。

  • Visual Studio Team Systeme 2008 Team Suite SP1
  • .NET Framework 3.5 SP1
  • Windows Vista Ultimate x64 ENU

また特に断らない限り使用するプロジェクトテンプレートはコンソールアプリケーションです。

Visual StudioはTeam Suiteを使っていますが、記事に書かれている内容はC# Express Editionでも問題ないはずです。

注意点

これからの記事では入門と言っておきながら、Linqの詳細な仕様や、XML自体の説明はしません。

Linq to XML各クラスの細かい説明はせずに、実際に最低必要だと思う事のみコードと説明をしていくので、各クラスが持つメソッドやメンバーの詳細についてはMSDNライブラリを参照してください。忘れなければ記事中に適宜リンクしていきます。

まずはこれが無くっちゃ始まらない

   1: using System.Xml.Linq;

忘れずにusing句でLinq to XMLの名前空間を呼び出しておきましょう。また、Visual Studioのソリューションエクスプローラで参照設定を確認し、System.XML.Linqの参照設定がない場合には追加します。

最も単純例

最も簡単にXMLのデータを作成し、コンソールに表示させたいと思います。

   1: var x = new XElement("Name", "Tadahiro Ishisaka");
   2: Console.WriteLine(x);

ここでは単純にNameという1種類のエレメントを持つXMLデータを作成し、コンソールに表示させています。

XElementというクラスがLinq to XMLではXMLエレメントを表すクラスになります。

ちなみにLinq to XMLの各クラスは頭にXがつきます。

出力結果はこうなります。

<Name>Tadahiro Ishisaka</Name>

次にXMLのエレメントに属性(Attribute)を追加してみます。

   1: var x = new XElement("Name", new XAttribute("ID", 99999), "Tadahiro Ishisaka");
   2: Console.WriteLine(x);

今度はXElemntクラスのコンストラクタの中でXAttributeクラスを初期化し、IDという属性とその値として99999を追加しています。

出力結果はこうなります。

   1: <Name ID="99999">Tadahiro Ishisaka</Name>

NameエレメントにID属性が追加され、その値が99999となっているのがわかると思います。

また、このコードはXElementクラスのAddメソッドを使用して、以下のように記述しても同じ結果になります。

   1: var x = new XElement("Name", "Tadahiro Ishisaka");
   2: x.Add(new XAttribute("ID", 99999));
   3: Console.WriteLine(x);

ここまでで、今まで.NETでXMLデータを処理されてきたかたには、かなりコーディング量が減って、楽にコードを書けていることがわかると思います。

続きを読む "Linq to XML 入門その1 (XML文書の作り方)" »

2009年04月30日

.NETで開発して働こう

これまでずっとなるべく言わないようにしていたのだが、もう平たく/明快に言うことにしました。

1)VB6はもう立ち直れないと思う。
だから、
2).NET勉強してマネージドという高速道路を行く道を真剣に考えてみて欲しい。

これまでは、1)は言わずに、2)だけ言ってきた。で、「.NETで開発する」の中でも、私が知っている「C#で開発する」ことの楽しさ、働くための方法をなるべく具体的に紹介するようにしてきた訳なのであるが、前半も言うことにしました。その理由は、若い人に早く気づいて欲しいから。VB6を使っていたら駄目、というわけではないが、サポートもなくなって、セキュリティパッチもなく、64bit環境が普通になってくると、みるみると進路変更は大変になる。ところが、多くの人が「VB6に未来はない」と気づく頃には、そういう「進路変更大変状態」になってしまっていることが多い訳です。

というわけで、明言することにした次第。

今の私が考える、VB6プログラマの1年後ぐらいの将来はこんな感じだ。

  • ベストケース:一世を風靡した時代の力は面影もなく、VBに活力はないが、素早く・容易に多くの人がそれなりの開発ができ、Silverlight3への道筋も見え未来が開けている。
  • ベースケース:.NET界の技術の差は激しく、一部のDSLを開発できるような開発者と、DSLを開発できない、ただそれを使うだけの多くの技術者に分離、前者はさらに上を目指して暮らす(Thoughtworks的コンサルタント天国型)
  • ワーストケース:閉塞感と絶望と苛まされ、VB6に固執する技術者が増加、新しい環境に対応できずセキュリティや安定性に問題のあるソフトウェアが増加する。

ワーストケースになると、VB6の外にいてもとても怖い。今までVB6で作られたプログラムも多いし(5年後なっても恐らくRubyのプログラムより多い)、VB6プログラマは環境に固執することにかけては世界で最も優れた技術者である。なんだかんだ言って技術力だって大いにある。大量の優秀な人たちが間違った方向で開発し続けたら何が起こるか。使い辛く、性能が悪く、セキュリティ的にも問題のあるプログラムが世の中に溢れてしまうのはないか。あと、怖いだけでなく、VB6で開発者の道に入ったものとして悲しい。なので、是非これだけは避けて欲しい。

というわけで、なんとかせめてベースケース、できればベストケースに至って欲しいわけです。

そのためには、「VB.NETでの変更点に対する抵抗感」を少なくするとよいかと。「VB.NET」が打破できないなら一足飛びにC#に行けばよいではないですか。

とはいうものの、C#でいきなり開発するのは大変だと思うので、まずはVB9で開発を始め出来るだけ今までのまま開発する、というのが楽なわけです。この方法には、「C#で開発したけど、やっぱりVBで開発したい」という時は、VBに戻って開発すればよろしいだけ、という利点もある。ま、全員が全員そうとは言わないが、大抵の場合、同じ個人に関して言えば、.NETでの開発経験がある方が.NETのC#のような他言語での開発でも優位になるので、特にVBの経験の浅い人だったら失うものはまずない。

(こういうことを言うと、「VB.NETで失敗したからから、C#にいったような人は、C#もまともな開発ができない」などという人もいるが、そういう人は...(略)

「.NETでの開発経験を積む」人が増えることは、今のVB6プログラマのためにもなる。VB6から.NETへの以降経験についてフィードバックされる量が増えれば、それだけ続く人の移行が楽になるのだから。

+++

もちろん、上述した通り、技術者間の技術力の差が広がりつつあるし、今後もどんどん広がると思うので、「いまのままで勝てる!」と思う人は、是非今後もその道を邁進してください。でもRubyとかPHPには気をつけてね。

あと、「VB6を根本から変えてVB6を良くする」という自負のある人も是非VBのオープンソース実装等をトライして欲しい。

--

ネタですから・・・

元ネタです:
On Off and Beyond: 海外で勉強して働こう

参考にさせていただきました:
もうエンタープライズJavaなんて捨ててしまえ - ひがやすを blog

まじめに、海外に出て行ける可能性があるなら、まじめに検討した方が良い。特にクラウドをただ使うのではなくクラウドの内側、雲の向こう側でそれを作る仕事をしたい人はこの国に居ては行けない。言葉がハンデだと思うなら、それを今すぐにでも乗り越える準備をしてこの国を抜け出せ、そうでないと君の望む未来はやってこないよ。この国の中にいてはそれは手に入らないものだ。

Parallel の機能を使ってWebページキャッシュを作るサンプルがあった

Parallel Extentionsのサンプルとして良いと思います。

Luca Bolognese's WebLog : An Async Html cache – part I

Multicasting with Silverlight 3 Local Messaging « Critical Development

Silverlight3で実装されるRPC(と断言してやる)機能のLocal Messagingのマルチキャスト機能に関する記事です。

Multicasting with Silverlight 3 Local Messaging « Critical Development

まぁ実際にはLocal Messageingは文字通りクライアント環境内での単純なメッセージの送受信機構しか持っていないわけで、RPCとは言いがたいものですが、その姿はあくまでも「今は」でしかないような気がしています。MSだし。

2009年04月29日

2009 Lang.NET Symposium

今年もLang.NETが開催されたようです。以下のページにて各スピーカーの講演内容を見る事ができます。

2009 Lang.NET Symposium - Speakers

またこれにあわせ、Channel9でAnders HejlsbergとGilad Brachaによる言語開発者同士の対談が公開されています。

Get Microsoft Silverlight

http://channel9.msdn.com/tags/LangNET+2009/も参照。

2009年04月27日

GACに存在するアセンブリのPDBをそのアセンブリのディレクトリに置く方法

Blog - Robert Bogue [MVP]

There are sometimes when your assembly almost has to be in the GAC and when you need to debug it.  This was difficult since if you registered a .NET assembly into the GAC the debugger wouldn't break on it.  This is because the .PDB file information didn't get loaded since it's not in the same directory as the DLL.  Here's how to work around that.

1) Install the Assembly in the GAC
2) Start-Run, %SYSTEMROOT%\Assembly\GAC
3) Navigate into the folder with name of the DLL that you want to debug
4) Navigate into the folder with the version number and public key that you want
5) Copy the .PDB file into this directory

うーん。やはりコード(VBS)でディレクトリ名を取得する方法はないか。手作業ねぇ。。。

まぁコピー先の最終的なディレクトリ名は事前にバージョンとパブリックキーのトークンがわかれば人間側で合成できなくもないのか。

ディレクトリ名:%SYSTEMROOT%\Assembly\GAC_MSIL\<アセンブリ名>\<バージョンナンバー>__<パブリックキートークン>

例::%SYSTEMROOT%\Assembly\GAC_MSIL\Foo\1.0.100.2000__xxxxxxxxxxxxxxxx
(間をつなぐアンダースコアは2個)

VSでそこにPDBが無くてもデバッグできる方法はわかります。でも常にプロセスにVSをアタッチできわけではありませんし、ログを出力している場合等でもスタックトレースに行番号出ると助かるじゃないですか(これが本題)。

gacutil.exeにPDBファイルも「いっしょに」コピーするオプションがあってもいい気がするなぁ。

しかし、バッチでインストーラーを作っているのがバレバレだな。

2009年04月23日

Sliverlightでインターネットラジオ

J-Waveが始めたらしい。

インターネットラジオ | Brandnew-J > TOPICS

Silverlghtで音声のみ配信する場合そこに流れるデータフォーマットはなになるのかな。

Microsoft® Visual Studio Team System 2008 Database Edition GDR R2

ダウンロードの詳細 : Microsoft® Visual Studio Team System 2008 Database Edition GDR R2

そゆもの。なんだが・・・

Visual Studio Team System 2008 Database Edition GDR R2 - 新日々此何有哉

R2になって何が変わったんだろう?

確かにわかんね。ダウンロードサイトのリリースノートは無印GDRのリリースノートだし。

と言うことで、検索を掛けて中の人っぽい人のBlog経由でR2リリースノートを発見。

mhtml:http://download.microsoft.com/download/0/A/E/0AE1153A-8798-474A-93E6-D19299F37C8B/GDR_R2_Release_Notes.mht

結局バグフィックスのようです。

2009年04月21日

大規模なWCFを使用したエンタープライズシステム

MSDNマガジン4月号の記事。

WPF、Prism、および WCF を使用してサービス指向アプリケーションを構築する

WCFを使用して大規模なエンタープライズシステムを構築した際に発生した様々な問題について書かれています。

WCFのスケールやその他について書かれた文書は無いなりにあったのですが、実際のエンタープライズシステムの開発・運用現場でどうのような問題が発生し、どのように対処したか書かれレポートは読んだことがありませんでした。

そういう点で、あまり長くない記事ですが、とても重要です。

特にWCFのバインドが簡易に変更でき、それによりシステム障害に対処できている点は注目したいです。万能ではないとは思うのですが、それにより救われることがあると知っておくことは大事なことだと思います。

また、いまRelease IT!という本を読んでいるのですが、この本はエンタープライズシステムの構築において何について考慮・設計しなければならないか(そしてどうしたリリースが止まらないか)について書かれており、是非.NETでそれなりの規模のエンタープライズシステムの設計や実装に関わられている方はこの記事と併せて読むことをおすすめします。(もう読んでおられるでしょうけど)

Release It! 本番用ソフトウェア製品の設計とデプロイのために
Release It! 本番用ソフトウェア製品の設計とデプロイのために でびあんぐる


Amazonで詳しく見る
by G-Tools

IronPython in the Browser

IronPython in the browser

image

Mix ‘08の感動をもう一度w

ブラウザ内でIronPythonを試すことが出来ます。要Slivelight 2.0。あと英語キーボードのほうが面倒が起きないと思います。

2009年04月20日

Microsoft Press でのプログラミング本が少ない

と思っていたのですが、そもそも米国での発売が少なく、且つ製品リリースから書籍の刊行までの間隔が長くなっている感じ。

Microsoft Press - Developer Tools

.NETに関して言えば、AWやオライリー(それぞれUSの)のほうが活発に出版している感じか。

2009年04月17日

Open XML 形式 SDK 1.0 の日本語文書が公開されていました

Office 2007, Open XMLフォーマットのドキュメントを扱う時に使用するOpen XML SDKの日本語ドキュメントが公開されています。

Open XML 形式 SDK 1.0 へようこそ

従来自作のアプリケーションソフトウェアからOfficeのファイルを取り扱う場合には、Officeアプリケーションが持つOLE Automationのインターフェイスを使うか、サードパーティ製のライブラリを使う必要がありましたが、このSDKを使用すれば直接文書データに対してアクセスすることが出来ます。

今までも.NET Fx 3.0で追加されたSystem.IO.Packaging名前空間のクラスとOpen XMLドキュメントのXMLスキーマを利用して文書データにアクセスすることは出来ましたが、Opne XML SDKにより、(コーディング的に)より容易にアクセスできるようになります。

2009年04月16日

CodeFxあるいはAll-In-One Code Framework

All-In-One Code Framework – Home

サンプル集にしてスケルトン。

Windowsのアプリケーション開発においてネイティブコードだけ、あるいはマネージドコードだけで「ソフトウェアシステム」が構築できれば幸せなのかもしれませんが、実際にはレガシーなシステムとの接続点や、他のソフトウェアシステムやパッケージソフトウェアとの接続点においては、マネージド。アンマネージドの垣根を越えてデータのやりとりをする必要があります。

仮にそのためのSOAといったところで何らかの形でそれらのソフトウェアに対しWebサービスのインターフェイスを付け加えなければならないわけで、結局そのための配管ソフトウェアの開発でも同じ事が必要になるわけです。

このCodeFxではそのような接続点で使用されるマイクロソフトテクノロジーについてC++でのネイティブコード、C#でのマネージドコードでのすぐに利用できるサンプルを公開しています。

具体的にはCOM, メモリマップドファイル(共有メモリ)、IPC、メールスロット、WM_COPYDATAについてのサンプルがパッケージされています。

また、このCodeFxではこの様な接続点以外にOfficeへのアクセス、C#でフックするためのサンプル、C++でのスタック領域管理のサンプル、C#でのデータアクセスのサンプルも含まれています。

用はWindows上で企業向けのソフトウェアシステムを構築するときに使用されそうなマイクロソフトテクノロジーのプログラミングサンプルがごっそり入っているものになります。

正直もっと早くこれがあれば楽だったのにと思いましたw

元ネタ。

青柳 臣一 ブログ(総合) [.NET] All-In-One Code Framework ってなんぞ?

2009年04月07日

Channel9 が5周年

各界からお祝いメッセージがw

Get Microsoft Silverlight

Get Microsoft Silverlight

2009年04月05日

書評 : プログラミング言語C# 第5版


Jesse Liberty,Donald Xie
Amazonランキング:35760位
Amazonおすすめ度:

C#の学習書としてはスタンダードなProgramming C# 5th Edition.の翻訳。

良くも悪くもC#と言うプログラミング言語が、.NET Frameworkという基盤技術をプログラミング言語として記述できるように具象化したものであり、したがって、C#の学習とは、言語の学習だけではなく、.NET Frameworkの学習をしていくことが必要になる。

本書の記述内容はC#の文法解説を詳細に行っていくと言うよりも、.NET Fxのクラスライブラリまで含めて、C#でのプログラミングの全体像を見せようとしており、このC#と言うプログラミング言語特質を捉まえている。

内容としては、前の版からC# 3.0、.NET Fx 3.5への対応のために主に.NET Fxで追加されたWPF, WCF等の新しいクラスライブラリの機能やLinq、拡張メソッド、匿名メソッド、ラムダ式と言った言語拡張についての記述が追加されている。その一方で、.NET RemotingやADO.NET等の扱いについては全くなくなっていたり、簡略されている。技術の盛衰をよく表しているわけだ。

C#は今後もどん欲にマルチパラダイムかを進め、オブジェクト指向言語なのかよくわからなくなっていくだろうし、次の.NET Framework 4.0ではとうとう並列性に関する機能強化と、久しぶりのCLR自体のバージョンアップが行われる。今使わないからと言って学習をおろそかにしていると、次の上る階段の高さが不必要に高くなってしまうのが見えているので、できるだけこまめに階段を上っていけるようその都度学習したほうがよく、本書はそのような使用目的にも適切だ。

2009年04月02日

Visual Studio Team System 2008で T-SQLの単体テストをやってみよう:CodeZine

memo. たすかります。

Visual Studio Team System 2008で T-SQLの単体テストをやってみよう:CodeZine

2009年03月31日

Mono 2.4 and MonoDevelop 2.0 released - Miguel de Icaza

ということで2.4です。

Mono 2.4 and MonoDevelop 2.0 released - Miguel de Icaza

SIMD命令の標準実装とか、Thread割り込みのタイマ設定をCPUサイクルベースで設定できるようにするとか地味に大事な変更追加がされているようです。

あと、Mono Develop 2.0になって、IDEにデバッガが統合されたのでLinuxでmonoを開発されている人にとってはうれしいんじゃないかな。

2009年03月29日

ExceLINQ

ExcelのLinq。そのまんまですね。

ExceLINQ – Not Your Typical LINQ Provider - B# .NET Blog

上の記事からサンプルを落とすことができます。(The state of ExceLINQの下にあるover hereをクリック)

VS2008 SP1 + Excel 2007の環境でも試すことができました。簡単にLinqプロバイダを作りたいときの参考になるんじゃないかと思っています。

あ、それから、これはExcelの1~10までLinqが使えるってものじゃなくて、あくまでもLinqを自作する場合のサンプルだから期待あげすぎに注意w

しかし、何でもLinqだな。

2009年03月27日

Iron Python 2.6 Alpha1

IronPython - Release: 2.6 Alpha 1

いきなりバージョンナンバーがぶっ飛んでいますが、これはCPythonとバージョンナンバーをあわせるためのだです。ということで、CPython 2.6との互換性のあるバージョンの開発が始まったようです。

2009年03月26日

Visual Studioのディスクに入っていないあれこれ

ということでソマ・セガがVisual Studioのディスクに入っていないMSの開発ツールのあれこれを一覧的に紹介しています。

Somasegar's WebLog : Delivering ongoing value

大体ドキュメント含めて40弱。ちなみにここにはAzure ToolkitだのSilverlight 3 Toolkitだのβレベルのツールは含まれていない。

ま、これを選択肢が多いと見るか、無駄にありすぎると見るか。

何かを作るために必要な技術、知識という点で、このような状態が一見便利そうに見えるけども、しかしそれらがかえって僕らの掛け金を上げていないか一度引いた視点で考えてみたほうがいいと思う。

2009年03月22日

IronRuby 0.3 リリース

Iron Ruby 0.3がリリースされました。

Download - IronRuby

変更点は以下を参照

RubyForge: IronRuby: リリースノート
http://rubyforge.org/frs/shownotes.php?release_id=32447

ということで、Mix 09ビルドですw

Mix 09でのASP.NET MVCのデモは以下にあるようです。

http://github.com/jschementi/mix09/tree/master

最近更新が滞っておりますが、個人的には忙しすぎて吐きそうな感じです。

2009年03月19日

SilverlightのCOMキタコレ

ローカルコネクションって。。

ローカルコネクションは別にCOMそのものじゃないんですが、ローカル環境においてはSilverlight 3のアプリケーション間でお話しできるようになるらしいですよ。

Mike Taulty's Blog : A quick look at Silverlight 3: Local Connection

やっぱクライアントにフルセットの.NET Frameworkは必要ですか?って勢いだな・・

Silverlight 3の開発者向けサイトとドキュメント

silverlight.netの開発者向けサイト

http://silverlight.net/getstarted/silverlight3/default.aspx

MSDNライブラリ(ドキュメント)

Silverlight

そしてやっぱりWPF(フォーム)はデスクトップアプリケーションの分野でも主流じゃなくなるんだろうか。。

http://www.silverlightshow.net/items/Silverlight-3-as-a-Desktop-Application-Out-of-Browser-Applications.aspx

S#arp Architecture

ASP.NET MVC + NHibernateでDDDに基づいたアプリケーションを構築するためのフレームワークのようです。素直にEntity Frameworkでなかったりするのは、DDD, テスト駆動、IOCを使いたいといったところが理由なようです。ああなんてオブジェクト指向。

sharp-architecture - Google Code

Windows Azure Tools for Microsoft Visual Studio March 2009 CTP

今日はこれで最後だよね。。

Download details: Windows Azure Tools for Microsoft Visual Studio March 2009 CTP

Azure向けツールの更新です。

Data-Driven RIA with Silverlight

メモ。ちうか眠い!

Download details: Data-Driven RIA with Silverlight

CAT.NET V1 CTP

CAT.NETはXSS, SQLインジェクション等の脆弱性が内在していないかをコード分析するツールのようです。

Download details: CAT.NET V1 CTP

Expression Blend 3 Preview

そゆもの。

Download details: Expression Blend 3 Preview

今行われているKeynoteではExpression Webでの複数のブラウザを横断した形でのオーサリング機能の強化がデモされていました。

Microsoft® Silverlight™ 3 SDK Beta 1

ということでこちらもお披露目

ダウンロードの詳細 : Microsoft® Silverlight™ 3 SDK Beta 1

ASP.NET MVC 1.0

ということで、正式リリースです。

Download details: ASP.NET MVC 1.0

2009年03月18日

ADO.NET Data Services v1.5 CTP1 がでました

ADO.NET Data Services Team Blog : ADO.NET Data Services v1.5 CTP1 -- Now Available for Download

上リンク先に簡単なチュートリアルのビデオもあります。

1.5 CTP1で何が変わるのかについては以下の記事を

ADO.NET Data Services Team Blog : Announcing ADO.NET Data Services v1.5 CTP1

ダウンロード:

Download details: ADO.NET Data Services v1.5 CTP1

SQL Data Servicesが急旋回して目指す方向性が大きく変わった今、このプロジェクトの今後の行き先がどうなるか心配です。。。

2009年03月17日

ダウンロードの詳細 : Microsoft Visual Studio International Pack 1.0 SR1

めも。

ダウンロードの詳細 : Microsoft Visual Studio International Pack 1.0 SR1

2009年03月13日

新しいSQL Data Servicesに対するFAQ その1

ということで、SDSが大きく変わる点についてのFAQが上がっています。

SQL Data Services Team Blog : First round of Questions and Answers

そして早々と翻訳した人が。

New SDS Interview _1 - Windows Live

基本的にはSQL ServerのDBエンジンで出来ることはほぼ出来てしまうしということだね。

If Microsoft can deliver on the features for SQL Data Services (SDS) announced today then they have set the bar for SQL and Cloud database vendors

Yes, we believe we have.

何ていうか、けんか売っているのをあっさり認めちゃってるし。

2009年03月11日

“The no spin details on the new SDS features”こいつは波乱の幕開けだ

今までクラウドコンピューティングのデータストアはKVSが本命でリレーショナルデータベースなんてスケールアウトできなくて、パフォーマンスも出ないからステステとさんざん言われ続けてきたわけですが。。。

SQL Data Services Team Blog : The no spin details on the new SDS features

この記事ではKVS何それ? クラウドだろうとなんだろうと、うちらあくまでもリレーショナルデータベース屋ですから、お客さんに提供するのはリレーショナルデータベースすよ。そんなSQL Data Servicesチームの心意気が伝わってきます。

まぁようはCloud町内でけんかを売り始めたわけです。

しかしこの記事読みながら、次のようなことを考えていると

  • クラウドのデータベースにT-SQLでクエリ。
  • クラウドのデータベースにMSアクセスからODBC経由で接続
  • クラウドのデータベースに対してインデックスチューニング
  • クラウドのデータベースなのにストアードプロシージャ
  • クラウドのデータベースなのにビュー
  • クラウドのデータベースなのにクエリ結果がレコードセット

もうね、にやにやしてきましたよ。

完全にSQL Data ServicesチームがCloud町内に燃料投下した状態なので、これからの展開もまた楽しみです。

ああSQL Server勉強してきて良かった!と取り合えず書いておこう。

Doxygenすげー

大抵の人にとっては今更なんだろうけど、感動した。

Doxygen

特にGraphvizとの組み合わせによるコールグラフ、継承図などの自動作成はすばらしいとしかいいようがありません。

何故今まで使ってなかったんだろう!

できあがりはこんな感じ。

image

 

image

ちなみに期待していたRTFの方はアレゲでした。。

高価な有償製品の前にちょっと試してみてはいかがでしょうか。

お金や予算つくならがつんとツールを買っても良いと思いますけどね。

追記(14:25)

C#のXMLコメントではC++にあるようなクラス図(一覧)は書いてくれないみたいだ。ガチに全機能使うにはDoxygenの流儀でコメント書かないとだめなんだろうなぁ。

さぁ、あとは社内向けに文書をまとめよう。

2009年03月09日

4/6 TF セミナーでモデリング & ”Oslo” と Osloの輪

長沢智治のライフサイクルブログ : “Oslo” の輪 を作ってみました。

参加しちゃった(てへ

長沢智治のライフサイクルブログ : 4/6 TF セミナーでモデリング & ”Oslo” ~ LT ももちろん募集!

上司許可もないのにセミナーは登録。。。

追記(16:50)

肝心のOsloの輪の記事を忘れていたので追加しました。。。

2009年03月08日

.NET 4 は Command Line Parser を持たない

以前紹介したSystem.Shell.CommandLine名前空間のコマンドラインパーサですが、以下のInfoQの記事によるとコマンドラインパーサーは.NET Fx 4に含まれず、CodePlexのプロジェクトに移行するようです。結構残念。

InfoQ: .NET 4 Will Not Have a Command Line Parser

monoのミゲルもBlogで取り上げていますね

System.Shell.CommandLine does not belong in System.Core - Miguel de Icaza

最終的にはこのTwitter記事か

http://twitter.com/justinvp/status/1235499795

@migueldeicaza We have a *much better* designed command line parser API that we're planning to release on CodePlex very soon

まぁ、使えなくなるわけではないし、場合によっては早く使えるようになるかもしれないし。

2009年03月07日

.NET Framework 3.5 SP1をインストールするとそれ以降プリンタのインストールに失敗することがあるらしい。。

All the PCL inbox printer drivers become unsigned after you install the Microsoft .NET Framework 3.5 Service Pack 1

Windows XPもしくはWindows Server 2003限定のようだが、.NET Framework 3.5 SP1でインストールされるXPSのパーサーであるUnidrv.dllが電子署名されていないために、それ以降プリンタを追加しようとするとドライバに電子署名がされていないという警告ダイアログだ出て、最悪プリンタのインストールに失敗して舞うこともあるらしい。

上のKBに対策済みパッチのダウンロード先も公開されている。

元ネタ:

Ask the Performance Team : The Case of the Unsigned Printer Drivers and .NET 3.5 Service Pack 1

2009年03月05日

ASP.NET MVC RC 2

そゆもの。Mixでリリースとか噂が立っているけどどうなんでしょ

Download details: ASP.NET MVC RC 2

2009年03月03日

Windows SDK 6.1を入れると.NET FrameworkのツールがVS 2008のコマンドプロンプトから呼び出せなくなってしまう。

Windows SDK 6.1には、sn.exeやildasmといった昔から有る基本的な.NET Frameworkのツールは含まれていません。この為、SDK 6.1を入れるとSDKツールの参照先パスが6.0Aのしたのbinディレクトリから6.1のbinディレクトリに移ってしまいVS2008のコマンドプロンプトからsn.exeやgacutil.exeといった.NET Frameworkのツールを呼び出すことが出来なくなります。(正確にはWindowsSdkDir環境変数の内容が変わってしまうため)

6.0Aの下のbinディレクトリをPATHに登録してしまえば事足りますが、最初は訳がわからずびっくりするので注意した方が良いです。また、そのときにパス位置も必ず6.1の後にくるように注意してください。

また、これはSDKだけでプログラミングしている人にも重要な点で、一度6.0A SDKをインストールしてから(もしかすると.NET Fx 2.0 SDkから?)6.1をインストールする必要がありそうです。全くめんどくさいですね。どこがfor Windows 2008 and .NET Framework 3.5だと(ぶつくさぶつくさ)

Velocity CTP3 はもうすぐ

Mixに合わせ、リリースされるようです

Microsoft project code named "Velocity" : Velocity CTP3 ...

2009年03月02日

Microsoft TechDays 2009 セッション ビューア

というこで、キーノートとブレークアウトセッションが全部見えて、スライドもダウンロードできます。

Microsoft TechDays 2009 セッション ビューア

でも、BOFは無し!BOF中心に参加した漏れは勝ち組!(冗談です。。。)

まぁまじめにこの手のカンファレンスはいろんな人にお会いして、お話しするのが目的になってきているので、このように全セッション公開されようとそちらで参加費分の価値は充分にあったと思います。

2009年02月28日

Maestro: Isolation, Agents, and Message-passing in .NET

Maestro: Isolation, Agents, and Message-passing in .NET

MaestroはErlangのような祖結合、メッセージ駆動型のマルチスレッドの仕組みを.NET上に構築するためのプロジェクトのようだ。

.NETのスレッドの仕組みはCLRの提供するマルチスレッドの機能とスレッドプールの機能に依存していてその基本はリソース共有型のマルチスレッディングとなる。

リソース共有型のマルチスレッディングの問題はリソース(メモリやディスクI/O)を共有するため、その共有リソースに対しアクセスをする場合ロックを掛けるのだが、このロックにより、他のスレッドでロック解除待ちが発生し、実際には他のスレッドので処理が行われず、並列性が阻害される。

このロック待ちによる並列性の阻害は同一時刻断面で多数のスレッドが動作するメニィコアの世界ではより深刻になる。(プロセッサやコア数が少ない場合には同一時刻断面で同時実行されるスレッド数が少ないので、ロック待ちによる並列性が阻害される確率は下がってくる。その代わりそもそもスレッドの割り当て待ちが増える。)

.NET Fx 4.0で追加されるParallelも実際にはこの部分には実質的な変更はせずに、クラスライブラリで従来のThreading名前空間のクラスを使ったプログラミングに比べプログラミングのコード量を減らしているに過ぎない。

そのため、多数のスレッドが同時実行される場合にはスレッドを密結合して共有リソース上の共有データを持ち合う今の方法よりも、スレッド間を祖結合にするために共有データをメッセージとしてスレッド間でやりとりする方法のほうが、スレッドの同時実効性が向上すると考えられる。

別にこれは今まで議論がなかったことでも計算幾科学上の議論がなかったことでもなく、OSのマルチプロセス環境ではかならず密結合型のマルチタスク機能と祖結合型のマルチタスク機能は提供されている。前者はよくある共有メモリを利用したプロセス間通信やRPCであり、後者はWindowsやOpen VMSに見られるメールスロットによるプロセス間通信にその思想を見ることが出来る。(Windowsのプログラマはみんな使ってないけどさ。)

祖結合の利点や特性については、今ある分散環境での祖結合(メッセージキュー)のソリューション(MS-MQ, IBM MQ)やErlangについて調べてみるとわかってくると思う。

また、PCベースのマルチプロセッサのアーキテクチャがNUMA化されている中で、迂闊に共有メモリを使う場合の実際のコストに関しても注意して行く必要があり、その点でメッセージパッシング方式の方がOSやランタイムで工夫できる余地が多い事についても考えていきたい。

という事で、安心した。(VS10/.NET 4の並列性機能の拡張でネイティブコードにメッセージ駆動型の並列機能のライブラリがあるのに.NETに無かったのが不満だった。)

ま、ようはプロセッサのクロックがあがらず、フリーランチが無くなり、メニィコアによって並列性が重要になる世界って言うのは、今まで巨大なマルチシステムのメインフレームやハイエンドのRSICプロセッサのサーバーでアプリケーションを作っていた一部のプログラマの苦悩や苦労を僕らも背負うことになるって事。

2009年02月23日

.NET 4.0 でのSystem.Shell.CommandLine Parsingを使用したコマンド列の解析

.NET 4.0 – System.Shell.CommandLine Parsing – Part 1 - B# .NET Blog

.NET Fx 4よりSystem.Shell名前空間が追加され、その中でコマンドライン関連のユーティリティクラスが追加されています。上の記事ではその中でコマンドライン引数の構文解析を行うためのSystem.Shell.CommandLine.Parsingの使い方について解説されています。従来のargv(引数の配列)をcase文等で自力解析する場合に比べてとてもスマートにコーディングできるのがよくわかると思います。

2009年02月21日

10-4 Episode 9: Visual Basic 10 | 10-4 | Channel 9

Visual Basic 10の言語仕様変更点についてまとめたビデオ。

10-4 Episode 9: Visual Basic 10 | 10-4 | Channel 9

Ch9はまたシステム変わって、ビデオを埋め込めなくなっちゃったなぁ。出来たw

Get Microsoft Silverlight

ちなみに10-4の意味はVisual Studio 10と.NET Frame Work 4で10-4のようです。

2009年02月18日

気になる本:Rails for .NET Developers

Rails for .Net Developers (Facets of Ruby)
Rails for .Net Developers (Facets of Ruby) Jeff Cohen

Pragmatic Bookshelf 2008-11
売り上げランキング : 70204


Amazonで詳しく見る
by G-Tools

.NET FrameworkプログラマにRoRを薦める本のようです。

誰か、これを翻訳するか類似する本でも書いていたりしてな。

2009年02月14日

IronPython - Release: 2.0.1

基本的にBug Fixのみのようです。

Release Notes

IronPython 2.0.1 is a minor update to IronPython 2.0 which in turn is a CPython 2.5 compatible release running under the .NET platform. Our top priority for this release was improving upon performance while retaining complete backwards compatibility with IronPython 2.0. One of many notable areas we’ve improved upon is that float-integer comparisons are now 74% faster than they were in 2.0. A full report documenting changes in interpreter performance from 2.0 to 2.0.1 can be found at http://www.codeplex.com/IronPython/Wiki/View.aspx?title=IP201VsIP20Perf. A special thanks goes out to Resolver Systems for helping us in identifying areas needing performance improvements.

IronPython - Release: 2.0.1

書評:The Root of .NET Framework


荒井 省三
Amazonランキング:9164位
Amazonおすすめ度:

この本はCLIのJIS仕様書を地図にして、MicrosoftのCLI実装である.NET FrameworkのCLRを探検する本。

探検に使用するツールはSOSデバッガ、.NET Framework SDKの各種ツール。

探検の道筋とその成果については是非本書を手にとって各位に確認してほしい。

で終わりにしようと思ったが、やっぱり物足りないので続きを書く。

僕は本書をすべての.NETプログラマに激しく推奨する。その理由は2点。

CLRの内部動作や、アセンブリのロード方法、CASの概略といったCLRに関する基礎部分の解説ものは.NET Framework登場時の2001年頃には本書の内容ほど突っ込んだものではないにせよ、TechEdの場やMSDNマガジン等で比較的容易にリーチすることができた。(それこそ、MSDNのJ++のここを読んでくださいまで含めてだけど)

しかしながら今現在はプロモーションの関係でフレームワークや言語の新機能の解説ばかり目立ち、書籍もインサイド.NET Framework(現書名CLR via C#)が奇跡的に翻訳が続けられているものの、Don Boxのエッセンシャルオブ.NET Frameworkは書店で普通に入所するのも難しく、本書が扱うようなCLRの基礎部分に関してもMSDNマガジンやその他のWEB媒体でも取り上げられることは滅多になく、.NET Fx勃興期を過ぎそのあとから入ってきた技術者にとっては、本書の内容は今までなかなかリーチ出来づらい情報だと思う。(それに本書ではそういった以前の情報よりも掘り下げられている)

そういう点で本書の内容が貴重であるというのが本書を激しく推奨する理由のまず1点目。

もう一つは、当たり前に動くもの、正しく動くものを作りたいのであれば、技術の表層だけをなぞって小手先の仕事で終わらせるのではなく、技術の成り立ちやその本質を理解し、その理解を血肉してコードを書くことがとても重要だ。(もちろんぼくにもそれが必要)

本書はまさしくこのこと、.NETの成り立ち、.NETの本質であるCLRの動作について書かれている。

これが本書を激しく推奨する第2点目。

2009年02月12日

Moonlight 1.0 goes live

Moonlight 1.0 goes live - Miguel de Icaza

MonoプロジェクトのSilverlight互換Moollight 1.0が正式リリースとなったようです。

また、上のBlogではMoonlightの今後についても書かれています。

Moonlight - Mono

MoonlightRoadmap – Mono

2009年02月11日

気になる本:プログラミングC# 第5版のつづき

オライリーのサイトで注文できるようになりました。

Book:プログラミングC# 第5版

今ならオライリーのノート&ペンがもらえるほか、他のC#本と一緒に買えばキーホルダーがもらえるようですよ。

2009年02月06日

OPC Core Component, .NET API アップデート

久しぶりのOPCの記事だ。

OPC Core Component SDK 101.2

OPC .NET API 2.00 Redistributables (x86) 103.0

変更点はCore ComponentはVistaのUAC対応、.NET APIはIP V6環境での互換性向上のようです。

元ネタは毎度おなじみOPC Programmers' Connectionです。

2009年02月05日

Download details: UC Managed API 2.0 SDK (64 bit)

memo. UCMA 2.0 & Speach language packs

Download details: UC Managed API 2.0 SDK (64 bit)

Download details: Microsoft Office Communications Server 2007 R2 UCMA 2.0 Speech Language Packs

2009年02月03日

XMLで何した?とあなたに言われましても。。

youdidwhatwithxml 

元ネタ You did what with XML? at Douglas Purdy

そういえばドン箱先生のファンサイトも見つけました。。

House of Don Box - A Tribute to a Programmer, Author and Speaker - Windows Live

2009年01月31日

Oslo SDK January 2009 CTP

新CTPです。。

Download details: Oslo SDK Jan 2009 CTP

変更箇所等々はReadmeを参照のこと。

Don BoxのBlogが久しぶりに更新されたと思ったらこれだもの。

Fresh Oslo Bits - Don Box's Spoutlet - Pluralsight Blogs

はじめての “Oslo” – Tech Days 2009 でのサンプルと解説

Tech Daysも終わり登壇者の皆さんからのフォロー記事もあがってきました。

長沢智治のライフサイクルブログ : はじめての “Oslo” – Tech Days 2009 でのサンプルと解説 - Part I

長沢智治のライフサイクルブログ : はじめての “Oslo” – Tech Days 2009 でのサンプルと解説 Sample Code- Part II

ということで長沢さんのOsloでのサンプルのコード。Mの入手先やインストールについての説明もあります。

Tech Days 2009 で使用した F#入門で使用したサンプル

今度は最終日のF#のサンプルです。

荒井省三のBlog : Tech Days 2009 で使用した F#入門で使用したサンプル

2009年01月29日

Microsoft Tech Days 2009 2日目

ということでまとめ

T3-307 分散キャッシュテクノロジー Verocity

今年リリース予定のV1ではレプリケーション機能なし。以上。

自分にとってはこれで十分。。代替技術を探さなきゃ。

たぶん目指すところがというかライバルがMemcachというよりOracleやIBMの高額有償賞品なんだろうけどちょっと開発が遅すぎないかい。。

まぁ今はプロジェクトとして残ること自体が幸運なのかもしれない

BOF-5 モデリング

森屋さんと福井さんによるBOF。

前半はAzureの話だったらしいがその後半はOsloについて。まぁBOFなので前日のOsloのセッションに比べればデモ通信ではるかに濃い目。当然こっちのほうが楽しい・

200人らしいので(何が?)信じてもいいのかもしれない。

OsloのモデリングプラットフォームについてはUMLやDOAのモデリングツールのような完成品を求めるのではなく、独自のDSLを作成し、モデリングをしていくためのモデリングツールとして考えたほうがいい。

BOF-6 魅せます、Monoの実力

ノベルの榎本さんによるBOF

Monoの概略、.NET Fxとの互換性の話、Moollightのお話とデモ。

シャレでMoonlightというビスケットが出た

Monoが.NETの互換環境だけでなく、Gnomeの環境を立地にする目的があるという点が印象的。

個人的には榎本さんに会えたのがよかった。モノミーティングいきてぇ

T3-310 F#入門

講師は荒井さん。

「そもそも関数型言語に入門なんてあるのか?」はその通りかと思う。

内容はF#の言語使用の説明

「関数型言語は式」はごもっともというか、多分それが一番分からない

関数型言語はパラダイム変換で頭の中を入れ替えることが何よりも大事だと思う。荒井さんもセッションの中で言っていたけど、関数型言語はそもそも排他制御が必要な変数がないのこともあり並列との相性はすこぶるいいので、ある日気づいたら今の手続き言語と立場逆転しているかもしれないよ。

2日間通しての感想

やっぱりBOF(の方が)が面白い。

セッション内容は開発者向けにTech Edよりも程よく濃くよかったのではないでしょうか。ただまぁ二日間それも午前中はキーノートに取られるという短い時間なのですがもう少しそれぞれに突っ込んだセッションがあってもよかったのかと思います。

Microsoft Tech Days 2009 1日目 その2

ということで、残りの分まとめ

T3-302 初めてのOsloモデリングプラットフォーム

議論の前提となる「モデル」に対する考察

現在のOsloの基本的な構成について

  • モデリング言語”M”
  • グラフィカルなモデルエディタ・分析ツール”Quadrant”
  • レポジトリ(現状はSQL Server)
M言語についての解説

シンプルかつ自然なモデリング

ドメインモデル

Textual DSL

やりたいことはMでDSLを作ってモデルを活用すること

Quadrant

グラフィカルなモデリングツール

人とデータをつなぐツール

Osloはモデリングのプラットフォーム

感想:

Osloの全貌はまだまだこれからだなぁという印象。Mは非常にニュートラルだと思うので、これで完結したものというより、いかにこれを使って独自のDSLを作成していくかだと思う。

T3-303 スケーラブル名並列プログラミング

メニーコアシフト

フリーランチが終わった時代

我々がマルチ、メニーコアに対応しないとハードウェアを活用できない。

その障害としてのアムダールの法則

フリーランチを取り戻す=スケーラブル名並列プログラミング

閉校と並列の違い

マネージドコードでの並列化

ユーザーモードスケジューラー

スレッドプーリングの機構を有効に活用する

Taskベースのプログラミング

  • Threadクラスの使用をやめて、Prallelエクステンションを使用する
  • System.Threading.Taskの使用

構造的な並列化

  • ループは並列化しやすい
  • Parallel.For, Paallel.ForEachの使用

宣言型の並列化

  • PLinq
ネイティブコードでの並列化

メモリ共有ベースの並列化ライブラリ。テンプレートベース。

Agentライブラリ。メモリ共有型でなく、メッセージベースの並列化

感想:

.NET Fx 4から導入される並列化機能の解説が中心。ネイティブコードでのメッセージベースの並列化支援はNUMAアーキテクチャが中心となるマルチプロセッサ環境、ヘテロジーニアスなマルチコア環境が当たり前になりつつあり重要になってくると思う。

2009年01月28日

.NET 3.5 SP1の新しいGDRが出たの?

関連KBダウンロードファイルともタイムスタンプが更新されています。。何か変更されたの。。

An update for the .NET Framework 3.5 Service Pack 1 is available

List of the issues that are addressed by the Application Compatibility Update for the .NET Framework 3.5 SP1

ダウンロードの詳細 : Windows Vista x86 および Windows Server 2008 x86 用 Microsoft .NET Framework 3.5 ファミリの更新プログラム

前回文書を持っていないので何が前回GDRから変更されているのかが分からない。それともWindows UpdateでSP1 + GDRが流れるという話だったのそのためのリパッケージなんだろうか。。

GDRでの修正点はかなりヤバいので、よく分かるようにKB書いてほしいな。後早くKBの日本語!

ASP.NET MVC 1.0 Release Candidate

ASP.NET MVC 1.0 Release Candidate Now Available - ScottGu's Blog

ということでございます。

あれこれ忙しいです。

Microsoft Tech Days 2009 1日目

2日目が始まろうとしていますが昨日の状況をちょっとまとめます。

キーノート

キーノート内容はMicrosoft Azureの概要説明、開発方法の説明など。

続きを読む "Microsoft Tech Days 2009 1日目" »

2009年01月26日

書評:ひなた先生が教えるデバッグが256倍速くなるテクニック



Visual Studio 2008を前提にしたデバッグのハウツー本。ただツールの使い方というより、その時にどう考えればいいのかというところに注目して書かれている本。
デバッグの方法を特に誰かに教えうけたわけでもなく我流でやってきて行き詰っている人や、この本の主人公(w)のケンイチくんのようにこれからデバッグにかかわっていくプログラマ初心者には何をどうすればいいのかという点に道筋をつけている点でいい本だと思います。
ただそれにしてはC/C++のデバッグに必須ともいえるプロセッサの仕組み等奥行きに関する記述が少なく、これだけで済まないのも事実で、その点についてはこの本の後にさらなる書籍に移っていく必要があるので、それらの書籍の紹介もあったほうがいいと思う。

2009年01月21日

エラー メッセージ

実践的なユーザビリティ: 実用的なエラー メッセージ

このMSDNマガジンの記事を読んで思い出したのがこの本。今でも職場の手の届くところにおいてある。

Windowsエラーメッセージ実装ガイド Windowsエラーメッセージ実装ガイド
Ben Ezzell 古山 一夫

オライリー・ジャパン 1999-03
売り上げランキング : 449944
おすすめ平均

Amazonで詳しく見る
by G-Tools

アプリケーション内部で何らかのエラーが発生した場合、フレームワークやランタイムのエクセプションの情報そのままメッセージボックスで表示するアプリケーションが多いが、それではほとんどユーザーにとって何が起きたのかわからないし、それでできることはユーザーはマシンをリブートして、あなたにクレームの電話を入れることぐらいで、恐らくユーザーにとっても開発者であるあなたにとっても改善や修正に有用な情報は何も残せない。

適切なエラーメッセージとは、ユーザーに対しエラーメッセージを出す以上それがユーザーにとって理解でき、有用な物、少なくとも有用だと感じられる物でなくてはならない。 この本には全編にわたりこのことについて語られているが、完結にまとめるとエラーメッセージとしてユーザーに表示すべき事は以下の3点である。

  • 何が起きたかを想定ユーザーにわかるように説明する。
  • その原因が何と推定されるかを想定ユーザーにわかるように説明する。
  • このエラーによってユーザーに起こしてほしいアクションを説明する。

当然これだけのことを書こうとすれば、メッセージボックスなどで終わりにできるはずがない。適切なフォーム設計が必要であり、それについても実際の実装について書かれている。

ただ、いかんせんこの本が対象としているのは昔のVC++とVBなので、この中のコードをそのまま今の環境にはもってこれないし、時代の変化に合わせた修正も必要だ。(そして今絶版。。)

そう言う意味で、今回のこの記事は運悪くこの本に巡り会えなかった人にエッセンスを伝える意味やこの本の内容を現代化する意味でも読むに値する記事だと思う。

異常時にちゃんとしてくれることこそユーザービリティの第一歩だ。

※ただ自分はこのMSDNマガジンの記事のようには実装しないなーという気はしてる。

※スタックトレースの情報どうすんだって香具師むけに追記しておくと、そんなもんはユーザーに見せずに黙ってログしろと言うことだ。

.net by au

Brew上で(おそらくCLIが走ってその上で).NET Fxのアプリケーションが走ることになったようです。

.net by au | モバイルソリューション | KDDI株式会社

概要・特長

au携帯電話上で動作する、Microsoft® .NET Frameworkと互換性を持つオープンなアプリケーションプラットフォームです。
Windows® PCなどでの.NETアプリ資産、開発ノウハウを流用し、低コスト・短期間での業務用アプリケーションを導入を可能にします。

.NET環境でのアプリケーション開発

Microsoft® .NET Frameworkのサブセットをau携帯電話上に用意することで、豊富な.NETアプリ資産、開発ノウハウを流用しアプリケーション開発を行うことが可能となります。

これってあれか、このときに玉木さんが話していたやつか

エミュレータ付きのSDKとかダウンロードできるようになったりしないかな。

Microsoft Web Platform Installer 1.0 リリース

ようは、これ一つインストールすれば個別コンポーネントやプロダクトをかき集めたりと言った面倒なこともなく、それらのインストールも自動で行われてすぐに開発が始められますよというパッケージです。(英語版ですけど)

  • Internet Information Services 5.1 on XP SP3
  • Internet Information Services 6.0 on Server 2003 SP2
  • Internet Information Services 7.0 on Vista SP1 and Server 2008
  • SQL Server 2008 Express
  • .NET Framework 3.5 SP1
  • Visual Web Developer 2008 Express SP1
  • ASP.NET, Complete and Custom installation options
  • XML-based product manifest updated automatically when tool is run

ダウンロードと概要はこっちから

Microsoft Web Platform

Windows 7 に.NET Fx 3.5 SP1 GDRが適応できない

もうあたっているから?UACを切っても状況変わらず。

追記(11:03):

onoさんから教えていただいたのですが、Win7にインストールされている。NET FxはGDR+Win7対応がされたもののようです。(以下参照)

ディベロッパー製品開発統括部 Blog : Windows 7 に入っている .NET Framework

取りあえずこっちは解決だな。

2009年01月19日

気になる本:プログラミングC# 第5版

O'Reilly Japan News 第132号より

-----------------------------------------------------------
■プログラミングC# 第5版

   * Jesse Liberty、Donald Xie 著
   * 鈴木 幸敏、首藤 一幸、株式会社情報技研 訳
   * 定価5,040円
   * 608ページ
   * ISBN978-4-87311-396-8

鶴本!キタ━━━━━━━━m9( ゚∀゚)━━━━━━━━!!

発売は来月です。

その前にプログラミング言語Rubyだの、初めてのPython第3版なども控えているわけですが。。

http://www.oreilly.co.jp/books/9784873113944/

2009年01月15日

Windows Azure のツール類がアップデート

Windows Azure Software Development Kit (January 2009 CTP)

Windows Azure Tools for Microsoft Visual Studio January 2009 CTP

元ネタ:
Windows Azure : Updated SDK and Tools for Visual Studio Available Now

2009年01月09日

Download details: Sample Source Code for Silverlight 2 Runtime and SDK Controls

Sliverlight2の標準コントロールのソースコードとユニットテスト。

Download details: Sample Source Code for Silverlight 2 Runtime and SDK Controls

2009年01月01日

.NETでの例外処理について

とあるコンサルタントのつぶやき : .NETの例外処理 Part.1

まぁわかるんだけど、例外発生時にプロセスを落としていいかどうかでこの考え方は根本的に変わってしまうね。まぁそこでケースバイケースなんだろうけど。

たとえばディスクIOエラーとかDB関係のエラーは、次の機会では回復する可能性もあるので、その例外が発生したときにプロセスが落とすか、落とさないかというのはシステム要件だね。僕の仕事では例外処理を入れてログに出させて、必要な利用者にメッセージを出して(メッセージボックスじゃないけどね)とりあえず処理を継続させる方が正しい。

まぁ結局システム要件ごとに例外処理も実際には変わってくるし、これでどれでもOKということもないので、結局自分の頭で考えることになるけど、参考になる記事だとは思います。

2008年12月19日

ダウンロードの詳細 : Microsoft .NET Framework 3.5 Family Update for Windows Vista x64, and Windows Server 2008 x64

Bug Fixの為のアップデートのようなんだが、参照先KBが存在していなくてさっぱり内容がわからん。。

ダウンロードの詳細 : Microsoft .NET Framework 3.5 Family Update for Windows Vista x64, and Windows Server 2008 x64

ダウンロードの詳細 : Microsoft® Visual Studio Team System 2008 Database Edition GDR

そゆもの。SQL 2008への完全対応とか、VS2010搭載予定機能の一部先取りらしいです。

ダウンロードの詳細 : Microsoft® Visual Studio Team System 2008 Database Edition GDR

2008年12月13日

VS 2010 CTPが2009年1月1日で期限切れになってしまう問題

そうなんです。1月1日には期限切れになってしまうのです。

Brian Keller: Technical Evangelist for Team System : Visual Studio 2010 CTP VPC: Dealing with Activation Messages

上のブログではその回避方法として、Virtual PCの設定でホスト・ゲストの時刻同期を切ってしまい時計を元に戻す方法があげられています。。。

まぁこれもありといえばあり。

ただ一番スマートな方法は年末までにMSが新しいCTPをリリースするだろうなw

というか、日本でTech Daysをやるときに、せっかくセッションを受講してもさわるものがないという状況になりかねないよね-。

2008年12月11日

IronPython - Release: 2.0

キタ━━━━━━━━m9( ゚∀゚)━━━━━━━━!!

IronPython - Release: 2.0

いよいよリリースですよ!

リリースノート

2008年12月05日

気になる本 : The Root of .NET Framework

荒井さんがこういうタイトルの本を出すらしいのだが、どういう内容になるんだろう。

コンピュータ書籍専門ネット書店 cbook24 The Root of .NET Framework

DBが嫌いなんですね。わかります。

ダレカトメラレナカッタノカ?

最終回 LINQ to SQL/落ち穂拾い - @IT

使うなとは言わないけどさ。

Crack.NET - Home

 Crack.NET – Home

ほほう。内部解析だけでなく、スクリプトインジェクションもできると。

いろいろとデバッグ等に使えそうです。

InfoQ: Crack.NET – Like Greasemonkey for WinForms and WPF Applications

2008年12月03日

Booの入門記事

.NET言語、Boo入門 (1/5) :TEDIA

Booの日本語で読める入門記事が登場しました。

BooはIronPythonのようにCLR上で動作するスクリプト言語で、ダックタイピングを備えていたり、特徴的な言語文法を持っています。

2008年11月27日

I18N : MSDNマガジン CLR 徹底解剖: 国際化対応のアプリケーション

メモ。

CLR 徹底解剖: 国際化対応のアプリケーション

I18N : New Recommendations for Using Strings in .NET 2.0

メモ。

New Recommendations for Using Strings in .NET 2.0

IronPython 2.0 Release Candidate 2

出ました。

IronPython - Release: 2.0 Release Candidate 2

今回はバグフィックスのみ。

またCodePlexにDLRのページができた(あった?)みたいです。

Dynamic Language Runtime - Home

2008年11月19日

Microsoft Robotics Developer Studio 2008リリース

プレスリリース:
Microsoft Unveils Microsoft Robotics Developer Studio 2008: Software development platform allows academics, hobbyists and commercial vendors to simplify the creation of robotics applications across a wide variety of hardware.

ダウンロード:
Microsoft Robotics Downloads

ということで正式リリースです。

Express EditionとStandard Editionがあり、Standardは62,800円ほど。Expressは無料です。

リリースノートによると違いは以下の通り

With this release of RDS the package has been split into two Editions:

  • Express Edition
  • Standard Edition

The Express Edition is available for download from the web at no charge. Standard Edition can be purchased online and then downloaded. Academic institutions can obtain the Standard Edition as part of the MSDN Academic Alliance for distribution to their students, or students can get a copy through the Dreamspark program.

The different Editions contain different features, with Express Edition being a subset of the Standard Edition. Both Editions can be installed side-by-side if necessary. There is no upgrade - you simply install Standard if you already have Express and move any code you have written across to the new directory where it will work without changes (other than recompilation).

って、具体的に何が違うのかわかんないじゃん。。機能比較表とかないらしい。

2008年11月18日

I18N : また照合順序か(その三)

愛々問題をざっと調べてみた - ものがたり

ちなみに、.NET 4.0では文字列処理はordinalがデフォルトになるそうで、もう何年も前からMSのglobalization担当者が見ているところでそうしろと主張していた僕は、ようやく来たかと思ったのであった。

なるほど。

VS2010 CTPの環境でなんの問題も出ないはずだ。コード比較であればこの問題の出ようが無い。

しかし、MSが長い間混乱しながらNLSとSQL Serverで別々に実装してきた照合順序(文字重み付け)での文字比較とソートって言うのはなんだったんだろうね。

2008年11月14日

I18N : また照合順序か(続)

OPC Diary: I18N : また照合順序か

フィードバックのコメントでNyaRuRuさんが内部的にはNLS APIを呼び出しているだけという事がわかりました。やっぱりWindowsの文字の重み付けがおかしいです。ありがとうございました。

で、終わるかと思ったのですが、Visual Studio 2010 CTP環境(Visual Studio 2010 Version 10.0.11001.1 CTP2VPC)で、Console.WriteLine("{0}", "愛々,1,2,3".IndexOf(","))を実行すると2が返ってきます。。

検証時の設定ロケールは以下の通り。

User Locale : Japanese
System Locale : English / US

うーーーーん。。.NET FX 4.0で実装変わったのか、Windows 2008でNLSの文字の重み付けが違うのか検証しないと行けなくなってきた。。

とりあえず時間切れ。

2008年11月13日

I18N : また照合順序か

愛が重ならない.NET Framework 2.0 - 新日々此何有哉

また、照合順序上の重みがない事による不具合です。もしかすると.NET FXの不適合ではなく、WindowsのNLS APIかもしれませんが。

ということで日本語が必要な人は以下のページにて高評価(Vote)しましょう。

"愛々,123".IndexOf(",")が不正な結果を返す
https://connect.microsoft.com/VisualStudioJapan/feedback/ViewFeedback.aspx?FeedbackID=381451

2008年11月12日

書評 : The C# Programming Language

The C# Programming Language (Microsoft .Net Development Series)
The C# Programming Language (Microsoft .Net Development Series) Anders Hejlsberg

おすすめ平均
stars本は紙がいいのでやっぱり買おう
stars基本的な言語仕様書です

Amazonで詳しく見る
by G-Tools

C#言語仕様書の改訂版で、C# 3.0間での言語仕様に対応しています。今回の版では前回の版で追加章の扱いとなっていたC# 2.0での追加変更点が、適切な位置に整理されて再配置されている点、同じくC# 3.0での追加点も同様に整理されている点、Don Boxのような有名人のコラムが所々に配置されている点が改訂されています。

このようにC# 3.0の仕様が整理されているので、読みやすくなっていますし、挿入されているコラムによってただの言語仕様書ではなく読み物として面白い物になっています。

また、今回も立派な装丁なので、保有欲を刺激してくれます。

言語仕様書まで手元に置いて確認したいという人間はプログラマの中でもまれなのかもしれませんが、プログラマの心意気として言語仕様は常に参照できるようにしておきたい物です。

2008年11月11日

KB958017 - Rollup Hotfix for several issues in WPF designer Visual Studio 2008 - Home

そゆもの。

KB958017 - Rollup Hotfix for several issues in WPF designer Visual Studio 2008 - Home

ダウンロード
http://code.msdn.microsoft.com/KB958017/Release/ProjectReleases.aspx?ReleaseId=1719

KB(英語、独語のみ)
http://support.microsoft.com/default.aspx/kb/958017/

2008年11月10日

Visual Studio 2008 SP1 用 Microsoft Silverlight Tools

日本語版もRCがとれました。正式リリースです。これで安心して(?)使っていただけますw

ダウンロードの詳細 : Silverlight Tools

RC0をインストールされている方は、アンインストールせずにそのまま今回のSetupを起動すれば行けるようです。

川西 裕幸のブログ : Silverlight 2 Tools 日本語版http://blogs.msdn.com/hiroyuk/archive/2008/11/10/9057001.aspx

2008年11月06日

.NET Framework 4.0 での Base Class Library の変更点

.NET Framework 4.0では久しぶりにCLRが変更される。これの伴いBCL(Base Class Library)にも変更がなされる。

BCL Team Blog : What's New in the BCL in .NET 4.0 [Justin Van Patten]

この中では、Parallel Ext.は当然として、その他の注目点としては以下の通り。

  • Code Contract
    • 契約による設計を言語レベルで実装するために必要な物が用意されるのはすばらしい。
  • BigInteger
    • 言語実装で必要になる場合が多いので、BCLで持った方が良い。C0とかもあるし。
  • ResourceManager Improvements
    • 多言語対応がらみで変更が出てきそうなので注目
  • Tuples
    • Pythonで必要w

MemoryMapedFileはほしい人にはほしいんだろうな。個人的に好きじゃないのだけど。

2008年11月05日

ORマッパっている?必要?

LINQ to SQL と Entity Frameworkの今後 - 学び、そして考える

せっかくリンクしていただいたので、もうちょっと書いてみたと思います。

「えー、Entity Frameworkというのは、つまりマーチン・ファウラー氏のPOfEAA言うところのドメインモデルに相当するものでありまして・・・」

駄目だー。どん引きの聴衆の姿が目に浮かぶ-。

将来を見越せば、ドメイン中心、モデル中心的な考え方は大事なはずで。それを実現する Entity Framework は必要な技術でしょう。ただその思想をプログラマ全員に浸透させる自信が自分には無いです。

今までレコードセット/データセットに慣れきってきたWindowsプログラマがそんな簡単にDDDに移行できますかね。難しそうですね。そもそもみんなそんなアーキテクチャルなソフトウェアシステム設計してるの?

Enitity Fxはアーキテクチャを規定するので、はまるケースと、はまらないケースが当然あります。万能じゃありません。また、僕の感想としてはそもそもRDBとは何かとか、RDBMSが持つ癖やSQL文をすべて覆い隠してくれるかというとそう言うわけではなくて、むしろそれらの知識をEntity Fxの使用者が充分に持っていることを前提にしているように思います。

Entity FxはRAD的にDBアクセスコードが書けると言うよりも、Entity FxのDSLにより、設計と実装が一致できるというメリットを享受すべき物だと考えます。

したがって、設計、実装のスタイルもきわめてアーキテクチャルなスタイルを要求するのです。

ということで、ORマッパがあろうと無かろうとどうせSQLは書けないといけないのです。

お気楽極楽にやりたいならSQLでストアードプロシージャを書いて、今まで通りADO.NETでそのストアードプロシージャを叩いてデータセットを作った方が良いんじゃないですかね。

2008年11月04日

Linq to SQLて死滅しちゃうの?

するよ。

Linq to SQLが死滅するようです。って当然じゃん。 - ものがたり

id:atsushieno:20080609:p1 の時は憶測で終わっていた話だけど、Linq to SQLはどうやらdisconの方向らしい。ADO.NET team blogにUpdate on LINQ to SQL and LINQ to Entities Roadmapという投稿があって、今後はLinq to Entitiesが開発されていくということが書かれている。

上記エントリには大量のフレーミングが押し寄せていて、そのうちのいくつかは、何というか、腹立たしい。

個人的にはEntity Fxの発表があった時点で気づけよってだけですね。こう、勘の悪い人って過去にもいっぱいいたりするわけですけど。

もっともそのEntity Fxも微妙に大風呂敷で、MSの過去を知る人間にとってはUDAだとかStorage+なんて言葉を思い出してですね、眉に唾つけとこうとか思ったりもするわけですが。

2008年11月03日

What's new in Visual Basic 10 @ Channel 9

Paul VickがOsloチームに移った後、VBの言語仕様とりまとめは誰になるんだろうと思っていたのですが、 Lucian Wischik氏がその任に当たるようです。


Lucian Wischik and Lisa Feigenbaum: What's new in Visual Basic 10

2008年11月02日

VPC上System.Threading.Parallelが思ったように動かない。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
 
namespace ParallelTestProjects
{
    class Program
    {
        
 
        static void Main(string[] args) {
            Action<long> con;
            con = WriteNumericConsole;
 
            Parallel.For(0, 100,  con);
            Console.Write("Please put any key. : ");
            Console.ReadLine();
        }
 
        public static void WriteNumericConsole(long i) {
            Console.WriteLine(i);
            return;
        
        }
        
    }
}

Viertual PC上のVisual Studio 2010で上のようなコードを実行させると、0から100の数字がばらばらに表示されるといったこれぞパラレルという感じの実行結果になりませんね。この辺はVirtual PCの特徴の一つなのでどうしようもないところだったりします。Hyper-Vで論理CPUを複数設定できる様な環境であればうまくいくのかもなぁ。

PDC 08のまとめ

一言でまとめると。

ハイブリッド

当面のMSの戦略はクラウド・コンピューティング/ユーティリティ・コンピューティングと従来のバックオフィス、デスクトップの組み合わせを推進し、そのための技術・製品を提供する。

ユーザー、パートナーに対して、急激に今すぐにこちら側に来いというのではなく、選択肢としてユーティリティ・コンピューティング環境、クラウドのサービスを提供した上で、彼らにまずは今ある資産との組み合わせでクラウド・コンピューティング/ユーティリティ・コンピューティングを考えさせようという戦略。一部の所有を認める点がすべてを雲の向こう側に、すべて我々の中にと言うGoogleとの一番大きな違いはそこだろう。

それが正しいこととか、最後はどちらが勝つかそんな事はわからない。

ただ、N.G.カーのように電力にたとえるならば、すべてが集約的な電力会社の発電所に発電設備が集約されたわけではなく、ユーザーは必要に応じて完全自家発や自家発と商用電力の組み合わせ、バックアップとしての自家発設備の保持をしている今の電力供給の事実を見れば、ITでも自家発電設備は無くならないだろうと予測できる。

いつでも選択肢は必要なんだ。

Microsoft® Silverlight™ Tools for Visual Studio 2008 SP1

英語版ではRCがとれ、Microsoft® Silverlight™ Tools for Visual Studio 2008 SP1がRTMとなったようです。

Download details: Silverlight Tools

日本語版はまだです。

またExpression Blend 2.0 SP1の日本語版も登場しています。

http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=eb9b5c48-ba2b-4c39-a1c3-135c60bbbe66

完全に日本語環境でそろえるには、もうちょい待ちですかねー。

Mono and .NET @ PDC 2008

今年のPDCを、あるいは今のマイクロソフト() を象徴していると思われるので、紹介します。

MonoのリーダーであるMiguel de IcazaによるMonoに関するプレゼンテーションです。3年前のマイクロソフトで自分たちの看板カンファレンスにいくら.NETとはいえOSSのプロジェクトが紹介されることがあり得たでしょうか?クラウドだけでないマイクロソフトの変化の一片がここにもあります。

Mono and .NET | pdc2008 | Channel 9

プレゼンテーションも印象的なので是非。OSSプロジェクト有る分マーケティングに捕らわれず実験も可能なのが強みだと思います。CLIでのSIMDサポートはかなりおもしろそうです。

ものがたりさんが要点をまとめてくれています。

Mono on PDC 2008 video - ものがたり

2008年11月01日

PDC 2008 | Channel 9

ということで、PDCも終わりましたが、正式にChannel 9でセッションが公開になるようです。

PDC 2008 | Channel 9

有料カンファレンスになのに何で?という意見もあるでしょうが、日本ではなかなかそうなりませんが、向こうではこういうカンファレンスに出る目的はセッションを聴講することがメインなのは変わりませんが、講師やオーディエンスとの議論、BOFでの議論、多くのスポンサーブースでの情報収集も大きなウェイトを占めるのであんまりびっくりすることではないかと思います。

むしろ今回のPDCの内容はマイクロソフトの大きな変化を示すとともに、パートナー・開発者、製品利用者にも大きな変化を求める物であり、そのためにはセッション公開ぐらいは必要だと考えたのでしょう。

Microsoft project code named "Velocity" : PDC Videos are here!

あとでみる

Microsoft project code named "Velocity" : PDC Videos are here!

2008年10月31日

Windows 7からのグラフィックプログラミングについて

ユーザー視点ではWindows 7は間違いなくWindows Vistaのマイナーバージョンアップで、Windows 3.0から3.1の時のようなパフォーマンス改善とUIのブッシュアップが主になるが、開発者から見た場合の一番大きな変化はグラフィックに関するプログラミングモデルの変更だろう。

Windows 7では今までWindowsグラフィック/印刷の主体であったGDI/GDI+は下位互換性のために存在し(レガシーとはそう言うことだ)ネイティブなグラフィックAPIは新しくできるDirect2D / DirectWriteになる。しかし、これのプログラミングモデルはDirect 3Dの物で、GDI/GDI+のそれとは文化が違いすぎる。 一般的な業務アプリケーションやビジネスアプリケーションのパッケージソフトウェア開発者にとって、グラフィックのプログラミングはGDI/GDI+の範囲で収まるため、Direct 3Dプログラミングモデルは全く未知の領域で、技術的にも心理的にも(こちらの方が大きい)乗り越えなければならない壁が大きすぎる。

こうなってくると結局その壁を乗り越えてくるプログラマなり、ソフトウェア開発者は少ないので結局GDI/GDI+が使われ続けることになるのではないだろうか。

ただ、直接GDIを使う人間は実際には少ない。多くの開発者はMFC(*1)や.NETのWinFormを経由してGDI/GDI+を使用している。従って、Windows 7 / Direct2Dを成功に導くにはこれらのライブラリをDirect2D化することで、普及を図るような方策が必要になる。啓蒙や本を出すことは必要なんだけど、それだけじゃ誰も手を出さないよ。また、印刷でXPSは良いのだけど、これもDirect2D/Direct Writeで画面上に描画している内容をそのままXPSへ展開させる仕組みをちゃんと作っておかないと、これはこれでこれまた全くうまくいきそうにない。(*2)

なんか僕にはDirect2Dへの以降はそうだなぁMacOS Xの開発でいうとCarbonからCocoaへのスキームチェンジと同じぐらい困難なスキームチェンジのような気がするのです。(逆にCarbon作れと言っているわけです)

参考:
Windows 7 Developer Guide とグラフィックスの改良点 - NyaRuRuの日記


(*1)とは言ってもMFCの場合はGDIが見えているのだけど。

(*2)その前にXPSは良いが、プリンタドライバはどうするんだ?

2008年10月30日

CCR and DSS Toolkit 2008

CCR and DSS Toolkit 2008 ッテナニ?

CCR & DSS

ナニカ コレカラ カカワリアイニナリソウナキガスルノデ ベンキョウシヨウカナトオモッテイマス。。。

※)まじめにここ数日ついて行けません。

追記(15:52)

関連ビデオ

The Concurrency and Coordination Runtime and Decentralized Software Services Toolkit | pdc2008 |

WCF: Zen of Performance and Scale | pdc2008 | Channel 9

後で見られると思う。。

WCF: Zen of Performance and Scale | pdc2008 | Channel 9

Day Two #2 - Chris Anderson and Don Box | pdc2008 | Channel 9

どん箱先生の登場。今回もクリスとの掛け合い漫才。あとで続きを見る。こればっかりだ。。

Day Two #2 - Chris Anderson and Don Box | pdc2008 | Channel 9

2008年10月29日

Ray Ozzie: Reflections on Azure | Charles | Channel 9


Ray Ozzie: Reflections on Azure
あとで見る。

LukeH's WebLog : F# on Windows Azure

関数型言語、その中でもocaml偏愛の皆さんおはようございます。

F#がAzureに対応しているようですよ。

LukeH's WebLog : F# on Windows Azure

簡単なチュートリアルが紹介されています。

まぁ、僕はへたれだからC#ですけどね!