0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PHPばっかりやってきた43才がScala+PlayFrameworkを1から学ぶ

Last updated at Posted at 2020-02-25

##きっかけ
現在、自社製品の開発からは離れてフロントエンジニアとして活動しています。
開発をしていた頃は主にサーバーサイドのPHPエンジニアでした。
PHPは学習コストがあまりかからないので非常に便利でした。

開発の現場を離れた今、PHPをゴリゴリ調べる事もなくなり、たまには違う言語でもやってみようと思い、流行り?の関数型言語+お堅い言語をやってみようと思いScala+PlayFrameworkにチャレンジする事にしました。

##sbt
Scalaでいろいろ調べてると必ず出てくる単語。おそらく必須ではないだろうけど、やたら出てくるので調査。
https://www.scala-sbt.org/
https://ja.wikipedia.org/wiki/Sbt
The interactive build toolだそうです。ようするにビルドツールですね。

ひとまずsbtが使える環境を準備します。今回はこちらのdockerイメージを利用しました。
https://hub.docker.com/r/hseeberger/scala-sbt/
シンプルに以下のコマンドを実行するとコケます。。。

$ docker run -it --rm hseeberger/scala-sbt
docker: Error response from daemon: manifest for hseeberger/scala-sbt:latest not found: manifest unknown: manifest unknown.

latestバージョン無いよということで、バージョン指定で起動してみます。

$ docker run -it --rm hseeberger/scala-sbt:8u242_1.3.8_2.12.10

これで無事に起動できます。sbtコマンドも正常に動作しているようです。

root@79794023720c:~# sbt -h
Usage: sbt [options]
  -h | --help         print this message
  -v | --verbose      this runner is chattier
〜略〜

##PlayFramework
とりあえず動かしてみます。
https://www.playframework.com/getting-started
Try the Hello World Tutorialからzipをダウンロードし、該当のディレクトリへ移動します。
移動後、以下のコマンドでコンテナを起動します。

$ docker run -it --rm -v $PWD:/app -p 9000:9000 hseeberger/scala-sbt:8u242_1.3.8_2.12.10 bash

コンテナの中に入ったあと以下のコマンドを実行。なにやらビルドが始まります。

# cd /app
# sbt run

ビルド完了後、ブラウザでアクセスします。
http://localhost:9000

以下の画面が表示されます。
スクリーンショット 0002-02-25 23.02.28.png

要調査
一度コンテナを落として再度コンテナ起動&コマンド実行をしたら何故かエラーで落ちる。。。

# cd /app
# sbt run
[error] sbt.compiler.EvalException: Type error in expression
[error] Use 'last' for the full log.
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?