なにやら "D" というカンファレンスでビル・ゲイツによって MSN Virtual Earth というものがアナウンスされたそうです。
まぁ、基本的には Google Maps の衛星写真モード と同じものみたい(^^; ただ、45度斜め上から見れるようでそれがすごいってことみたい。(けど、Google Maps もそうだけど、詳細な画像はアメリカ国内くらいしかないんだろうなぁ)
2005年5月24日火曜日
MSN Virtual Earth
VS2005 Express をレジストレーションすると eBook がもらえる?
Visual Studio 2005 Express をレジストレーションすると http://lab.msdn.microsoft.com/express/register/default.aspx にある online book にアクセスできるようになるみたいですね。http://lab.msdn.microsoft.com/express/vcsharp/default.aspx とかにも 「Register Visual C# 2005 Express Edition Beta 2 within 30 days and you will receive access to free online books and other valuable information.」 とあります。30日以内というのが必要条件なのかどうかはわかりませんが、レジストするとフリーの online book と有益な情報へのアクセスを受け取れるそうです。C# だけではなく VWD、VB、C++ などにも同じような文言が書いてあります。
けど、レジストの特典について書かれているのは英語版のほうだけで日本語版のほうにはそういった記述はないみたいです。日本語版でもレジストすると online book にアクセスできるようになるのかどうかはよくわかりません。まぁ、アクセスできたとしてもこれらの online book は英語の書籍なんですけどね。どうせだったら日本語の書籍が読めるようになったりするとうれしいんだけどなぁ。
ちなみに私は MSDN Subscriber Download から VSTS 日本語版をダウンロードしてセットアップしました。これって、Express と違ってレジストレーションはなかったように思います (少なくともレジストみたいなことをした記憶はない)。なので、レジストすると具体的にどうなるのかとかはよくわかりません。
# このためだけに Express を入れるのも面倒だしなぁ
2005年5月23日月曜日
Microsoft Update ベータ
The new Microsoft Update is pretty cool より
Microsoft Update なるもののベータが始まったそうです。FAQ によると、Microsoft Update っていうのは 「Windows だけではなく、インストールされている他の Microsoft 製品 (Microsoft Office、Exchange Server、SQL Server など) のアップデートを助けてくれる新しい Web サイト」 ということみたいです。
2005年5月20日金曜日
Microsoft Research が C# で OS を開発中
An operating system written in C# より
Microsoft Research が C# で書かれた新しいオペレーティングシステムを開発中とのこと。その名は Singularity というらしい。
と言っても、Microsoft Research は Microsoft の研究開発部門なので、「Longhorn の次の Windows は C# で書かれるらしい」 とかって早合点しないことw
Singularity がどんな OS なのか調べてはいないけど、個人的には 「Managed の Managed による Managed のための OS」 である Ponytail あらため CooS にがんばって欲しいなぁと思ってたり(^^;
VS2005 クラスデザイナの機能拡張
PowerToys for the Visual Studio 2005 Class Designer and Distributed System Designers より
VS2005 のクラスデザイナにいろいろな機能を追加するアドインが GotDotNet Workspace にあるそうです。
が、VS2005 beta2 日本語版に入れてみたところエラーが出てしまいます (VS2005 の起動時にアドインでエラーが出たというメッセージが表示されます。なお、このアドインが使えないだけで VS2005 自体はちゃんと動いているみたいです)。なぜだろ?英語版じゃないとダメなのかなぁ。もし、動いた人がいたらどんな感じか教えてください。
2005年5月17日火曜日
Visual Studio "Hawaii"
一色さんの IT+ 「Visual Studio "Hawaii"」 で知った
eWeek: 'Hawaii': A Visual Studio Paradise for Developers? より
ちゃんと読んだわけでも、ちゃんと読めるわけでもないんですが(^^; ざっと読んでみました。
"Whidbey" (これは Visual Studio 2005 のコードネーム)、"Orcas" (これは Longhorn と同時期に出ると言われている Visual Studio のコードネーム) の後に続く Visual Studio はコードネーム "Hawaii" だそうです。しかし、「according to sources familiar with Microsoft's plans」 なんてありますが、これは 「Microsoft の計画に近い筋によると」 ってこと?いったいどんな筋なんだろう?
で、"Hawaii" は 「完全に再設計されたツールセット」 なんてありますね。Whidbey、Orcas と今まではアメリカ大陸北西の太平洋側の島の名前をコードネームに使ってたけど、新しいバージョンはデベロッパにとってこれら 2つのバージョンとはずいぶん違うものになるから "Hawaii" にした、みたいなことが書いてある。
Orcas の計画は今春か夏から全力で始まる、みたいなことが書いてあるな。うーん、Longhorn はいちおう 2006年ということになってたと思うけど、Orcas って 2006年に出るんだろうか?歴史的に見ると Visual Studio は複数の開発が同時期に行なわれていた、みたいなことも書いてあるから、すでに Orcas の開発も進んでいるってことなんだろうけど。。。Visual Studio.NET の 2002 と 2003 みたいにマイナーバージョンアップになっちゃったりしてw。 2002 → 2003 は .NET Framework 1.0 → 1.1 と .NET Framework 自体もマイナーバージョンアップだったからそれでもよかったけど、Whidbey → Orcas は .NET Framework 2.0 → WinFX ということでかなり大きなバージョンアップになると思ってたんだけどなぁ。もっとも 「ほんとに WinFX なんてものが出るの?」 という気がしないでもないんですが。Avalon/Indigo の CTP が提供されたり、逆に WinHEC で公開された Longhorn の最新ビルドには WinFX が含まれていないなんていう話を聞いたりと、こうなるともう 「WinFX っていうコードネームはこのままフェードアウト?」 という気がしちゃうし、さらに言っちゃうと 「WinFX の正式名って、ひょっとして .NET Framework 2.1?w」 という気がしちゃうわけです(この辺は完全に個人的な想像でなんの根拠もありません)。
けど、記事の 2ページ目の最初のほうにありますが、Orcas は Avalon、Indigo、XAML、コードネーム Sparkle (Avalon での開発をサポートしてくれて XAML を記述してくれる?この辺、よくわかってません)、というような Longhorn といっしょにやってくるいろいろなものをサポートする必要があります (というか、サポートしてくれなかったら悲しい)。そういう意味では結構なメジャーバージョンアップになるんでしょうね。
と、個人的には Hawaii よりも Orcas だな。つか、その前に Visual Studio 2005 だなw
(記事のほうでも Hawaii よりも Orcas のほうが多く扱われているような感じ。まぁ、Hawaii なんて、まだコードネームが出てきただけって段階でしょうからねぇ)
XAMLshare.com
A new XAML wiki: XAMLshare.com より
http://www.xamlshare.com/ というのが立ち上がったそうです (FlexWiki を使った Wiki サイトです)。
「XMLshare は、デザイナやデベロッパ、他のみんなが Microsoft "Avalon" ベースのユーザインターフェースのための XAML のサンプル、コントロール、スタイルを検索したり共有したりするための中心的な場所」 だそうです。
まだ、始まったばかりでほとんど情報はないみたいですが、http://www.xamlshare.com/default.aspx/Objects/PlayingCard.html こちらに XAML で書いたトランプのカードがあります (なげぇ)。で、http://www.xamlshare.com/default.aspx/Objects/PlayingCardHand.html こちらにそのカードを扇型に並べた XAML コードがあります。
VS2005 Team Foundation Server を動かすのに必要なハードウエアリソース
Team Foundation Hardware Requirements より
何人規模のときにどの程度のハードウエア (CPU、ハードディスク、メモリ) が必要になるかがまとめられています。
# もちろん、まだまだ beta の段階なので確定した値ではないんでしょうが。
Terrarium 1.2
Terrarium 1.2 Server Available より
2005年 5月 10日付けで Terrarium 1.2 が更新されています。
# というか、まだメンテされてたんですね。「なつかしー」 とかって思っちゃいました(^^;
SQLCLR と Transact-SQL のカーソル
SQL Server 2005: Migrate cursor developed stored procedures より
上記の blog でとっても単純なテーブルに対して
select sum(cast(a.ID * b.ID as decimal))
from tableA a, tableA b
という SQL を実行すると 1秒もかからない。
同じ内容を Transact-SQL のカーソルを使ってぐるぐるループするようにした場合は 1分くらいかかる。
この Transact-SQL と同じ意味になるようにした SQLCLR (カーソルのかわりに DataReader でぐるぐるループする) の場合は 7秒くらいですむ。
だそうです。
あたり前と言えばあたり前ですが、普通の SQL ですむものはやっぱりそれが一番速いわけです。しかし、カーソルを使わなくちゃいけないような場合は SQLCLR を使う価値もあるかもしれないということになるようです。(けど、そもそもカーソルなんてなるべく使わないようにするってのが一番だと思いますが(^^; )
まぁ、カーソルうんぬんは置いておいて、これは Transact-SQL でループだとかといったロジックを組むよりは SQLCLR で組むほうが速くなる(場合がある)ということなんでしょう。ただ、どの程度の複雑さの場合にどちらが有利になるのかは一概には言えないでしょうから、場合によっては両方とも試してみる必要があるってことになっちゃいそう。
URL を抽出するための正規表現
さっきの 「.Text のコメントの自動リンク処理の修正」 の中で .Text は URL を抽出するのに正規表現を使っていると書きましたが、この正規表現ってけっこういいかげんっぽいです。なので、今後もうまくリンクにできない URL に遭遇する可能性大です。ほんとうなら、RFC なんかに則ったちゃんとした正規表現にしておきたいところです。そうすれば、どんな URL がきても大丈夫なはずです。(まぁ、RFC から外れた形式の URL なんかが書かれてるとダメになっちゃいますが、これは対処療法的に対応するしか仕方ないですしね)
で、こういう正規表現って誰かが書いてるだろうと思ってググってみました。
http URL の正規表現
Perl 向けに書かれたドキュメントのようですがすばらしいです。URL の正規表現も RFC を元にしたとてもきっちりとした正規表現になっているようです。
# ちょっと下にある 「メールアドレスの正規表現」 で紹介されている
# 正規表現ってものすごいな。
2005年5月13日金曜日
Object Test Bench - III: Exploring Framework APIs...
Object Test Bench - III: Exploring Framework APIs... より
正直、なにをやってるのかよくわかんないんですが。。。(^^;
なんか、動的に IL を作って、その IL に対応するようなソースコードっぽいものをあらかじめ用意しておいて、動的に作った IL がそいつをシンボルとして参照するようにしておいて、オブジェクトテストベンチでこのコードの Main を実行してやれば、ちゃんとその 「ソースコードっぽいもの」 のブレークポイントで止まったり、変数の内容をウオッチしたりできるってこと?
いや、実際に試してみるとそうなんだけど。。。
なんかすげぇ(^^;
VS2005 ですべての参照部分にブレークポイントをセットするマクロ
Setting Breakpoints on All References より
たとえば、こんなコードがあったとします。
public class TestClass
{
private int num;
public TestClass()
{
this.num = 0;
}
public int Func()
{
return this.num;
}
}
VS2005 で上記の blog にあるマクロを適当に登録しておいて、num のところにキャレットを置いた状態でこのマクロを実行します。すると、num を参照しているところすべてに自動的にブレークポイントがセットされます。
VS2005 のクイックコンソール
今まで気に止めてなかったんですが、クイックコンソールなんてものが増えてますね。なんなんだろうと思って見てみたら、Console の入出力をリダイレクトしてくれてるウインドウとのこと。
試してみると、
- コンソールアプリケーションの場合は、コンソール(MS-DOS みたいな画面)とクイックコンソールの両方が有効。同じ内容が出力されるし、入力はどっちに対してしてもいい。
- Windows アプリケーションの場合は、Console への出力がクイックコンソールにリダイレクトされる。入力は微妙な感じ。少なくとも Console.ReadLine(); としてもブロックされない。
- Web アプリケーションの場合は、出力も入力もリダイレクトされない。
という感じ。ということは、Windows アプリケーションのときにちょっとしたデバッグ用のメッセージを Console.WriteLine() とかで出力できて便利ってことかな?けど、それくらいのことなら Debug.WriteLine() でもできるし。。。
クイックコンソールってどんなときに便利なの?教えてプリーズ。
ちなみに、メニュー 「ツール」-「オプション」-「デバッグ」-「全般」 の 「すべてのコンソール出力をクイックコンソールウインドウにリダイレクトする」 でクイックコンソールを表示するかどうかをオン・オフできます。
VS2005 で使える技
Visual Studio の (主にエディタの) ちょっとしたチップスなんかがいっぱい紹介されています。
すべてを読んだわけではありませんが、以下、目に付いたものを紹介。
Did you know… How to share code snippets with other team members
VS2005 のコードスニペットをチーム内で共有するには、メニュー 「ツール」-「コードスニペットマネージャ」 で 「追加」 ボタンを押して適当な共有フォルダを指定しておけばいい。
Did you know… Visual Studio 2005 support for Code Snippets
VS2005 のコードスニペットのスキーマと書き方の説明へのリンク。
Use Ctrl-K Ctrl-C to comment selection and Ctrl-K Ctrl-U to uncomment selection
Ctrl+K Ctrl+C で選択範囲をコメントアウト。Ctrl+K Ctrl+U で選択範囲のコメントを解除。VS.NET2003、VS2005。
Did you know… How to open something in the binary editor (using Open With)
ファイルを開く (Ctrl+O など) とき、「開く」 ボタンのドロップダウンリストで 「バイナリエディタ」 を選ぶ、もしくは、「ファイルを開くアプリケーションを選択」 で 「バイナリエディタ」 を選ぶとバイナリエディタで読み込まれる。VS.NET2003、VS2005。
Did you know… The power of incremental searching
Ctrl+I でインクリメンタルサーチ。反対向きは Ctrl+Shift+I 。VS.NET2003、VS2005。
Cool new little Editor feature in the Dec CTP – Edit.PasteParameterTip
this.Foo(
などと入力するとインテリセンスで引数の情報がツールチップに表示されますよね。この状態で Ctrl+Alt+Shift+P とするとツールチップの状態がペーストされる。また、Ctrl+Alt+Shift+C とするとクリップボードにコピーされる。VS2005 のみ。
2005年5月2日月曜日
Visual Studio 2005 Beta2 日本語版をセットアップしてみた
Visual Studio 2005 Beta2 日本語版をセットアップしてみました。
セットアップしてみた OS は、今まで CTP や Beta1 を消しては入れてきた Windows XP SP2 です。実は Virtual PC とかではなく、普段使ってるマシンだったりします(さすがに業務に使ってるマシンではないですが)。けど、いくら Beta2 では Go-Live ライセンスが提供されるとは言っても、しょせんは Beta なので、そのあたりは理解した上で自己責任で入れるべきかと思います。
まずは Beta 2 より前の Visual Studio 2005 プレビュー版の削除 を参考にすでに入っている CTP を削除。SQL Server 2005 関連とかでここに載っていないものもありましたが、それらももちろん削除。
さらに念のため Documents and Settings や Program Files の下なんかをエクスプローラで見ていき、VS2005 に関係しそうなもの (ちなみに、VS2005 はバージョンナンバー的には 8 になってることが多い)、SQL Server 2005 に関係しそうなもの (こちらはバージョンナンバー的には 9 ) を手動で削除。間違ったファイルを消すと既存のアプリが動かなくなる可能性があるので、よくわからない人にはお勧めしませんが。
続いてせっかくなので VS2005 クリーンアップツール で取り上げたツールを動かしてみました。exe を起動すると使用許諾などが表示され、続いてクリーンアップする製品を選択...これはグレー表示になっていて選択できませんでした。たぶん、先にコントロールパネルのプログラムの追加と削除で削除してしまったからでしょう。けど、選択できなくても特に問題なく 「Cleanup Now」 ボタンで実行できました。「View Log」 してみると、結構たくさん 1.2 やら 2.0 やらといったものが報告されています。と言っても、細かいことはよくわかりませんし、それらが Beta2 のセットアップに影響するようなものなのかどうかもよくわかりませんけど。まぁ、コントロールパネルのプログラムの追加と削除で全部削除したつもりでも MSI 関連、GAC、レジストリなどに結構ゴミが残っているというのは確かなようです。
次に、せっかくなので MSDN Subscriber Downloads からダウンロードできる SQL Server 2005 CTP - April 2005 - Developer Edition (Japanese) を入れてみました。特に問題もなくすんなりセットアップは終わりました。
最後に、これまたせっかくなので Visual Studio 2005 Team Suite Beta 2 (Japanese) をセットアップ (価格的に考えて業務でも個人でも Team Suite が使えるとは思いませんけどw)。上で SQL Server 2005 を入れてあるので、SQL Server 2005 Express だけはずして、他はほとんどデフォルトのまま。こちらも特に問題なくセットアップは終わりました。
と、最初に書いたように 「クリーンには程遠い」 ようなマシンですが、セットアップ自体は問題なく終わりました。まだ SQL Server 2005 も VS2005 もいちおう起動することを確認した程度ですが、実行も特に問題はないみたいです。
それに、同じマシンに Visual Studio.NET 2002、2003 も入ってますが、もちろんこれらも問題ないみたいです。
VS2005 クリーンアップツール
「VS2005 の Beta1 や CTP をクリーンアップするツール」 で紹介したツールですが、「Version of VS 2005 beta cleanup tool now available on the Download Center」(作者さんの blog) によると Microsoft Download Center からもダウンロードできるようになったそうです。
また、「ディベロッパー製品開発統括部 Blog: VS2005 クリーンアップツール」 こちらには日本語で使い方の説明があります。
2005年4月26日火曜日
VS2005 のデバッガが異常に遅くなることがある
Visual Studio Debugging Slowness - Solved より
ソリューションのプロパティにある 「デバッグソースファイル」 に無効なディレクトリが含まれていると、デバッガの動きがメチャクチャ遅くなることがあるそうです。「Whidbey Beta1 で起こった。Everett (VS.NET 2003 のこと) でどうかは確認してない」 そうです。
VS2005 Beta2 で .NET Framework 1.1 をビルドターゲットにする方法
Hack the Build: Use Whidbey Beta2 to target .NET Runtime 1.1 より
上記の blog に書かれているようにすると、VS2005 Beta2 で .NET Framework をターゲットとしてビルドできるようになるそうです。(私は試してませんが)
ただ、見てもらうとわかりますが、msbuild が使うらしいターゲットファイルというものに 1.1 用の設定を追加しているだけです。なので、できるのは 「ビルドだけ」 と思ったほうがいいと思います。
VS2005 のデバッガは .NET Framework 2.0 の機能を利用していますから、msbuild の設定をどう変えようと 2.0 の上で動くものと思います。
それにウイザードなどが partial クラスといった 2.0 で追加された機能を使ったコードを生成してしまうと、とうぜん 1.1 ではビルドできなくなるはずです。
というわけで、「VS2005 のビルドプロセスのカスタマイズの例」 と言う意味ではおもしろいんですが、実用として使うのはちょっと難しそうに思います。
Visual Studio 2005 ベータ2 日本語版
Visual Studio 2005 ベータ2 日本語版がリリースされました。
プレスリリース http://www.microsoft.com/japan/presspass/detail.aspx?newsid=2269
(これを書いている時点では、まだ MSDN Subscriber Downloads には見当たらないみたいですが、まぁ、近い内にダウンロードできるようになるんでしょう)
それと、もし 【予告編】 Visual Studio 2005 Beta2 日本語版 で書いた先走りバージョンをダウンロードしちゃった人がいたらダウンロードしなおして欲しいってことだったので、そのようにお願いします。
2005年4月25日月曜日
【予告編】 Visual Studio 2005 Beta2 日本語版
4月25日 AM11:00 現在 (日本時間)、MSDN Subscriber Downloads にある日本語版は手違いで公開されてしまったものなので、まだダウンロードしないでください、とマイクロソフトの方から連絡がありました。
なにげに MSDN Subscriber Downloads を見てみると、、、、
Visual Studio 2005 Beta2 に Japanese が、、、
けど、ちゃんとダウンロードできそうだったり、リロードすると Content not available になっちゃったりしてます。というわけで、どうやら 「近日公開」 の準備中な模様。。。
(けど、思ったより早いような。がんばりすぎかもw>ラストスパート)
2005年4月22日金曜日
VS2005 の Beta1 や CTP をクリーンアップするツール
Updated cleanup tool that fixes package load failures in VS 2005 beta 2 より
Visual Studio 2005 Beta2 公開 で書いたように VS2005 Beta2 を入れる前に Beta1 や CTP をきれいさっぱり消しとかないとまずいらしいです。で、上記の blog でクリーンアップツールを提供してくれています。ただ、(まだよく見てないのですが) このツールは 「消しそこなったものを消してくれる」 というツールではなく 「クリーンアップを手順どおりに実行してくれるだけ」 というツールみたいです。けど、Beta2 のセットアップに失敗した場合にチェックすべきポイントなどもいろいろと書いてあるようですので、うまくいかなかった人は見てみるといいかも。
2005年4月20日水曜日
Coding4Fun
http://msdn.microsoft.com/coding4fun/
ホビーとしてコードを書く人のためのサイトだそうです。
まだ、始まったばかりなので、今のところ以下のような記事があります。
- Beginning Game Development
VS2005 (C#) と Managed DirectX を使ってゲームを作ってみるという連載みたい。先は長そうだなぁ。 - What's Playing?
VS2005 (C#) を使って LED ディスプレイパネルに Windows Media Player か iTunes で演奏している曲の情報を表示してみるってことか。へぇ。 - Building Network Utilities
VS2005 (C#) を使って指定した範囲の IP アドレスに ping してみる。 - Introduction to the Personal Web Site Starter Kit
このページからダウンロードできる Personal Web Site Starter Kit の使い方入門。もちろん、ASP.NET 2.0 用。このスターターキットはフォトアルバムなんかができるみたい。 - Using the Amazon Web Service
Amazon Web Service にアクセスして本などの情報を表示する Windows.Forms アプリのサンプル。VS2005 (C#)。 - Build a System Monitor
ディスクの空容量とかイベントログとかを監視して何かあったら教えてくれるシステムモニタを作ってみる。VS2005 (C#)。
2005年4月19日火曜日
NDoc 1.3 で独自のタグを追加する
なになに、、、以下、超訳(原文にまったくしたがっていない訳(^^; )
NDoc にはもともと タグの拡張機能 がある。こんなふうに xslt ファイルを適当に作って ExtensibilityStylesheet プロパティにそのファイルのパスをセットしておけばそれでいい。けど、NDoc が作る他の要素と同じような見た目にするにはどうすりゃいいんだ?NDoc が中で使ってるのと同じ CSS にしたいんだが。。。
結局、NDoc.Documenter.Msdn2 アセンブリに入っている .xslt ファイルを参考にして CSS をあわせた。dtH4 とか dtTABLE とかいったやつ。NDoc.Documenter.Msdn2 アセンブリにはたくさん xslt ファイルが入ってるけど、最初は NDoc.Documenter.Msdn2.xslt.common.xslt あたりから見ていくといい。
Direct3D 用の VS2005 C# テンプレート
Template for Direct3D enabled WinForm in Visual C# 2005 Express. より
XML ファイルとテンプレとなるソースファイルを書いて、zip で固めて、%My Documents%\Visual Studio\ItemTemplates\Visual C#\ フォルダに入れておけば、それだけでテンプレートの完成、ってことかな?
別に Direct3D を使う予定があるわけじゃないけど、テンプレートの書き方のサンプルとして書き留めておこっと。