ページ

ラベル MSMVP の投稿を表示しています。 すべての投稿を表示
ラベル MSMVP の投稿を表示しています。 すべての投稿を表示

2012年1月13日金曜日

[MSMVP] え?この人たちが MVP 審査落ち?

How I Lost, Regained and then Turned Down an MVP Award
長文ですし、最初のほうをナナメ読みしただけなんですが。。。

どうやら、この記事を書いてる Eisenberg 氏が MVP の審査に落ちちゃったようです。(Caliburn / Caliburn.Micro を作ってる人だそうです)
メールには 「MVP は過去一年に対するもので、そういう意味で十分でなかった」 とあったと。Caliburn.Micro は RC を 2011/2 にリリースしてからその後もバージョンアップしたりドキュメント書いたりしてたのに。
で、Twitter で 「Caliburn / Caliburn.Micro に対する私の活動は Microsoft にとっては十分で無かったんだってさ。今年は MVP 受賞出来なかったわ」 とつぶやいたら、すごくたくさんの人から敬意と励ましのレスが返ってきて、そして Microsoft の何人かの人からもレスが来て、聞いたところではスコット・ガスリー氏のところまで話がいったとか。で、結局 「前言撤回。MVP 受賞です」 と連絡が来たと。

この Twitter でのやりとりの際に StructureMap、FubuMVC、Storyteller の開発者である Jeremy Miller 氏、Moq の開発者である Daniel Cazzulino 氏も審査落ちしたことがわかったそうです。

MVP 受賞の連絡はもらえたけど、結局、Eisenberg 氏はいろいろ思う所があって MVP を辞退したようです。

--

これは、ちょっと Microsoft が 「やらかしちゃった」 という感じなのかな。
もともと MVP の審査は数値で表せられるものが重要視されています。「フォーラムで何回回答した」「勉強会で何回スピーカーをした。受講者数は何人だった」「解説記事を何本執筆した。参照数は何回だった」 なんてものですね。
これは、もちろん客観的に評価できるようにっていこうことと、効率よく評価できるようにってことがあるんでしょう。

MVP に応募するときに過去一年間の実績をマイクロソフトに報告します。
これを記入するためのシートが用意されています。(MVP に応募するとマイクロソフトから送られてきます)
私は日本語版しか見たことが無いので英語版がどうなっているのかは知りませんが、そういえば、このシートにはオープンソースのことについて書く欄は用意されてませんでした。もちろん、フリーコメント欄はありますから、そこにいくらでも書くことはできます。

けど、オープンソースでの貢献を評価するってなかなか難しいですよね。
コードの行数なんて意味ないですし、ダウンロード数が多けりゃいいってもんでもないですし。
そもそも、オープンソースで何か公開したからといって、それが常にコミュニティや他の人への貢献とはならないでしょうし。たとえば、単にオープンソースなゲームを公開したなんてのは MVP の対象では無いでしょう。けど、そのソースの解説記事を書いたりしてれば対象になって来そうな気はします。
なかなか数値化が難しい要素がいっぱいありそうです。
客観的、かつ、公平に評価するのには難しいかもしれませんが、ぜひマイクロソフトには頑張って欲しいところ。
ちょうど、昨日、MSDN にこんな記事が掲載されましたし。
オープン ソース、オープンな標準にマイクロソフトはどう取り組んでいるか ~ 丸山 不二夫 × Gianugo Rabellino 対談 ~

2007年10月9日火曜日

Microsoft MVP を再受賞

今回も Microsoft MVP を受賞することができました。
今までと同じく Visual Developer - Visual C# です。

2006年10月3日火曜日

Microsoft MVP を受賞

Microsoft MVP を受賞しました。
今までと同じく Visual Developer - Visual C# です。

2005年10月25日火曜日

Microsoft MVP を再受賞

ちょっと報告が遅くなりましたが、Microsoft MVP を再受賞しました。ジャンルは前回と同じく Visual Developer - Visual C# です。


 

Microsoft MVP Global Summit 2005 に参加しました

# ちょっと忙しくて 1ヶ月以上の間この blog も放置状態でしたがぼちぼち復活。


9/28~10/1 に Microsoft の本社 (アメリカのシアトル) で開催された Microsoft MVP Global Summit 2005 に参加してきました。今回で 3回目の Global Summit だったんですが、今までと同様とても楽しかったです。ほんとはちゃんと旅行記でも書きたかったんですが、とりあえずこれだけ。

2005年8月11日木曜日

TechEd 2005 Yokohama レポート - 8/3(水) 2日目

8/3(水) 2日目


■ キーノートスピーチ
寝坊、というか二日酔いというか、で 30分遅れくらい遅れちゃいました。
VSTS のデモはもうすでに何回も見たことあるような気がする。というか、去年も同じようなデモを見たことがあるような気がしないでもないw
SQL Server のインテグレシーションサービス?のデモ(データマイニング)は、正直意味がよくわからないけど、SQL Server 2005 はすごいということが言いたいってことはわかった(笑)
で、SQL Server 2005 の新機能であるデータベースミラーリングのデモ。。。おいおい、マシンを爆破しちゃったよw しかし、なんかこれは便利そう。クラスタリングみたいに共有ディスクとかなしにクラスタリングと同じようなことができるってこと? しかも、待機系はライセンス不要、ウィットネス(監視するサーバ)は SQL Server Express (もちろん無料)でもいいんだって。
Windows Server 2003 R2 の新機能の ADFS でシングルサインオンが実現できる?これはフォーム認証のときとかも自動的にできるのかな?詳細はよくわからんな。
豆蔵がどうのこうのと。。。なんのことかよくわかんないけど、あとで調べてみようかな?


おぉ、やっぱり発表日の発表が来たー! 11月 17 日 Visual Studio 2005、SQL Server 2005、BizTalk Server 2006 東京にて発表だって。当然、日本語版のことでしょう。えーと、発表というのは発売開始ということなのかな?(BizTalk Server 2006 の発売は来年になるっていうのは発表済みなので、これは別として)。。。あとでマイクロソフトの人に聞いてみたところ 「今のところは 11/17 に発表するということしか言えません」 とのこと。少なくとも今の時点では 11/17 にパッケージが店頭に並ぶという意味ではないみたい。残念。パッケージ(箱物)はあとでもいいから、せめて、MSDN Subscriber Download で製品版がダウンロードできるようになってくれるとうれしいんだけど。


■ T2-318 SQL Server 2005 高可用性ソリューション
キーノートスピーチでもずいぶん楽しそうなことしてたし、SQL Server 2005 のセッションを聞いてみることにした。
へぇ、Standard でもフェールオーバークラスタリング(2台まで)をサポートするって。ほぅ、8ノードクラスタか(SQL Server 2000 は 4ノードまで)。
続いてキーノートスピーチでも取り上げられてたミラーリングの話。なになに、、、



  • 同期モードと非同期モードがあって、自動的にフェイルオーバーするかどうか自分で決められる。

  • 同期モードは若干パフォーマンスが落ちる。けど、金融系なのでいろいろとテストしてるが「そんなに気にするほどじゃないんじゃないかな」という感触らしい。

  • 普通に TCP で通信してるみたいだけど、ちゃんと暗号化されてる。

  • プリンシパルとミラーは決定的なものではなく、プリンシパルがダウンした場合、ミラーがプリンシパルになって、元プリンシパルが復旧後はミラーになる。

  • クライアント側は SDAC が必要らしい。

  • 同じマシンの別インスタンス間でもミラーリングできる。

  • そして、ミラーリングのデモ。設定も簡単みたいだし、こりゃいいかも。

データベーススナップショットもイイ! なるほど、スナップショットっていうのは、ほんとうにデータベースのコピーを取るわけじゃなくて Copy On Write で更新があったページのみスナップショットを取っていくのか。だからそんなにディスクも消費しないし、スナップショット取るのも一瞬であると。バックアップの代わりに使ったり、日次処理や月次処理なんかを走らせる場合にスナップショットに対して実行したりできると。復元するのはバックアップから復元するみたいに restore database でできるのか。ただ、もちろん見かけ上スナップショットを取ってるみたいに見せてるだけだから、ほんとうの意味でのバックアップじゃないんだよ、ってことをわかってない奴が出てくると困るな(データベースが壊れたらスナップショットごと壊れる)。
パーティショニングも便利そうではある。


■ お昼ごはん
MVP な人たちなどと海の見えるレストランで。しかし、二日酔いで調子が悪いぞ(笑)


■ T3-330 64-bit 環境における .NET Framework アプリケーションの開発
64bit の wordpad が 32bit の PowerPoint をちゃんとインプレースアクティベーションできる。ほぉ。
.NET Framework 1.1 を 64bit OS で動かす。。。WOW64 で動く。ただし、IPF では IIS にホストされて動く ASP.NET みたいなのはパフォーマンスが出ないのでお勧めできない。
VS2005 は 32bit アプリケーションだけど 64bit 対応している。64bit OS 上で 32bit、64bit 両方のデバッグもできる。32bit 上の OS からリモートデバッガでデバッグすることもできる。リモートデバッガも 32bit 版、64bit 版の両方がある。64bit OS 上でアプリを動かしてリモートデバッガを起動、32bit OS 上の VS2005 で「プロセスにアタッチ」でデバッグしたいマシンに接続してデバッグ可能。
64bit .NET Framework ではエディット&コンティニューはサポートされてない。けど、64bit OS 上の VS2005 で 32bit アプリとしてデバッグしてるときはエディット&コンティニューできる。なるほどねぇ。よくできてるなぁ。
それに、.NET Framework ベースのアプリケーションは基本的に 32bit だろうが 64bit だろうが問題なく動く様子。どちらで動かしたいのかは PE を書き換えるとか config で指定するとかいろいろと方法はあるらしい。
ただ、P/Invoke とかは気をつけないとだめだろうなぁ。その辺の話は特になし。ほんとはこの辺が一番問題になってくると思うけど。


■ T3-335 スマートクライアントアプリケーションの開発
スマートクライアントの概要とか。
パフォーマンスを上げるためにキャッシュしよう。これは Enterprise Library の Cache Manager なども使える。SOAP ヘッダを使ってキャッシュの有効期限を送ったり。
SoapExtention を使わなくても .NET Framework 2.0 では SOAP の圧縮・解凍をサポートしている?
他にも Application Block (Enterprise Library) を使ったデモ。
やっぱり Enterprise Library をもうちょっと勉強してみないとダメだなぁ。


■ T3-337 Visual Studio 2005 で改善された Windows フォーム
このセッションでは爆発するようなサーバはないんだって。残念w
正直言ってどっかで見たような話だったけど(笑)、それでもあらためて見るとやっぱり .NET Framework 2.0 の Windows.Forms はいい感じだなぁ。


■ Microsoft TechEd 2005 Attendee Party
ゲストはコージー富田。さすが、おもしろいぞ。
抽選会は思いっきりはずれ。残念。しかし、Intel のマザーボードってのも微妙な景品だなぁ。マザーボードだけもらったら Intel の CPU 買わなくちゃいけないじゃん(笑) 最後の締めは XBox 360 だったけど、途中の TechEd 2006 US (Boston) にペアで招待のほうがはるかにいい景品のような。。。(笑) ん? XBox 360 にあたった人ってどっかで見覚えが。。。おぉ、あれは A さん(仕事上でのお知り合い)じゃないか!


■ スペシャルナイト(笑)
パーティ後はロイホで MVP な人なんかと 1時くらいまでおしゃべり。
その後、ホテルの部屋に戻ってさらにおしゃべり。寝たのは 3時くらいだったかなぁ。

2005年8月10日水曜日

TechEd 2005 Yokohama レポート - 8/5(金) 4日目

8/5(金) 4日目


午前中は MVP 関連の打ち合わせとか雑談とか。
しかし、やっぱり英語は必要だなぁ。ものすごくゆっくりしゃっべってくれてたけど、それでもほとんどわかんなかったよ。


■ Peer Talk Lunch
あれ?今年は 1,500円取られないんだ。去年は 1,500円取られたと思うけど。うーむ、このために 1,500円分の食券を取っておいたんだけど、あまっちゃったよ。
で、おなか減ったし最初にガッとおなかいっぱい食べて、その後、C# のことやらスレッドのことやらいろいろとおしゃべり。


■ T2-314 Web Services Enhancements (WSE) 3.0 の新機能
ASMX って 「アスムエックス」 と発音するの?
ほぅ、WebMethod を TCP で(IIS なしで) ホストできるようになるんだ。
へぇ、DIME とか WS-Attachiments とかなくなって MTOM ってのになったんだ。
SOAP Toolkit Version 3に SOAP の内容をキャプチャして表示するツールが付いてるとのこと。なら、WSE 3.0 にも付けてくれればいいような気がする。


■ T3-407 Visual Studio 2005 Team Foundation Server 詳細
なかなか自分で Foundation Server をセットアップすることはできなさそうだから、このセッションを聞いてみた。
チームビルドってクライアント側の VS2005 からサーバでビルドするように指示ができるんだ。
レポートもいいし、チェックインポリシーもいいなぁ。
ほぅ、デモ・評価用に 1台にすべてを入れることもできるんだ。beta2 では Active Directory は Windows Server 2003 のものが必要。リリースでは 2000 もサポート。Workgroup もサポートする予定で、Workgroup の場合は App Tier と Data Tier は同じマシンにしなくてはいけないなど、若干の制限がある可能性がある。
OS → SP → AD 構築 → IIS → SQL Server の順で入れる必要あり。
Version Control Proxy Service なんてものもあるんだ。離れた拠点で開発する場合、ソース管理のプロキシとなるもの。beta2 には含まれていない。
やっぱり、ワークアイテムとワークフローっていいなぁ。
へぇ、自分でクライアントを作れるくらい、完璧にオブジェクトモデルが公開されてるんだ。もっと深いところでカスタマイズすることもできるように、ちゃんと公開されてるんだ。


■ T2-404 .NET Framework を利用したシステムにおけるスケーラビリティとパフォーマンスへの考慮
「.NET アプリケーションのパフォーマンスとスケーラビリティの向上」 この記事を元にしたセッションでした。正直、私は 「こうすりゃ速くなるぞ」 みたいなガリガリなセッションを期待してたんですが。けど、これはこれでおもしろかったです。スケーラビリティやパフォーマンスは、最初から考えておくべきことであって、あとになってから考えるものじゃないというのはまったくもってそのとおりだと思います (けど、結構軽視されちゃうんだよね)。


■ 晩御飯
何人かの人たちと晩御飯。
その後、新幹線で自宅へ。

TechEd 2005 Yokohama レポート - 8/4(木) 3日目

8/4(木) 3日目


■ T3-325 Visual C++ 2005 の新機能と既存コードの改善・活用
話の中心は C++/CLI と最適化。
うーん、「IL という中間言語を実行する .NET に比べて C++ は理屈の上でもパフォーマンスが高くなる」ってそれは違うような。JIT が十分に高性能であれば同等になるはずだし、むしろ逆に 「理屈の上では」 実行時に最適化することが可能になるので IL を使ったほうがパフォーマンス的には有利になると思うんだけど (あくまで理屈の上ね)。
へぇ、C++/CLI は Microsoft 固有の構文ではないんだって。。。うーん、こういう説明もありなのかもしれないけど、ちょっと誤解を招きそうな気がするなぁ。確かに ECMA に提出されてるし standard になればオープンなものになるけど、その説明じゃ 「Microsoft 以外の誰かが構文を決めた」 みたいに取られちゃうような。。。
/clr には mixed、pure と verifiable があるのか。この辺の区別とかはよくわかってないなぁ。セッションの内容でも具体的になにが違うのかはよくわからんかった。
えっ、/clr でも cl とリンカを通るんだって。C# で作った .netmodule をリンカでリンクすることが可能なんだ。じゃあ、C# と VB.NET で作った .netmodule をリンカでリンクすることもできるんだ。と思ってたら、そのまんまのことをデモで実演してくれた。
やっぱり、最適化はすごいな。リンカでの最適化って VS.NET2002 からあるのか。けど、2005 でかなり良くなったらしい。Microsoft 社内でも広く使われてるって。
Profile Guided Optimization (ガイド付き最適化) はやっぱりすごいな。30% くらい性能がよくなる? これも Microsoft 社内で広く使われてるらしい。しかし、昨日の夜もこの話題で盛り上がったけど、プロファイルを取った内容で最適化するっていうのは、どんなプロファイルを取るかで最適化の結果が変わることになるから、安定した結果が出るのかどうか不安になるよなぁ。
「プログラム全体にわたる最適化などはコンパイラステップとリンカステップに分かれていることが有利に働いている」 みたいなことを言ってたけどほんとかな?コンパイラとリンカに分かれてることは関係ないように思うんだけど。そもそも、こういう最適化って JIT が内部でやろうとしてるようなことを C++ でもやるようになってきたっていう気がしないでもない。
あと、IDE 上の強化点についての紹介。この辺は C# とか VB.NET とかとまったく同じとのこと。


■ T3-331 セキュアなアプリケーション構築のための Visual Studio 2005 における強化点
なるほどなぁ。「1人の侵入者を防ぐためには 1000人規模で 24時間 365日警備する必要があったりする。それくらいセキュアに保つのは大変」 確かに。「セキュアに保ち続けるというモチベーションの維持が大事。銭形警部のように」 ふむふむ。
静的コード分析が重要、これで一定の品質に保つ。PREfast は C/C++ の静的コード分析ツール。FxCop がマネージド向けの静的コード分析ツール。FxCop でチェックする命名規則などももちろんカスタマイズできる。しかし、非常に難解。


■ お昼ごはん
何人かと近くのレストランで。


■ スペシャルセッション
MVP スペシャルセッションに参加しました。内容は C# とかそういったことです。


そこで出た話なんですが、MSDN Product Feedback なんかを使って、もっともっとフィードバックをして欲しいそうです。フィードバックされた内容をどのように扱っているかをちょっと教えていただけましたが、(詳細は書きませんが)ものすごくちゃんとしていると感じました。ここまでやってくれているんだからフィードバックしないともったいないと思うくらいです(笑)。なにかある人はじゃんじゃんフィードバックしちゃいましょう(ちなみに MSDN Product Feedback はページは英語ですが、日本語で書き込んでも問題ありません)。


■ T2-377 SQL Server 2005 SQL CLR と T-SQL の利用と選択
演算処理などは SQLCLR のほうが T-SQL よりはるかに速い。
SQLCLR はどこで使うべきか?T-SQL が苦手とするような処理、作りにくい処理。まずは拡張ストアドプロシージャは SQLCLR にすべき。そもそも拡張ストアドプロシージャはサポートはされるが推奨はされない機能となった。次にユーザ定義関数。ユーザ定義関数は多くの場合演算処理のために作られるので SQLCLR で書くべき候補となる。テーブル値関数を SQLCLR で実装するとインメモリのストリームになるので速い。T-SQL で実装するとtempdb を使用するのでオーバーヘッドが発生する。反対にデータ処理は向いていない。


へぇ、VS2005 のプロジェクトのプロパティにデータベースなんて項目もあるんだ。


alter table hoge
add hogehoge as hogehoge2 persisted
この persisted も SQL Server 2005 の新機能。計算列の計算結果を保存する。


SQL 型と CTS 型は完全にマップされている訳ではない、最大・最小値が違うなどいろいろある。System.Data.SqlTypes を使ったほうがいい。そして null は IsNull でチェックする。。。そういや、このあたりって nullable が使われるようにはならないのかな?


T-SQL → CLR、CLR → T-SQL ともにアクセス許可セットの影響は受けない。なぜなら T-SQL にアクセス許可セットの考え方自体がないから。しかし、CLR(セーフ)→CLR(セーフ以外)の呼び出しなどをする場合は SecurityException が発生する。では、CLR(セーフ)→ T-SQL → CLR(セーフ以外)とした場合は?これも SecurityException が発生する。正しくアクセス許可セットを設定し、きちんと管理する必要がある。


■ Welcome to INETA Japan Event 2005!
ほんと、おもしろかったです。構成もよくできてたし。お客さんもほとんど満席状態でした。


■ スペシャルナイト(笑) その1
マイクロソフトの方々や MVP の方々などと飲み会。


■ スペシャルナイト(笑) その2
その後、また買い出ししてホテルの部屋で飲み(笑)。けど、途中で寝てた。んだけど、なんか聞くところによると、突然起き上がって 「お開きにしましょう」 とか言ってたらしい。で、お開きになったらしい。覚えてないなぁ(笑)

TechEd 2005 Yokohama レポート - 8/2(火) 1日目

今年も TechEd 2005 Yokohama に参加しました。
以下はそのときのメモです。


8/2(火) 1日目 ラーニングディ


朝 6:30 発の新幹線で横浜へ。
TechEd 会場であるパシフィコ横浜に着いたのは 9:30 くらい。すでに最初のセッションは始まってしまってるけど、新横浜に止まる新幹線はこれが始発なのでしょうがない。なので最初のセッションはあきらめてとりあえず MVP ラウンジに行ってみた。濃いぃ人たちとともになぜかそこにはキティちゃんが。。。(笑) キティちゃんと遊んだりして、ちょっと時間をつぶしたあと、さっそく最初のセッションへ。TechEd まで来ていつまでもキティちゃんと遊んでるわけにもいかないですしね(^^;


■ L7-2 Windows Server をインターネット環境に展開する
~ほんとうに大丈夫?どうすればいいの?~ (Part II)
内容はタイトルのとおりでした。「不要なサービスは止めろ」「不要なポートは閉じろ」その他もろもろ、、、と。基本的には「セキュアになるようにちゃんと設定しましょう」ってことでした。常識と言えば常識なのかもしれないけど、(私は IT Pro ではないし)こういうふうにあらためてきちんと筋道立てて説明してもらうと「なるほどなぁ。そりゃそうだよなぁ」という感じで結構おもしろかったです。あと、最後のほうの 5台のデモマシンを使っての ISA Server のデモもおもしろかったです(ISA Server って見るのも初めてだったしw)。
そういや、Windows Server 2003 は SP1 を当てたメディアでセットアップするとポートを閉じた状態で起動するんだって。確かにそうじゃないとなぁ。


■ お昼ごはん
MVP な人たちなどと近くのお店で。私は、お刺身の定食を選択。
今年も 4日間で 6,000円分の食券がついてました。この食券は TechEd 会場となっているパシフィコ横浜の近辺にあるほとんどのお店で使えます。


■ L8 Community Server を使ったビジネスブログサイト構築法
ここの blog は .Text を使ってますし、改造したりするために結構 .Text のソースを見たりもしましたからそれなりには理解できてると思います。で、Community Server (以下 CS)の blog 部分は .Text がベースになってるわけで、いまさらあらためて聞くまでもないような気はしたんですがw。。。なんとなくこのセッションを選んじゃいました(笑)
前半は blog そのものについて。スピーカーの鈴木さん曰く



  • Blog ツールはコンテンツ・マネジメント・システム(CMS)の一種。

  • ブログはインターネットで公開している日記。

で、「日本で言うブログはカタカナのブログなんだと思う」とのこと。ふむ、なるほど、確かにそんな感じはする。
中盤は CS の特徴の紹介。最後のほうは実際に CS をインストール・セットアップしてみるデモ。そか、CS ではユーザのロールとか、blog グループとかができるようになってるんだ。この辺は .Text よりずいぶん進化しているな。んで、時間が足りなくなっちゃってすごく駆け足でインストールするデモが行われたんだけど、なんか .Text でのインストールのわかりにくさが嘘みたいに簡単になってるw


■ L3-1 C# 2.0 and IDE Tips & Tricks Part1
波村さんのセッション。とってもおもしろかった。最終アンケートの 「4日間とおして最もよかったセッション」 にこのセッションを上げました。


C# チームが入ってるビルディングを MSN Virtual Earth の画像で紹介してくれたり、仕様が来るまで待ってられないのでノートが来た時点で実装しちゃうとかなんていういかにも「中の人」ってな感じの話で始まり。


で、C# 2.0 の追加機能の話。最初は Generics。しかし、いくらなんでも説明が速すぎかも(笑)。このスピードだとある程度知識がないとついていけないかもしれませんね。
以下、いろいろ



  • 1.0 と 1.1 ではたとえば int 用のコレクションなんていう感じの特化したクラスを作ってパフォーマンスを上げたりしてた (確かにアクセスするたびに box 化、unbox 化が必要になるのはきついだろうな)。これが 2.0 では Generics にすることによってこういうようなユーティリティクラスが不要になった。

  • Dictionary<string, List<string>> と書ける。C++ のように > > とスペースを入れる必要はない。これは、ちゃんとパーサを変更して解釈してる。

  • 「default(T) を入れました」 なんていう表現がおもしろいなぁ(「○○という機能があります」じゃなくて「入れました」というのは中の人じゃないと言えないよなぁ)。

  • void Foo<T>(T x) {
     int j = (int)(object)x;
    }
    (int)x とは書けない(x が int にキャストできるのかどうかコンパイラには判断不可能なので)。なので (int)(object)x と書く必要あり。こうかいても JIT によって最適化されるので無駄は発生しない。

  • if (x == null)
    x が value type のときは常に false (value type が null になることはありえないので)。この場合も JIT によって最適化されるので無駄は発生しない。

  • public static int Foo(int i) { }
    public static T Foo<T>(T t) { return default(T); }
    public static T Bar<T>(T t) { return Foo(t); }
    このようなオーバーロードには注意。
    Foo(1) と呼び出せば一番近い Foo(int) の呼び出しと解釈される。しかし、Bar(1) と呼ぶと return Foo(t); は Foo(int) ではなく Foo<T> の呼び出しと解釈される。コンパイル時には Bar<T> 内の Foo(t) にシグネチャが最も近いのは Foo<T> になるので当然。当然ではあるか、とてもわかりにくいバグになる可能性が高い。注意すべし。というか、こういうコードは書かないほうがいい。

  • 波村さん曰く「constraint は慣れてくると書かないと気持ち悪い」

続いて Anonymous Methods。



  • 「C# 3.0 になるとますます関数型言語に近づくんですが。。。今回はそれは話せませんので、また、次回に」 うーん、聞きたいぞw

  • 「delegate { MessageBox.Show(...); } という書き方でもλ式に見えないというフィードバッグがあった。C# 3.0 ではなんとかしてみたい」 ほぅ。

  • 「Anonymous Methods をイベントにフックアップしてます」 ふーん、フックアップって言うのか。

次に Nullable。



  • Longhorn (Windows Vista) には 5種類くらいの Nullable の実装があった。それくらい需要があるのになんで標準的にランタイムでサポートしないんだ?という話もあってランタイムと C# コンパイラもサポートすることになった。

  • int? x = i; こんなふうに non nullable から nullable にすることをラッピングというみたい。で、反対に int i = (int)x; をアンラッピングというみたい。

  • Nullable Boxing。今日から公開していいと言われた内容。ここ 1ヶ月半でデザインチェンジが行われて、nullable を box 化に関して動作が変わったらしい。詳細は長くなるので別記事に書きます。

最後に Iterator。



  • 実は Iterator はバグがいくつも見つかってカットするかどうかの議論にもなったらしい。

  • しかし、C# 3.0 でも重要なフィーチャーになるし重要ということで生き残ったらしい。

  • Iterator はあまり注目されないが、とても便利とのこと。


■ L3-2 C# 2.0 and IDE Tips & Tricks Part2
Part1 に続いて 2コマ目。
1コマ目は C# の新しい言語機能の話でしたが、2コマ目は Visual Studio 2005 の新機能の紹介が中心。



  • AppWeek とは?仕事を離れて実際のアプリケーションを書いてみる週。月曜日にデザイン、火~木の 3日間に実装、金曜日にプレゼンという感じ。最近あった AppWeek では 30人で 200くらいのバグを見つけた。

  • VS はソースコードが 20G。HQ だけでも 2000人。ほへぇ。

  • メタデータソースビュー。メタデータを元に C# のソースで表示してくれる。おもしれー。XML ドキュメントのヘルプも見れてる。

  • 「すべての参照の検索」 とかは 2003 では単なる文字列検索。2005 ではちゃんと C# コンパイラと同等のパースツリーから表示している。

  • VS2005 のプロジェクトのプロパティは VB で作られている(だから遅い。。。?)

  • dim スニペットを書こう!(いや、冗談ですw)

  • プロパティの自動生成(コンパイラサポート)、new のときの型の自動判断は 「アンダースがダメだと決定した。『C# は VB じゃないんだ』」

  • ASP.NET にはやっぱりエディット&コンテニューはない?(詳細不明)

■ コミュニティパーティ
MVP、コミュニティリーダー、MCP 上位資格者、そしてマイクロソフトや Microsoft の方々とのパーティ。MVP な人や波村さんなどと C# や Vista の話なんかで盛り上がりました。


■ スペシャルナイト(笑)
MVP な人たちなどとコンビニに買出しに行ってホテルの部屋で飲みました。途中から参加した人たちなんかもいて、多いときは 10人以上くらいいたかな。私は 2時くらいにダウンしました。他の一部の人たちは明け方まで飲んでたらしい(^^;

2005年7月2日土曜日

古川 享 ブログ

古川 享 ブログ 「マイクロソフト卒業しました」 より


古川 享さんという個人の方のブログです。職業は自由人でブロッガーだそうです(笑)。(だってプロファールにそうあるんだもんw)
まぁ、元マイクロソフトの古川氏のブログなんですが。。。プロフィールのところに 「元○○○という自己紹介では無く」 とあったのでこんな書き出しにしてみました(^^


久しく更新されていなかったのでこのまま終了なのかと思ってましたが、逆に 「このブログを中心に社会的な接点を形成できればと考えています」 だそうです。やった。しばらくはリフレッシュ期間とのことですが、その後が楽しみ。


それにしても、上記のブログで紹介されている月刊アスキー 1979年 7月号の古川さんのコラムはすごいですね。1979年というと、PC-8001 の発売が 1979年 9月。MZ-80K や Apple II、PET-2001 なんてころです (懐かしいw)。そんな頃にこのコラム。。。すごいというのを通り越して感動すら覚えます。

2004年10月5日火曜日

MSMVP に再認定されました

Microsoft Most Valuable Professional (以下、MSMVP) に再認定されました (MSMVP は 1年単位の award ですので)。
私は 2002年に最初に MSMVP に認定していただいたときから Visual Developer - .NET というカテゴリでした。けど、このカテゴリがなくなるということで、今回は Visual Developer - Visual C# というカテゴリになりました。

2003年9月19日金曜日

マイクロソフト MVP Night


マイクロソフト
MVP Night - 本格稼働した日本版 MVP プログラムのすべて



TechED横浜のときに行われたMVP Nightの記事です。
実は、私も「MVPの声」のところに載ってたりするんですが



# そういやここにMSMVPのことについて全然書いてなかったな(^^;