2005年12月22日木曜日
2005年12月5日月曜日
VSUG設立記念セミナーに行って来ました
楽しかったです。みんなの顔が輝いていたように感じました。
- VSUG発起人のご挨拶
福井さんによる開会の言葉。
杉下さんは5時起きだそうで。雪の降る福井からのお越し。
新村さんはスライドを用意して、VSUGの3つの「わ」について説明。会社の先輩なので「しんちゃん」とは呼びづらい。
奥津さんは初心者向けの新しいフォーラムについて。- お祝いの言葉
マイクロソフト 北川さんより。
マイクロソフトにとってVSUGとは、マイクロソフトがVSUGに期待すること、マイクロソフトの5箇条。
「加速するマイクロソフトのコミュニティ支援。その狙いは?」という問いへの1つの回答ですね。- 70分でズバリ!!Visual Studio 2005ココがお勧め!!
おぎわらさん。
「70分という短い時間ですが……」と繰り返しながら、ものすごい勢いで機能説明を。
その説明の中でも重要だったのは、荻原(けものへん)と萩原(のぎへん)の違い。- ソフトウェア開発における諸問題を最新技術はどう捉えているか
- マイクロソフト 萩原さん(のぎへんのハギワラさん)のお話。
資産、手順、チームモデルについての工学的観点。
オブジェクト指向という手法の特徴と限界についての考えを聞かせていただき、自分でも発想が広がりました。メモ用のノートに自分の思い付きを書きなぐったり。 - VSラウンチイベント in US
- 奥津さんが撮影された100枚の写真とともに紹介。アメリカのイベントはノリがいいですね。食べ物の写真もたくさん。
- Lightning Talk
- メモし忘れてしまったのでスピーカーに間違いや抜けがあるかも。小島さん、尾崎さん、渋木さん、PASSJの小川さん。合ってるかな?
小島さんの会場アンケートとSQLCLRについての小川さんの私見が印象的でした。 - 懇親会
- スポンサーとして少しだけしゃべりました。しょうもないネタでしたがいくらかでも笑っていただけて救われましたです。
2005年12月2日金曜日
明日はVSUG設立記念セミナー
イベントの詳細はこちら
参加予定者限定で、おぎわらさんとはぎわらさんの発表資料が公開されました。
興味を持って読みました。
はぎわらさんには質問を用意して行くべきだろうか。
でも本当は、お二方の後にスケジュールされている、各フォーラムリーダーによるLightning Talksが楽しみなのです。
フォーラム上では見えにくい、皆さんの素顔やキャラクターを見てきます。
きっと準備は大変だと思いますけど。5分程度とはいえ。
参加予定者限定で、おぎわらさんとはぎわらさんの発表資料が公開されました。
興味を持って読みました。
はぎわらさんには質問を用意して行くべきだろうか。
でも本当は、お二方の後にスケジュールされている、各フォーラムリーダーによるLightning Talksが楽しみなのです。
フォーラム上では見えにくい、皆さんの素顔やキャラクターを見てきます。
きっと準備は大変だと思いますけど。5分程度とはいえ。
2005年11月28日月曜日
Hejlsbergへのインタビュー記事(英語)
C#: Yesterday, Today, and Tomorrow: An Interview with Anders Hejlsberg, Part 1
C#: Yesterday, Today, and Tomorrow: An Interview with Anders Hejlsberg, Part 2
ヘジたん(MSKKは「アンダース ヘルスバーグ」と表記しているし、音もそっちのほうが近いのだろうが)のインタビュー。O'reillyに許可取って翻訳したら喜ばれるでしょうか?
C#: Yesterday, Today, and Tomorrow: An Interview with Anders Hejlsberg, Part 2
ヘジたん(MSKKは「アンダース ヘルスバーグ」と表記しているし、音もそっちのほうが近いのだろうが)のインタビュー。O'reillyに許可取って翻訳したら喜ばれるでしょうか?
2005年11月18日金曜日
Paul VickからVB9の話を聞く
昨日はMSC2005でした。
VBのテクニカルリードであるPaul Vickの特別セッションに参加しました。
VBの歴史を軽くおさらいし、VBの将来(計画中のVB9)について話を聞きました。
内容としては@ITに吉松さんが書いたPDCレポートとかぶってはいたのですが、@ITの方には書いてなかった話を聞きました。それはXMLリテラル。
MSDNの"Visual Basic 9.0 概要"から引用しますが、こんなコードが書けてしまう。
引用符も何もなしにXMLが埋め込まれている。注意すべきはCountriesWithCapital変数の型で、これってStringじゃなくてXElement型なんです。つまるところ、New XElement("Country")みたいなコードと同等だと。
しかもASPみたいに、<%= City.Name %>みたいな表記もあります。動きもASPみたいなもんで、コードとして実行評価される部分です。
まとめると、「Select *** From Country In Countries, City In Capitals Where Country.Name = City.Country」のところはLinq。それによって得られたCountryやCityなんかを使ってXElementを構築する、そんなコード。
うっはー、変態だー。この機能はC#3.0には今のところ入っていないのかな。
VBのテクニカルリードであるPaul Vickの特別セッションに参加しました。
VBの歴史を軽くおさらいし、VBの将来(計画中のVB9)について話を聞きました。
内容としては@ITに吉松さんが書いたPDCレポートとかぶってはいたのですが、@ITの方には書いてなかった話を聞きました。それはXMLリテラル。
MSDNの"Visual Basic 9.0 概要"から引用しますが、こんなコードが書けてしまう。
Dim CountriesWithCapital As XElement = _
<Countries>
<%= Select <Country Name=(Country.Name)
Density=(Country.Population/Country.Area)>
<Capital>
<Name><%= City.Name %></Name>
<Longitude><%= City.Longitude %></Longtitude>
<Latitude><%= City.Latitude %></Latitude>
</Capital>
</Country> _
From Country In Countries, City In Capitals _
Where Country.Name = City.Country %>
</Countries>
引用符も何もなしにXMLが埋め込まれている。注意すべきはCountriesWithCapital変数の型で、これってStringじゃなくてXElement型なんです。つまるところ、New XElement("Country")みたいなコードと同等だと。
しかもASPみたいに、<%= City.Name %>みたいな表記もあります。動きもASPみたいなもんで、コードとして実行評価される部分です。
まとめると、「Select *** From Country In Countries, City In Capitals Where Country.Name = City.Country」のところはLinq。それによって得られたCountryやCityなんかを使ってXElementを構築する、そんなコード。
うっはー、変態だー。この機能はC#3.0には今のところ入っていないのかな。
2005年11月17日木曜日
アルゴリズムパズル(リンクリスト)に答える
「諸悪の根源は物理的」より:
これは有名なアルゴリズムなので知っている人も多いと思う。
なぜこうなるのかは、図で説明するとわかりやすい。
循環のあるリンクリストを図に描くと、6の字、あるいはトランプゲームの「ブタのシッポ」のような形になる。円の部分が循環、ブタのシッポのように延びている先端がリンクの先頭だ。
今、ポインタを2つリンクの先頭にセットする。説明のため赤ポインタと青ポインタとしよう。そして、1ステップの間に、赤ポインタは1つずつ、青ポインタは2つずつ先に進めてみる。
そのようにして、赤ポインタが循環に差し掛かったところが下の図だ。プログラム的には循環の開始点を判別できないが、かならずこの瞬間は来る。その際、青ポインタはリンクの先を進んでいるのだが、この循環のどこかに存在していることは確実だ。
さてここで、さらに1ステップ進めるとどうなるか。もちろん赤ポインタは1進み、青ポインタは2進む。赤ポインタから見れば青との距離がさらに1大きくなる。ここで忘れていはいけないのが、赤ポインタも青ポインタも循環の上にいるということ。なので、赤ポインタが周回遅れしているという見方もできる。この見方に従えば、赤ポインタの後ろから青ポインタが1近づいたことになる。ずっとステップを進めれば、いつかは赤ポインタは青ポインタに追いつかれてしまうだろう。
さて、赤ポインタが循環に差し掛かったときに青ポインタがどこにいたとしても、2者の距離は円周の要素数よりも必ず小さいのだから、赤ポインタが一周するよりも、青ポインタに追いつかれるほうが早いことが証明できる。
単方向リンクリスト(連結リスト)がある。ノード数を n とするが、n の値は分からない。リスト中にループ(循環参照)が存在するか否かを O(n) で判定するアルゴリズムを示せ。ただし、リストの各ノードの内容を変更してはならない。つまり、単純にポインタが指したノード全てにマーキングをしておいて、新しいノードに移るたびにマーキングされているかを調べることで判定することは出来ない。
これは有名なアルゴリズムなので知っている人も多いと思う。
- 回答
- ポインタaとbを用意して、aは1ずつ、bは2ずつインクリメントする(次の要素に進む)。
もしループしているなら、aがループによって以前の要素に戻ってくる前に必ずbと同じ位置を指すときが来る。
ループしてなければbが終端に到達して終わり。
なぜこうなるのかは、図で説明するとわかりやすい。
循環のあるリンクリストを図に描くと、6の字、あるいはトランプゲームの「ブタのシッポ」のような形になる。円の部分が循環、ブタのシッポのように延びている先端がリンクの先頭だ。
今、ポインタを2つリンクの先頭にセットする。説明のため赤ポインタと青ポインタとしよう。そして、1ステップの間に、赤ポインタは1つずつ、青ポインタは2つずつ先に進めてみる。
そのようにして、赤ポインタが循環に差し掛かったところが下の図だ。プログラム的には循環の開始点を判別できないが、かならずこの瞬間は来る。その際、青ポインタはリンクの先を進んでいるのだが、この循環のどこかに存在していることは確実だ。
さてここで、さらに1ステップ進めるとどうなるか。もちろん赤ポインタは1進み、青ポインタは2進む。赤ポインタから見れば青との距離がさらに1大きくなる。ここで忘れていはいけないのが、赤ポインタも青ポインタも循環の上にいるということ。なので、赤ポインタが周回遅れしているという見方もできる。この見方に従えば、赤ポインタの後ろから青ポインタが1近づいたことになる。ずっとステップを進めれば、いつかは赤ポインタは青ポインタに追いつかれてしまうだろう。
さて、赤ポインタが循環に差し掛かったときに青ポインタがどこにいたとしても、2者の距離は円周の要素数よりも必ず小さいのだから、赤ポインタが一周するよりも、青ポインタに追いつかれるほうが早いことが証明できる。
2005年11月16日水曜日
2005年11月15日火曜日
2005年11月8日火曜日
あほブレイクビート
- 工藤静香「嵐の素顔」のリフをバックに「今夜はブギーバック」
- レッド・ツェッペリン「移民の歌」のリフをバックに「俺ぁ東京さ行くだ」(のラップ部分)
後者は移住の歌同士でなおさら興味深い。
えーと、仕事してないときはこういうことばっかり考えています。
2005年11月2日水曜日
JavaOne Tokyo 2005
今年のJavaOne Tokyoはいろいろ面白そうなんですが、中でも11/8のInteroperabilityトラックにちょっと注目。
JavaOne Tokyo 2005 にマイクロソフトは初めて参加します。
11 月 9 日 (水) と 10 日 (木) の無料展示会では、Windows と Java プラットフォーム間での相互運用性を中心にして展示ブースを持ちます。11 月 8 日 (火) には次の 2 セッションを担当します。
「進化する Web サービス・インターオペラビリティ」 (マイケル・ダイクス)
「Java と .NET に対応する現実的なオブジェクト指向設計手法と最新トレンド」 (萩原正義)
登録:
投稿 (Atom)