2017-01-01から1年間の記事一覧

パッケージの依存を単方向にするための拡張メソッド

DDDの話をするとしよう*1。 IDDD 第9章 モジュールにおいて、モジュール(Scalaだとパッケージ)の依存は極力減らせ。現実的には難しいが、単方向にしたり、親子関係にあるならば双方向を許可する、ということが述べられている。 しかしこれめっちゃ難しい。…

Y8 2017 spring in Shibuyaでお話した #y8spring

久し振りに登壇しました。 内容はメディロムで開発しているウェブAPI*1を、どんな風にScalaで書いているか、どんな判断を下しているか、などといったものです。今の仕組みもそろそろこなれてきたし、次(イベントソーシング、CQRSとかな!)に行く前にいっち…

ScalaのJSONライブラリcirceの使い方

ScalaのJSONライブラリと言うと、json4sあたりが有名なのかと思います(私感)。 が、json4sはリフレクションを使うので、何かと避けたい方も多いかと思う。 ということで、circeを使ってみましょう。 circe概要 circeはScalaのJSONライブラリです。 読み方 …

Akka HTTPを使ってみる。Akka Streamsにもちょっと触れるよ

Akka HTTPとはAkkaの上でHTTPサーバーを実現したものです。HTTPクライアントとしての機能を持っていたり、WebSocketのサポートもしています。 sprayという似たものもありますが、spray/sprayには「長らくメンテしてないよ。Akka HTTPに置き換えらているよ」…

型推論ふりかえり

型推論、よく聞きますね。よく聞くのでWikipediaにも型推論のページがあります。 この仕組みの恩恵は案外自然と享受しているものですが、機能を提供することライブラリの開発においては知らないと始まらない前提のようなものであると最近思います。が、自然…