正直、今更感はありますが… C# を用いて、XMLファイル を読み込んで オブジェクト を生成する デシリアライズ と、 オブジェクト を XMLファイル へ書き込む シリアライズ を行うサンプルコード を覚書きしておきます。
目次
正直、今更感はありますが… C# を用いて、XMLファイル を読み込んで オブジェクト を生成する デシリアライズ と、 オブジェクト を XMLファイル へ書き込む シリアライズ を行うサンプルコード を覚書きしておきます。
目次
守る資産、脆弱性、脅威の3つが揃ったとき、そこにセキュリティリスクが発生します。 ここでは、脆弱性を減らすことで、セキュリティリスクの低減を図る方法を示します。 具体的にここでは、JavaScript の サニタイジング を行うことで XSS(クロスサイトスクリプティング) を防ぐ方法をみていきます。
目次
ASP.NET で開発をしていると、 web.config に machineKey を設定できます。 複数のサーバーにおいて、同じ認証結果を利用したい場合(DNSラウンドロビン等)、各サーバーにおいて共通の machineKey を設定することで、1度の認証で他のサーバーにアクセスできるようなことを実現できます。 この machineKey 、生成方法は MSDN に記載があるのですが、わざわざ作らないと machineKey を手に入れることができません。
…というわけで、machineKey を生成するツールを作ってみました。 暗号化/複合化および検証に対して任意の強度を選択して生成するだけの単純なものです。
ソースコード
バイナリ
"技術的にできる" という実践例として MVC 4 + WebAPI という組み合わせで、 RESTful like なフォーム認証を作る方法を記載します。 MVC だけで実装する フォーム認証 と比べ、実装量が増える デメリット がありますが、操作感が良くなる(リクエスト時に固まるをなくせる)メリットはあると思います。
目次
<namespace> |
util
Jasmineで利用する ユーテリティ 関数、クラスを保持します。
|
---|---|
<namespace> |
Clock
Jasmineで利用するタイマーに関する関数、クラスを保持します。
|
<private> |
undefined : undefined
undefined は他の場所で上書きされている場合があるため、必ずundefined の代わりに jasmine.undefined を利用してください。
|
---|---|
<private> |
VERBOSE : boolean
このプロパティが true に設定されている場合、診断メッセージをコンソールへ出力します。
|
<private> |
DEFAULT_UPDATE_INTERVAL : number
イベントループを実行するデフォルト インターバル ミリ秒
(ネットワークアクティビティ を許可したり、HTMLベースのランナーをで画面をリフレッシュする場合など)。
小さな値を設定するとテスト実行が遅くなることがあります。
0 は更新されないことを意味します。
|
<private> |
DEFAULT_TIMEOUT_INTERVAL : number
waitsFor() ブロックで、タイムアウト する デフォルトインターバル ミリ秒。
|
<private> |
version_ : object
|
<private> |
unimplementedMethod_ : void
|
---|---|
<public> |
グローバル オブジェクト を取得します。
|
<public> |
指定された遅延の後に、コードの断片または関数を実行します。
|
<public> |
setTimeout によって設定された遅延を解除します。 |
<public> |
一定の遅延間隔を置いて関数を繰り返し呼び出します。
|
<public> |
setInterval によって設定された繰り返し処理を解除します。 |
<public> |
jasmine.Env インスタンス を取得します。 |
<public> |
結果表示用に文字列整形します。
|
<private> |
指定された オブジェクト が配列かどうかを返します。
|
<private> |
指定された オブジェクト が文字列かどうかを返します。
|
<private> |
指定された オブジェクト が数値かどうかを返します。
|
<private> |
指定された オブジェクト が 指定された 型 かどうかを返します。
|
<public> |
引数が DOM要素 の場合、 true を返します。
|
<public> |
マッチ可能なクラス型の "一般"オブジェクト を返します。
|
<public> |
マッチ可能な JSONオブジェクト の サブセット を返します。
|
<public> |
Spy オブジェクト を生成します。
|
<public> |
オブジェクトが jasmine.Spy オブジェクト かどうか判定します。
|
<public> |
より複雑な Spy オブジェクト を生成します。
|
<public> |
全パラメターの文字列整形が終わった後、現在のスペックを書き出します。
|
<public> |
MessageResult
|
---|---|
<public> |
ExpectationResult
|
<public> |
XmlHttpRequest
|
<public> |
スタブ、スパイ、フェイク、またはモックとして動作するテストの代役クラス。
|
<public> |
Env
|
<public> |
Reporter
|
<public> |
Block
|
<public> |
JsApiReporter
|
<public> |
マッチャーに関する関数、オブジェクト。
|
<public> |
FakeTimer
|
<public> |
MultiReporter
|
<public> |
NestedResults
|
<public> |
PrettyPrinter
|
<public> |
StringPrettyPrinter
|
<public> |
Queue
|
<public> |
Runner
|
<public> |
Spec
|
<public> |
Suite
|
<public> |
WaitsBlock
|
<public> |
WaitsForBlock
|
getGlobal メソッド
グローバル オブジェクト を取得します。
public {void} getGlobal ( )
setTimeout メソッド
指定された遅延の後に、コードの断片または関数を実行します。
public {number} setTimeout ( {function} code, {number} delay )
clearTimeout メソッド
setTimeout
によって設定された遅延を解除します。
public {void} clearTimeout ( {number} timerId )
setInterval メソッド
一定の遅延間隔を置いて関数を繰り返し呼び出します。
public {number} setTimeout ( {function} code, {number} delay )
clearInterval メソッド
setInterval
によって設定された繰り返し処理を解除します。
public {void} clearInterval ( {number} timerId )
getEnv メソッド
jasmine.Env
インスタンス を取得します。
public {jasmine.Env} getEnv ( )
pp メソッド
結果表示用に文字列整形します。
あらゆる オブジェクト を引数にとり、読みやすい文字列に整形して返します。
public {string} pp ( {object} value )
isArray_ メソッド
指定された オブジェクト が配列かどうかを返します。
public {boolean} isArray_ ( {object} value )
isString_ メソッド
指定された オブジェクト が文字列かどうかを返します。
public {boolean} isString_ ( {object} value )
isNumber_ メソッド
指定された オブジェクト が数値かどうかを返します。
public {boolean} isNumber_ ( {object} value )
isA_ メソッド
指定された オブジェクト が 指定された 型 かどうかを返します。
public {boolean} isA_ ( {string} typeName, {object} value )
isDomNode メソッド
引数が DOM要素 の場合、 true を返します。
public {bolean} isDomNode ( {object} obj )
any メソッド
マッチ可能なクラス型の "一般"オブジェクト を返します。 値を気にしない型の判定で使います。
public {jasmine.Matchers.Any} any ( {function} clazz )
jasmine.Matchers.Any
オブジェクト。// 関数が呼び出されたことだけを調査し、その他は無視します。 expect(mySpy).toHaveBeenCalledWith(jasmine.any(Function));
objectContaining メソッド
マッチ可能な JSONオブジェクト の サブセット を返します。 オブジェクトの全属性を気にしない判定で使います。
public {jasmine.Matchers.ObjectContaining} objectContaining ( {object} sample )
jasmine.Matchers.ObjectContaining
オブジェクト。// オブジェクト プロパティ "foo" のみを調べて、他は無視します。 expect(mySpy).toHaveBeenCalledWith(jasmine.objectContaining({foo: "bar"});
createSpy メソッド
Spy オブジェクト を生成します。
public {jasmine.Sply} createSpy ( {string} name )
isSpy メソッド
オブジェクトが jasmine.Spy オブジェクト かどうか判定します。
public {boolean} isSpy ( {object} putativeSpy )
createSpyObj メソッド
より複雑な Spy オブジェクト を生成します。
すべての プロパティ が Spyオブジェクト で成り立つ オブジェクト を生成します。
大きな スタブ を生成したい場合に利用します。
baseName + methodName の Spy オブジェクト を大量生成します。
public {object} createSpyObj ( {string} baseName, {string[]} methodNames )
log メソッド
全パラメターの文字列整形が終わった後、現在のスペックを書き出します。
jasmine.log
は製品コード中で利用しないでください。
public {void} log ( )
URLに含まれる クエリストリング (クエリ文字列、クエリパラメータ) を取得し、使いやすい形に分解、整形する サンプルコード を掲載します。 単純な クエリストリング を分解する コード はよく見かけるので、もう少しがんばって 配列 や ハッシュ(連想配列) に対応したものを実装してみました。
目次
関連記事