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

yoskhdia’s diary

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

ScalikeJDBC streamsモジュールの使い方解説

ScalikeJDBCをReactive Streamsに対応させる記事を公開してから、ScalikeJDBC公式にモジュールが取り込まれる*1こととなり、ついに本日バージョン3.0がリリースされました!

github.com

この scalikejdbc-streams モジュールの使い方を解説するエントリです。

*1:そのため、オリジナルのリポジトリはメンテナンスを終了しています。

続きを読む

効果的な目標の立て方について整理したこと

期ごとに目標を設定して、期末にその評価をする、などは姿形は違えど多くの会社で行われていることと思います。 何を狙ってそんな取り組みをしているのか、もっと効果的に取り組むためには何が必要なのかなど、ココ最近調べたり考えたりしたことをまとめてみたのでシェアしてみるエントリです。

続きを読む

Swagger(OpenAPI) Specification 2.0におけるOptionalなプロパティに値が無い場合の仕様を調べた話

Swagger(OpenAPI) Specification 2.0(以下、OAS)を最近触り始めているのですが、Optionalなプロパティに値が無いときのJSONは何が許されるのかを調べたエントリです。

JSON Schema Specificationの requiredキーワードtype: null について確認しました。 OAS2.0ではModelはSchema Objectとして定義されており、これは JSON Schema Specification Draft 4 となっています。 OASでは、Schema Objectのrequiredキーワードおよびnullについて特に言及はありません。 そのため、JSON Schemaの仕様*1に準拠すると解釈し、これを調査しました。*2

*1:本エントリではJSON Schema Specification Draft 4を対象にしています。

*2:解釈の誤りなどあればコメントやTwitterなどでご指摘ください。

続きを読む

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

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

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

github.com

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

続きを読む

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

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 Advent Calendar 2016の15日目です。

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

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

TL;DR

github.com

2017/05/20 追記

ScalikeJDBC 3.0に公式に取り込まれました。

github.com

続きを読む