2017年12月10日のブックマーク (5件)

  • ドメインモデルの根拠とドメインモデル貧血症の対策について - Chatwork Creator's Note

    ChatWork Advent Calendar 2017の10日目の記事です。 こんにちは。かとじゅん([Twitter:@j5ik2o]) です。 何を書こうかと悩んだのですが、社内で意見を聞いたところ、やはりDDD関連がよいとなりました。 Scalaコードでわかった気になるDDD この記事も、もう四年前ですっかり古くなりました。最近どういう観点で実践しているかまとめてみます。(DDD初級者という方は、まず上の記事を読むことをお勧めします) DDDを実践するにあたっての個人的な問題点は2つあります。ひとつは、「いきなりドメインモデルを作ることができない」という問題。もうひとつは、ドメインモデルを作り上げても実装コードに役に立つ振る舞いが思いつかず、いわゆる「ドメインモデル貧血症*1」になりやすいという問題です。このような問題は、僕がコミュニティで関わった多くのエンジニアから耳にします。

    ドメインモデルの根拠とドメインモデル貧血症の対策について - Chatwork Creator's Note
    tsumuchan
    tsumuchan 2017/12/10
  • チャットワーク と Kotlin - Chatwork Creator's Note

    こんにちは。 @ryugoo_ です。 Android エンジニアをしています。今回は弊社 Android アプリ開発における Kotlin への取り組みについてお話しさせていただきます。 はじめに チャットワークの Android アプリは 2014 年末に Titanium Mobile から Java ネイティブアプリに移行しました。早 3 年が経過しようとしていますが、最近は Kotlin 化を進めています。 Kotlin とは何かということは、様々なところで言及されているのでここでは詳しく述べませんが、 Android Studio のベースである IntelliJ の開発元である JetBrains が主体となって開発を行っている JVM 言語です。 Kotlin は 2017 年の Google I/O でサプライズ的に Android アプリ開発のファーストクラス言語に昇格

    チャットワーク と Kotlin - Chatwork Creator's Note
    tsumuchan
    tsumuchan 2017/12/10
  • Rails Developers Meetup 2017 でLTした

    まず、誘っていただいた主催の hiranoさん、秒速さん、そして当日素晴らしい運営をしてくださったスタッフのみなさん、当にありがとうございました。 個人的には、設計の話が好きなのでwillnetさんの「レールの伸ばし方」が良かった。あとペパボさんのRails & Vue.js もやろうか考えてたので良い知見だった。 かくいう私も「Railsを学び、現場に入るまで」という内容で2~3年前まだ私がRailsアプリケーションを書き始めたばかりのころの体験談を話した。 特にサービスオブジェクトの話やレイヤーの違いで悩んでいたので、その悩みをそのまま書いた。当は細部まで持論を話したかったがLTという限られた時間ということもあって基的にリファレンス貼りまくってこれを読んでくれという内容にした。 反応としてはRailsをやり始めたばかりの人や、経験の浅い人に共感が得られたらしい。今回の聴衆のターゲ

    tsumuchan
    tsumuchan 2017/12/10
  • US版Mercariのリニューアルと今後 (サーバサイド)

    この記事はMercari Advent Calendar10日目の記事です。昨日は@syu_creamのメルカリのデータ分析基盤の紹介〜BigQuery周辺の話〜でした。 日はUSサンフランシスコのサーバサイドエンジニア@deme0607が、今年2017年にリニューアルしたUS版Mercariのサーバサイドについてご紹介します。 現在のアーキテクチャ Brand new US Mercari (Android 編)でもご紹介したように、US版Mercariは今年、より一層USマーケットにフィットしたアプリを提供しUSでの成長を加速すべく、大きなリニューアルが実施されました。前述の記事はAndroidアプリのリニューアルに関するものですが、iOSアプリやAPIサーバも同様にリニューアルしています。 以下の図は、リニューアル後のUS版Mercariのサーバサイドアーキテクチャです。 ここでは

    US版Mercariのリニューアルと今後 (サーバサイド)
    tsumuchan
    tsumuchan 2017/12/10
  • Android: Dagger2

    稿はDI FrameworkとDagger2.0の概要になります. 対象読者は下記です. DI Frameworkを使ったことがない人. Dagger2の初学者 スライドの下書きから起こしたものなのであしからず… 依存性 具象クラスとの関連は結合度を高める インタフェースに依存させたいが, “new“が具象クラスへの依存性を生む GitHubStore store = new GitHubDatabase(); 制御の反転 依存性解決の方向を反転させれば解決する. GitHub => new GitHubDatabase ↓ 反転 ↓ GitHub <= new GitHubDatabase GitHubクラスが依存オブジェクトを決めるのではなく, GitHubクラスの依存オブジェクトを外から指定する. class GitHub { // GitHubクラス自身が依存性を生む priva

    tsumuchan
    tsumuchan 2017/12/10