Slide 1

Slide 1 text

Let's get started with Scala Unagi.py 忘年 LT⼤会 2020 2020.12.27 Kawashima Kazuhisa https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 2

Slide 2 text

⾃⼰紹介 名前: 川嶋 ⼀寿 所属: 株式会社ゆめみ 職業: プログラマー 拠点: 静岡県静岡市 趣味: 酒、ジョギング、⽔泳(最近再開) 好きな⾔語: Scala その他活動: 専⾨学校講師、Scalapediaの記事執筆 Twitter: @cupperservice https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 3

Slide 3 text

本⽇の内容 Scalaを始めてみよう https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 4

Slide 4 text

Scalaって難しい? オブジェクト指向と関数型のマルチバラダイム⾔語 オブジェクト指向 関数型 ⽂脈がどうたら モナドがどうたら 圏論がどうたら https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 5

Slide 5 text

どの程度、難しいのか? ScalaはPythonと同じくらい難しい https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 6

Slide 6 text

環境構築 必要なもの Java sbt node(scalajsの場合) https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 7

Slide 7 text

Install SDKMAN SDKMANをインストールする SDKMAN Java関連のパッケージを管理するツール The Software Development Kit Manager インストール⽅法 https://sdkman.io/install https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 8

Slide 8 text

Install Java Javaをインストールする command sdk install java `version` Javaとの互換性 https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 9

Slide 9 text

Install sbt sbtをインストールする command sdk install sbt `version` https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 10

Slide 10 text

Install Nodejs . Install nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash source ~/.bash_profile . Install nodejs nvm install `version` https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 11

Slide 11 text

Create scala project Scalaのプロジェクトを作成する command sbt new scala/scala-seed.g8 https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 12

Slide 12 text

Create scalajs project Setting sbt . Adding the Scala.js sbt plugin is a one-liner in `project/plugins.sbt addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.3.1") . Add the follwing settings in build.sbt enablePlugins(ScalaJSPlugin) scalaJSUseMainModuleInitializer := true https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 13

Slide 13 text

教材 Web scalapedia Scala学習テキスト 本 Scalaスケーラブルプログラミング Scala関数デザイン&プログラミング https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 14

Slide 14 text

Pythonユーザーに朗報 Scala3ではインデント構⽂をサポートする! gitter template for scala3 sbt new scala/scala3.g8 https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 15

Slide 15 text

急募 専⾨学校でPythonの授業をしてみたい⽅はいますか? 場所: 浜松駅から徒歩8分 教材: あり コマ数: 年間45コマ程度(週1⽇ - 2⽇) 興味がある⽅は以下にDMを送ってください。 Twitter: @cupperservice https://github.com/cupperservice/LT-Document/tree/main/20201227

Slide 16

Slide 16 text

Thank you for listening! https://github.com/cupperservice/LT-Document/tree/main/20201227