Suche senden
Hochladen
Scalaでのプログラム開発
•
7 gefällt mir
•
2,481 views
Kota Mizushima
Folgen
エンジニアサポート新年会2012 CROSS 次世代言語CROSS『Scala、Haskell、PythonでのWeb開発の紹介』 でのScala発表スライドです。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 29
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Scalaの現状と今後
Scalaの現状と今後
Kota Mizushima
Scala Performance Tuning Tips
Scala Performance Tuning Tips
Kota Mizushima
Scala Daysに行ってみて - あるいはスイス旅行記 -
Scala Daysに行ってみて - あるいはスイス旅行記 -
Kota Mizushima
Scalaの現状と課題
Scalaの現状と課題
Kota Mizushima
Scala採用の背景とその後 @ hitomedia night #5
Scala採用の背景とその後 @ hitomedia night #5
Jiro Hiraiwa
ScalaにまつわるNewsな話
ScalaにまつわるNewsな話
Yosuke Mizutani
Skinny Framework で始めた Scala
Skinny Framework で始めた Scala
Ryuji Yamashita
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Kazuhiro Sera
Empfohlen
Scalaの現状と今後
Scalaの現状と今後
Kota Mizushima
Scala Performance Tuning Tips
Scala Performance Tuning Tips
Kota Mizushima
Scala Daysに行ってみて - あるいはスイス旅行記 -
Scala Daysに行ってみて - あるいはスイス旅行記 -
Kota Mizushima
Scalaの現状と課題
Scalaの現状と課題
Kota Mizushima
Scala採用の背景とその後 @ hitomedia night #5
Scala採用の背景とその後 @ hitomedia night #5
Jiro Hiraiwa
ScalaにまつわるNewsな話
ScalaにまつわるNewsな話
Yosuke Mizutani
Skinny Framework で始めた Scala
Skinny Framework で始めた Scala
Ryuji Yamashita
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Kazuhiro Sera
株式会社ドワンゴにおけるScala教育の現状
株式会社ドワンゴにおけるScala教育の現状
Kota Mizushima
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Asami Abe
Skinny Framework 進捗どうですか? #fud_scala
Skinny Framework 進捗どうですか? #fud_scala
Kazuhiro Sera
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Kazuhiro Sera
Scala.js触ってみた
Scala.js触ってみた
Asami Abe
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
頑張りすぎないScala
頑張りすぎないScala
takezoe
実戦Scala
実戦Scala
Yuto Suzuki
Skinny Meetup Tokyo 2 日本語スライド
Skinny Meetup Tokyo 2 日本語スライド
Kazuhiro Sera
Scala Warrior and type-safe front-end development with Scala.js
Scala Warrior and type-safe front-end development with Scala.js
takezoe
ネタじゃないScala.js
ネタじゃないScala.js
takezoe
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
Eugene Yokota
ScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったで
Asami Abe
[Scalamatsuri2016]あ、社内コミュニティ
[Scalamatsuri2016]あ、社内コミュニティ
hirotakanosato
akka-doc-ja
akka-doc-ja
TIS Inc.
Servlet と Future の関わり方 #scala_ks
Servlet と Future の関わり方 #scala_ks
Kazuhiro Sera
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
Scalaと過ごした5ヶ月間
Scalaと過ごした5ヶ月間
Haruki Okada
Contributing to Scala OSS from East Asia #ScalaMatsuri
Contributing to Scala OSS from East Asia #ScalaMatsuri
Kazuhiro Sera
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
PE-BANK
Weitere ähnliche Inhalte
Was ist angesagt?
株式会社ドワンゴにおけるScala教育の現状
株式会社ドワンゴにおけるScala教育の現状
Kota Mizushima
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Asami Abe
Skinny Framework 進捗どうですか? #fud_scala
Skinny Framework 進捗どうですか? #fud_scala
Kazuhiro Sera
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Kazuhiro Sera
Scala.js触ってみた
Scala.js触ってみた
Asami Abe
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Asami Abe
頑張りすぎないScala
頑張りすぎないScala
takezoe
実戦Scala
実戦Scala
Yuto Suzuki
Skinny Meetup Tokyo 2 日本語スライド
Skinny Meetup Tokyo 2 日本語スライド
Kazuhiro Sera
Scala Warrior and type-safe front-end development with Scala.js
Scala Warrior and type-safe front-end development with Scala.js
takezoe
ネタじゃないScala.js
ネタじゃないScala.js
takezoe
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
Eugene Yokota
ScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったで
Asami Abe
[Scalamatsuri2016]あ、社内コミュニティ
[Scalamatsuri2016]あ、社内コミュニティ
hirotakanosato
akka-doc-ja
akka-doc-ja
TIS Inc.
Servlet と Future の関わり方 #scala_ks
Servlet と Future の関わり方 #scala_ks
Kazuhiro Sera
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
Scalaと過ごした5ヶ月間
Scalaと過ごした5ヶ月間
Haruki Okada
Contributing to Scala OSS from East Asia #ScalaMatsuri
Contributing to Scala OSS from East Asia #ScalaMatsuri
Kazuhiro Sera
Was ist angesagt?
(20)
株式会社ドワンゴにおけるScala教育の現状
株式会社ドワンゴにおけるScala教育の現状
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Skinny Framework 進捗どうですか? #fud_scala
Skinny Framework 進捗どうですか? #fud_scala
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Scala.js触ってみた
Scala.js触ってみた
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
Scala再入門 @2014/02/08 Scala関西ビギナーズ第3回
頑張りすぎないScala
頑張りすぎないScala
実戦Scala
実戦Scala
Skinny Meetup Tokyo 2 日本語スライド
Skinny Meetup Tokyo 2 日本語スライド
Scala Warrior and type-safe front-end development with Scala.js
Scala Warrior and type-safe front-end development with Scala.js
ネタじゃないScala.js
ネタじゃないScala.js
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
ScalaでBacklogの通知bot作ったで
ScalaでBacklogの通知bot作ったで
[Scalamatsuri2016]あ、社内コミュニティ
[Scalamatsuri2016]あ、社内コミュニティ
akka-doc-ja
akka-doc-ja
Servlet と Future の関わり方 #scala_ks
Servlet と Future の関わり方 #scala_ks
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
Scalaと過ごした5ヶ月間
Scalaと過ごした5ヶ月間
Contributing to Scala OSS from East Asia #ScalaMatsuri
Contributing to Scala OSS from East Asia #ScalaMatsuri
Ähnlich wie Scalaでのプログラム開発
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
PE-BANK
Java in the World of Container by David Buck
Java in the World of Container by David Buck
オラクルエンジニア通信
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
Takahiro YAMADA
scala-kaigi1-sbt
scala-kaigi1-sbt
Kenji Yoshida
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
Gradle handson
Gradle handson
Nemoto Yusuke
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
Akio Katayama
What is java_se_7
What is java_se_7
TakumiIINO
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
Takashi Ito
Sbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
Yoshitaka Fujii
Scala Daysに行ってみて
Scala Daysに行ってみて
Kota Mizushima
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
とりあえず使えるSBT
とりあえず使えるSBT
Kiyotaka Kunihira
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
Taisuke Shiratori
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
David Buck
Scala界隈の近況
Scala界隈の近況
takezoe
SpringOne 2016 報告 Reactive APIの設計・実装・使用
SpringOne 2016 報告 Reactive APIの設計・実装・使用
Takuya Iwatsuka
Trait in scala
Trait in scala
Yuta Shimakawa
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
Etsuji Nakai
Ähnlich wie Scalaでのプログラム開発
(20)
Scala.jsはじめました!
Scala.jsはじめました!
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
Java in the World of Container by David Buck
Java in the World of Container by David Buck
これからのJDK/JVM 何を選ぶ?どう選ぶ?
これからのJDK/JVM 何を選ぶ?どう選ぶ?
scala-kaigi1-sbt
scala-kaigi1-sbt
Play jjug2012spring
Play jjug2012spring
Gradle handson
Gradle handson
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
What is java_se_7
What is java_se_7
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
Sbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
Scala Daysに行ってみて
Scala Daysに行ってみて
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
とりあえず使えるSBT
とりあえず使えるSBT
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Scala界隈の近況
Scala界隈の近況
SpringOne 2016 報告 Reactive APIの設計・実装・使用
SpringOne 2016 報告 Reactive APIの設計・実装・使用
Trait in scala
Trait in scala
試して学べるクラウド技術! OpenShift
試して学べるクラウド技術! OpenShift
Mehr von Kota Mizushima
ドワンゴにおける新卒エンジニア向けScala研修について
ドワンゴにおける新卒エンジニア向けScala研修について
Kota Mizushima
kollectionの紹介
kollectionの紹介
Kota Mizushima
Macros in nemerle
Macros in nemerle
Kota Mizushima
Introduction to PEG
Introduction to PEG
Kota Mizushima
Power of Scala
Power of Scala
Kota Mizushima
こわくない型クラス
こわくない型クラス
Kota Mizushima
こわくないScala
こわくないScala
Kota Mizushima
Scala is-unscared
Scala is-unscared
Kota Mizushima
About Capabilities for Uniqueness and Borrowing
About Capabilities for Uniqueness and Borrowing
Kota Mizushima
Scala Macros makes it easy to provide useful libraries
Scala Macros makes it easy to provide useful libraries
Kota Mizushima
Scala + Finagleの魅力
Scala + Finagleの魅力
Kota Mizushima
日本Scalaユーザーズグループ発足
日本Scalaユーザーズグループ発足
Kota Mizushima
Implicit Implicit Scala
Implicit Implicit Scala
Kota Mizushima
Implicit Explicit Scala
Implicit Explicit Scala
Kota Mizushima
言語アップデート -Scala編-
言語アップデート -Scala編-
Kota Mizushima
Scalaz
Scalaz
Kota Mizushima
ScalaのソースをEclipseでビルドしてみた
ScalaのソースをEclipseでビルドしてみた
Kota Mizushima
Scalaの限定継続の応用と基本(改訂版)
Scalaの限定継続の応用と基本(改訂版)
Kota Mizushima
Scalaの限定継続の応用と基本
Scalaの限定継続の応用と基本
Kota Mizushima
メタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
Mehr von Kota Mizushima
(20)
ドワンゴにおける新卒エンジニア向けScala研修について
ドワンゴにおける新卒エンジニア向けScala研修について
kollectionの紹介
kollectionの紹介
Macros in nemerle
Macros in nemerle
Introduction to PEG
Introduction to PEG
Power of Scala
Power of Scala
こわくない型クラス
こわくない型クラス
こわくないScala
こわくないScala
Scala is-unscared
Scala is-unscared
About Capabilities for Uniqueness and Borrowing
About Capabilities for Uniqueness and Borrowing
Scala Macros makes it easy to provide useful libraries
Scala Macros makes it easy to provide useful libraries
Scala + Finagleの魅力
Scala + Finagleの魅力
日本Scalaユーザーズグループ発足
日本Scalaユーザーズグループ発足
Implicit Implicit Scala
Implicit Implicit Scala
Implicit Explicit Scala
Implicit Explicit Scala
言語アップデート -Scala編-
言語アップデート -Scala編-
Scalaz
Scalaz
ScalaのソースをEclipseでビルドしてみた
ScalaのソースをEclipseでビルドしてみた
Scalaの限定継続の応用と基本(改訂版)
Scalaの限定継続の応用と基本(改訂版)
Scalaの限定継続の応用と基本
Scalaの限定継続の応用と基本
メタプログラミングって何だろう
メタプログラミングって何だろう
Kürzlich hochgeladen
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Kürzlich hochgeladen
(11)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Scalaでのプログラム開発
1.
Scala でのプログラム開発 日本 Scala
ユーザーズグループ代表っぽい ( 仮 ) 水島 宏太
2.
自己紹介 ●
水島 宏太 ( 株式会社ユビレジ所属 ) ● プログラミング言語好き 自作言語をたまに作って公開 http://github.com/kmizu/onion
3.
注: Scala 言語自体の紹介は割愛
4.
1.開発環境 ●
処理系 ● IDE ● ビルドツール ● ライブラリ ● Web App フレームワーク
5.
処理系 ●
Scala 2.9.1: 最新安定版 ● バージョン Scala 2.9.X: こちらが主流 Scala 2.8.X: 一部プロジェクトが利用 ☆ 今から始めるなら Scala 2.9.1
6.
IDE ●
既存 IDE のプラグインとして提供 Eclipse (Scala IDE for Eclipse) IntelliJ IDEA (Scala Plugin) NetBeans (Scala Plugin) ☆ IntelliJ IDEA or Eclipse がオススメ
7.
8.
9.
10.
ビルドツール - sbt ●
Simple Build Tool (or Scala Build Tool) ● Scala DSL としてビルド設定を定義 No more XML ● 既存の maven リポジトリを活用可能 ☆ 今からなら sbt ほぼ一択 ※ 0.11 系が主流 (0.7 系は一部で利用 )
11.
例 (build.sbt) name :=
"example" version := "0.01" scalaVersion := "2.9.1" libraryDependencies += "org.scalatest" %% "scalatest" % "1.6.1" % "test"
12.
ライブラリ ●
Scala 標準ライブラリ ● サードパーティの Scala ライブラリ ScalaTest, Specs, ScalaCheck Github にプロジェクトがある事が多い ● 既存の Java ライブラリ ☆sbt で利用ライブラリへの依存性を記述
13.
Web App フレームワーク ●
Lift フルスタック , View First ● Play! (2.0 から Scala native サポート ) ホットデプロイ ● Unfiltered Scala の機能をフル活用 ● Scalatra Ruby の Sinatra ライク ☆ Wicket+Scala, Lift, Unfiltered
14.
2. 導入メリット ●
簡潔なコード + 強い静的型付け 対 Java 比で 1/3 〜 1/4 のコード量 コンパイル時のエラーチェック ● 既存の Java 資産をそのまま生かせる ● 分散・並列処理のサポート Akka (TypeSafe 社が公式に提供 ) ☆ 特に Java 開発者は検討の価値あり
15.
3.導入リスク ●
Java Platform の知識がほぼ必須 メリットと表裏一体 ● ( 国内での ) 開発者がまだ少ない ● 学習曲線 最初が急カーブになりがち ☆ 部分的な導入を検討しよう 単体テスト記述など
16.
4.適用事例 ( 海外
) ● Twitter バックエンドを中心に Scala を活用 ● LinkedIn ● Foursquare Scala + Lift ● VMWare ● Amazon.com
17.
4.適用事例 ( 国内
) ● 株式会社パテントビューロ Scala + Lift を主力言語として開発 ● 有限会社 IT プランニング NGMS 等 ● エムスリー株式会社 Unfilterd による Web API サーバ等 ● 芸者東京エンターテインメント株式会社 スマートフォン向けソーシャルアプリ開発
18.
5.コミュニティの動向
19.
海外コミュニティ ●
インターネット上 公式 ML([scala-language][scala-user]) など See http://www.scala-lang.org/node/1707 ● 世界各地にコミュニティが存在 Bay Area Scala Enthusiasts (BASE) New York Scala Enthusiasts たくさんあるので以下略
20.
国内コミュニティの動向 ●
Scala 会議 ( 第 1 回 , 第 2 回 ) ● 日本 Scala ユーザーズグループ (ScalaJP) 2 月 : 初心者向けハンズオン勉強会 http://groups.google.com/group/scala-jp ● Scala 勉強会 in 渋谷 ● Akasaka.scala ● 名古屋 Scala 勉強会
21.
6. Hello, World!
(in Scalatra)
22.
import org.scalatra._ class HelloWorldFilter
extends ScalatraFilter { get("/") { <html> <body> <h1>Hello, world!</h1> </body> </html> } }
23.
7.コレクションライブラリと
パターンマッチング
24.
コレクションライブラリ case class Person(name:
String, age: Int) val persons = List(Person(name="Kota Mizushima", age=28), …) val 20 歳未満の人の名前 = persons.filter(_.age < 20).map(_.name) println(20 歳未満の人の名前 .mkString(", "))
25.
パターンマッチング (in Unfiltered) ●
エコープログラム val echo = unfiltered.filter.Planify { case Path(Seg(pathElement :: Nil)) => ResponseString(pathElement) case _ => ResponseString(" 処理できません ") } unfiltered.jetty.Http.anylocal.filter(echo).run()
26.
8 . Java
to Scala
27.
移行メリット ●
より簡潔なコード Java の 1/3 程度 ● 強力な静的型チェック Good-by NullPointerException ● 内部 DSL を自作しやすい文法 e.g. sbt, Specs, Rogue ● 並列・分散を意識したミドルウェア e.g. Akka
28.
移行リスク ●
学習コスト Java 文化とのギャップ ● コンパイル時間の増大 ● ライブラリの後方互換性 後方互換性を壊す変更が入りやすい
29.
移行すべき? ●
開発チームによりけり Ruby 等の言語経験があると良い ● 部分的な ( 導入 / 移行 ) 実験推奨 sbt に慣れる RESTful API サーバを作成してみる 単体テストを Scala で記述してみる
Jetzt herunterladen