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

バッファリングなど特殊変数

Perl の特殊変数をよく忘れるのでメモしておきます。 Perl の特殊変数のうちときどき使うものも参考になります。たとえば、バッファリングを行わないようにするには、以下のように $| を使用します。 (CPAN のモジュールを使った方が可読性が高くなるのでお…

DB 内のテーブル情報を取得する方法

SQL Server 2005 でデータベースの情報を取得するには、情報スキーマビュー (INFORMATION_SCHEMA) が便利です。 *1 情報スキーマビューには、以下のような種類があります。 INFORMATION_SCHEMA.SCHEMATA スキーマ情報 INFORMATION_SCHEMA.TABLE_PRIVILEGES …

GridView に行番号をつける

FAQ のような記事ですが、 GridView に行番号を表示する方法について説明します。 SQL でデータを取得するときに付加する方法 SQL で行番号を追加するには、 ROW_NUMBER() を使用します。たとえば、以下のような SQL を記述します。 *1 SELECT ROW_NUMBER() …

Visual Studio でデバッグ用シンボルを設定する方法

シンボルファイル (.pdb) は、デバッグをする上で役立ちます。ここでは、コールスタックに Windows システム DLL (API) の情報を表示できるようにするため、 Microsoft のシンボルサーバを設定する方法について説明します。シンボルサーバを設定するには、以…

LINQ, PLINQ 関連のリンク

以下の内容は、LINQ 関連技術まとめリンクとして再編集しました。今後は、LINQ 関連技術まとめリンクの方をご覧ください。

データ形式の無意味なこだわり

何かのデータを記述するとき、その形式に無意味なこだわりを持ってしまいます。このこだわりは誰も気づかないし、自分からも主張しません。ただ黙々と、静かにこだわっています。ここでは、このこだわりの一部をお見せします。まずは、日付の形式です。年月…

ASP.NET でモーダルダイアログボックス

概要 ASP.NET でモーダルダイアログを実現するには、以下の 3 通りの方法があります。 JavaScript の showModalDialog() を使用 JavaScript の window.open() を使用してフォーカスを常に取得 Ajax Control Toolkit の ModalPopupExtender コントロールを使…

ViewState のサイズを計測する方法

Bugslayer: ビュー ステートの影響を測定する -- MSDN Magazine, November 2007 では、 ViewState の大きさを計測する方法や ASP.NET でのデバッグ手法などが解説されています。C++ で開発を行っている場合、過去の Bugslayer シリーズもおすすめです。オン…

排他的論理和 XOR のアルゴリズム

排他的論理和 (XOR; logical exclusive-or) は、片方のオペランドが true の場合だけ結果が true になります。 AND と OR と NOT のみで XOR を表現すると、「(a || b) && !(a && b)」となります。C++ や Java, C# で XOR を計算するには、「^」演算子を使用…

.NET の多次元配列とジャグ配列

概要 この記事では、 .NET (C#, VB.NET) の「多次元配列」と「ジャグ配列」について解説します。多次元配列とジャグ配列の宣言は、以下のように行います。 // 多次元配列 string[,] twoDimension; string[,,] threeDimension; // ジャグ配列 (配列の配列) st…

Task Parallel Library (TPL) メモ

Task Parallel Library (TPL) は、現在 Microsoft が開発中の並列化を容易にするライブラリです。 TPL を使用すると Parallel.For という単純な関数で並列化が可能になります。使用するには .NET Framework 3.5 以上が必要です。 並列パフォーマンス: マルチ…

.NET での文字列比較推奨事項

.NET での文字列比較ですが、忘れやすいのでメモしておきます。 New Recommendations for Using Strings in .NET 2.0 カルチャを認識しない文字列操作の実行 Share This : Speed Up String Processing with StringComparison.Ordinal DO: Use StringComparis…

Fill() と GetData() と Expression プロパティの関係

DataColumn.Expression プロパティを使用すると、 DataTable 内のデータを自動で計算することができます。しかし、ある状況下でこの自動計算が行われない場合があるようです。確認手順は以下のようになります。 DataSet (xsd) を作成 作成した DataSet に Ta…

PlaceHolder や Panel にコントロールを動的に追加した時の挙動

ASP.NET の PlaceHolder や Panel にコントロールを動的に追加した場合、追加したコントロールの状態が保持されないようです。少しはまってしまったので、メモしておきます。確認手順は以下の通りです。 画面に PlaceHolder を配置 Page_Init() や Page_Load…

DataTable.Select() で日付型の比較

.NET (C#, VB.NET) の DataTable.Select() で、日付型の比較を行うには以下のようにします。 DataTable table = ...GetData(); // ... DataRow[] rows = table.Select(string.Format( "[{0}] = #{1}#", "DATE_COLUMN_NAME", DateTime.Today)); 上記のように…

Java ウェブフレームワーク Wicket

Java ウェブフレームワークのメモです。 Struts や Spring は有名だと思うので、 Wicket のリンクをメモしておきます。 Javaウェブフレームワーク「Wicket」の使い方 Apache Wicket - Home 今のところ、各フレームワークに対して以下のような比較というか感…

Windows のメモリ管理

ホワイトペーパー: Windows のメモリ管理の進歩 - NyaRuRuの日記を読みました。 Visual Studio 2005 では、 /DYNAMICBASE と /NXCOMPAT オプションなんてのが増えていたのですね。 id:NyaRuRu さんの記事は、メモリ関係が非常に詳しく参考になります。多くの…

SQL Server のエラー番号を調べる方法

SQL Server のエラー番号を調べるには、 sys.messages カタログ ビューを参照します。 (古いバージョンの SQL Server を使用している場合、 master.dbo.sysmessages テーブルを参照してください。)たとえば .NET で開発している場合、 SqlException.Number …

timingframework: Java でアニメーション機能を実装

Java でアニメーション機能を実装する場合、 timingframework が便利です。 Utility and Framework for timing and animations. The code serves as a tutorial on how to use timers, as well as a framework for doing more powerful things with timers. …

appframework: Swing を使うときに便利なフレームワーク

久しぶりに Java のライブラリを探検しているのですが、 appframework というのがあるのですね。 Application lifecyle, notably GUI startup and shutdown. Support for managing and loading resources, like strings, formatted messages, images, colors…

IEquatable と GetHashCode() はセットで実装

概要 .NET (C#, VB.NET) で、ジェネリックコレクションに独自の型を格納するときは、 IEquatable や IComparable と GetHashCode() の実装を行います。GetHashCode() の実装は忘れやすいため、注意が必要です。これらを実装することで、独自の型でキーが同じ…

フォントの表示テストに使用されるパングラム

フォントの表示テストには、パングラムが使用されます。パングラムを使用すると、アルファベット 26 文字を短い英文で表示することができます。代表的なパングラムの例として、「The quick brown fox jumps over the lazy dog. (すばしっこい茶色の狐はのろ…

設計文書のうまい書き方

設計文書のうまい書き方を読みました。設計文書 (基本設計書や詳細設計書) は、どの程度の粒度で書くか、人によってばらばらなのが困ります。*1個人的には、ソースコードがドキュメントという考え方が好きで、ユニットテストとリファクタリングを率先して行…

Windows Server 2003 と SQL Server 2005 と ASP.NET 2.0 の連携設定

Windows Server 2003 と SQL Server 2005 と ASP.NET 2.0 の連携設定のメモです。以下のサイトが参考になります。 Error message when you try to run an ASP.NET 2.0 application on a Windows Server 2003-based computer: "Server unavailable" How To: A…

C# で指定した曜日の日を取得

C# (.NET) で曜日を扱うには、 DateTime と DayOfWeek を使用します。サンプルとして、引数で指定した曜日で、指定日から最も近い未来日 (当日を含む) を取得するソースを以下に示します。このソースでは、 DayOfWeek の値を int に変換して、曜日の計算を行…

MSDN Magazine, November 2007

MSDN マガジン 2007 年 11 月号が公開されています。今号の特集は以下のようです。バックナンバーも公開されていますので、最新の技術を学ぶために是非活用してください。 信頼できるコンピューティング: より安全なソフトウェアの構築を目指した 5 年間の教…

ValidationProperty

作成したユーザコントロールやカスタムコントロールを Validator に対応させるには、 ValidationProperty 属性をクラスに設定します。詳細は MSDN を参照してください……といいたいところですが、残念ながらほとんど情報がありません。サーバサイドの検証に対…

ASP.NET で ComboBox

たまに ASP.NET で ComboBox を使いたいという要件があるのでメモ。 ComboBox WebControl - The Code Project - ASP.NET が参考になります。 *1 *1:しかし、 Web で ComboBox はやめてほしい。普通に DropDownList にしようよ……。

約 6 週間ぶりのバックアップ

前回のバックアップから約 6 週間がたちました。これからも定期的にバックアップをとることを宣言します :-)

JavaScript でデバッグ出力 (trace) を使用

ASP.NET Ajax を使用していると、 JavaScript で trace() が利用できます。デフォルトの出力先は、 Visual Studio の出力ウィンドウです。これで、表示がうっとうしい alert() に頼らずにすみます。 Sys.Debug.trace("debug"); なお、デバッグ出力を行うには…