タグ

ブックマーク / blog.guildworks.jp (7)

  • ドメイン駆動設計の探求 其の一 モデルと実装を協調させる、とはどういうことか | GuildWorks Blog

    どうも、ギルドワークス 前川です。 以前ご紹介した通り、ギルドワークスではドメイン駆動設計(DDD)の勉強会を社内で行っています。 その中で出てきた指摘に、ハッとする物があったので、今回はそれについて、ご紹介します。 「それ、ソースコードに書いてないじゃん」 それは、DDDを前提においたコードレビューで飛び出した指摘でした。 コードはかなりシンプルな、ユーザからの投稿とそれに関する感想を閲覧する、といったサービスに関するものでした。 こういった場合、当然のように、『”投稿”がトップレベルのオブジェクトにあり、それにぶら下がる形で”感想”オブジェクトがある』という様なモデル化をしていました。 一方このドメインにおいては、投稿もさることながら、投稿に対する感想の方がドメインにおける重要な関心事、なのでした。 それを話した時に、弊社増田の口から飛び出たのが、、、 「んで、それはソースコードの何処

    ドメイン駆動設計の探求 其の一 モデルと実装を協調させる、とはどういうことか | GuildWorks Blog
  • Spring Boot アプリケーションをDockerで動かす 第2回 | GuildWorks Blog

    河上です。 前回に引き続き、Spring BootアプリケーションをDockerで動かしていきます。 Spring Boot アプリケーションはインメモリDBでの開発がとても楽ですが、リリース前はやはり番と同じデータベースサーバで動作を確認したくなります。 そして、それを行うにしても以下のような作業を行う必要があって当に面倒です。 データベースサーバのインストールと起動 スキーマを作成するSQLの実行 テストデータの登録 アプリケーションの起動 もう1つ、これらを手動で行っている場合の大きな問題点としてデータベースの状態が毎回変わる、もしくはどういう状態かわからないのでテストしにくいという問題があります。 今回は、これらの問題を解消すべくDockerコンテナを使って自動化してしまいます。 Dockerは1.5が出ていますが、まだ1.4です。 データーベースサーバは、PostgreSQL

    Spring Boot アプリケーションをDockerで動かす 第2回 | GuildWorks Blog
  • ドメイン駆動設計のリファレンス本 | GuildWorks Blog

    井上です。 現在、ドメイン駆動設計(Domain Driven Desing . 以下 DDD)を用いて開発を行っています。 DDDの参考書籍といえば、もちろん「エリック・エヴァンスのドメイン駆動設計 ソフトウェアの核心にある複雑さに立ち向かう」(以下 DDD)ですが、その著者であるエリック・エヴァンスが最近(2014/9/22)「Domain-Driven Design Reference: Definitions and Pattern Summaries」という新しい(以下 DDDリファレンス)を出していることに気がつきました。 DDDリファレンスとは 早速DDDリファレンスを取り寄せてみました。88ページと非常にコンパクトなになっています。 内容的には、以下で公開されているPDFに新しい図や写真を追加してペーパーバックとして出版したもののようです。 DDD REFERE

    ドメイン駆動設計のリファレンス本 | GuildWorks Blog
  • ドメインモデル中心のアーキテクチャ | GuildWorks Blog

    ドメインモデル中心のアーキテクチャ | GuildWorks Blog
  • Effective Java 第2版 を可視化する | GuildWorks Blog

    井上です。 どのプログラム言語においても、必読書と呼ばれるが何冊か存在すると思います。 私は長らく使っているJavaでは「Effective Java 第2版」が真っ先に挙げられると思います。 この、初版が出版されたのが2001年、第2版が出版されたのが2008年なのですが、諸事情により一時期絶版になっていました。 しかし、今年の3月にめでたく再販となりました。 私自身、今でもたまに読み返す程手放せないになっています。 #ただ、2008年出版ということもあり、バージョンとしては Java 5 対応の内容となっており、Java 8 対応の第3版の発売を期待したいところです。 さて、Effective Java のような技術書を読む場合、皆さんはどのように読み進めるでしょうか?最初から順に読む人も多いのではないでしょうか? しかし、Effective Java を初めて読む人がその方法で

    Effective Java 第2版 を可視化する | GuildWorks Blog
  • パッケージ間の循環依存を自動で検出する | GuildWorks Blog

    この場合、「ドメイン」パッケージと「インフラストラクチャ」パッケージが相互参照しており、循環依存がある状態です。 この状態で「インフラストラクチャ」パッケージに含まれるクラスを修正すると、相互参照している「ドメイン」パッケージだけではなく、「ドメイン」パッケージに依存している「アプリケーション」パッケージと「ユーザインタフェース」パッケージにまで影響範囲が及んでしまいます。 このように、パッケージ間に循環依存がある状態というのは、望ましくない状態であると言えます。 では、パッケージの依存関係をどのようにチェックしたら良いでしょうか? クラス数/パッケージ数が少ないうちは人力でもなんとかなるかもしれませんが、ある程度の規模になるとそれは非常に困難になります。 そこでツールを活用することにします。先に挙げたで紹介されているパッケージのメトリクス情報を計測することが出来るツール類がいくつも公開

    パッケージ間の循環依存を自動で検出する | GuildWorks Blog
  • if文の条件式の書き方あれこれ | GuildWorks Blog

    if文の条件式の書き方あれこれ | GuildWorks Blog
  • 1