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

AkkaのClassic ActorにGuiceを使ってDIする方法

Classic Actorを今時使っているところはあまり無いと思うが、現在携わっているプロジェクトでは既に多くのActorがClassicで書かれてしまっており、中々完全に移行できない。 このプロジェクトはPlay Frameworkで実装されているWebアプリでバッチ処理の定期実…

RubyからScalaに移る上で大事だったこと

前職ではRuby on Railsでの開発がメインだったが、転職してからはScala/Play Frameworkでの開発が主になり、それに伴い開発の手法, メンタルモデルも大きく変わった。 それに適応していくために特に大事だったと思うことを書く。 型駆動開発で進める Scalaは…

「ドメイン駆動設計 モデリング/実装ガイド」を読んだ

little-hands.booth.pm 読んだきっかけ 自分の書いているコードに対してある程度「これで問題ない」という確信が持てない状態がそれなりにストレスになると気付いたので読んだ。 今の職場に来てから、新機能の内部設計および開発を一任されるなど、以前より…

Play Frameworkのテスト実行中にDBのコネクションが枯渇する

概要 背景 Play Frameworkのコネクションプールの動作 対策 GuiceOneAppPerSuiteなど用意されたtraitの枠組みに乗っかる テストケースごとにModuleをoverrideしたい場合 概要 Play Frameworkのテストコードでplay.api.Applicationのインスタンスを生成したら…

for-comprehensionをうまく使うために必要そうだと思ったこと

新しい仕事に入り、1週間が経過しました。 私としては有給消化中にコップ本を読んでおけば事前準備としてはよくやった方ではないかと思っていたのですが、Play FrameworkやDBとのやりとりに使っているScalikeJDBCなど、新しく知るべきことはたくさんあり、逆…

ドワンゴ社のScala研修テキストを読む前に知っておきたかった高階関数への関数オブジェクトの渡し方のパターン

Scalaでは関数リテラルを様々な形で書けますが、入門向けの資料であるドワンゴ社のScala研修テキストでは具体的にどのような書き方ができるのかは解説されていません。 にも関わらずそれぞれの書き方が説明なしに登場するので「高階関数に渡す関数の書き方は…