Orcasってのは、サンファン諸島(San Juan Island)にあるオーカス島ってことみたいですね。 オルカ(しゃち)・ウォッチングができるってことなので、Orcasっていう島の名前もそっから来てたりするのかな?
どうもです>かおくさん
Orcasってのは、サンファン諸島(San Juan Island)にあるオーカス島ってことみたいですね。 オルカ(しゃち)・ウォッチングができるってことなので、Orcasっていう島の名前もそっから来てたりするのかな?
どうもです>かおくさん
MSDN TV(英語)より
Profiling
Managed Code with the CLR Profiler
CLR Profilerの解説というより「GCがいかに遅いか」という内容ですが、なかなかおもしろいです(もっとちゃんと英語が聞き取れれば、さらにおもしろいんだろうけど(^^;
)。
ついでに自動メモリ管理あたりも押さえておくべし。
訂正です。
上記の打ち消し線を入れた『「GCがいかに遅いか」という内容ですが』の部分ですが、これは不適切な表現でした。というか、このMSDN TVの中でそんなことは言ってません。
内容自体は、マネージドヒープとガベージコレクタがどんなふうに動くのかCLR Profilerやパフォーマンスモニタを使って調べよう、というようなものです。その例としてループの中でStringを+=で結合していくのと、StringBuilder.Appendを使って結合していくコードを取り上げています。もちろん、前者がヒープを多量に使う例、後者がヒープをあまり使わない、効率的な例です。
で、これを見て、「あんまりGCにお仕事をさせないように気をつけなくちゃいけないなぁ」と思ったもので、おもわず「GCがいかに遅いか」なんていい加減なことを書いちゃいました(というか、日本語としても間違ってますね(^^;
)。
コメントありがとうございました。
Microsoft Developer
Tools Roadmap 2003-2005
Whidbeyの次はOrcasか(何て読むの?オルカの複数形って訳じゃないよね? (^^; )。
Web
Services Enhancements (WSE) 2.0 Technology Preview
.NET FrameworkにWS-Security、WS-Policy、WS-SecurityPolicy、WS-Trust、WS-SecureConversation、WS-Addressingの機能を追加します。
と言っても私もこれらの詳細はしりません(^^;
WS-SecurityなんかはOASISにsubmitしてるってことだけど、もうrecommendationと言えるようなレベルなんだろうか?誰か教えてください。
GotDotNetのUser Samplesより
Attribute
Based Programming - Extending Enums
属性を使ったプログラミングです。
SqlParameterの生成時に必要な情報をenum DalParameterTypeの要素に属性で与えておくことによって一元的に管理できるようにしています。
やっぱり属性はおもしろいなぁ。
GotDotNetのUser Samplsより
Interop
Declarations for Windows.h
C#でWin32 APIを使おうとすると、引数とかを調べてDllImportやstructを書かなくちゃいけません。それを一通り定義しておいてくれたファイルです。こりゃ便利。
GotDotNetのUser Samplesより
Dynamically
invoke XML Web Services
XML Web Serviceを使うときはVS.NETで「Web参照の追加」をするのが一般的ですが、この場合、その時点でプロキシクラスのソースが自動生成されます。このサンプルではそれを動的にやってしまおうっていうものです。コンパイル時にプロキシクラスを作るのではなくて、実行時にメモリ上にプロキシクラスを作ってしまおうってことです。
ServiceDescriptionクラスを使ってWSDLからコードをメモリ上に生成して、CSharpCodeProviderでコンパイルして、プロキシクラスのインスタンスを作ってるようです。なるほどねぇ。
今日から始まりました。
ノータッチ デプロイメント
プログラミング コンテスト(GotDotNet Japan)
それにこんなのも
Visual Studio
.NET 2003 "free online"(GotDotNet Japan)
GotDotNet Japanのページの左上にバナーも出てますね。
このblogではコメントも一緒に表示してますが、とりあえず、そうするために改造した部分を上げておきます。ほんとはもうちょっとちゃんとまとめたいんだけど、あまり時間がないのでとりあえず
EntryView.ascx.csの188行目に
if (entryComments.Count > 0) {
bool obfuscateEmail = SiteConfig.GetSiteConfig().ObfuscateEmail;
HtmlGenericControl commentsView = new HtmlGenericControl("div");
commentsView.Attributes["class"] = "commentview";
foreach (Comment c in entryComments)
{
SingleCommentView view = (SingleCommentView)LoadControl("SingleCommentView.ascx");
view.Comment = c;
view.ObfuscateEmail = obfuscateEmail;
commentsView.Controls.Add(view);
}
entryFooter.Controls.Add(commentsView);
}
と追加するだけです。
これだけだとコメントを追加するページでコメントが二重に表示されるのでCommentView.aspx.csの147行目からを
//foreach (Comment c in extra.GetCommentsFor(entryId))
//{
// SingleCommentView view = (SingleCommentView)LoadControl("SingleCommentView.ascx");
// view.Comment = c;
// view.ObfuscateEmail = obfuscateEmail;
// root.Controls.Add(view);
//}
のようにコメントアウト。
BlogXは結構きれいにascxとかにまとめられているので、これだけで出来ちゃいます。
右側に出てるBLOGROLLってなんだろう?
ググってみると、どうやらリンク先のblogが更新されたかどうかわかるようになっているリンク、といったものみたい。けど、今のBlogXのこの部分の実装ってどうみても単にリンクをはってるだけにしか見えない。まだ未実装なのかな?
とりあえず、MVPな人のblogを入れてみた。
しかし、デフォルトでDon Box大先生のblogが入ってるのはどうしてなんだろう(^^
WinBlogX(BlogXに書き込んだり設定を変えたりするためのWindowsクライアント)は日本語がダメダメ。なので、ちょっといじってみた。
IntPtr hglobal = Marshal.StringToHGlobalUni(content);
IntPtr hglobal = Marshal.AllocHGlobal(content.Length
* 2 + 2);
Marshal.Copy(new Byte[] { 0xff, 0xfe }, 0, hglobal, 2);
char[] buf = new char[content.Length];
content.CopyTo(0, buf, 0, content.Length);
Marshal.Copy(buf, 0, new IntPtr(hglobal.ToInt64() + 2), content.Length);
一応これで日本語もOKみたい。けど、ちょっと使い難いとこもあるなぁ。
河端さんに影響されて(^^)BlogXを動かしてみました。
CSSやらHTMLやらを自分好みに修正して、あとコードもちょっと修正しました。とりあえずはこんなもんでいいでしょう。