タグ

2014年8月5日のブックマーク (10件)

  • ウェブアプリケーションの構造について - かとじゅんの技術日誌

    日経ソフトウエア 11月号の特集2で「最新Eclipseで良いJavaプログラムを書こう」に関連する話題として、さらに視野を広げて実用的なウェブアプリケーションでのレイヤー構造とかドメインオブジェクトの関係はどうなるのか?という点について解説してみたいと思います。(まだ日経ソフトウエア11月号を手にしていない方はぜひ買ってくださいw) 結論から先に出しますが、ドメイン駆動設計では一般論として下図のようなレイヤー構造やオブジェクトの関連が提唱されています。 ドメイン層のオブジェクトについては変わりないのですが、ドメイン以外のレイヤーに新しく2つのサービスが登場しているので、まずそこから簡単に説明します。 ドメイン層以外のサービス 実はサービスはドメイン層だけではなく、アプリケーション層とインフラストラクチャ層にも存在する場合があります。その役割を以下にまとめてみました。 レイヤー オブジェク

    ウェブアプリケーションの構造について - かとじゅんの技術日誌
    gomi_ningen
    gomi_ningen 2014/08/05
    “インフラストラクチャ固有のサービスを提供するクラス。たとえば、データベースやネットワークに対する振る舞いを提供するサービスです。たとえば、データベースの特定のテーブルに検索や更新系のクエリを送信する
  • 標準ライブラリを積極的に使おう - C++と色々

    長文書くのとても面倒くさいので、要点だけ。 結論 あなたがメインで使っている言語に標準ライブラリが存在するなら、標準ライブラリに親しみ積極的に標準ライブラリを使おう! 暇な時に15分ぐらいリファレンスサイトを眺める癖をつけよう。 要点 標準ライブラリを使用することであなたは、あなたが解決したい問題の部分に思考を集中することが出来る!(質でない部分に使用する労力を減らすことが出来る!) 標準ライブラリは専門家の人が書いたコード(しかも他の専門家にマサカリを受け、修正し、リリースされる)で、更に何年も使用に耐えてきた実績があり、その中で多くのノウハウが蓄積され、バグ報告や修正などもうけているので、とある一人のプログラマが書いた俺々プログラムよりも遥かにパフォーマンスが良くバグも少ない! 標準ライブラリは日々進化しているので、あなたが標準ライブラリを使用した昔書いたコードを、最新の環境でコンパ

    標準ライブラリを積極的に使おう - C++と色々
  • ジブリ、ドワンゴ傘下に すでに蜜月関係 仰天身請け話が浮上したワケ

    アニメ制作からの撤退が明らかになった「スタジオジブリ」(東京都小金井市)が、インターネット動画配信サイト「ニコニコ動画」を運営するドワンゴの傘下に入るという仰天の買収話が浮上していることが5日分かった。実現すれば、莫大(ばくだい)な資産を生み出すジブリのコンテンツをめぐるビッグビジネスとなりそうだ。 複数の関係者によると、この計画は、スタッフ300人を抱えるスタジオジブリを、ドワンゴが吸収合併するという枠組み。アニメ制作の人材や技術だけでなく、コンテンツの版権管理事業などもドワンゴが継承することになる。 ジブリの代表取締役で映画プロデューサー、鈴木敏夫氏(65)は6月27日に開かれた株主総会の場で「制作部門を解体し“再構築”する」と語ったが、「こうした枠組みの再編が、鈴木さんのいう再構築なのだろう」と関係者は明かす。 すでにドワンゴは、会長の川上量生(のぶお)氏(45)が、鈴木敏夫氏の見習

    ジブリ、ドワンゴ傘下に すでに蜜月関係 仰天身請け話が浮上したワケ
  • 社内勉強会の作り方(1)期待してはいけない10のこと - Satoryu's Diary(OpenShift支店)(2014-04-03)

    _ 社内勉強会の作り方(1)期待してはいけない10のこと 予め申して起きますと、タイトルは釣りです。ようこそいらっしゃいました。 今日、某社*1の方々が社内での技術コミュニティや勉強会を立ちあげたい、という思いから、弊社での社内勉強会の事例を聞かれたので、少し話をしてきました。 遡ること2011年9月に、色々な思いを込めて、弊社の社内勉強会としてRakuten Tech Talkを立ちあげました。初めはせいぜい20〜30人の参加者で、色々な人に声をかけて、あーでもないこーでもないと、色々悩んだり考えたりしながら続け、ここ数回の開催では100人規模の参加者が集まることもある会になりました。現在、自分含めて3人で、直接の業務と関係なく、ボランティアとして運営しています。 この規模に至るまでに、何をしたのか、というのを聞かれることもあるのですが、正直に言うと、地味なことしかしていません。会場とな

  • ドメイン駆動設計・俯瞰編・アプリケーション構築 - Strategic Choice

    俯瞰『アプリケーション構築』を俯瞰します。赤がパターンです。 補足背景には常に「ユビキタス言語」「モデル駆動設計」があります。 モデルとソースコードの乖離を避けるため「実践的モデラ」も前提になります。「レイヤ化アーキテクチャ」で層化し、ドメイン層を分離します。 「利口なUI」は、ドメイン駆動設計では使用しません。ドメイン層のモデルは、基的に「エンティティ」「値オブジェクト」「サービス」が構成要素となります。 「モジュール」で分割統治します。ライフサイクル管理に「集約」「ファクトリ」「リポジトリ」を使用します。

  • ドメイン駆動設計・アプリケーション構築編・レイヤ化アーキテクチャ - Strategic Choice

    LAYERED ARCHITECTUREドメイン層を分離する俯瞰図所属するストーリの俯瞰図です。アプリケーション構築どういうこと?ドメインモデルとコードとの緊密な連携のために、まず何よりも、ドメイン層を他の関心事から分離する必要があります。ソフトウェアをレイヤに分け、特にドメイン層と非ドメイン層群を明確にするとこで、純粋かつ明確なドメインモデルをドメイン層の中に構築します。どうして?ドメイン層と非ドメイン層が分かれていないと、以下のような不都合があります。コードの読解が困難ドメイン関連のコードが、非ドメイン関連のコード中に拡散してしまうと、モデルの意図が分散するので、コードを見てモデルを理解するのが極めて困難になってしまいます。コードの修正が困難ドメイン関連のコードが、非ドメイン関連のコード中に拡散してしまうと、それぞれコードが互いに影響してしまい、コードの修正が困難になります。たとえば、

  • Scala のモデルクラスでプライマリキーとかをどう扱うかという話 - tototoshi の日記

    お悩み相談です。 Java とか Ruby、少なくとも ActiveRecord とか Hibernate とかではあまり気にならない話です。 Scala で例えば Slick や Anorm, scalikejdbc などのクエリのサポートのみでモデルクラスの設計はユーザーに任されているものだと、プライマリキーなどのデータベースにレコードを保存した時点で値が決まるフィールドの型をどうすべきか悩みます。 例えば次のような user テーブルについて考えてみます。id カラムがプライマリキーで、データベースの自動採番を利用します。また、created_at は省略するとデフォルト値をデータベースから取得します。 -- postgresql CREATE TABLE user( id serial PRIMARY KEY, firstName VARCHAR(30) NOT NULL, las

    Scala のモデルクラスでプライマリキーとかをどう扱うかという話 - tototoshi の日記
    gomi_ningen
    gomi_ningen 2014/08/05
    “User のそれぞれのフィールドの型はデータベースの型と一対一に対応させます。そして UserDao のメソッドの引数は全て User 型です。 ですが、この API はうまくいきません。なぜなら User の id フィールドはデータベースに保
  • 3 分でできる Play2 で Skinny ORM を使う手順 #play_ja - seratch's weblog in Japanese

    これは Play framework 2.x Scala Advent Calendar 2013 の 8 日目です。 http://www.adventar.org/calendars/114 ご存知の方もいるかと思いますが、私は Skinny Framework というフレームワークをつくっています。これのコンポーネントは基的に Skinny Framework 以外でも使えるようにつくられていて、その一つである Skinny ORM がある程度使える ORM として育ってきました。まだドキュメントはそれほど充実していませんが、こちらをご覧ください。 http://skinny-framework.org/documentation/orm.html この Skinny ORM は ScalikeJDBC という DB ライブラリをより ORM 的に使えるようにするために、Scali

    3 分でできる Play2 で Skinny ORM を使う手順 #play_ja - seratch's weblog in Japanese
  • Play framework 2.0 での自作プラグイン - Scala版 - なんとなくな Developer のメモ

    Play framework 2.0 における基的なプラグインの作成方法をご紹介します。 ちなみに Play framework 2.0 は JavaScala 用の Web アプリケーションフレームワークで、JPA・Akka・EhCache 等の機能をプラグインとして実装しています。 Play framework 2.0 ソースは http://github.com/fits/try_samples/tree/master/blog/20120324/ 事前準備 まずは、Play framework 2.0 の実行環境を用意します。 ダウンロードサイト からアーカイブをダウンロード、適当なディレクトリに解凍し、環境変数 PATH にパスを設定するだけです。 次に、自作プラグインを試すためのアプリケーションを用意します。 今回は Scala アプリケーションを用意しました。 アプリケー

    Play framework 2.0 での自作プラグイン - Scala版 - なんとなくな Developer のメモ
  • 野尻抱介リファレンス・マニュアル

    <body bgcolor="#ffffe0"> <BASEFONT SIZE=3> <center> <A HREF="http://www.asahi-net.or.jp/~xb2n-aok/index2.htm" target="_top"> <b>非フレーム用トップページはこちらです。</b></A> </center> </BODY>