2007-01-01から1年間の記事一覧

Visual Studio 高速化

via http://weblogs.asp.net/scottgu/archive/2007/11/01/tip-trick-hard-drive-speed-and-visual-studio-performance.aspx長いのでほとんど読んでませんが(^^;、よいハードを使えば速くなるよと。特にハードディスクの効果が大きいよと。価格.comでノート用…

デバッグ技 : .ini ファイルによる JIT コンパイラ制御

C#

NyaRuRuさんが書いていた 64bit CLR の話とほとんどかぶっているネタですが、JIT コンパイラを制御するデバッグ技が紹介されていたので勝手に抜粋翻訳。via Scott Hanselman's ComputerZen.com Release IS NOT Debug: 64bit Optimizations and C# Method Inl…

XmlSerializer の実行時コード生成を止める方法

C#

id:siokoshou:20071103:p2 の続き。List を使ってたのをやめて配列にしてみたけど、やっぱりコードの自動生成&コンパイルは止まりません。しょうがないので、もう一度 WinDbg で止めて生成したコードを眺めてみると、ArrayOfHoge という、ユーザ定義 Hoge …

XmlSerializer をもうちょっと

C#

XmlSerializer を数箇所で使ってて、Hoge.XmlSerializers.dll を用意してやる前は起動時に2つコードを生成してました。 SGen で Hoge.XmlSerializers.dll を用意してやったらこれがなくなるハズ、だったんですがまだ一つ生成してます…。もしかしたら XmlSeri…

XmlSerializer が生成したコードを取得してみた

C#

.NET で XML の読み書きするのに一番簡単なのはおそらく XmlSerializer。でも、こいつは自動でコードを生成して、コンパイルして、やっと読み書きができるので遅いのが難点です。これでも早くしたそうなので、昔はリフレクションしてたのかな?ついでに日本…

C#3.0の記事

C#

オススメ記事です。言語仕様から読み解くC# 3.0入門 http://codezine.jp/a/article/aid/1771.aspx大変おもしろかったのでご紹介。私にとっておもしろいのは当たり前で、ちらほらとここに書いてきたことがちりばめられてる感じです(^^) やっぱ不変って大事だ…

Channel 8

via http://japan.cnet.com/news/ent/story/0,2000056022,20359226,00.htmChannel 8 なんてあったのか。なんか、すごいんですけど…w THE place to be for STUDENTS だそうな。兄弟たち。デベロッパーの遊び場(?) Channel 9。よくわからない Channel 10 (On1…

.NET2.0/3.0 SP1 の変更点

.NET3.5 が Green Bits、これは 2.0 + 3.0 + 新機能、そして一部の機能削除と変更。 3.5と同時に出る .NET2.0 と 3.0 の SP1 が Red Bits。 参考図ともっと詳しい説明。すでに side-by-side のバージョン管理は過去のものになってしまったので、ややこしいけ…

ALT.NET

ALT.NET の話題が駆け巡っています。MVC な ASP.NET の追加フレームワークといったところのようで、Rails の波に乗ってファウラーたんが .NET にやってくる? CTP は年末、出荷は来年春。via 猪股さん http://blog.inomata.lolipop.jp/?eid=752473 http://co…

VS2008 β2からRTMでの変更点

VisualStudio2008 の LINQ to SQL のβ2からRTMでの変更点の記事を見つけました。LINQ to SQL breaking changes from beta2 to RTMいよいよこういう記事が出てくる時期ですか〜。

誤植!?

C#

終わったので続き。みんな若かったw .NET ライブラリのドキュメントでも今気になってるものがあって、それが FileStream のバッファサイズ。 きっかけは NyaRuRu さんの最近のメモリのエントリにあった FILE_FLAG_SEQUENTIAL_SCAN フラグ なるもの。こんな…

誤植、誤訳

最近やたらと誤植や誤訳が目に留まります。といっても特に腹立たしいというわけではなく、気になって気になってしょうがないっていうような感じ。誤植や誤訳は昔からあるし、しょうがないよねぇと思ってます。プログラムのバグもある程度はどうしようもない…

69人いる

あろはくんさんのところで知った livedoor Reader のフィード詳細を見てちょっとびびった。http://reader.livedoor.com/about/http://d.hatena.ne.jp/siokoshou/?xmlこの日記、全部で69人にも登録されてて、もっとずっと少ないかと思ってたのでかなりびっく…

WPFはじめました

長いことやらなきゃと思いつつも、デモを見るのさえおっくうだったWPFに、ついに取り掛かりました。 きっかけは本屋でたまたま立ち読みした勉強法の本に、参考書が合わないと思ったらこだわらずに別の参考書を買えと載ってたこと。ふーんと思って試しに赤坂…

.NETライブラリ コード公開

C#

アンテナがこの話題であふれています(^^)Releasing the Source Code for the .NET Framework LibrariesShawn BurkeさんがWinFormのコード公開したいって言ってから早数年。BCLやADO.NETやら何やらも巻き込んだ形で実現となるようです。ちゃんと読んでないけ…

LukeHさんの新作キター

C#

今度はフルクエリーのレイトレですw LINQ以外使ったら負けだと思ってるっぽいw a single 60-line LINQ query だってwhttp://blogs.msdn.com/lukeh/archive/2007/10/01/taking-linq-to-objects-to-extremes-a-fully-linqified-raytracer.aspxくれいじぃ!

!? 演算子

C#

C# には「??」演算子があるけど、それと逆の null じゃなかったら評価する「!?」演算子なんてのがあれば null propagation をきれいに書けるのになぁと妄想。 もっとも「??」がそれほど使いどころがないように、「!?」もそれほど使いどころがないような気は…

そんなエサに…

http://jibun.atmarkit.co.jp/lskill01/rensai/algo01/algo01.html +1しかできないコンピュータ int add(int a,int b){ int ans = a; while(b){ ans++; b--; } return(ans); }「b--;」?

しょぼい高速化

C#

string.Format() は string の連結より遅いことがある。自分メモなのでマイクロベンチコードは省略。 ご利用は自己責任でドゾー。

LINQ でパーサ

C#

↑の続き。TPL の記事で前に紹介した LukeH さんのレイトレがサンプルに使われてます(釣りかと思ったw ってそれは自意識過剰かw)。レイトレもスゴーだけど、最新作はもっとワケワカで、LINQ で MiniML のパーサを書いてます。なんで LINQ でパーサ? LINQ …

.NETにお手軽並列化がやってきた

C#

今月のMSDNマガジンより。.NET3.5 にこんな隠し玉が!.NETに興味がないけど並列化に興味がある人にもおすすめ。http://msdn.microsoft.com/msdnmag/issues/07/10/Futures/default.aspx?loc=jpイミフなところもあるけど、とてもおもしろい記事です。実行時の…

コマンドプロンプトに電卓があった

その名は set /a。 C:\>set /a 5*3 15 C:\>set /a (5+3)*8 64 C:\>set /a 0x10*2 32 C:\>set /a "2<<2" 8 C:\>set /a 4294967295 -1 C:\>set /a 4294967295+1 0シフトは「"」で囲ってやれば使える。その他詳しくは set /? で。 知らなかった〜。

テンプレートメソッドパターンと高階関数

C#

Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本作者: Eric Freeman,Elisabeth Freeman,Kathy Sierra,Bert Bates,佐藤直生,木下哲也,有限会社福龍興業出版社/メーカー: オライリージャパン発売日: 2005/12/02メディア: 大型本購入: 1…

親クラスのメソッドを隠す

C#

id:siokoshou:20070901#p2、id:siokoshou:20070903 の補足やらなにやらをつらつらだらだらと。 反変 id:siokoshou:20070901#p2 で書いた例は、オブジェクト指向に詳しい方なら「それって反変」とピンと来たと思います。オブジェクト指向のややこしぃ話に「共…

C#クイズの答え

C#

id:siokoshou:20070901#2 のクイズの答え。問題をまだ見てなければ、先に問題を見てからどうぞ。 実行するとこうなります。単純なコードに見えるけどクイズにするくらいなので、意外なほうが呼ばれます。 Derived.Method(string) Derived.Method(object) Hog…

C#クイズ

C#

実行結果を予想してください。答えは後日。 using System; public class Program { public static void Main() { Base b = new Derived(); Console.WriteLine( b.Method( "dummy" ) ); // (1) Derived d = new Derived(); Console.WriteLine( d.Method( "dum…

call と callvirt その5

C# IL

5月の記事の続き。続きを書く日が来るとは自分でも驚き。IL のお話です。インスタンスメソッドを呼ぶときにコンパイラが call を生成したり、callvirt を生成したりします。その違いは何よ?とずっと疑問だったんですが、その答えが!vir http://blogs.msdn…

ToString() のオーバーライドを強制したかったのに…

C#

interface IHoge { string ToString(); } こうやって ToString() のオーバーライドを強制しようとしたら、 public class Hoge : IHoge { } でも通るという…。そりゃそうだわなぁ。

シープラプラ

Yahoo!翻訳が C++ を「シープラプラ」とか半端に訳してくれて吹いたw geek festa とかはうまく訳してくれる、小粋なやつです。

内部イテレータと外部イテレータ

C#

ときどき聞く言葉ですが、違いを知らなかったのでちょっと調べてみました。GoFのデザインパターンの聖典(^^;に記述がありました。 それによると、イテレータの内部でぐるぐる回すのが内部イテレータ。対して、イテレータを使ってイテレータの外で回すのが外…