yoskhdia’s diary

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

書籍『Akka実践バイブル』の翻訳レビューに参加してきました

書籍『Akka実践バイブル』の翻訳レビューに参加してきました。*1 書籍のレビュアーとしては2回め、技術書としては初めてです。 興味のある人を増やせれば良いなーと思い、少しばかり本の紹介をしてみたいと思います。 www.shoeisha.co.jp *1:主に11章〜13章…

JVMアプリケーションを運用する際のメジャーどころチューニングポイントメモ

JVMにチューニング項目は多々あれど、プロダクションで運用する際に予めおさえておきたい項目をまとめてみるエントリです。*1 勿論、OSもJVMもデフォルトである程度のパフォーマンスは発揮でき、計測を伴わないチューニングは悪手であることはよく知られてい…

MySQL ResultSetのStreamingとCursorの違い

MySQL Connector/J version 8.0の変更点を見ていたら、Configurationsの説明が5.1の時よりも増えていることを見つけました。 その中で、ようやくStreamingとCursorの違いが分かった気がした*1ので備忘メモです。 *1:気がした

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

ScalikeJDBCをReactive Streamsに対応させる記事を公開してから、ScalikeJDBC公式にモジュールが取り込まれる*1こととなり、ついに本日バージョン3.0がリリースされました! github.com この scalikejdbc-streams モジュールの使い方を解説するエントリです。…

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

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

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

Swagger(OpenAPI) Specification 2.0(以下、OAS)を最近触り始めているのですが、Optionalなプロパティに値が無いときのJSONは何が許されるのかを調べたエントリです。 JSON Schema Specificationの requiredキーワード と type: null について確認しました…

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

yoskhdia.hatenablog.com の続きです。 ごく簡単なWebアプリケーションを作成して、どれだけAkkaに近いかを見ていきましょう。 Activatorテンプレートが公開されているので、基本はこれを参考にすれば良いですが、折角なのでAkka HTTP + Akka Streamsを使う…

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を通してみました。 その作業記録エントリです。 ※…

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

Scala Advent Calendar 2016の15日目です。 バッチアプリケーションを作ることになったので、Akka Streamsを使おうかと考えました。 Slickだと標準でstreamメソッドが用意されているため、Akka Streamsとも連携させやすいですが、ScalikeJDBCが学習コストが…

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

本記事はSupership株式会社 Advent Calendar 2016の12日目の記事になります。 株式会社Socketの @yoskhdia です。 株式会社SocketはSupership株式会社と同じSyn.グループのメンバーであり Web接客と呼ばれるサービスのひとつであるFlipdeskを展開しています…

システムの透明性

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

UseCaseの再利用性

Clean ArchitectureにはUseCase層が定義されていますが、このUseCaseが一体どういうものなのか度々わからなくなるので、自分の考えをまとめてみるエントリです。 Clean Architectureについてはこちら 8thlight.com 日本語訳:クリーンアーキテクチャ(The Cle…

ドメインイベントを設計する

speakerdeck.com 第3回Reactive System Meetup in 西新宿のLTで発表をしてきました。 reactive-shinjuku.connpass.com LTという都合上、含めたかったけれど泣く泣く削ったボツネタも併せて補足するエントリです。 (例によって長いです。)

マイクロサービスとDDDをGo言語とScala+Akkaで比較したらEventSourcingの話にもなって面白かったまとめ

Reactive Messaging Patterns読書会のなかで、「マイクロサービスとAkkaとGo」な面白い話題が出たので代表でまとめる試みエントリです。(結構、色々な話題に飛んでいるので難度高い。) まとめ方としては、会話ログを転記して、最後にまとめる形をとってい…

ユーザストーリーマッピングとDtoDによるアジャイル要求

だいぶ時間があいてしまいましたが、ユーザーストーリーのセミナーに参加してきましたので、そのメモです。 アジャイル開発で要望の表現に用いるユーザーストーリー入門 | 株式会社オージス総研

JSでもオブジェクト指向ライクに書きたくなるので覚書

JSでオブジェクト指向ライクに書こうと思ったときにES6もBabelも使えない環境向けの覚書です。 ここではクラスのようにデータと振る舞いをまとめられる程度のところを到達点としています。(オブジェクト指向とは云々などは本旨から外れるので"ライク"という…

DDD座談会に際して素振りをしていた

DDD

ddd-zk.connpass.com DDD座談会のパネラーとして登壇させていただきました。 素振り 予め参加者の方々からいただいた質問(テーマ)に対して、予行練習というか、ちょっと自分の考えを先にまとめていたのですが、予想通りテーマひとつひとつが盛り上がったの…

false sharingの整理

マルチスレッド時代における意外なハマりどころfalse sharingについてまとめておきます。 参考にあげている書籍「Javaパフォーマンス」からのまとめです。 false sharingとは 例えば、以下の様なコードがあるとします。 public class DataHolder { public vo…

ドメイン駆動設計 第2章 ユビキタス言語を読みなおした

DDD

社内交流会でLTをする機会があったので「ユビキタス言語」についてDDD本を再度読みなおしてみました。 speakerdeck.com 最近、「DDDは負け犬」みたいな話が少しバズりましたが、ユビキタス言語=ユーザの言葉と解釈するのはあまりに勿体無いのではないかなと…

Scalaマクロへの誘いTweetまとめと補足

Scala 2.11時点でマクロはexperimentalな機能です。 将来のバージョンでは変わる可能性がある点にご注意ください。 将来的には scala.meta というプロジェクトに移るようです。 公開されているスライドを見ると、今のマクロ記述から新しい記述へはこう変わる…