HogeHoge

アジャイルサムライ

アジャイルサムライ−達人開発者への道−作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未出版社/メーカー: オーム社発売日: 2011/07/16メディア: 単行本(ソフトカバー)購入: 42人 クリック: 1,991回この商品を含むブログ (257件) を見る実…

サービスごとのDTOの利用

僕はどちらかといえば積極的にDTOを使いません。特にサービスごとにDTOを作るようなことは避けます。しかしこのようなDTOを利用するケースはそれなりにあってメリットをいろいろ考えました。結論としては 『DTOを使う最も大きな理由は画面とビジネスロジック…

業務アプリシナリオはどうしようなか

ViewMakerのテストもかねた業務アプリのサンプルをどうしようかな。EFのコードファーストシナリオを組み合わせるのが面白そうなんですが、既存DBが使えるほうが画面に集中できそうだし、どうしよう...ハンバーガーショップかAdventureWorksのどっちかにし…

スケールアウト可能なRDBMS

ここ数年BigTableなどスケールアウト可能なKey-Value型のデータベースが注目されました。しかし、エンタープライズアプリケーションで現在利用されているデータベースのほとんどはSQLServerやOracleなどのリレーショナルデータベース(RDBMS)です。Key-Valu…

今宮戎に行ってきた

毎年恒例のえべっさんにお参りをしてきた。 サラリーマンで商売しているわけではなが、屋台も多くてなんとなく楽しそうなので行っている。今年は混むのを避けて朝早くいった。 思惑通り空いていたのでだが、屋台がほとんど開いていない。少し残念... ま、…

デマルコ、ソフトウエアエンジニアリングの40年間を振り返る

"... 制御することに着目すればするほど、相対的に小さな価値を提供するプロジェクトで一生懸命働いているような気がする。 私としては、ソフトウエア開発プロジェクトを制御する方法よりも大きな問題は、一体なぜプロジェクトの多くが、とるに足らない価値…

ドメインモデルを阻害する仕様書

トランザクションスクリプト的に記述した仕様書からドメインモデルを作ってもらうのは難しいよな。 設計書のような仕様書がかなり多い。*1 仕様書を書くトレーニングってあまりないんだよな。 DbC(Design by Contract)とか言うと難しく感じる人も多いし。 …

最近更新できていないな

あまり更新できていませんが、今気になることや今後書きたい、試したいことを、とりあえずメモしておこう。 Expression Builderはワイヤリングするコードにも便利(Windowsのデータバインドや検証) Windowsデータバインド&検証処理を効果的に利用する基本…

大規模プロジェクトでのドメインモデル導入のハードル

大規模プロジェクト*1の場合、機能仕様(ユースケース・シナリオ)を作成する仕様作成者と、実際に開発を行う開発者が異なり、多くの場合、開発者は担当の部分的な仕様しか説明がなく理解していない。 ドメインモデルを導入する場合複数の開発者でモデルのソ…

ドメインモデルは実装方式だよね

ドメインモデルを語る際にモデルを作るのが難しいということを言う人が多いが違和感を感じる。これはドメインモデルはあくまでも実装方式で設計モデルではないと考えているからである。確かに良い設計モデルであればより堅牢なドメインモデルの実装が可能に…

ORM導入時にでるSQL文を書きたいという意見

合理的な理由で部分的にSQL文を利用する程度あればよいのですが、くわずもの嫌いのメンバーがORMを導入する際に出てくる意見として「ORMよりもSQL文の方が性能がでるのだからSQL文で記述したい」があるこの意見については大きく2つのポイントで確認するよう…

SpringSourceがMicrosoftによる買収を発表

エー...

標準化 技術選択

標準化を行うときにどのようなテクノロジや手法を利用するか選択しなければならない。このとき、さまざまな要因で判断することになるのだが生産性の視点はよく出る。これを難度x作業量で評価する。難度は手順化することで下げることが可能で、作業量は自動…

標準化

昔は誰が書いても同じようなコードにすることを考えた 次にコントロール可能なポイント*1を定義し一定以上の品質を目指した 今は仕様をそのまま動かすことを考えている ドメインモデル、自動生成、メタプログラミング、DSL、昔に比べればソフトウエア開発は…

コーディング作業の終了基準

どんなメトリックスが実用的かな。 やり方やチームによって変わってくるとは思いますが、業務アプリでコスト効果を考えた最低限レベルはどんなものかな。 コーディング規約の遵守率 = 100% Cyclomatic complexity ステートメントカバレッジ率 > 70% シナリオ…

流れるようなインターフェースとメソッドチェーンは違うもの

最近はずっと.NETを使っているのでJava界隈の話に疎いのですが、DBアクセスの最適化は業務アプリでは非常に重要なポイントなので上記の内容は興味深いですね。開発者の視点にたっていろいろ考えられて点は素晴らしいし、非常に同意します。.NETであれば次のC…

案外Genericsって使われていない?

Enterprise LibraryのDI実装のObjectBuilderって標準ではGenerics対応していないんですね。 たとえば、以下のようなList<>を登録しておいてIList<>を利用してインスタンス化することができない。 // will return a List<string> instance IList<string> testList = container</string></string>…

Java用のLINQ現る

とりえあず、LINQ to Objectsの実装を行っているようですが、LINQ to SQLのようなことをするためにはExpressionを扱えないといけないので言語の拡張も必要な気がするのだが、どうなんだろう。

インタフェースの利用

インタフェースの利用は仕様を継承するためではなく仕様を公開するためのものだよね。同じインタフェースをもつクラスは結果的にクライアントからは同じものとして扱えるだけ。 2つのクラスが汎化・特化(is-a)の関係だろうが、同じ機能をMIX-INしているのか…

Design Principles and Code Ownership

いままでFowlerが言ってきたことではあるが、いいこと書いてるね。すごく共感する。

IronRubyプレアルファが出ました

出ましたね。 関連記事 First Look at IronRuby

プログラミング・チームのやる気をなくさせるトップ10の方法

Top 10 Ways To Demotivate Your Programming Teamありがちなのはこの3つかな。 不可能な納期 残業の強制 チャレンジさせない 1つ目は契約ミスの場合のしわ寄せで、はじめからやる気がなくなるパターン。2つ目の残業はやることが明確でかつ短期的なリカバリ…

ドメインモデルってつかえない???

とあるところでの会話 ドアさん) DBのテーブルのカラム項目が増えるとドメインモデルにも項目を追加しないといけないですよね。 オオさん) 必須ではないですが、そうすることが多いですね ドアさん) じゃ、ドメインモデルにしてもメリットないですね。 …

フレームワークを作成するためのスキル

業務アプリ用のフレームワーク構築のふりかえりミーティングであがった話題。 デザインバターンやPOSA、PofEAAなど良質の設計知識を吸収したり、既存のフレームワークを調べたりするなどがその時に思いついた。 でも、再度考えてみると、ソフトウエア工学の…

開発標準は意思決定を減らす

開発標準やプロセスを導入する時に、「そんなものは役立たない」ということを意見は良くある。文書化など管理者向けのヘビーなものを押し付けれた場合、重い税金のように感じる。 しかし、開発標準にも多くのメリットがある。まずよく言われるのは大規模なチ…

Modeling Forum 2006 - Seasarひがやすを氏の提案するページ駆動開発とは?

ドメインモデルには、非関連エンティティが参照できない、非関連エンティティを新規で作成できないという問題がある。たとえば、振込の金額に応じて手数料が決められており、手数料と振込金額が別のエンティティで管理されていると、これは非関連のエンティ…

SIは力技だ

オブジェクト倶楽部の2006夏のイベントの資料をみていて『プロジェクトを成功させる現場リーダーの守・破・離』 の 􀂄デザインゴール:SIチームで最優先すべきは「サクセス」。イノベーションではない。 􀂇「接戦に強い、大負けしない」スタイルを目指す 􀂄クオ…

RonR、UML、OOは生産性をあげれるか?

ツールや方法論に対してそんなもの役に立たないと斬って捨てる人がいるが。 これはその人にとって役立たないだけで、その他の人には役立つこともある。たとえば、モデリングやUMLについて良く使えないと言う意見を聞く。これはUMLやモデリングは外科医をスー…

開発のガバナンス

ガバナンスという言葉を最近聞くことがあるが、開発におけるガバナンスの意味ってなんなのか? いろいろ調べてみると「開発プロジェクトに対する結果を予測しやすくすること」だそうだ。開発チームからみればプロジェクトオーナーに対する説明責任を果たすこ…

Railsはやっぱりクールだ!!

Railsを使う予定はないが、Railsには開発チームが参考にすべき点が多くありますね。 PHPに代表されるような「早いけど汚い」手法と、Javaに代表されるような「遅いけどキレイ」な手法にです。それで、両者を組み合わせたら、究極の目標である「早くてキレイ…