タグ

ブックマーク / shuji-w6e.hatenadiary.org (12)

  • JavaのテストコードからはじめるGroovy #gadvent2012 - やさしいデスマーチ

    エントリーは、G* Advent Calendar 2012の24日目のエントリーです。前日は、@tetsurokitaharaさんのGroovyにProcessingを!でした。 何をネタに書こうかなと悩んだのですが、思うほどG*なネタは持っておらず、JUnitネタとなりました。実は、書籍「JUnit実践入門」でもGroovyを活用するトピックを入れる予定だったのですが、紙面の都合上、入れる事ができませんでした*1。そこで、少しだけですが、エントリーで補足したいなと思います。 テストコードでGroovyを使う Groovyは、Javaと親和性の高いプログラミング言語です。上司を説得する場合は「GroovyはJavaの拡張ライブラリです(キリッ」と言っても良いでしょう。当は開発環境やビルドツールの設定などで一工夫しなければ利用できませんが、その辺は裏でしれっとやってしまえばOKです。

    JavaのテストコードからはじめるGroovy #gadvent2012 - やさしいデスマーチ
  • 軽量なテスト駆動開発を目指して #TddAdventJp - やさしいデスマーチ

    これは、TDD Advent Calendar jp:2012 の16日目のエントリーです。前日のエントリーは、@pocketberserkerさんの「Specs2のParameterized Testのはなし」でした。 ご存じの方も多くなっていると思いますが、「テスト駆動開発(以下、TDD)」とはテストコードを先に書くテストファーストを基盤とした開発手法です。先にテストコードを書く事により、これからどのようなプロダクションコードを書こうとしているかを明確にすることができることが特徴です。このため、テストの技法というようりは設計の技法です。 テスト駆動開発を実践することにより多くのメリットを得ることができます。このことは2011年のAdvent Calendarで言及しました(TDDを学ぶべき10の理由 #TddAdventJp)。TDDは簡単に導入することができる一方で、実践するのは非常

    軽量なテスト駆動開発を目指して #TddAdventJp - やさしいデスマーチ
  • JJUG CCC 2012 fall で登壇してきました #jjug #jjug_r33 - やさしいデスマーチ

    11/10に東京で行われたJJUG CCC 2012 fall(日Javaユーザグループ クロス・コミュニティ・カンファレンス)で登壇してきました。 これまでのJJUG CCCは平日に開催されていることもあり、参加したくても中々参加できませんでした。しかし、今回は土曜日開催ということで参加したいなと思っていたわけです。さらに、Call for Paperでセッションの募集がありました。おまけに交通費を支援していただけるということで応募し、晴れてJJUG CCCにデビューできたのです。 自分のセッション セッションはテストコードのリファクタリングということで、JUnit実践入門の営業もさせていただきました。 セッションの資料はこちらです。 今回のセッションでは、テストコードを整理する方法を紹介したわけですが、単純に紹介しただけじゃ、書籍を読んでもらうのと変わりません。そこで、実際にテストコ

    JJUG CCC 2012 fall で登壇してきました #jjug #jjug_r33 - やさしいデスマーチ
  • JUnit実践入門の読みどころ #junitbook - やさしいデスマーチ

    先日のエントリーではたくさんのブクマありがとうございます。Amazonでの予約も好調とのことで、うれしい限りです。 JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus) 作者: 渡辺修司出版社/メーカー: 技術評論社発売日: 2012/11/21メディア: 単行(ソフトカバー)購入: 14人 クリック: 273回この商品を含むブログ (69件) を見るというわけで、書影も出てきました! 思えば、JUnitのセカイというエントリーで、たくさんの「わっふる」をいただき、出版の決意を固めたわけですが、気がつくと書き始めて1年経ってました。ようやく、情報を公開できる段階まで来たわけです。 今回のエントリーでは、JUnit実践入門の発売に先立ち、書の構成と各章の概要をお伝えします。予約を迷っている方は、エントリーを読んだ上でご検討いただければ幸いです。

    JUnit実践入門の読みどころ #junitbook - やさしいデスマーチ
  • JUnit実践入門 ー 体系的に学ぶユニットテストの技法 が出ます! #junitbook - やさしいデスマーチ

    Twitter等でアナウンスしましたが、ついに著書『JUnit実践入門』がAmazonに登録されました。11/14発売予定11/21発売(1週間ずれました、すみません><)で、480ページと大ボリュームとなっています。 JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus) 作者: 渡辺修司出版社/メーカー: 技術評論社発売日: 2012/11/21メディア: 単行(ソフトカバー)購入: 14人 クリック: 273回この商品を含むブログ (69件) を見る 副題の『体系的に学ぶユニットテストの技法』は、レビュワーとしても参加していただいた@irofさんの案を元にしました(ありがとうございます!)。 このの特徴は、この副題に集約されていると言っても過言ではありません。 フィクスチャ、モック、パラメータ化テストなどなど、xUnit Test Patt

    JUnit実践入門 ー 体系的に学ぶユニットテストの技法 が出ます! #junitbook - やさしいデスマーチ
  • Developer Test から Customer Test へ #swtestadvent2011 - やさしいデスマーチ

    これは、「Software Test & Quality Advent Calendar 2011」の12/15分のエントリーです。ソフトウェアテストや品質に関するAdvent Calendarという事で、前のエントリーは@kz_suzukiさんの「それでもやはり、品質を「予測」したい」になります。 Developer Test と Customer Test Developer Test と Customer Test とは、和田さんの講演の中で出てくる誰が何のためにテストを行うのかという観点で分類したテストの2つです。書籍「実践アジャイルテスト」の中でもテストの4象限モデルとして、ビジネス面/技術面の軸とチームの支援/製品を批評の軸によるテストの分類が紹介されていますが、ほぼ同じものと考えて良いでしょう。 Developer Testとは、開発者が開発者の為に、開発を行いやすくするため

    Developer Test から Customer Test へ #swtestadvent2011 - やさしいデスマーチ
  • TDDをはじめる条件 #tddbc #tddconf - やさしいデスマーチ

    色々と忙しすぎてブログが書けません。 JavaOneの話とか、JUnitの話とか色々書きたいんですが…もうしばらく我慢なのです。 で、TDDの前方依存と後方依存で意見が欲しいとのことなので自分なりの意見を。 技術的な前方依存 『TDDを始める前と終TDDを実際やるために必要な技術』 ・最低限対象言語でコードがかけるようになって ・最低限テスティングフレームワークを使えるようになって ・リファクタリングをしっかり学んで ・対象言語でのきれいなコード、設計とは何かを知って ・テストファーストを知って こうしておそらくスタートライン。 自分はこれは疑問です。 最後の「テストファーストを知って」という部分はTDDに関することですけど、それ以外ってTDDを始めるスタートラインではなく、ソフトウェア開発としてのスタートラインかと思います。 言い換えると 最低限対象言語でコードを書けないと、ソフトウェア

    TDDをはじめる条件 #tddbc #tddconf - やさしいデスマーチ
  • Mac OS X にJavaの開発環境を設定する - やさしいデスマーチ

    昨年の新型の発売に合わせてMacBookを購入したわけですが、初Macという事もありWindowsのアプリを使うことも多かった事から、ほとんどBoot Campで使っていました。年末年始で時間も取れたのでMacに慣れるべく色々とやろうと思ったものの、色々とはまっています。 まずはJavaの開発環境を整えてみようという事で、EclipseとJava6をインストールしてみたので、まとめておきます。Windowsと違って色々と勝手も違いますね。慣れれば当たり前のような話かもしれませんが、同じようにそろそろMacに乗り換えてみようかな、とか思っているJava屋の人の参考になればと思います。 MacJava事情 Windowsで開発する場合と色々と事情が異なるので、まずはそれを整理して理解しておく必要があります。 VMの提供はSunではなくAppleが行っている VMには32bit版と64bit

    Mac OS X にJavaの開発環境を設定する - やさしいデスマーチ
    Naruhodius
    Naruhodius 2012/04/13
    地獄っぽい
  • テスト駆動開発チートシート - やさしいデスマーチ

    TDD(テスト駆動開発)のチートシートを作ってみた。 TDDBCでid:t-wadaさんが話している内容とかテスト駆動開発入門から引っ張ってきています。 ダウンロードはこちらからどうぞ。 PNGイメージ: http://dl.dropbox.com/u/1393956/tdd_cheatsheet.png PDFファイル: http://dl.dropbox.com/u/1393956/tdd_cheatsheet.pdf 追記 印刷・再配布などはご自由にどうぞ。 もし、元データ(OmniGraffle)が欲しいという人は、コメント欄かTwitter経由で教えていただければ差し上げます。 追記2 このチートシートは、OmniGraffleで作りました。他に使えそうなツールとしては、イラレとか。Visioでもたぶん作れると思います。

    テスト駆動開発チートシート - やさしいデスマーチ
  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

    元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
  • PythonでTDD入門(3) - バリューオブジェクトと等価性 - やさしいデスマーチ

    前回はオブジェクトに副作用があるという設計上の問題を解決する為に、timesメソッドの戻り値をDollarに修正しました。この変更はバリューオブジェクトパターンを適用したと考える事ができます。 バリューオブジェクトとはその名前が表すようにオブジェクトが値そのものを表現するパターンです。つまり、Dollar(10)とDollar(10)は等価であり、Dollar(10)とDollar(15)は等価でない事が必要になります。まずはこの事を確認する為のテストを書きましょう。 def test_eq(self): """ 等価性に関するテスト """ self.assertEqual(Dollar(5), Dollar(5)) self.assertEqual(Dollar(6), Dollar(6)) 当たり前のよう成功すると思えますが、テストは失敗します。 1) Failure: test_e

    PythonでTDD入門(3) - バリューオブジェクトと等価性 - やさしいデスマーチ
  • Pythonの開発環境をvimに整える - やさしいデスマーチ

    vimPythonの開発環境を作ってみました。 自動インデント コード補完 スクリプトの実行 インデントの設定 自動 インデントはPythonでコーディングをする場合には必須な機能です。定番の設定があるので、.vimrcに追記します。 filetype plugin on autocmd FileType python setl autoindent autocmd FileType python setl smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class autocmd FileType python setl expandtab tabstop=4 shiftwidth=4 softtabstop=4インデントは4文字でタブ文字ではなく半角スペースで設定するようにしています。また、if等の

    Pythonの開発環境をvimに整える - やさしいデスマーチ
  • 1