問題だらけのshowModalDialog
はじめに
ブラウザ上でのJavaScriptに、showModalDialogというメソッドがある。MDCのリファレンス(MDC)の説明*1を引用すると、
指定された HTML 文書を含む モーダルダイアログボックスを生成し、表示します。
という機能を持つメソッドだ。しかしながらこのメソッド、私が今回経験したが、問題山積だ。結論から言うと、使うべきでない。
本エントリでは、私が今回発見したshowModalDialogの問題点を列挙し、このメソッドが必要になりそうな場合の代替案を示す。
テキストボックスのonchangeイベントを信用するべからず
はじめに
JavaScriptで、テキストボックスのonchangeイベントを信用してはならない。本エントリでは、今回私が経験した、期待とは異なる動作を紹介し、対処方法を提案する。
LinqのWhereでの列挙中に、列挙を中断できる
IEnumerableを返すためにyield returnを使うコードを、最近になって初めて実践的に使った。するとあることに気付いた。次のコード、yieldに慣れていないとどう動くか予想しづらいのではないか。
int count = 0; var array = new object[100]; foreach (var obj in array.Where((o) => { count++; return true; })) { Console.WriteLine(count); if (count >= 10) { break; } }続きを読む
ASP.NETで「ログイン成功後に新しいセッションを開始」は可能なんだろうか?
はじめに
IPAが、『安全なウェブサイトの作り方』という、Webサイトのセキュリティに関するガイドブックを出している。このPDFの21ページに、「ログイン成功後に、新しくセッションを開始するようにする」という対策がある。この解説の内容は納得できるものだ。しかし、ASP.NETで、うまくこれを実装する方法はあるのだろうか?
Nullableはまあまあ賢い
はじめに
System.Nullable<T>は、まあまあ賢い。まあまあ賢いとはどういうことかというと、予想したとおり動作してくれる。具体的には、
- nullとの比較
- ボックス化
が、予想したとおり動作する。