2005年8月29日月曜日

Enterprise Libraryはオープンソースか

「オープンソースソフトウェア」という言葉はOSIが作った造語なので、OSIによるOSSの定義に沿っていればオープンソースと名乗るのに何の問題もないでしょう。
はてなキーワードの「オープンソース」 と、ukai.orgの「みんなの考えたオープンソース」も参考になります。

で、肝心のEnterprise Libraryはどうなのか、というと、それはライセンスを読んで判断するのでしょう。一言にShared Sourceと言っても、EULAによって内容は結構違うので。
Microsoft patterns & practices license for Enterprise Library - June 2005
This license governs use of the accompanying software and associated documentation and other content (“Software”), and your use of the Software constitutes acceptance of this license.
Subject to the restrictions below and any guidelines in the accompanying documentation, you may use the Software for any commercial or noncommercial purpose, including making copies, distributing modifications, and combining it with your own products or services. All references to modifications herein mean modifications to the Software and include “derivative works” as such term is defined under U.S. copyright law.
In return, we simply require that you agree:
1. Not to remove any copyright or other notices from the Software.
2. That you have no right to combine or distribute the Software or modifications with other software or content that is licensed under terms that seek to require that the Software or modifications (or any intellectual property in it) be provided in source code form, licensed to others to allow the creation or distribution of derivative works, or distributed without charge.
3. That if you distribute:
a. the Software in source code form, you may do so only under this license (i.e., you must include a complete copy of this license with your distribution), and
b. the Software solely in object code form, or modifications in either source or object code form, you do so only under a license that complies with this license.
4. That you will
a. not use Microsoft’s or its suppliers’ names, logos, or trademarks in conjunction with distribution of the Software or modifications, unless we give you prior written permission or instruction to do so;
b. display the following copyright notice on copies of modifications you distribute:
“Contains software or other content adapted from Microsoft patterns & practices Enterprise Library - June 2005, c 2005 Microsoft Corporation. All rights reserved.”; and
c. defend, indemnify, and hold harmless us and our suppliers from any claims or lawsuits and associated losses, damages, liabilities, penalties fines, costs, and expenses, including reasonable attorneys’ fees, that arise from or relate to the use or distribution of your modifications and any additional software or content you distribute in conjunction with the Software or modifications.
5. That if you distribute modifications, you will cause the modified files to carry prominent notices so that recipients know they are not receiving the original Software. Such notices must (a) state that you have changed the Software, (b) include the date of any changes, and (c) to the extent reasonably practicable, comply with any guidelines about modifications in the documentation accompanying the Software.
6. That the Software comes "AS IS", with WITH ALL FAULTS. You bear the risk of using it. We give no express warranties, guarantees or conditions. To the extent permitted under your local laws, we exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. Also, you must pass this disclaimer on when you distribute the Software or modifications.
7. That you can recover from Microsoft and its suppliers only direct damages up to US$5.00. You cannot recover any other damages, including those known as consequential, lost profits, special, indirect or incidental damages. Also, you must pass this limitation of liability on when you distribute the Software or modifications.
8. That if you sue anyone over patents that you think may apply to the Software for a person's use of the Software, your license to the Software ends automatically.
9. That the patent rights, if any, granted in this license only apply to the Software, and do NOT extend to any component or file not included in the Software, including any modifications to the Software, any other software or technology needed to use the Software, or any combination of the Software with other software or hardware.
10. That you may run the Software or modifications only on the Windows platform.
11. That you may not disclose to anyone, without our prior written permission, the results of any performance tests on the Software.
12. That we are not required to provide you any support, bug fixes, updates, new versions, or supplements for the Software, but if we do, they will be deemed part of the Software and governed by this license, unless other terms are provided with them.
13. That if you give us any feedback about the Software, you give us, without charge, the right to use, share and commercialize your feedback in any way and for any purpose. You also agree to give third parties, without charge, any patent rights needed for their products or services to use or interface with any specific parts of our software or service that includes the feedback. You will not give feedback that is subject to a license that seeks to require us to license our software or documentation to third parties because we include your feedback in them. These rights survive this agreement.
14. That we may collect and use technical information, gathered as part of support or other services provided to you related to the Software, to improve our products or services or provide customized services or technologies to you. We may disclose this information to others, but not in a form that personally identifies you. These rights survive this agreement.
15. That the Software may be subject to U.S. export jurisdiction at the time we license it to you, and it may be subject to additional export or import laws in other places. You agree to comply with all such laws and regulations that may apply to the Software after we deliver it to you.
16. That your rights under this license end automatically if you breach it in any way.
17. That this license contains the only rights associated with the Software, and we reserve all rights not expressly granted to you in this license.
18. That this license may not be amended except in a writing duly signed by your and our authorized representatives.
19. That if any of these terms is held void, invalid, illegal, or otherwise unenforceable, the other terms will continue in full force and effect.

2005年8月22日月曜日

餃子

中力粉を購入。うどん用と書いてあるが、餃子に使えば皮だけでも美味しいということだろう。
餃子の皮を作る。お湯でこねる。塩を入れると粘りが強くなるらしいが今回は入れない。まとまってきたら乾かないように注意してしばらく寝かす。
その間に餃子の餡を作る。豚挽き肉に塩とこしょうと醤油と紹興酒とごま油を加えてこねる。その後ニラと茹でキャベツ(白菜は時期外れなので)とニンニクをみじん切りして加える。おろししょうがも加える。
餡ができたら、寝かしていた生地を切り分けて伸ばしていく。まな板の水気を拭き取り打ち粉をする。テーブルにラップを敷いて作業してもいいかも。
ここで麺棒がないことに気付く。仕方がないので空き瓶を使う。くっつきやすいので打ち粉がさらに重要。
皮を伸ばす。素人の仕事なのでどんなに薄くしたつもりでも限界があるが、今回は水餃子目的なので問題なし。形も悪いが気にしない。
包む。皮が柔らかめだったので破らないよう注意する。ここでゼラチンで固めたスープなど入れるのもいいが、今回はやらない。
ぐらぐら茹でる。強火がポイント。
酢醤油で食う。うまい。

2005年8月17日水曜日

Visual Studio Hacks (Hacks)

Visual Studio Hacks (Hacks)

  • Chapter 1. プロジェクトとソリューションを制覇

    • 1. プロジェクトとソリューションを管理

    • 2. アセンブリとプロジェクトの参照を制覇

    • 3. プロジェクトとソリューションを組織化

    • 4. プロジェクトファイルとソリューションファイルを××

    • 5. SourceSafeのバインドを削除



  • Chapter 2. エディタを制覇

    • 6. クリップボードを制覇

    • 7. Visual Studioへの貼り付けを簡単に

    • 8. IntelliSenseを制覇

    • 9. リージョンを制覇

    • 10. テキストエディタにガイドラインを追加

    • 11. 最適なエディタを選択

    • 12. シンタックスハイライトをカスタマイズ

    • 13. 最近使ったファイルとプロジェクトのリストを編集

    • 14. コードをリファクタ

    • 15. コードスニペットを利用・共有



  • Chapter 3. Visual Studioのナビゲート

    • 16. ワークスペースを制御

    • 17. ファイルをすばやく探す

    • 18. ファイル内をすばやく検索

    • 19. ファイル内のパターンを検索

    • 20. ソースコードをナビゲート

    • 21. もうTODOを忘れない

    • 22. マウスを××

    • 23. Visual Studioのタブを使いやすく



  • Chapter 4. VSをカスタマイズ

    • 24. 独自ショートカットを作成

    • 25. メニューとツールバーをカスタマイズ

    • 26. 独自のウィンドウレイアウトを作成

    • 27. ツールボックスをカスタマイズ

    • 28. ツールボックスの設定をパッケージ化

    • 29. 標準外のファイル拡張子をサポート追加

    • 30. レジストリを××

    • 31. IDE設定を保存・移動

    • 32. htmlとxml文書にインテリセンスを有効化

    • 33. 外部ツールを追加

    • 34. プロジェクトのビルドプロセスをカスタマイズ

    • 35. ビルド出力を調整、結果をナビゲート



  • Chapter 5. デバッグ

    • 36. ブレークポイントを設置

    • 37. ブレークポイントをトラブルシュート

    • 38. Visual Studioの例外に対する反応をカスタマイズ

    • 39. スクリプトコードをデバッグ

    • 40. SQL Serverをデバッグ

    • 41. 実行中のプロセスをデバッグ

    • 42. エラーが出ているアプリケーションをデバッグ

    • 43. 独自のビジュアライザを書く



  • Chapter 6. 速度を××

    • 44. Visual Studioをスピードアップ

    • 45. コマンドプロンプトからファイルをロード

    • 46. コマンドウィンドウを制覇

    • 47. カスタムツールをビルド

    • 48. アプリケーション構成ファイルを拡張

    • 49. 型付きデータセットを生成

    • 50. コード生成のためのテンプレートを定義

    • 51. マクロを作成

    • 52. マクロでコードを生成

    • 53. 接続文字列を高速に作成

    • 54. アセンブリへの署名を高速に実行

    • 55. プロジェクトの参照を高速に更新

    • 56. usingおよびimports文を自動的に追加

    • 57. 共通的に使われるコードを自動的に挿入

    • 58. ソースコントロールプロバイダ間を高速に移動



  • Chapter 7. ヘルプと調査

    • 59. ヘルプを理解

    • 60. Visual Studioからインターネットを検索

    • 61. ヘルプをGoogleにリダイレクト

    • 62. プラットフォーム呼び出しを簡単に利用

    • 63. コードから生成された中間言語を調査

    • 64. アセンブリの内部(inneards)を調査

    • 65. FxCopでルールを遵守

    • 66. C#コードの統計情報を生成

    • 67. ヒープ割り当てを分析



  • Chapter 8. コメントとドキュメンテーション

    • 68. C#のXMLコメントを制覇

    • 69. コメントを高速に作成

    • 70. VB.NETでXMLコメントを作成

    • 71. XMLコメントからドキュメンテーションを作成

    • 72. 独自ドキュメンテーションをVisual Studioに統合



  • Chapter 9. サーバーエクスプローラを××

    • 73. パフォーマンスカウンタにアクセス

    • 74. データベースを図示・修正

    • 75. データベーススクリプトを記述

    • 76. プロセスやドライブや共有などを一覧



  • Chapter 10. Visual Studioツールを活用

    • 77. Visual Studioコマンドプロンプトを制覇

    • 78. コマンドプロンプトからVisual Studioを起動

    • 79. Webアプリケーションを負荷テスト

    • 80. コードを難読化

    • 81. UMLからコードを生成

    • 82. コードからUMLデザイン文書を生成



  • Chapter 11. Visual Studio Tools For Office

    • 83. Visual Studio Tools For Office 2003をインストール

    • 84. Word2003にコマンドバーを作成

    • 85. Excel2003からWindowsフォームを表示



  • Chapter 12. Visual Studioを発展

    • 86. Visual Studioを自動化

    • 87. 単体アプリケーションからVisual Studioにアクセス

    • 88. ファイルのひな型を作成

    • 89. Visual Studioのアドインを作成

    • 90. コマンドバーの名前を検索

    • 91. アドインのアイコンを変更



  • Chapter 13. Visual Studioを機能拡張

    • 92. アドインを管理

    • 93. Visual Studio内でユニットテストを実施

    • 94. コードとコメントをスペルチェック

    • 95. コントロールのアウトラインを一覧

    • 96. Visual Studioからブログにコードを投稿

    • 97. コードを重畳・展開

    • 98. Visual Studioコマンドプロンプトとコマンドウィンドウを結合

    • 99. Webサービスのコードを生成

    • 100. Visual Studioで正規表現をテスト




2005年8月11日木曜日

Session State Partitioning

どっとねっとふぁんBlogのエントリを見て、MSDN Magazineを見に行ったら、Fast, Scalable, and Secure Session State Management for Your Web Applicationsという記事が。

これはいいですね。実際的だと思います。

特に、ASP.NET 2.0のSession Stateパーティショニング機能に興味を持ちました。セッションIDをキーにして、利用するステートサーバを振り分ける機能のようです。地味なんだけどおもしろいです。



2005年8月9日火曜日

VSS2005 Internet Access

の設定ができずにはまりました。

http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=2774のスレッドに情報があります。



  • WebサービスがVSSの共有データベースにアクセスするときにはUNCパス(\\サーバ名\フォルダ名)が必要。それはセキュリティのため。

  • もしHTTPSを使わないとするなら、VSSサーバの設定だけでなく、VSSクライアント(VS2005のVSSプラグイン)の設定も必要。 「ツール―オプション―ソース管理ープラグインの設定」で「詳細設定」ボタンを押し、「サーバーへの接続時に、常にSSLを使用する」のチェックをはずす

  • WebサービスはASP.NET 2.0で動作する。(猪股補足:IIS6なら、アプリケーションプールを分ければ、複数のバージョンのASP.NETを共存させられますね。)

  • VSSの共有データベースには正しくアクセス権限を与えておこう。「誰に?」の答えは下記。

  • Webサービスは偽装(Impersonate)する。

  • HTTPSを使っていなかった場合は、IISでのWindows認証が必須となり、偽装の結果、スレッドトークンは認証されたユーザとなる。

  • HTTPSを使っていた場合は、IISでのWindows認証は不要。偽装の結果、スレッドトークンはIISの匿名ユーザアカウントになる。

  • Beta2の時点では、SourceSafe データベース追加ウィザードは、Admin/(no password)でVSSデータベースを開く。一旦追加してしまえば、その後はそのアカウントは必要ない。

  • 理由は分からないが、"%WINDIR%\Microsoft.NET\Framework\v2.0.50215\Temporary ASP.NET Files” に対して書き込み権限が無かったりすることがあるので注意。インストールの失敗だろうか?



2005年8月7日日曜日

We Will Rock You 日本版@コマ劇

観てきた。実はすでに2回目。
  • チケット高い!アホか!でも楽しめるからいいか。
  • キャストはオーストラリア版と同じ。かなり楽しめた。
  • 初回はS席で、前の方で見た。その時に知ったのだが、コマ劇は客席が半円形になっており、しかも傾斜角が高いので、後ろの方でも見やすそうだった。ということで今回はA席で、後ろの方。席を買ってみて驚いたが、今回の客席設定、ほとんどがS席。A席なんて最後尾の数列しかない。これじゃむしろS席が普通じゃん。まあいいけど。
  • ステージの左右に電光掲示板があり、そこに字幕が出る。字幕は森雪之丞が担当したらしい。"Headlong"の歌詞で「ジタバタするなよ 世紀末が来るぜ」と出たのを見逃さなかったぞ。
  • "Bohemian Rhapsody"の歌詞に引っ掛けたセリフは、客に気づかれていないようだ。字幕に出てこなかったからしょうがないか。
    • カショーギがポップを捕らえたとき。"Do I see a little silhouetto of a spy?"
    • 同じく、カショーギがポップに「希望なんてどこにあるんだ?」と聞いた答えが、"Any way the wind blows."
    • カショーギがガリレオを捕らえたとき。"I'll make you wish you'd never been born!"
    • 伝説のギターが復活したとき、ポップが"Thunderbolts and lightning, very very frightening!"
  • 劇中に伝説のキング、「ペルヴィス」についての話が出てくるのだが、観客は「エルヴィス・プレスリー」のことだと分かったかな?
  • セリフなどが一部日本向けになっていた。
    • オープニング・テロップの内容が日本人にもわかりやすいネタになっていた。
    • プラネットモール中の岩を破壊しろ!エボシ岩とか、岩手県とか…(ロンドン版だとストーン・ヘンジ)
    • No One But Youの中で映されるスライド(夭逝したスターたち)の中にhideと尾崎豊が。
    • カショーギのスーツはコナカのツーパンツ(ロンドン版だとMarks & Spencerというスーパー)
    • Bohemian Rhapsodyのビデオがすぐ終わってしまう。残念ながら、その後は冬のソナタで上書きされていた(ロンドン版だとBBCのヒットコメディ"The Young Ones")
  • ブリトニーの彼女の役名がイギリス版と違う。イギリス版はミート。日本版はオズ。
  • 歌う曲も一部変更されていたり、追加されていたりする。
    • 最後の最後に、"I Was Born To Love You"をやる。
  • ほとんどの観客はおとなしい。キャストがアオらないと手拍子したり立ったりしない。
  • でも盛り上がるときは盛り上がってたからよし!

2005年8月6日土曜日

Improving .NET Application Performance and Scalability

関田さんが書かれていたように、日本語訳されたので読みやすくなった。

http://www.microsoft.com/japan/msdn/enterprise/pag/scalenet-intro.asp

なにしろPDFで1000ページ超。もー大変なんですから。



.NET Expert #01

TechED 2005に行けず、ふてています。


技術評論社から.NET Expertという雑誌が出ました。
私は執筆してませんが、同僚たちがVS2005について記事を書いています。
技術評論社からは、見本誌をたくさんいただきました。1つの記事を7人で書いたからでしょう。かえって申し訳ありません……