コード公開

http://referencesource.microsoft.com/netframework.aspxDotnetfx_4016_VistaSP2 Dotnetfx_35.1_Win7出た!久しぶりに .NET の中のコードにステップインできるようになった。なんだかすごくうれしい。 関連 http://d.hatena.ne.jp/siokoshou/20090824

素朴な疑問

ブレークポイントはなぜ「張る」なんだろ? 元になってるメタファーはなんだろ? GUI のデバッガだとブレークポイントがシールっぽいから? でも、GUI 以前から使ってそうな気もする(根拠なし)。

Caps Lock キーがいらない

http://slashdot.jp/polls/431 選択肢にどーして Caps Lock キーがないんだ。 間違って押して困ったり、間違って押して PC がおかしくなったと助けを求められたりするための罠キーなのに。 パスワード間違ったときの画面にも Caps Lock うんぬんは定番だし。…

Reactive Framework (Rx) で遊んでみた

Rx とは このごろじわじわと情報が出てきている Rx こと Reactive Framework で遊んでみました。x はどっから出てきたの?ってつっこむのがお約束らしいw pull 型の IEnumerable/IEnumerator をひっくり返して、push 型な IObservable/IObserver を作ったそ…

Atomic

C#

Atomic の実験をしてみました。下のコードの Reader スレッドでは表示されることはなさそうに見えますが、実際には何度も何度もいろいろな値が表示されます。 x86 ではボコボコ表示されます。 x64 では試した限りでは起きませんでした。でも起きないことは保…

スマートタグを開くショートカットキーは Ctrl+.

using を補完したり、インターフェイスの実装を補完するときに使うスマートタグ。 これをキーボードで開くショートカットは「Ctrl+.」。 . じゃ見えないかもしれないので日本語でも書いておくと「コントロール + ピリオド(ドット)」ねw これを知るまでいちい…

「基本要素の概要」の図

WPF

http://msdn.microsoft.com/ja-jp/library/ms743618.aspx この MSDN ライブラリの記事に欠けている図を勝手に描いてみた。 クラス名に出てくる Element は HTML の「要素」(タグと言われることのほうが多い)と思えばよい。 WPF は汎用性高すぎなせいか、カラ…

XAML の名前空間の謎が解けた

WPF

via http://social.msdn.microsoft.com/Forums/ja-JP/wpfja/thread/a0ed39c6-22c7-4ab3-8ac0-af775d02c91c/XAML で使う XML 名前空間 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ってどういうカラクリなんだろうと不思議だったけど…

DataGrid に新規追加行(NewItemPlaceholder)を表示する方法

WPF の DataGrid に新規追加の行(NewItemPlaceholder)が表示されなくて数日はまったので、解決方法のメモ。新規追加の行と言ってるのは、ユーザがアイテムを新たに追加するためのプレースホルダのこと。表示される場合は、デフォルトでは空の行が表示されま…

完成かも

C#

C#コンパイラチームにいた Sreekar Choudhary さんが Halo チームに移動したそうな。 C#4コンパイラができあがったのかもしれない。http://blogs.msdn.com/sreekarc/archive/2009/09/05/joining-halo-team.aspxそれにしてもなんとまあ極端な…w

.NET のソースコードにステップインできない

http://social.msdn.microsoft.com/Forums/en-US/refsourceserver/thread/678edf17-c633-41e0-9993-fa14ddee3229今はできない期間のようです。Vista SP2 だけ? ステップインできるようになってから、またできなくなったり、またまたできるようになったりの…

Linq to Objects の途中で printf デバッグする方法

C#

よく忘れるのでメモ。ダークサイドの技なのでご利用はほどほどに。 var ms = from type in ... // for debug let a = Console.WriteLine( type.Name ) is object from method in type.GetMethods( ... select method; ネタ元 素数を求める1行プログラム(C#3…

Visual Studio で一行だけコピーや削除するときには行を選択しなくてもよかった件について

ただその行で Ctrl-c や Ctrl-x するだけ。行を複製するなら Ctrl-c, Ctrl-v で OK。# まじか…今まで知らなかった…。

.NET Framework に設計を学ぶ : bool を返すメソッドとプロパティの接頭辞

id:siokoshou:20090817#p1 のつづきです。.NET Framework を調べて、名前付け/設計の参考にしてしまおうというシリーズの2回目です。今回は bool を返すメソッドとプロパティの接頭辞を調べてみました。 Top30 Top は Is で bool を返すメソッドとプロパティ…

.NET Framework に設計を学ぶ : メソッド名の頻出接頭辞

名前大事。間違いなく大事。名前大事を逆手にとって、名前をランダムに改変して読めなくするツールがあることからも、名前がいかに大事かわかります。 名前大事はわかるけど、うまい名前が浮かばないことがよくあって、そういうときはメソッドがうまく設計で…

半導体の微細化が止まる日

並列まわりの記事をいろいろ読んでるうちに、ふと半導体の微細化が止まったらどうなるんだろうという疑問がわいてきて、ぐぐって見つけた記事を読み漁ったり、とりとめもなくいろんなことをボーっと考えたりしてます。 SSDはもっと安くて大容量になって欲し…

new int()

C#

こんなの書けるんだ。キモいんですケド。 int n = new int(); // 0

VisualStudio2010は2010年春?

http://japan.cnet.com/news/biz/story/0,2000056020,20397152,00.htm 来年春登場だそうな。今年の11月ごろかなと期待してたのに。 ネタ元は Mary Jo Foley おばさんらしい。

.NET4.0 の並列処理を試してみた その2 : 再帰と並行性

C#

id:siokoshou:20090721 のつづき。前回は並列化したのに微妙に速くなっただけで、Parallel.For 使えばそれでおしまい。じゃないことがわかったところまで。今回はもっと速くします。 ここでちょっとおわびです。前回は気づいてなかったんだけど、ベータのベ…

.NET4.0 の並列処理を試してみた その1 : Parallel.For, ConcurrentQueue

C#

.NET4.0 から従来よりも抽象的で簡単に使える並列ライブラリがどさっと追加されます。おもしろそうなので VisualStudio2010 のベータ1で試してみました。 結論から書くと Parallel.For すばらしい! Concurrent なコレクションはロックなしで複数タスクから…

.NET4.0 の Parallel メモ

C#

ずいぶんと気合入れて追加してきてるみたい。気になるものをメモ。あとでしっかり読……みたい。 http://blogs.msdn.com/pfxteam/archive/2009/03/04/9457880.aspx ConcurrentBag : スレッドセーフってどういうこと?ロックしないで複数のスレッドから同時に A…

De Bruijn sequence を列挙するコード

C#

いろいろとコメントをいただいているうちに De Bruijn sequence がわかってきました。初めは数学的な背景には興味がなかったんだけど、De Bruijn sequence をすべて列挙する問題が最近遊んでいるデータマイニングの頻出集合を求める問題とそっくりなことに気…

一番右端の立っているビット位置を求める「ものすごい」コードのていねいな説明

C#

id:siokoshou:20090704 のはてブのコメント見てるとわからないってコメントが結構あるので、もう一度がんばって説明してみます。まあわかったところで得はないかもしれませんw public static int GetNumberOfTrailingZeros( long x ) { if ( x == 0 ) retur…

一番右端の立っているビット位置を求める「ものすごい」コード

C#

一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つ…

頻出飽和集合とかのメモ2

2つやったことの記録。ビットマップ化と振り分け処理の改良失敗。 振り分け処理の改造は、ハッシュ(Dictionary)を使っているところを、マージ(マージソートのマージ。併合)にしてみたけど遅くなった。もう少し改造してみるけど早くなりそうな気はしない…。 …

頻出飽和集合とかのメモ

前回のデータマイニングの続き。ちゃんと書きたいけど、まだよくわかってないので今はちょっとだけメモ。宇野先生の研究業績のページで頻出集合や頻出飽和集合関連のわかりやすい資料を見つけた。超大作パワポ。「いいプログラムはコーディング技術だけでは…

LINQで頻度を求める

C#

昨日の関連の話題。コード成分が足りなかったので補給に。 Dictionary を使って頻度を求めるのは定番中の定番の使い方だと思います。たとえば、"the quick brown fox jumps over the lazy dog" の文字列の中で、a が何回使われてて、b が何回使われているか…

データマイニングしてみた

C#

数日前、オレンジニュースで「2008年度人工知能学会の発表資料「頻出パターン発見アルゴリズム入門 −アイテム集合からグラフまで−」(PDF)が紹介されてました。データマイニングに興味があったので読んでみると、タイトルどおりのわかりやすい入門記事だった…

SkewTransform とは?

SkewTransform って何だろと思って MSDN ライブラリを読むと、「2 次元傾斜を表します。」とある。さらに、「SkewTransform は、2 次元オブジェクトで 3 次元的な奥行の効果を演出する場合に役立ちます。」だそうな。 さっぱりわからないので、アニメーショ…

Debug.WriteLine コードスニペット再び

昔書いた System.Diagnostics.Debug.WriteLine を dw[Tab] で呼び出すコードスニペットを更新しました。SimpleTypeName 関数を使ってちょっと賢くなりました。using の有無に応じて System.Diagnostics.Debug.WriteLine と展開するか、Debug.WriteLine と展…