FOLIO Advent Calendar 2021 - Adventar 19日目のエントリです。 法令解釈を仕様におとして実装するという仕事柄、e-Gov法令検索サイトを参照する機会がそれなりにあります。 elaws.e-gov.go.jp 弊社には優秀なコンプライアンス部門がありますが、なにかサー…
FOLIO Advent Calendar 2020 17日目です。 「データ」「情報」「知識」の含意から、ドメイン駆動設計、そして、ソフトウェア設計の現実に存在するインピーダンスミスマッチまでを考えてみるエントリです。 本エントリは、主に次の論文「データ・情報・知識の…
誰得情報ですが、せっかく読んだので公開しておきます。 Version finagle-mysql 19.12.0 quill 3.5.1
Okuda on Twitter: "Chatworkさんのトコロでちょっと喋ってきました。口頭メインのためスライドは薄いです🌷 Event Storming and Narrative https://t.co/dI6KJzgX1q" ということで、スライドがあまりにも薄いため補足を残しておくエントリです。 speakerdeck.…
この記事はFOLIO Advent Calendar 2018の6日目です。 FOLIOでも使っている「仕様」パターンをScalaで実装する方法について紹介します。 「仕様」パターンとは Eric Evans氏とMartin Fowler氏による仕様パターンに関する論文があります。 https://martinfowle…
このエントリは ドメイン駆動設計 #1 Advent Calendar 2018 の5日目です。 4日目は @s_edward さんの「Microservices と DDD」でした。 6日目は @kawakawa さんの ドメインオブジェクトとユースケースの関係について です。 TL;DR エンティティの同一性を表…
EventStorming (イベントストーミング) というモデリング手法があります。 www.eventstorming.com EventStorming is a flexible workshop format for collaborative exploration of complex business domains. EventStormingは、複雑なビジネスドメインを協…
ScalaMatsuri 2018で @jooohn1234 さんから、エムスリーさんで行われているTech Talkにご招待いただいたので発表してきました。 なんと、今回で第92回(!) m3dev.github.io 発表資料 docs.google.com 今回もトークスクリプトを付けて発表資料を公開します…
DDDネタです。 DDD Community-JPのDiscordで「複数の集約(Aggregate)をまたいで整合性をどう担保するのが良いのか?」という話がされていました。 この話を読んでいて、 yoskhdia.hatenablog.com でもサラッと触れた「トランザクション」をもう少し掘って…
一般に非同期処理を行うと、その実行をログからトレースすることは難しくなります。 Scalaアプリケーションを運用する際もこれが問題となります。 コツコツとログにIDを埋めて回ることもできますが、横断的な関心事はAOPで解決したくもなります。 ということ…
第5回Reactive System Meetup in 西新宿で登壇してきました*1。 reactive-shinjuku.connpass.com 発表資料 docs.google.com 一部表現を変えつつ、補足をして発表資料を公開します*2。 トークスクリプトもつけてありますので併せてどうぞ。 明日から開催のSca…
Java標準に良い感じのURL(URI)ビルダーが無いの微妙にしんどい— Okuda (@yoskhdia) 2018年2月26日 TL;DR sttpのcoreライブラリだけ使用しました。 しかし、デフォルトでデコードも行われるため、これを回避する方法を考えました。 将来的に使えなくなる可…
高速にIDを採番できる仕組みを検討したとき、Snowflake形式のID生成は選択肢のひとつとして有力です。 Snowflakeを紹介する記事は見つかりますが、実際に採用して苦労した話はあまり聞かないため、備忘的に書いてみるエントリです。
書籍『Akka実践バイブル』の翻訳レビューに参加してきました。*1 書籍のレビュアーとしては2回め、技術書としては初めてです。 興味のある人を増やせれば良いなーと思い、少しばかり本の紹介をしてみたいと思います。 www.shoeisha.co.jp *1:主に11章〜13章…
JVMにチューニング項目は多々あれど、プロダクションで運用する際に予めおさえておきたい項目をまとめてみるエントリです。*1 勿論、OSもJVMもデフォルトである程度のパフォーマンスは発揮でき、計測を伴わないチューニングは悪手であることはよく知られてい…
MySQL Connector/J version 8.0の変更点を見ていたら、Configurationsの説明が5.1の時よりも増えていることを見つけました。 その中で、ようやくStreamingとCursorの違いが分かった気がした*1ので備忘メモです。 *1:気がした
ScalikeJDBCをReactive Streamsに対応させる記事を公開してから、ScalikeJDBC公式にモジュールが取り込まれる*1こととなり、ついに本日バージョン3.0がリリースされました! github.com この scalikejdbc-streams モジュールの使い方を解説するエントリです。…
期ごとに目標を設定して、期末にその評価をする、などは姿形は違えど多くの会社で行われていることと思います。 何を狙ってそんな取り組みをしているのか、もっと効果的に取り組むためには何が必要なのかなど、ココ最近調べたり考えたりしたことをまとめてみ…
Swagger(OpenAPI) Specification 2.0(以下、OAS)を最近触り始めているのですが、Optionalなプロパティに値が無いときのJSONは何が許されるのかを調べたエントリです。 JSON Schema Specificationの requiredキーワード と type: null について確認しました…
yoskhdia.hatenablog.com の続きです。 ごく簡単なWebアプリケーションを作成して、どれだけAkkaに近いかを見ていきましょう。 Activatorテンプレートが公開されているので、基本はこれを参考にすれば良いですが、折角なのでAkka HTTP + Akka Streamsを使う…
squbsというPayPalが作ったライブラリをご存知でしょうか。 github.com Webアプリケーションを構築する際には、色々なフレームワークの選択肢がありますが、Scala/JavaでAkkaを基盤にしたアプリケーションを作りたいなら、このsqubsを試してみると良いかもし…
ReactiveStreamsではSpecificationだけでなく、TCKも公開されています。 reactive-streams-jvm/tck at v1.0.0 · reactive-streams/reactive-streams-jvm · GitHub 前回公開したScalikeJDBC-streamsもこのTCKを通してみました。 その作業記録エントリです。 ※…
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章の「透明性」に書かれているものです。 要約なので、ほとんどは書中からの引用です。
Clean ArchitectureにはUseCase層が定義されていますが、このUseCaseが一体どういうものなのか度々わからなくなるので、自分の考えをまとめてみるエントリです。 Clean Architectureについてはこちら 8thlight.com 日本語訳:クリーンアーキテクチャ(The Cle…
speakerdeck.com 第3回Reactive System Meetup in 西新宿のLTで発表をしてきました。 reactive-shinjuku.connpass.com LTという都合上、含めたかったけれど泣く泣く削ったボツネタも併せて補足するエントリです。 (例によって長いです。)
Reactive Messaging Patterns読書会のなかで、「マイクロサービスとAkkaとGo」な面白い話題が出たので代表でまとめる試みエントリです。(結構、色々な話題に飛んでいるので難度高い。) まとめ方としては、会話ログを転記して、最後にまとめる形をとってい…
だいぶ時間があいてしまいましたが、ユーザーストーリーのセミナーに参加してきましたので、そのメモです。 アジャイル開発で要望の表現に用いるユーザーストーリー入門 | 株式会社オージス総研
JSでオブジェクト指向ライクに書こうと思ったときにES6もBabelも使えない環境向けの覚書です。 ここではクラスのようにデータと振る舞いをまとめられる程度のところを到達点としています。(オブジェクト指向とは云々などは本旨から外れるので"ライク"という…