直交表について1

すべての組み合わせテスト行うのは時間的に無理 例えば57個の組み合わせテストをすべてやろうとしたら46億パターンが以上必要!! ほとんどの不具合は、2機能間の組み合わせで発見されている。 多人数で作成されているソフトウェアは3,4機能の組み合わせでも…

コントローラークラスのテスト

チュートリアル: ASP.NET MVC での TDD の使用 上記リンク先からダウンロードできるサンプルソースはMVC2のときのものですが、十分参考になります。 コントローラークラスに対するテストを勘違いしていたところがあったので、自コメント付けてソースを丸々貼…

DotNetOpenAuthのOpenId認証アダプタ作成

※8/25 OpenId用語訂正(RP⇒OP) asp.net mvcアプリで、DotNetOpenAuthを使用したOpenId認証を行う際、 DotNetOpenAuthのサンプルコードのようにControllerで認証関係処理をゴリ書きするのが嫌だったので、その辺の処理をクラスに分離してみました。 Factoryク…

SQLServerの基本事項メモ

今までアプリケーションのデータソースとして何気なく使っていて、デバッグ時は問題ないが、 本番環境への配置やリモートからの接続が発生した途端にエラーが発生し困ったことが多々ある。 とりあえず動くようにという感じで場当たり的な対応で乗り切ってい…

jQueryMobileでの動的ページ追加に関するメモ

※jQuery Mobile 1.0a4.1 でのはなし。 静的なページが必ず1つ必要っぽい。(ひとつも無いとエラーが発生する) そのため、ダミーページを作成して対応。 <div data-role="page" id="dummypage"></div> <div id="templ-page"> <div data-role="header"><h3>ヘッダー</h3></div> </div>

ASP.NETページのトレース

ページ単位 チュートリアル : ASP.NET トレースと System.Diagnostics トレースの統合 WindowsFormアプリケーションの場合はConsole.Writeline()でデバッグメッセージをコンソール出力していたが、ASP.NETで同じことはできない。 System.Diagnostics.Traceク…

ASP.NET 認証まわりメモ

メンバシップフレームワーク メンバシップ プロバイダの実装 サンプル メンバシップ プロバイダの実装 方法 : サンプル メンバシップ プロバイダを実装する 方法 : カスタム メンバシップ ユーザーを実装する DataSourceごとにプロバイダクラスを生成する必…

ルーティング機能

ASP.NETのルーティング機能。ASP.NET MVCのそれがASP.NETへ統合されたらしい。 ルーティングの有効化 IIS7.0以前のバージョンで使用する場合、modulesノードへUrlRoutingModuleを追加する必要がある。 以降の場合はmodulesノードのrunAllManagedModulesForAl…

ASP.NETのちょっと内側

.section-detail{ margin : 10px; margin-bottom : 30px; font-size : small;} .ref-info{ display : block; font-style : italic; margin : 5px; margin-left : 0px;} ASP.NET MVC のソースコードを読むにあたっての事前調査メモ。 ISAPI(Internaet ServerA…

属性値の取得、変更フック

jQuery1.6の新機能を試してみました。こんな感じで変更を感知できます。 参照元:jQuery1.6の更新内容をまとめたよ。 | Ginpen.com <html lang="ja"> <head> <meta charset="UTF-8" /> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("a").hover( f…</meta></head></html>

Razorメモ

言語はC# レイアウト いままでのマスターページに替わって、Razorではレイアウトページという仕組みを使う。 共通のレイアウトページは_ViewStart.cshtmlで指定される。(デフォルトでは_Layout.cshtml) <html> <head> <title>@ViewBag.Title</title> <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> </link></head></html>

ADO.NET Entity Framework Code First メモ

C#

久しぶりに触ったので参考にした過去のメモたちをまとめておく。 CTP4のときに書かれた記事のクリッピング UntitledCTP4⇒CTP5での変更箇所一覧記事のクリッピング Untitled

時間帯重複チェック

お題:時間帯重複チェック - No Programming, No Life だらだらとなってしまいました <html> <head> <script type="text/javascript"> var DateRange = function(stH, edH, stM, edM){ var checkHour = function(obj){ return 0 <= obj.stHour <= 24 && 0 <= obj.edHour <= 24; }; var checkMinitue = fu</head></html>…

apply関数

Functionオブジェクトのapply関数を呼び出すことで、thisを差し替えての関数呼び出しができる! 第2パラメーターには関数パラメーターを配列で指定する。 サンプルその1 <html lang="ja"> <head> <meta charset="utf-8"> <script type="text/javascript"> var Foo = function(msg){ this.msg = msg; }; Foo.prototype.getMessage = func</meta></head></html>…

コンストラクタ呼び出しパターン

JavaScriptTheGoodPartsより new演算子をつけて呼び出された関数(コンストラクタ関数)は、新しいオブジェクトが生成される。 コンストラクタ関数はnew演算子指定なしでも呼び出せてしまう。実行時に何も言われないので、使用に注意する必要がある。 コンスト…

スレッドセーフなコレクションクラス メモ

C#

こういうクラスがあるのよということを箇条書きで。 System.Collections.Concurrentで定義されているクラスを使う。 System.Collections.Concurrent 名前空間 () BlockingCollectionクラス BlockingCollection の概要 スレッドセーフなキューとして使用でき…

スレッドとタスク

C#

スレッド 同時実行可能なスレッド数はプロセッサ数に依存する。 .netではスレッドひとつに1MBのサイズが必要。 スレッドの切り替えは高コスト。(コンテキストスイッチが発生する) 大量のスレッド作成はかえって逆効果。スレッドを作成するのではなく、タスク…

jQuery Templates メモ

こんな感じで書いていきます。 <html> <head> <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js"></script> <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.js"></script> </head> <script type="text/javascript"> $(document…</html>

どう書く? - 文字列に含まれる単語の最初の文字を大文字にする

F#

文字列に含まれる単語の最初の文字を大文字にする - どう書く? org正規表現使うのがスマートなやり方なんでしょうが、使ってません。 open System.Text; open System.Globalization; let toTitleCase str = CultureInfo.CurrentCulture.TextInfo.ToTitleCase…

正規表現クラスでの置換

C#

お恥ずかしい話ですが、RegexクラスのReplaceメソッドがこんなに便利なんて知りませんでした。 正規表現で指定しなくてもMatchした最小単位で置換処理が行なわれるのですね。 //hello world を Hello Worldに置換する class Program { static void Main(stri…

どう書く? - 条件を満たす行を取り除く

F#

条件を満たす行を取り除く - どう書く? org最近覚えたアクティブパターンを半ば無理やり使ってみました。 open System.IO; open System.Text.RegularExpressions let (|IsMatch|_|) (str : string) = let regex = new Regex(@"^#.+") if regex.IsMatch(str) …

測定単位の使い道

F#

これは便利そうだなと思ったけど、 測定単位の活躍どころが思いつきませんでした。 特徴としては 値に意味を持たせることができる。 同じ単位同士以外の演算できない。 かな。これらががっちりはまりそうなところといえば。。。?

どう書く? - リストを逆順に表示

F#

リストを逆順に表示 - どう書く? orgList.revを使わないように考えてみました。 let reverse lst = let rec _reverse _lst = match _lst with | [] -> _lst | hd::tl -> _reverse(tl)@[hd] _reverse lst [<EntryPoint>] let main(args : string[]) = //Listモジュール使</entrypoint>…

どう書く? - 隣り合う二項の差

F#

隣り合う二項の差- どう書く? org これはひどい。関数プログラミングらしく考えられませんでした。。。。 let Diff (xs : int list) = let mutable result = [] for i=1 to xs.Length-1 do result <- ((xs.[i]-xs.[i-1])::result) List.rev result [<EntryPoint>] let ma</entrypoint>…

どう書く? - ピラミッド作成

F#

ピラミッドを作る - どう書く? org、与えられた文字列でピラミッド - どう書く? org をF#で考えてみました。 module Pyramid1 = //http://ja.doukaku.org/8/ let Pyramid (stageCount : int) = for i=1 to stageCount do Array.create (stageCount - i) " " …

どう書く? - 与えられた数字のケタ数

F#

与えられた数字のケタ数 - どう書く? org をF#で考えてみました。 open System [<EntryPoint>] let main(args : string[]) = let ParseNumber num = let rec _parse _n (a,b) = if _n > 0 then _parse (_n / 10) (a+1,b*10) else (a,b/10) let ret = _parse num (0,1) pr</entrypoint>…

どう書く? - 九九の表示

F#

九九の表示- どう書く? org をF#で考えてみました。 F#書式設定は慣れませんねぇ、、結局Formatメソッド使いましたよ。 open System [<EntryPoint>] let main(args : string[]) = for i in 1 .. 9 do ignore(List.map (fun n -> printfn "%s" (System.String.Format("{0}</entrypoint>…

MacBookAirが当たるかも?

MacBook Air 11インチ欲しい! もし、当たれば両親にプレゼントしよう。ケータイを操作できるのだから、 パソコンも教えてあげればきっと使いこなせれるはず。 ケータイでは実現不可能なすばらしい体験をさせてあげたいなぁ。

どう書く? - バイナリクロック

F#

バイナリクロック- どう書く? org をF#で考えてみました。 張り切りすぎて多少余計な機能が実装されています。。。 これを実行すると、現在時刻を表示します。 open System module BinaryClock = type BinChar = {Zero : string; One : string } let Convert…

エフシャープを学ぶ

F#

オライリーのEBookストアで、書籍より700円程安く電子書籍が買えるのを見つけ、試しにF#本を購入(決済方法はPayPalのみ)したことがきっかけで、勉強するようになりました。 関数プログラミング言語は慣れていないので、はじめは理解するのに苦労しました。現…

アレイのuniq

F#

アレイのuniq - どう書く? org をf#で考えてみました。 本当は投稿したかったのですが、ユーザー登録時にエラーが発生するのであきらめました。 module UniqArray = let Make (list : int list) = let AddListIfUniqItem (uList : int list) item = match Li…

DBを使用しないデータの永続化

HttpApplicationとHttpModuleの勉強がてら作ってみました。 こういうのは手段としてはありなんでしょうか? 下記の動作を行います。 http://localhost/Hogege/Group.add でグループ情報を追加、http://localhost/Hogege/Group.xml でグループ情報を表示しま…

コントローラークラスにログイン機能つけてみた

コントローラークラス 単一のControllerでログイン、ログアウトを行えるようにAccountModelsでの定義クラスを使用してやってみた。 AccountModelsのソースはいじってません。public class HogegeController : Controller { private IMembershipService membe…

Todoアプリ作ってみました。

こちらで公開しています。 今後はUIをWPF製に変更したり、Web連携などを考えています。

プラットフォーム呼び出しによるデータのマーシャリング

C#

まだ完全には理解できていない部分があります。下記参照元を参考にして とりあえず動くようにはなりましたが、構造体文字列メンバー値が正しく取得できない等 一部おかしなところがあります。 参照元 プラットフォーム呼び出しによるデータのマーシャリング …

ユーザー情報の取得メモ

ユーザー情報 System.Web.Mvc.Contoller.User.Identityで取得。 ・未認証の場合:GenericIdentityクラスを返す。未認証で、認証方法やユーザー名称などは空文字列。 ・認証済の場合:System.Web.Security.FormsIdentityクラスを返す。認証済みで、それぞれの…

jQueryでのチェックボックスのチェック判定

下のような左端列にチェックボックスを持つテーブルに、選択行データの一括削除機能をjQueryで実装する。 テーブルと削除ボタンは、↓こんな感じで。... <table> <thead> <th> </th> <th>Id</th> <th>タイトル</th> </thead> <tbody> <tr class="detail-row"> <td class="del-col"><input type="checkbox" class="del-check" /></td> <td class="id-col">1000</td> <td>タイトル1</td> </tr> </tbody></table>

JavaScriptからアクションメソッド呼び出し

Tableのtrクリックイベントで、アクションメソッド呼び出しを行うといったことを実現するために こんなアクションメソッドを作成し、使用するViewで読み込み行う。public ActionResult HogeeUrl() { return JavaScript(String.Format("var hogeUrl = {0};", …

表組みの列合計値を求める

最下行の列合計を自動で算出するサンプル。 jqueryで対象要素の後ろに挿入する場合はafter関数を使用すること! また、挿入対象を一箇所に絞り込みたい場合はセレクタでそのように指定しないと、セレクタ指定全要素に挿入される!!(appendなども同様) add関…

ルーティングのテスト

Mockクラスを使用してルーティングの単体テストを行う。 モックライブラリ http://code.google.com/p/moq/ 使い方は、配布ページドキュメントと、ここを参考にした。 モックオブジェクトの作成 通常の実装とは異なり、Aメソッド呼び出しのときにBパラメータ…

IISメモ

環境:Windows7Pro64bit IIS7.5 自分用メモ。俺語が出てくる場合があります。 管理画面 1つのISSで複数Webサイトを管理することができる。 Webサイトでは仮想ディレクトリ、Webアプリケーションを複数管理することができる。 Webサイトのバインド Webサイト…

ハイパフォーマンスWebアプリケーション

http://msdn.microsoft.com/ja-jp/asp.net/ff394368.aspx のまとめ Microsoft Ajaxコンテンツ配信ネットワーク(CDN) 世界中の戦略的なネットワークポイントに配置されているコンテンツ配信サーバー (MS社製のjavascriptファイル、jqueryファイルを配信する…

非同期表示でハマった

忘れないようにメモ。 ボタンクリックをしたときに直下の <div id="Preview_書き込みID"> に書き込み内容を追加しようとしたが、 対象書き込み以下全てが、書き換えられてしまう。 この問題は、書き換え対象タグの終了タグを省略しないでちゃんと書くことで解決できた。 PostSummary.ascx </div>…

列挙処理可能なクラスの実装

C#

列挙クラス定義 namespace EnumeratorSample { /// <summary> /// 数値範囲の列挙を行う2 /// </summary> class RangeEnumerable2 { private int from; private int count; private int step; /// <summary> /// 初期化 /// </summary> /// <param name="from"></param> /// <param name="count"></param> /// <param name="step"></param> publ…

C#3.0メモ1

C#

主にLINQまわり1 3.0での省略記法について データ型は型推論により決定される。 その為、省略して書かれていても型はしっかりと決まっている。 クラス定義の省略記法 public class Parson { public String Name { get; set; } public String Sex { get; set;…

画像描画メモ

DPI DPI:1インチあたりのドット数。値が大きいほど1ピクセルのサイズが小さくなる。また、値が大きいほど実サイズ(インチ)に変換したときに小さくなる。 例)420*350ピクセルのイメージ 解像度が100の場合 幅:420pix / 100 = 4.2インチ 高さ:350pix / 100 …

NUnit環境設定

1,外部ツールにNUnitを登録する。 VisualStudioのウィンドウメニュー->外部ツールで登録する。 64環境だとデバッグしにくいので、x86Exe使用する。 また、引数は画像の通りにする。ソリューションルート内のソリューションファイル名.nunitを呼び出す設定。 …

Firefoxの環境バックアップメモ

要求 OS再インストール時の為に履歴やアドオンをバックアップ 複数端末でのfirefox環境を統一したい(自宅用ノート、外用ノート) 必要物 Xmarks Sync :: Add-ons for Firefox ブックマーク情報はこれでおk。 Firefox Extensions by Chuck Baker has moved! …

.net frameworkに標準でついているロギングクラス群を使ってみた、作ってみた。

C#

【設定ファイル】 アプリケーション構成ファイルを追加して、そこに設定を記述する。 ログ出力判定 出力レベルが、TraceSourceで指定されているSourceSwitchのログレベル以上であるか確認 TraceSourceに指定されているListener毎に以下を確認 出力レベルが、…

アドオンがダウンロードできない。

インストールしようとすると、決まって228エラーが発生するようになった。 Firefoxのキャッシュクリア、ファイヤウォール・アンチウイルスソフト無効にしても解決せず。 アンチウィルスソフトの機能がブロックしていたらしい(アプリケーションプロトコルフ…