Lagom with Scalaやってく!【その1:環境構築】


こんにちわ!gakuです。
ひっさしぶりに新しいFWと格闘しています。
その名も「lagom」!

Golang+ginでDDDでCQRSな実装をしていたのですが、どうしても辛いところが出てきたため、なんか良いのないかな〜と思って探していたところlagomと出会いました。
まだ、全く理解できておらず、日本語文献も皆無に等しいので、自分の備忘録程度に記載していければと思ってます。

モチベーション

@negokaz さんのこちらの動画がものすごくわかりやすかったので、こちらの動画を元にし勉強していきたいと思ってます。
https://crash.academy/video/59/341

環境

・JDK11(AdoptOpenJDK11)
・sbt 1.3.9
・Intellij

HelloWorld

「lagom/lagom-scala.g8」にHelloWorkdテンプレートがあるので以下コマンドでPJを作成します。

sbt new lagom/lagom-scala.g8
[info] Loading global plugins from /Users/gaku/.sbt/1.0/plugins
[info] Set current project to gaku3601 (in build file:/Users/gaku/src/github.com/gaku3601/)
[info] Set current project to gaku3601 (in build file:/Users/gaku/src/github.com/gaku3601/)
name [Hello World]: study lagom
organization [com.example]: 
version [1.0-SNAPSHOT]: 
package [com.example.studylagom]: 

Template applied in /Users/gaku/src/github.com/gaku3601/./study-lagom

Intellijで展開すると自動で依存ライブラリをinstallしてくれます。数分かかりますが、気長に待ちます。

デバッグ設定

Run/Debug Configureでこんな感じで設定。

実行

実行ボタンをクリックし、立ち上がったら「src/main/scala/com/example/studylagom/api/StudyLagomService.scala」のコメント部にあるcurlコマンドを叩きます。

gakumbp:study-lagom gaku$ curl http://localhost:9000/api/hello/Alice
Hello, Alice!

なんか返ってきます!

ここまでのコードはここに置いときます
https://github.com/gaku3601/study-lagom/tree/step1

おわり

はい。まだ何もわかってません。新しい知見をキャッチでき、やる気があればシリーズ化したいと思います。