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

C#3.0仕様 正式版

C#

http://download.microsoft.com/download/3/8/8/388e7205-bc10-4226-b2a8-75351c669b09/csharp%20language%20specification.doc正式版が出たそうです。参考訳でもいいから日本語版が欲しいなっと。 via http://blogs.msdn.com/charlie/archive/2007/08/20/c-…

アクセス修飾子

C#

トップレベルの型のアクセス修飾子は C# の public は IL でも public。C# の internal が IL では private なだけだった。入れ子の型はいろんなのがあるけど。わかってしまえば、なんだそれだけかという例。

β2 での anonymous type

C#

以前からちょこちょこ書いてきたようにβ2で匿名型が「不変な型」に変わりました。いったん生成したらもう値は変更できません。どう変わったか、最小のコードを書いて、Release でのコンパイル結果を ILdasm で見てみました。 class Program { static void Ma…

Tidy

HTMLを機械的に処理したいことがときどきあるんだけど、そのHTMLが壊れたHTMLだと扱いが大変です。ネスケとIEが壊れたHTMLをがんばって表示してくれたおかげで、世の中のHTMLは壊れてることが普通によくあります。まったく余計なことを…。 そこで壊れたHTML…

LINQ IQueryable provider を作る方法

C#

http://blogs.msdn.com/mattwar/default.aspxIQueryableを実装して LINQ to hoge を作る方法が連載されています。インタプリタパターンでミニ言語を作る方法そのものなので、あまりお目にかかれないVisitorパターンとインタプリタパターンの解説としてもよい…

LINQ to SQL Debug Visualizer

C#

おなじみスコットガさんのblogから。この人は本当にマネージャなんだろうか。 http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspxLINQ to SQLはC#の中の言語内DSL(ミニ言語)なので、どういうSQLを発行するのか?ってのが…

C#3.0仕様チェック

C#

8/8までC#3.0までの統合仕様書をレビューして、blogにコメントくださいとのこと。http://blogs.msdn.com/charlie/archive/2007/07/26/csharp-language-specification-version-3-0-available-for-review.aspxワード文書の仕様書はこちら。VS2008β2のお供に。(…

Lua on the DLR

Nuaだそうな。 http://callvirt.net/blog/entry.aspx?entryid=745a1eb7-bd8e-45bf-8bbf-7b391e08799a http://www.codeplex.com/NuaLua知らないけど見つけちゃったのでメモ。 ちなみに http://callvirt.net/blog/ の人の前のblogは http://blogs.msdn.com/joe…

LINQ to Objects で グループ化

C#

SQL を勉強しようと↓の本を読んでいます。SQL ってうまいの?ってレベルの私にもわかりやすく、薄いのに丁寧でよい本です。順に読めば SQL がしっかり理解できます。個々の DB について詳しい本ではなく、SQL 特にクエリーについての「言語の入門書」といっ…

IronRubyプレアルファ

出たそうです。 http://www.iunknown.com/2007/07/a-first-look-at.htmlvia 荒井さんのBlog http://blogs.msdn.com/shozoa/archive/2007/07/23/dlr-ironruby.aspx (追記)Astクラスがおもしろいことになっていますが、昔どこかで見た partial を使ったビジタ…

unfold に挑戦

C#

id:NyaRuRu:20070722#p2 のお題がおもしろいので、unfold 書いてみました。Orcas 立ち上げるのが面倒だったので C#2.0 で。 コードは最後にして、その前にいろいろと。 unfold ??? まずは unfold が何なのかわからなかったので Haskell の定義から。Hugs の …

LINQでSQLの検索CASE式

C#

LINQのおかげでSQLがすっかり関数型言語の高階関数群にしか見えなくなってしまいました。でもJoinのようなRDBらしい機能はやっぱりよくわからないので、SQLの入門書を借りてきて読んでます。 その中でSQLにもCASE式があることを知ったので、拡張メソッドでCA…

分解してしまう

C#

関数型言語は、何もかも徹底的に分解してその意味を熟考し、その結果汎用にできるものを汎用的に拡張し、全体を再構築した、そんな言語だと思います(特にLisp)。それで高階関数やら、奇妙な概念の継続みたいなものが生まれてきたんだろうなぁと想像します。…

LINQ日本語ドキュメント

C#

via ひろえむさんのところ http://blogs.wankuma.com/hirom/archive/2007/07/18/85770.aspx LINQ: .NET 言語統合クエリ(Don Box, Anders Hejlsberg) .NET 標準クエリ演算子 既に一部古いところがあるっぽいけど、日本語&一覧性が高いのがありがたい。わざわ…

謎メモ

コンパイル前実行、コンパイル時実行 Cのマクロ、C++のテンプレート、AOP(主にJava界隈やC#界隈)、RubyのMixIn、.NETの属性による機能付加 似てるような似てないような、関係あるようなないような。

Google Book検索のブラウザ用検索プロバイダ (IE7/Firefox2)

Googleブック検索を使ってブラウザから検索する検索プロバイダを作りました。IE7とFirefox2の両方で動くことを確認済みです。http://siokoshou.googlepages.com/booksgoogle.html↑のサイトを開いて右上の検索ボックスで追加操作をしてください。 まだ日本語…

匿名メソッドって難しい

C#

NyaRuRuさんのC#クイズを見て、そういえば前のクイズのほうもよくわからないまま放置してたなぁと思い出してしまいました。delegateまわりは推論があったり手厚いシンタックスシュガーがあったりレキシカルクロージャだったり共変と反変だのと、まぁとにかく…

正規表現 Cheat Sheet

http://regexlib.com/CheatSheet.aspx\b って単語境界だったりバックスペースだったりするのか。マッチしなくて使うの諦めたことがありました(T-T) MSDNの日本語解説。コンテキストによって変わるらしい。いやらしい。

カリー化で遊んでたら全然違うものになった

C#

※最初はカリー化と称して全然違うものを書いてました。全面的に訂正しました、ごめんなさい。C#3.0の拡張メソッドのカリー化、便利な使いどころを見つけようと遊んでいるうちにカリー化してない例になってしまったけど、現実的なLINQの使い方になっているの…

LINQ で FizzBuzz

C#

IEnumerable病がじわじわ広まっているので、LINQでFizzBuzzしてみた(イミフ)。 http://golf.shinh.org/p.rb?FizzBuzz using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { foreach ( string str in E…

不変なオブジェクト

C#

不変、immutable について。生成したら生涯、値が変わらないオブジェクトを不変なオブジェクトといいます。 string や Uri クラスなどが例です。誰もが使っている割りに、言及されることはまれです。string や Uri と対になる mutable なクラスは StringBuil…

LINQ開発秘話

C#

それはある日の、悪名高い Don Box からの一通のメールからはじまった。「なんで expression tree に eval がないの?」…続きは英語で。IQueryable's Deep Dark Secret おもしろいです、このお話。 これって、以前波村さんが書いたDLINQ Is Magicのことなの…

拡張メソッド

C#

利点 クラス提供者ではなく利用者が、クラスを後から拡張できる Mix-inとはまた違う、クラス横断型のクラス拡張方法 (としても使える) パイプ&フィルタ(例:LINQ)がネストした関数呼び出しから、左から右へと続く一連の関数の羅列になり、いかにもパイプらし…

IronPythonの名前の由来が「料理の鉄人」だった件について

http://blogs.msdn.com/shozoa/archive/2007/06/30/python-workshop-the-edge-2007.aspxコーヒー吹くとこだったw ずっと気になってたので、この情報はうれしい

ねくすとてくのろじぃ

最近、MSの次の技術の発表が多杉てさっぱりわからないので、コードネームと概要をコピペ。 SQL Server 2008 (Katmai) - The next release of SQL Server Astoria - Data services over regular HTTP Jasper - Dynamic ADO.NET Acropolis - Building smart cl…

enum を ComboBox に表示する (文字列で置き換えない)

もうちょっと実験したらまた不思議なことが起きたのでメモ。 enum を直接コンボボックスに表示する場合です。一つ前のエントリとの違いは文字列で置き換えないってところ。こっちが先だろって一人つっこみしつつ…。表示したいのはこれ。 public enum Gender …

enum を文字列で置き換えて ComboBox に表示する

先週は、DataBindingで大ハマリしてました。データベース知らない→ADO.NET知らない→DataBindingあまり使わないって流れで、DataBindingをよく知らないのが原因。なので、ADO.NET本を借りてきてちょっと勉強中です。以下は WinForm の DataBinding についてで…

読み仮名アプリ

C#

先日公開された Yahoo の日本語形態素解析 Web サービスを使って読み仮名振りアプリを作ってみました。手抜きだけどね:)事前準備として、アプリケーションID登録フォームでアプリケーションIDを取る必要があります。Yahoo のアカウントがあれば、ポチっとそ…

そのうち書く

C#

不変について。immutable。 そもそも気になったきっかけ http://blogs.msdn.com/sreekarc/archive/2007/04/03/immutable-the-new-anonymous-type.aspx そしてここでも不変が出てきた Equals() と演算子 == のオーバーロードに関するガイドライン (C#) (自分…

FizzBuzz問題

奥村先生が例のFizzBuzz問題を生徒42人に制限時間付きで実施してみたそうな。 http://oku.edu.mie-u.ac.jp/~okumura/blog/node/1531結果が気になります。勝手に予想、2割の8人。