読者です 読者をやめる 読者になる 読者になる

yoskhdia’s diary

DDDとかプログラミングとかアーキテクチャとか雑多に

squbs探訪 その2(簡単なWebアプリケーションをつくってみる)

Scala Java

yoskhdia.hatenablog.com

の続きです。 ごく簡単なWebアプリケーションを作成して、どれだけAkkaに近いかを見ていきましょう。

Activatorテンプレートが公開されているので、基本はこれを参考にすれば良いですが、折角なのでAkka HTTP + Akka Streamsを使う場合の実装を試してみます。 なお、このエントリではScala 2.11.8で書いていますが、squbsではJavaのサンプルも公開されています。*1 AkkaはJava APIも持ちますので、Javaでも有用かもしれません。*2

*1:ただし、SBTやサービスの部分はScalaのまま

*2:誰か試してみて欲しい

続きを読む

squbs探訪 その1

Scala Java

squbsというPayPalが作ったライブラリをご存知でしょうか。

github.com

Webアプリケーションを構築する際には、色々なフレームワークの選択肢がありますが、Scala/JavaでAkkaを基盤にしたアプリケーションを作りたいなら、このsqubsを試してみると良いかもしれません。 という紹介エントリです。

続きを読む

ReactiveStreamsのTCKを通すまでの手順(Publisher編)

Scala

ReactiveStreamsではSpecificationだけでなく、TCKも公開されています。

reactive-streams-jvm/tck at v1.0.0 · reactive-streams/reactive-streams-jvm · GitHub

前回公開したScalikeJDBC-streamsもこのTCKを通してみました。 その作業記録エントリです。

※Publisherのみです。

TL;DR

github.com

続きを読む

ScalikeJDBCをAkka StreamsのSourceにする (ScalikeJDBC + Reactive Streams)

Scala

Scala Advent Calendar 2016の15日目です。

バッチアプリケーションを作ることになったので、Akka Streamsを使おうかと考えました。
Slickだと標準でstreamメソッドが用意されているため、Akka Streamsとも連携させやすいですが、ScalikeJDBCが学習コストが低くて素敵だったので、コレをAkka Streamsに組み込めないか試したエントリです。

DBはMySQLを使う前提ですので、ご注意ください。 (一部Postgresも引き合いにしてますが、OracleSQL Server等は調べてません。)

TL;DR

github.com

続きを読む

タスクボード(カンバン)を導入した振り返り

本記事はSupership株式会社 Advent Calendar 2016の12日目の記事になります。

株式会社Socket@yoskhdia です。 株式会社SocketはSupership株式会社と同じSyn.グループのメンバーであり Web接客と呼ばれるサービスのひとつであるFlipdeskを展開しています。

弊社で3,4ヶ月ほどタスクボードを試験的に導入しました。 現在は一旦おやすみ中ですが、次に活かすための振り返りをしてみるエントリです。 結論としては、ガッツリ転んだけど、次はもっと良くするぞ!という感じです。

背景

弊社は開発チームと一括りにしてもその中には"機能開発チーム"、"品質管理チーム"や"インフラチーム"が存在します。 少ない人数で進めているので開発要望が増えるスピードの方が早く、この溜まりに溜まった開発要望を開発チーム全体で一挙集中して消化しよう期間が企画されました。

そうすると、開発スピードがあがるのは良いのですが、その分動きが早く誰が何をやっているのか見えにくくなっていました。 どこかで停滞していないか、次のリリースにどこまで含められるのか、などなどといったことは開発のなかでも重要な関心事ですよね。 そんな折、カンバン仕事術という書籍が出版され、チームメンバーからもやってみたいという話があがったので、(まだ書籍を全部読んでないけれど)まずはやってみようということでタスクボードを導入してみたのでした。

続きを読む

システムの透明性

Design 読書メモ

shop.ohmsha.co.jp

システム監視について整理しておきたいなぁと思い、Release It!という本があったので、週末読んだ内容をメモしておきます。 監視は第17章の「透明性」に書かれているものです。 要約なので、ほとんどは書中からの引用です。

続きを読む

UseCaseの再利用性

Architecture Design

Clean ArchitectureにはUseCase層が定義されていますが、このUseCaseが一体どういうものなのか度々わからなくなるので、自分の考えをまとめてみるエントリです。

Clean Architectureについてはこちら

8thlight.com

日本語訳:クリーンアーキテクチャ(The Clean Architecture翻訳)

以降、概念を”ユースケース”、実装されるモノを”UseCase”と表記することにします。 (同じっちゃ同じなんですが、指してるものがところどころ変わるので表記分けをしています。) また、Webアプリケーションを想定しています。

ユースケースとは何なのか

続きを読む