System.Linq 名前空間のうちで好きな拡張メソッドは Enumerable.Aggregate() です。これからよろしくお願いします。
Dynamic LINQ (!DLINQ)
1月 25th, 2008 · .net
Dynamic LINQ (Part 1: Using the LINQ Dynamic Query Library) – ScottGu’s Blog http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx
(日本語訳) http://www.chica2.dev-asp.net/ScottGu/result2.aspx?target=%e5%8b%95%e7%9a%84+LINQ+%ef%bc%88%e3%83%91%e3%83%bc%e3%83%88+1%3a+LINQ+%e5%8b%95%e7%9a%84%e3%82%af%e3%82%a8%e3%83%aa%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aa%e3%81%ae%e4%bd%bf%e7%94%a8%ef%bc%89
やべえ。Linqの威力に連日刺激的だけども、こいつはまたすごいぜ。もう研究なんてほったらかしてずっと遊んでいたいくらいに、コード書いて動かしてみること自体が久しぶりに楽しい。
→ No CommentsTags:
C#で合成関数(未完)
1月 24th, 2008 · .net
C#で合成関数やろうかと思っていろいろ頑張ったけど、駄目だったよw
あんまり意味はないけど、たとえばこんなの。
Func<int, string> f0 = i => “number: ” + i.ToString();
Func<string, string> f1 = s => s.ToUpper();
Func<int, string> f = f1 * f0;Console.WriteLine(f(10));
ってのをやったときに、まあ予想できるだろうけど、”NUMBER: 10″ って出力されるわけよ。ここで断っておくと、
Func<int, string> f = i => f1(f0(i));
ってのは、俺のやりたいことじゃあないので、却下。
Func<int, string> GetHogeFunc(Func<int, string> f0, Func<string, string> f1);
っていうメソッドを作りたいわけ。
で、MethodInfo をオーバーライドしたクラスを生成するようなクラス作ればいいんじゃね? とか思っていろいろ調べて、MSIL とかもちょい書きかけたけど、ドつぼにはまりそうなのでやめたw 時間があればやってみたいが、時間がないのでやめたぜ。やってもできないかもしんないけどw
→ No CommentsTags:
空気って
1月 24th, 2008 · thinking
コミュニケーション能力をウリにする人が醜悪な理由 – 分裂勘違い君劇場 http://d.hatena.ne.jp/fromdusktildawn/20060414/1144999515
同感。自分自身で何の主張もしないエントリは、ここでは扱わないつもりだったけど、ま、たまにはいいかな。
→ No CommentsTags:
不可説不可説転
1月 23rd, 2008 · misc
数量の比較 (無次元数) – Wikipedia
http://ja.wikipedia.org/wiki/%E6%95%B0%E9%87%8F%E3%81%AE%E6%AF%94%E8%BC%83_%28%E7%84%A1%E6%AC%A1%E5%85%83%E6%95%B0%29
このエントリが面白くてしばらく見てしまった。世界中の海岸の砂粒の数が 10^23 ってのが興味深い。体積あたりの数は単純に数えればいいのだけれど、世界中の海岸の砂の体積はどうやって出せばいいんだ?
あとは、人体の細胞の数 10 ^ 13 に対して、微生物の数 10 ^ 15 ってのも興味深い。微生物のほうが多いことは知ってはいたけど、100倍も違うなんて。
→ No CommentsTags:
Firefox + C++
1月 20th, 2008 · tek
Firefox ってさ、調べた限りだと IE の COM みたいな感じで他所で動いてるやつに介入して操作するの、積極的にはオープンにしてないんだよね。
やりたいこととしては Firefox でポインタ下にある単語を他所で取りたいってんだけど、よくそのへんで配布してる アドオンじゃあそれはできない。アドオンは基本的に Firefox という環境の中で完結していて、C++のインタフェースが無いのだ。そのへんにあるポップアップ辞書のアドオンは、全部その完結した環境でやりくりしてるわけ。というわけで、プラグインを作ることに。こいつはFlashプラグインやPDFプラグインが示すように、C++を叩いて、つまり外に出て行ける。
というわけで、
- ポインタ下にある単語を特定する部分にアドオン
- アドオンで得た文字列を外で受け取るインタフェース部分にプラグイン
という構成にしないとダメそうなのだ。で、試行錯誤の上、ようやくプラグイン部分が完成した。文字列を受け取って、WinAPI の PostMessage で1文字ずつBROADCAST しちゃうっていう方法。あとは、アドオン部分は既存のアドオンを適当に使い回せばなんとかいけそうだぜ。あー疲れた。
→ No CommentsTags:
Linq Linc Link
1月 19th, 2008 · tek
いやー、Linq 強力すぎるぜ。コレクションに対する処理を、今までどうやってやっていたのか忘れかけるほどに強力だ。
携帯電話普及以前、待ち合わせ場所に遅れることがわかったら、どうしてたんだっけ? ってなことをふと思うが、Linq はそれと同じような感覚を引き起こす。パラダイムシフトってやつだな。うむ。
→ No CommentsTags:
テンプレ「プログラマーの息子を持つ母からの投書」
1月 18th, 2008 · funny, tek
テンプレを書いてみたかったので。
「先日、プログラマーをしている息子から、プログラマー業界の薄ら寒くなるような兆候を聞かされました。義憤に駆られた私は、これを社会全体で議論していかなければならない問題だと思うといてもたってもいられなくなり、ここを読んでいるみなさんにもこのことを知ってもらうため、筆を執りました。
業界のトッププログラマーである息子が言うには、業界の最新流行はオブジェクト指向だそうです。息子が言うには、Web2.0 やら Ajax やらアジャイルやら小島よしおやら、そんなものは要するに全部オブジェクト指向の派生物なんだそうです。私はこの時点で何が何やらちんぷんかんぷんでしたが、とにかく業界のトッププログラマーの息子が言うことなので間違いないです。
それでは、そのオブジェクト指向とは何か、ということを息子に尋ねたときに私は冒頭の感想を抱くことになりました。息子が言うには、クラスというひな型から、オブジェクト(息子の説明ですと、何かの処理をする人)をいくつも生産するんだそうです。
クラスと言えば、私はまず学校のことを連想します。学校はいつから子供たちをひな型に当てはめて、彼らの個性を否定し、オブジェクト=モノ扱いするするような教育をするようになってしまったのでしょうか。これでは、60年以上前の軍国主義のころに逆戻りです。軍靴の音が遠くから響いてくるようで、私は胸を締め付けられました。さらに、彼らはひな型からいくつも生産されるそうなのですが、学校はいつから工場に、人間はいつから工場で作られるような工業製品になってしまったのでしょうか。プログラマー業界における人間性の否定は、ここに集約されているのではないのでしょうか。
私は、自分の息子の高校入学のお祝いに彼にパソコンを買い与えました。今考えると、息子がこんなひどい業界に進むきっかけを作ってしまったのは、他ならぬ私なのかもしれません。私は強い自責の念とともに、この欄を読んでいる全国のお母さんたちに同じ失敗をして欲しくない思いでいっぱいです。」
→ 1 CommentTags:
すでに干支がわからない1月17日、今日のお言葉
1月 17th, 2008 · tek
「故障時に外側からしか開け閉めできない核シェルター」という、プロダクトデザインの致命的失敗がトキをあんな風にしたんだ!!
→ No CommentsTags: