タグ

ブックマーク / tnakamura.hatenablog.com (7)

  • 『.NET のエンタープライズアプリケーションアーキテクチャ第2版』読んだ - present

    書の内容は、.NET に限らず Java や他の言語でも適用できそうだ。 ただ、内容を理解するにはドメイン駆動開発や GoF のデザインパターン、 Martin Fowler のエンタープライズアプリケーションアーキテクチャパターン等の知識が必要。 ドメイン駆動開発はまだやってないので、その部分はなんとなくの理解にとどまってしまった。 オンラインストアを題材に書のアーキテクチャを実践したサンプルおかげで、 どういった設計をやればいいのかは理解できたので良しとしよう。 やっぱり論よりコードだな。 ASP.NET MVC で作っているアプリがスパゲッティになりつつあって、最初の設計のマズさに悩んでいた。 大規模なリファクタリングを考えていたんだけど、ドメインモデル、 とりわけアプリケーションサービスは良いヒントになった。 コマンドクエリ責務分離を適用して恩恵を受けられるほどの複雑度ではない

    『.NET のエンタープライズアプリケーションアーキテクチャ第2版』読んだ - present
  • ライブラリ開発者は『JavaScriptパターン』を読むべき - present

    書には、有名な JavaScript ライブラリで使われているテクニックが目白押しです。例えば、名前空間や継承など。GoF のデザインパターンの JavaScript 実装も紹介してます。 書で紹介されているパターンは、Google の Closure Library のソースコードを追っているときに見かけました。オープンソースソフトウェアのソースコードを読まないと分からないようなテクニックが、解説付きで読めるのはステキです。 チームで開発するときの中心になる人、ライブラリやフレームワークを開発する人は読むべきです。もちろん、それ以外の開発者でも読んで役立つ情報はあります。new なしでも正しく動くコンストラクタや、プライベートメンバの実装方法がそう。 書は JavaScript 定番書の仲間入りじゃないでしょうか。 JavaScriptパターン ―優れたアプリケーションのための作法

    ライブラリ開発者は『JavaScriptパターン』を読むべき - present
  • Selenium でブラウザを自動操縦して Web アプリをテストする - present

    はじめに Jasmine の RubyGems を使ってコマンドラインから JavaScript のテストを実行できたけど、Ruby からブラウザを自動操縦するのには Selenium WebDriver を使っているみたい。この Selenium WebDriver 、Ruby だけじゃなくて、C# や JavaPython から利用するためのライブラリもあります。ということは、慣れ親しんだ C# で Web アプリの UI のテストが書けますね。 Selenium WebDriver を試してみる Selenium WebDriver のライブラリは下記のページで入手できます。 Downloads C# 用のライブラリを使って、「IE を起動してこのブログを表示し .NET で記事を検索する」テストを書いてみました。 using System; using System.Coll

    Selenium でブラウザを自動操縦して Web アプリをテストする - present
    kahki
    kahki 2012/03/22
  • .NET 開発者のための Jenkins 入門 - present

    はじめに 仕事で Subversion と Trac を使っていますが、残念ながら、活用できているとは言えません。継続的インテグレーション(以下CI)?何それおいしいの?って状態。そもそも CI やるために Trac とか諸々導入したはずなんですけどね…。 CI 導入しなきゃと思い続けて結構な期間が経過しました。その間、定期的にリリースビルドを行っていたんですが、コミット忘れや修正し忘れにより、何度もビルド環境がぶっ壊される…。その度に手作業で修正してたんですが、さすがに堪忍袋の緒が切れて CI 導入を開始しました。 やりたいこと ひとまず次ができれば OK。 Subversion を定期的に監視して、変更があったらビルドとテストを実行。 失敗したら管理者にメールを送信する。 ビルドぶっ壊した人にメール送る。 CI ツールは Jenkins、ソースコード管理システムは Subversion

    .NET 開発者のための Jenkins 入門 - present
    kahki
    kahki 2011/07/13
  • テスト駆動開発でホワイトボックステストは必要? - present

    仕事でテスト駆動開発(以下 TDD)を行っていますが、テストにホワイトボックステストが含まれているため、メソッドを修正したらテストも修正することが多いです。 これってアジャイルじゃないよね? TDD でホワイトボックステストを書く必要あるんだろうか?テストコードは、網羅基準とか考えないで、メソッドのふるまいを記述すればいい。ホワイトボックステストがあったら、リファクタしづらいです。 リファクタとテストを繰り返して、保守しやすいコードへと洗練させていくのが、TDD のメリットなのに。 追記 テスト手法について調べていたら、興味深い資料を見つけました。 第7回勉強会議事録 - 第7回 ソフトウェアパターン勉強会議事録 一部引用。 業務ロジックは全てステートレスにしよう。 業務ロジックに状態はいりません。 条件分岐もいりません。ポリモーフィズムを使いましょう。 ホワイトボックステストいりません。

    テスト駆動開発でホワイトボックステストは必要? - present
    kahki
    kahki 2011/06/09
  • なんちゃってActiveRecord - present

    ActiveRecordって何? ActiveRecord はデザインパターンの一種です。 データベーステーブルまたはビューの行をラップし、データベースアクセスをカプセル化して データにドメインロジックを追加するオブジェクト。 PofEAA's Wiki - ActiveRecord ActiveRecord を C# で楽に使いたい! Ruby on Rails の ActiveRecord::Base みたいなベースクラスを作ってみました。マッピング用に新しく属性を作成したくなかったので、LINQ to SQL のものを利用しています。 public abstract class ActiveRecord<T> where T : class { protected ActiveRecord() { } public static List<T> FindAll() { using (

    なんちゃってActiveRecord - present
    kahki
    kahki 2010/02/18
  • 参考になりそうなオープンソースのGAEアプリ - present

    GAE アプリを開発しているけど、Python と GAE の両方とも初心者なので、どう実装したらいいのか迷う。そこで、「オープンソースのGAE向けアプリを参考にすればいいじゃないか」と考え、ネットで探してみた。 kay-framework - A web framework made specifically for Google App Engine - Google Project Hosting GAE に特化して開発された Python フレームワーク。 アプリの開発に使ってもいいし、オレオレフレームワーク開発の参考にするのもアリ。 google-app-engine-oil - Yet another web framework on App Engine - Google Project Hosting Ruby on Rails を意識して作られた GAE/Python

    参考になりそうなオープンソースのGAEアプリ - present
    kahki
    kahki 2010/02/16
  • 1