タグ

ブックマーク / bleis-tift.hatenablog.com (9)

  • C#でのテスト(3) NMock 2.0を使ったテスト - ぐるぐる~

    C#でのテスト(2) nantによるビルドの自動化 - ぐるぐる〜に続いて、今回はNMock 2.0の使い方を紹介する。 NMock 2.0は、 The original NMock was a .NET port of the Java-based DynaMock, whereas NMock 2.0 is inspired by the newer jMock library. NMock: A Dynamic Mock Object Library for .NET とあるように、jMockの影響により、NMockとは別物となっている。以降、面倒なのでNMockはNMock 2.0を指すものとする。 NMockはまず、Mockery*1というクラスのオブジェクトを生成する必要がある。 この生成したMockeryオブジェクトを使用してモックオブジェクトを生成する。 // Mocker

    C#でのテスト(3) NMock 2.0を使ったテスト - ぐるぐる~
  • 遅延評価いうなキャンペーンとかどうか - ぐるぐる~

    遅延評価については以前も書いてるんですが、そのときは結論なしでした。 が、ちょっと考えるところがあって、言語を Java に絞って自分の考えを明確にしておきます。 結論から書きましょう。 「Java(とC#) で遅延評価って書いてあるものは遅延評価ではない」です。 Java における「評価」とは まず一番最初に、Java で「評価」って言うと、どういうことを指すのかを確認しておきます。 言語仕様の該当部分を要約すると、こんな感じでしょうか。 プログラム中の式を評価すると、結果は 変数 値 無し のうちのどれかとなる。 評価した結果が値になる、というのはいいでしょう。それ以外の 2 つを軽く説明します。 評価の結果が「変数」とは? コメント欄で指摘が入っています。 代入の結果は変数ではありません(15.26)。 結果が変数となるのは、ローカル変数、現在のオブジェクトやクラスの変数、フィールド

  • Java の語彙で Maybe を説明してみる - ぐるぐる~

    java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー を読んで。 Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。 Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。 ただし、書いてたら結構長くなりました。時間がある人はどうぞ。 Maybe? null より安全に「値がないこと」が扱えるものだよ スタート地点としてはこれでいいでしょう。 以降で、「なんで安全なの?」という全うな疑問に答えてみたいと思います。 問題点 int で説明すると煙に巻いてしまうような気がしたので、User クラスを見てみます。 import java.util.*; class User { final String name;

    Java の語彙で Maybe を説明してみる - ぐるぐる~
  • 知らないと恥をかく プログラミングの常識 - ぐるぐる~

    新人プログラマが身につけるべき 知らないと恥をかくプログラミングの常識 作者: 日向俊二出版社/メーカー: アスキー・メディアワークス発売日: 2009/02/25メディア: 単行(ソフトカバー) クリック: 108回この商品を含むブログ (8件) を見る メールアドレスが載っていたから問題点をまとめて*1送ったら、意外と早く返信が来たものの・・・・ 私の考え方は223ページ以降に記したとおりです。 一部、ご指摘のことを踏まえて、将来の版でより適切に書き直すことを検討させていただきたいと思います。 書の出版が、他の「プログラミングの常識」に関連した書籍の内容の比較等も含めて、活発な議論のきっかけになれば幸いです。 亜阿相界 あぁそうかい。 なら議論のきっかけになるように、「一部」ではなかったことを示しておくことにするよ*2 *3。 223 ページの「私の考え」はどんなものかというと、

    知らないと恥をかく プログラミングの常識 - ぐるぐる~
  • JSX のアレな所 - ぐるぐる~

    注意!このエントリは既に古いので、JSX の進化速度が半端ない - ぐるぐる〜もあわせて読んでください。最新のコードを参照するのが手っ取り早いです。 JSX なる言語がリリースされました。 この言語が謳っているのが、 高速 安全 簡単(生産性が高い、とも) という 3 点です。 高速と安全はまぁいいでしょう*1。 問題は、はたしてこの言語は簡単なのか?という点です。 簡単かどうかは人によるのでアレなのですが、まぁ一部の人にとっては簡単とは言えない (というか書く気がしない) 書き方を強制されるのです。 関数型 数値を受け取って文字列を返す関数を表す型は、JSX では以下のように書きます。 function(:number):string これ単体で見ると分かりやすそうな気配はします。 では、これ読めますか? function f(g: function(:number):number):

  • SCM Boot Camp in Nagoya に行ってきた・・・と見せかけた SML# の多相レコードの話 - ぐるぐる~

    SCM Boot Camp については他の型方が書いてくれると思うので、違う話を書きます。 SCM Boot Camp 開始前の雑談や懇親会で話題になった SML# ですが、幸か不幸か .NET 系の言語と勘違いされがちです。 でも SML# の # は、多相レコードを扱う際に出てくる # が元になっています。 ちなみに、.NET Framework は 2000 年リリース、SML# の前身である (でいいのかな?) SML# of Kansai が 1993 年開発と言うことで、なんと .NET よりも歴史があるのです。 で、懇親会で SML# すごいよ、って話をしたら「多相レコード?何それ美味しいの?」って人がほとんどだったので、(ぶっちゃけ自分もそんな理解してないですけど) SML# の多相レコードを紹介してみようかな、と思い、このエントリを書いています。 環境は Windows

    SCM Boot Camp in Nagoya に行ってきた・・・と見せかけた SML# の多相レコードの話 - ぐるぐる~
    babydaemons
    babydaemons 2012/04/23
    なごやこわい方がこわくないようにSML#について書いてくれた! #なごやこわい #なごやこわくない
  • SQL (再帰 CTE) 基礎文法 (?) 最速マスター - ぐるぐる~

    なんか流行ってるらしいので。 他の言語をある程度知っている人はこれを読めば SQL (再帰 CTE) の基礎をマスターして SQL (再帰 CTE) を書くことができるようになります。 ・・・嘘ですごめんなさい。 ぜんてい いつもの通り、SQL Server 2005/2008 でしか試してないよ! 基礎 コメント コメントは 2 とおり -- 一行コメント /* 複数行 コメント */ 基形 -- 1から10までの数字を表示するSQL WITH -- 入力は1から10まで Input(f, t) AS ( SELECT 1, 10 ) , Seq(n) AS ( -- 最初はInputのf SELECT f FROM Input UNION ALL -- それ以降は1ずつ数値をインクリメント SELECT n + 1 FROM Seq WHERE -- n + 1がInputのtより小

    SQL (再帰 CTE) 基礎文法 (?) 最速マスター - ぐるぐる~
  • 16 進数から 10 進数への変換 - ぐるぐる~

    Server error これはひどい・・・

    16 進数から 10 進数への変換 - ぐるぐる~
    babydaemons
    babydaemons 2011/05/23
    リンク先のクエリ、センスを感じない。orz
  • 自動プロパティに個別にアクセス修飾子を付ける - ぐるぐる~

    自動プロパティに個別にアクセス修飾子を付けることができたことに、今日初めて気付いた。 これができると何が嬉しいかというと、例えばこんなプログラム・・・ public interface IOutputData { // Outputは外部からsetして欲しくないので // このインターフェイスでgetのみ提供する public int Output { get; } } internal sealed class OutputData : IOutputData { // IOutputDataが要求するのはgetのみだが、 // 外部からは使用できないので、自動プロパティで楽をする public int Output { get; set; } } public sealed class InputData { // 外部からgetする意味はないが、 // 楽をするために自動プロパティで

    自動プロパティに個別にアクセス修飾子を付ける - ぐるぐる~
    babydaemons
    babydaemons 2009/11/14
    これは便利!
  • 1