その3

暇だね俺も。 protected virtual ReadOnlyCollection<Expression> VisitExpressionList(ReadOnlyCollection<Expression> original) { List<Expression> list = null; for (int i = 0, n = original.Count; i < n; i++) { Expression p = this.Visit(original[i]); if (list != null) { list.Add(p</expression></expression></expression>…

その2

これどーよ。*1 protected virtual NewExpression VisitNew(NewExpression nex) { IEnumerable<Expression> args = this.VisitExpressionList(nex.Arguments); if (args != nex.Arguments) { if (nex.Members != null) return Expression.New(nex.Constructor, args, nex</expression>…

その1

方法 : 式ツリー ビジタを実装する | Microsoft Docsにこんなコードがあったので、 protected virtual Expression VisitBinary(BinaryExpression b) { Expression left = this.Visit(b.Left); Expression right = this.Visit(b.Right); Expression conversio…

Target framework を変更したアプリケーションの配置プロジェクト

まだベータ版ですがVisual Studio 2010で、アプリケーションをちょっと書いてみたワケです。 書いたからにはセットアップを作りたくなるのが人情なんですが、XPマシンにインストールしたいのです。 で、そのXPマシンは.NET framework 4.0 Betaはインストール…

テーブルのサイズ

テーブルのサイズやインデックスのサイズを表示する SQL 文です。 create table #t ( name nvarchar(256), rows int, reserved nvarchar(256), data nvarchar(256), index_size nvarchar(256), unused nvarchar(256) ) declare c cursor fast_forward for se…

コレクションクラス

C#

コレクションを使う際、どのクラスを使うのかいつも迷うので、まとめました。[完全版] 究極のC#プログラミング ~新スタイルによる実践的コーディングを参考にしました。 普通のコレクション ジェネリックのコレクション 機能 ArrayListList可変サイズの1次元…

ロト当選番号予測プログラム

知人から「ロトくじを当てるプログラムを作ってくれ」という馬鹿な頼みごとをされ、考え方が間違っていることを散々言い聞かせたが、納得してもらえず、放っておいたのですが…。http://b.hatena.ne.jp/khtokage/20100131#bookmark-18948459 「Webプログラマ…

ハッシュ関数

perlのハッシュ(連想配列)ではなく、wikipedia:ハッシュ関数。 #!/usr/bin/perl -W @buf = qw(ab 1 cdef 22 ghijk 333); for ($i=0 ; $i<@buf ; $i +=2) { $key = $buf[$i]; $value = $buf[$i + 1]; $hash = &get_hash($key); print "hash\{$key\} = $value\…

KISSの法則

先日、KISSの法則というのを知りまして、これは「Keep It Simple, Stupid.(単純にしろよ、バーカ)」の略だそうで、考え方自体は前から知ってたんですが、、Simpleには「単純な。ばかな。教養がない。無知な」という意味がありますから、これにひっかけたジョ…

テーブル名リストを得る

select name from sys.tables 出力例 name Customers Shippers Suppliers Orders Products

TweetDeck の表示領域

http://twitter.com/irobutsu/statuses/7370860715 tweetdeck、長い文章が全部表示されないけど、表示領域を広げる方法はないのだろうか?? http://twitter.com/kuri_kurita/statuses/7372390589 できないみたいです。"At present you cannot re-size colum…

西暦→和暦変換

C#

よくいわれることですが……和暦なんかなくなってしまえばいいのに。*1 えーと、古代〜近代において、「こよみ」を支配するものは天下を支配するものであったそうです。 江戸時代では、幕府の許可なくカレンダーを販売したものは厳罰に処せられたとか。 でもさ…

BT-1000W スクリプト用バッチファイル

いまどき Makefile でもないかなあ、と。 ならバッチファイルでいいや、と。scp フォルダに以下のようなバッチファイルを作成します。Job 数によって適時変更してください。リンカは obj ファイル名の大文字小文字を区別します。気を付けて下さい。 make.bat…

XML スキーマを DataSet エディタで

なんだかよく知らないが、Visual Studio 2008 で XML スキーマ・デザイナが利用できないので、代わりに DataSet エディタを使う方法。 ソリューションエクスプローラのプロジェクト名を右クリック。 [追加]...[新しい項目]をクリック。 ファイル名を入力して…

LINQのselect

「プログラミングC#第5版」を読んでたら、 SQL とともに育った人たちにとっては、select 文が最後に来ることに慣れるのに数年はかかるでしょう! と書いてあって笑いました。 まー、LINQに慣れる必要があるかどうかも怪しいもんですが。

TextBoxと改行

C#

MultiLine の TextBox に改行入りテキストを設定しようとして、 text.Text = "foo\nbar"; なんてことやってまして、で、できない。 調べたら text.Text = "foo\r\nbar"; でうまくいきました。*1 *1:実は "\n\r" だと思い込んでて、時間が掛かってしまいまし…

ウィンドウメニューサンプル

C#

で、ウィンドウメニューがいじれるようになったので、サンプルを作りました。 /// <summary> /// ウィンドウメニュー操作用クラス。 /// </summary> internal class RuleWindowMenu { #region MENUITEMINFO.fMask の値 /// <summary>fState</summary> const int MIIM_STATE = 0x00000001; /// <summary>wID</summary> c…

コレ、なんていう?

えーと、なんていうんだっけ。 メニュー。いやメニューなんだけど、普通のメニューとは違うよな。 えーと…。 てなことをやってまして、webをうろうろしてたら判りました。 「システムメニュー」です。 で、そこのアイコンは「システムメニューアイコン」でし…

映画「告発のとき」の公式サイトが奪われている

「告発のとき」とゆー映画があります。 原作が面白かったので、後で観ようと公式サイトをブックマークしておいてほたっておいたのです。 ブックマークはhttp://b.hatena.ne.jp/entry/www.kokuhatsu.jp/です。 で、そのサイトにアクセスすると… なんだこれは…

テーブル名からカラム名と型を得る

select columns.name, types.name from sys.columns join sys.types on ( columns.system_type_id = types.system_type_id and types.user_type_id <> 256 ) where object_id = object_id('Employees') order by column_id 出力例 columnNametypeName namena…

テーブル名からカラム数を得る

select count(*) from sys.columns where object_id = object_id(@tablename) 参照: http://oshiete1.goo.ne.jp/qa4455485.html

例外のシリアル化と逆シリアル化

C#

シリアル化 byte[] output; BinaryFormatter formatter = new BinaryFormatter(); MemoryStream stream = new MemoryStream(); formatter.Serialize(stream, ex); output = stream.GetBuffer(); stream.Close(); 逆シリアル化 private Exception BinToExcept…

主キーがサーバ生成のテーブルへの挿入

主キーが uniqueidentifier のテーブルで、かつその値をデータベースの規定値で挿入しようと思いました。 で、Linq to SQL で insert しようとすると、そのフィールドを null にすると、System.Data.SqlClient.SqlException が送出されるんです。 メッセージ…

ExceptionBox

C#

作りかけ。一応動くけど、もちっと考えたほうがよさそう。 Microsoft.ExceptionMessageBox.dll必須。 using System; using Microsoft.SqlServer.MessageBox; using System.Windows.Forms; namespace 例外 { /// <summary> /// 例外を表示するダイアログボックス /// </summary> …

タスクトレイ

C#

[隠す]ボタンでアプリケーションをタスクトレイに入れる。 タスクトレイアイコンをシングルクリックすると元に戻る。 using System; using System.Windows.Forms; namespace 名前空間 { public partial class Form1 : Form { public Form1() { InitializeCom…

Windows 7 の MSDN Subscription での提供は 8/15

http://www.microsoft.com/japan/msdn/rss/feed/subscriptions_ja_jp.xml Windows 7 (日本語版) の MSDN Subscription での提供は 8 月 15 日 (日本時間) を予定しています MSDN Subscription 会員の開発者の皆様は、Windows 7 (日本語版) を 8 月 15 日 (日…

最も当日に近い日付を得る

<html> <head><title>日付</title></head> <body> <h2>日付</h2> <script> // 「M/D」形式で指定した文字列から最も当日に近い日付を得る // 引数: date...日付。「M/D」形式 // 戻値: 日付が date で、最も当日に近い日付 function getNearestDate(date) { var today = new Date(); var year = today.getFullYear(); v</body></html>…

ブックマークのタグ一覧

ポケットはてなではブックマークのタグ検索ができないんですよね。 本屋やDVD屋で、「あー、ブックマークしといたブツがあったんだけどなー」と困ることが良くあります。 で、作ってみました。 http://y30.net/maangie/tags/ はてなIDを入力して、goボタンを…

イヤホンの故障?

周知の通り、iPhoneのイヤホンには便利な機能があります。 で、最近、僕のiPhoneのイヤホンのスイッチの調子がおかしいんです。 曲の停止もできないし、再生もできない。ましてやスキップもできない。 イヤホンが壊れたのかと近くの家電店で確認したら、壊れ…

文字コード

emacs で html を書いてるときなんか、 とか書いてるんですが、perl の場合、どうしよう、と。 #!/usr/bin/perl --*-- coding: utf-8 --*-- とかすると、perl へのオプション*1ととられてしまうだろうなあ、と。 で、調べたらありました。 「プログラミング…