PHPerによるScala入門その1 環境セットアップ
前置き
phperがscalaを使って適当webサーバを立ち上げたときの学習の記録です。副業で使うための学習が主目的なので作るもの自体に意味はありません。 コードは↓に上げていく予定です。 https://github.com/shmurakamu/scala_queue
作るもの
CQRS的にQueueのproviderとconsumerを作ります。providerはAPIサーバとして動かし、kafkaにエンキューします。consumerはkafkaからsubscribeしてdynamodbに適当に値を保存します。
準備
Scala
まずScalaのコードを書く準備をします。 以下の前提です。 - sbtはインストール済み - 基本的なScalaの記法は学習済み
この辺はドワンゴさんのScala研修テキストとか入門書とか、その辺を見れば良さそう。
プロジェクト作成
ということでIntelliJ IDEAでプロジェクト作成開始。 New > Project だったか Project from existing sourceだったかその辺りから作成して、予め設定していたsbtとかJDKの設定をする。
正しいディレクトリ構成がよく分かっていないので、適当に見繕ったプロジェクトを参考にして
src ├── main │ ├── resources │ └── scala │ └── com │ └── shmrkm │ └── queue │ ├── client │ ├── consumer │ └── provider └── test └── scala └── com └── shmrkm └── queue └── provider
とりあえずこんな感じで作ってみた。
build.sbtも何を書いたらいいかまだよく見えてきてないので
name := "queue" scalaVersion := "2.12.6" version := "1.0" scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked", "-Xlint") libraryDependencies ++= Seq( "org.scalatest" %% "scalatest" % "3.0.5" % "test", "org.mockito" % "mockito-core" % "2.13.0" % "test", )
ひとまずこんな感じにした。
さてコード書くかーと思って src/main/scala/com/shmrkm/queue/provider
以下に .scalaファイルを作ってみたけどなぜかコードハイライティングがいまいち効いてない。
class
とか object
とかは色が変わるのだけど、変数とかメソッド名の色が変わらない。ライブラリのコードはちゃんと色が変わるのになぜ・・・?
よく分かってないけど、 src/main/scala
を Mark Directory as で Load Path Root に設定したらちゃんとハイライトされた。これ必要なのかな?
とりあえずセットアップはそんな感じで。