かとじゅんの技術日誌

技術の話をするところ

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

akka-streamを使ってmemcachedクライアントを作るには

かなり前になるのですが、akka-streamの習作課題として、Memcachedクライアントを実装したので、概要を解説する記事をまとめます。詳しくはgithubをみてください。 https://github.com/j5ik2o/reactive-memcached TCPのハンドリング方法 akkaでTCPをハンドリ…

「エンティティの同一性を表現するためにequalsをオーバーライドすべきか否か」の感想

毎日、ドメイン駆動設計というか、設計の話が投稿されると、楽しくなりますね。 さて、今日の話題は、以下です! エンティティの同一性を表現するためにequalsをオーバーライドすべきか否か ”稀によくあるサンプル”。多分これ僕が書いた事例ですね。というこ…

akka-httpにswagger2.xを組み込む方法

akka-httpにswagger2.xを組み込む方法を以下に示します。 ※DIコンテナであるAirframeを使っていますが、もちろん必須ではありません。適宜読み替えてくだだい。 ライブラリの依存関係 swagger-akka-httpを追加します。javax.ws.rs-apiはアノテーションを利用…

Getter/Setterを避けて役に立つドメインオブジェクトを作る

Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んでます。モデリングに関しては成分薄めですが、よい本だと思います。はい。 Clean Architecture 達人に学ぶソフトウェアの構造と設計作者: Robert C.Martin,角征典,高木正弘出版社/メーカー: KA…

DDDリポジトリを楽に実装するライブラリ

DDDのリポジトリを実装するのがダルいので、ライブラリ化したというか前から書いていたけど、Redis, Memcachedなどの実装も追加したので、簡単に説明を書いてみる。 プロジェクトなどで自前で実装する際も、参照実装として参考になると思います。Scalaの例だ…

sbtでDAOを自動生成する方法

DDDのリポジトリを実装する際、ほとんどのケースでDAOが必要になります。が、ボイラープレートが多く、自動生成したいところです。というわけで作りました。 どうやって自動化するか septeni-original/sbt-dao-generator 指定されたスキーマのJDBCメタ情報と…

jupyter-scala の セットアップ方法と使い方

セットアップ $ pyenv install 3.6.5 $ pyenv virtualenv 3.6.5 jupyter-notebook $ cd jupyter-scala $ pyenv local jupyter-notebook $ pip install --upgrade pip $ pip install jupyter-notebook $ wget https://raw.githubusercontent.com/alexarchamba…