Revamping the RSS Bandit Application
MSDNにRSS Banditの改良についての記事がありました。
#といいつつ、私はSharp Reader使ってるんですが(^^;
Revamping the RSS Bandit Application
MSDNにRSS Banditの改良についての記事がありました。
#といいつつ、私はSharp Reader使ってるんですが(^^;
マイクロソフト
MVP Night - 本格稼働した日本版 MVP プログラムのすべて
TechED横浜のときに行われたMVP Nightの記事です。
実は、私も「MVPの声」のところに載ってたりするんですが
# そういやここにMSMVPのことについて全然書いてなかったな(^^;
例によって、まだ見てないんですが(^^;
Technobabbleのコーナーは33分間、Brad Abrams氏とAnders Hejlsberg氏のお話です。 Brad Abrams氏は、(CLRなどの)Lead
Program Managerだそうです。 Anders Hejlsberg氏は、知っている人は知っている、BorlandでTurbo PascalとDelphiを作り、Microsoftに移ったあとC#を設計したという、有名な方ですね。かなりおもしろそうです。
ちなみに、このThe .NET Showはtranscriptが表示できます。
C#、VS.NET、CLR、GotDotNet Workspaceなどなど.NETに関係するMicrosoftの方たちのblog集。Dr. GUIまで(^^
めちゃくちゃ盛りだくさん。つか、盛りだくさん過ぎて、まだほとんど読んでません。これからじっくり読んでいこう。
Microsoft.com
Web Services SDK, Version 1.0, for Visual Studio .NET 2003
microsoft.comのWeb Service(MSDN、Technet、その他のmicrosoft.comのサイト)にアクセスできるようにするSDKだそうです。ただし、Version
1.0はテストの目的でmicrosoft.com/downloadsにのみ対応しているとのこと。
で、ちょこっとさわってみました。
microsoft.comのWeb Serviceにとっても簡単にアクセスできるようにするmanagedなクラスライブラリ、ドキュメント、それにサンプル(WindowsFormsアプリ、Webアプリ、RSSを作成するWebアプリ)が入ってます。
ただ、このサンプルを動かすにはWeb
Services Enhancements (WSE) 1.0 SP1 for Microsoft .NETが必要です。それと、developer's tokenというのをもらっておいてapp.configやweb.configに書き込んでおく必要があります(developer's
tokenをどこでもらえるかはドキュメントに書いてあります)。あと、IISの仮想フォルダも自分で作ってあげる必要がありました。
これくらいでサンプルはさくっと動きました。
今はまだdownloadsだけなので 'ふ~ん' くらいですが(^^; これからどういう風に進化していくのかちょっとたのしみです。
C# Cornerより
Export
Managed Code as Unmanaged
C#で作ったDLLはmanagedだから当然C++とかのunmanagedなものからは直接呼べない。COMとかとして呼び出す必要がある。
けど、ILを直接変更すればexportできるよ(だからunmanagedから直接呼べるようになる)。
という内容みたい(まだ読んでないんだけど(^^; 覚え書きとしてあげておこう(^^; )
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やらを自分好みに修正して、あとコードもちょっと修正しました。とりあえずはこんなもんでいいでしょう。