タグ

ブックマーク / codezine.jp (8)

  • 実践DDD本 第10章「集約」~トランザクション整合性を保つ境界~

    実践DDD 第9章「モジュール」~高凝集で疎結合にまとめる~ DDDにおける集約 DDDにおける集約(Aggregates)とは、オブジェクトのまとまりを表し、整合性を保ちながらデータを更新する単位となります。通常はオブジェクトの集まりの「境界線」の意味で使われ、オブジェクト群の生成/読み込み/変更/保存といったライフサイクル管理が行われます。 外部から集約を操作できる「集約ルート」 外部から集約を操作する場合、代表オブジェクトである「集約ルート(≒ルートエンティティ)」のみ参照することができます。集約ルートを操作することで集約全体の整合性を保ちながらデータを変更できます。 DDDの「集約」のイメージ 上図の例では、注文に関わるオブジェクト群が集約の「境界線」となっています。操作をしたい場合「注文」という「集約ルート」に変更依頼をすることができます。集約内部にある「注文明細」や「配送先住

    実践DDD本 第10章「集約」~トランザクション整合性を保つ境界~
    masa8aurum
    masa8aurum 2022/02/01
    ・集約(Aggregates)はオブジェクトのまとまりを表し、整合性を保ちながらデータを更新する単位 ・トランザクションの分析をしないと、集約の設計が適切かを判断できない
  • SPAの保守開発を効率化――画面遷移理解を支援する

    社会人エンジニア向けの教育プログラム「トップエスイー」から、エンジニアの皆さんに対して有用な情報をお届けするコーナーです。Webブラウザ上で稼働するアプリケーションでは、一度のダウンロードで複数のページ要素を持つ構成をとることができ、こうした実装手法は「SPA(シングルページアプリケーション)」と呼ばれます。ページ遷移が素早く行え、ユーザーにダウンロード待ちをさせることなく利用できることから、UXの改善にも効力があります。しかしながら、実際のページ遷移はコード内に潜み、どんなページ遷移をするかは簡単には判別できません。結果、継続的な開発が困難になることも予測されます。そこで、ページ遷移を抽出し視覚化するツールがあると便利であると考え、実際にそうしたツールを開発しました。ツールの動作原理を交えて解説しましょう。 近年のWebアプリにおけるトレンド 近年Webアプリは、コンバージョンに直結する

    SPAの保守開発を効率化――画面遷移理解を支援する
    masa8aurum
    masa8aurum 2021/07/14
    ログイン必要なので家で読む
  • 立川談志師匠に学ぶ教え方のエッセンスとは――Web・IT人材育成にひそむ3つの思いこみ

    新年度になり、多くの新人が現場に入ってくる季節になりました。新人には早く成長してもらいたい、けれどもその反面「自分は独学で学んだのだから、若手に一から教えなくていいのでは」「若手に教えることで、自分の市場価値が下がってしまうのでは?」と、育成に対して心理的抵抗を覚えることが少なからずあるかもしれません。4月13日に開催された、ITエンジニアのためのトークライブ「TechLION」の記念すべき5周年の回のテーマは「WEBとIT業界」。IT/Web業界の人材育成に携わる林真理子さんのトークでは、若手育成を阻む気持ちに対して三つのポイントから切り込みました。稿ではそのトーク内容をご紹介します。 イマジカデジタルスケープ 林真理子さん 発表資料:今どきの若手育成にひそむ3つの思いこみ 40歳は「もう問題提起している年齢じゃないな」 私の名前は林真理子と言いまして、作家の林真理子さんと同姓同名です

    立川談志師匠に学ぶ教え方のエッセンスとは――Web・IT人材育成にひそむ3つの思いこみ
    masa8aurum
    masa8aurum 2016/05/02
    >談志さんの弟子である談春さんが書かれた『赤めだか』というエッセイ
  • JavaCCでスクリプト言語を作成する 第1回

    はじめに 少し前まではプログラム言語と言えばJavaC++、VBという感じでしたが、Webの広まりと共にPerlが使われて、PHPが現れ、Rubyが注目されて、JavaScriptが熱をおび、いろいろな言語が活気付いてきました。そして最近は、手続き型以外の関数型言語や論理型言語などにも触手が伸びているようです。 こうなると、次はプログラム言語を実装したりオリジナルのプログラム言語を作ってみたい人も増えてくるかもしれません。そこで稿では、JavaCCを使ってプログラム言語を実装する手順を解説します。 対象読者 Javaの基が分かっていてプログラム言語の作成に興味がある方。 必要な環境 JavaCCは最新の4.0を利用します。ダウンロードしたファイルを任意のフォルダに展開しておいてください。 今回はJ2SE 5.0をベースにプログラムを記述します。JavaCC自体はJ2SE 5.0に依存

    JavaCCでスクリプト言語を作成する 第1回
    masa8aurum
    masa8aurum 2015/05/19
    言語を作成する。余裕があれば。
  • 私がScalaを選んだ理由

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    私がScalaを選んだ理由
    masa8aurum
    masa8aurum 2015/05/11
    2008年の記事
  • なぜ、フルスタックエンジニアが必要とされているのか ~ 「ゆでガエル」になる前に

    フルスタックエンジニアと聞いて、バズワード(注3)だと思う方は少なくないかもしれません。かくいう筆者もそうだったのですが、調べ始めてみると「なるほど、世の中の流れがこのような人材を必要としているのか」と感じるようになりました。この記事は、フルスタックエンジニアという言葉の意味を考えることが趣旨ですが、併せて、我々エンジニア(筆者も一応現役エンジニアです)がどのような方向性で生きていくのかについても考えます。 注1:Googleが提供するWeb検索サービスにおける特定キーワードの検索回数が時間経過に沿ってどのように変化を把握できるサービス。 注2:⇒ Googleトレンド「フルスタックエンジニア」 注3:一見、説得力があるように見えるが、具体性がなく明確な合意や定義のないキーワードのこと。(Wikipediaより引用) フルスタックエンジニアの言葉の意味 まずは、フルスタックエンジニアの字面

    なぜ、フルスタックエンジニアが必要とされているのか ~ 「ゆでガエル」になる前に
  • 簡単で、奥深くて、超便利! LLの元祖「AWK」にさわってみよう

    編注1:「シェル芸」とは、UNIXシェル(主にbash)のワンライナーを駆使して文字列加工を自由自在に操ることです。また、そのような能力をもつ人をシェル芸人と呼びます。 パターンとアクション AWKはパターンとアクションを組み合わせるプログラム言語です。日語で「もし○○だったら、○○をする」という文章のうち、「もし○○だったら」という部分がパターンであり、「○○する」という部分がアクションです注1。このようにパターンとアクションで構成されるAWKの基文法は直感的であるため、様々な機会で用いられます。これをAWKスクリプトで記述すると以下のようになります。 さて、「パターン」という名前から「正規表現にマッチする」ようなイメージを持たれるかもしれませんが、AWKのパターンは「条件式」そのものであり、その条件式の戻り値による「真偽」にしたがいアクションが実行されます。今回はこのパターンの真偽

    簡単で、奥深くて、超便利! LLの元祖「AWK」にさわってみよう
    masa8aurum
    masa8aurum 2014/07/28
    なんかAWKの注意点っぽいことが色々書かれている
  • 分析関数の衝撃(前編)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    分析関数の衝撃(前編)
  • 1