PredictionIO – A Machine Learning Server in Scala – SF Scala
20100731 LL Tiger Language Update Scala
-
Upload
tomohito-ozaki -
Category
Technology
-
view
3.641 -
download
2
description
Transcript of 20100731 LL Tiger Language Update Scala
![Page 1: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/1.jpg)
2010年7月31日土曜日
![Page 2: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/2.jpg)
「LL大河?」
2010年7月31日土曜日
![Page 3: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/3.jpg)
2010/07/31 LL Tiger Language Update
2010年7月31日土曜日
![Page 4: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/4.jpg)
自己紹介
ID:yuroyoroゆろよろ
2010年7月31日土曜日
![Page 5: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/5.jpg)
Scalaの普及活動してまう
•CodeZineで記事書いたり
•Scala発火村やったり
•本も書いてるとこで。
2010年7月31日土曜日
![Page 6: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/6.jpg)
Scalaって?
2010年7月31日土曜日
![Page 7: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/7.jpg)
「ScalaはLLですからっ!!(キリッ」
2010年7月31日土曜日
![Page 8: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/8.jpg)
オブジェクト指向 + 関数型な
ハイブリッド言語
2010年7月31日土曜日
![Page 9: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/9.jpg)
静的型付けのコンパイル型言語
2010年7月31日土曜日
![Page 10: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/10.jpg)
クラスファイルを生成して
JVMで動作する
JVMscalaのソースをコンパイルするとclassファイルが生成される
コンパイル
.scala.scala
.scala.class
war
.scala.class
scalaLibrary.jar
2010年7月31日土曜日
![Page 11: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/11.jpg)
「Javaとどう違うのん?」
2010年7月31日土曜日
![Page 12: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/12.jpg)
Less typingを目指した言語仕様
2010年7月31日土曜日
![Page 13: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/13.jpg)
型推論
scala> val list = List("foo","bar","baz")list: List[java.lang.String] = List(foo, bar, baz)
2010年7月31日土曜日
![Page 14: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/14.jpg)
ファーストクラス関数と
クロージャ
scala> list map{ s => s * 2 }
res6: List[String] = List(foofoo, barbar, bazbaz)
2010年7月31日土曜日
![Page 15: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/15.jpg)
パターンマッチ
scala> list.headOption match{ ¦ case Some( s ) => s * 2 ¦ case None => "" ¦ }res9: String = foofoo
2010年7月31日土曜日
![Page 16: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/16.jpg)
REPL
2010年7月31日土曜日
![Page 17: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/17.jpg)
テスト書く
2010年7月31日土曜日
![Page 18: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/18.jpg)
テスト書く → REPLで確認
2010年7月31日土曜日
![Page 19: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/19.jpg)
テスト書く → REPLで確認
↓
コード書く
2010年7月31日土曜日
![Page 20: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/20.jpg)
テスト書く → REPLで確認
↓
コード書く
↑
テストする ←
2010年7月31日土曜日
![Page 21: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/21.jpg)
テスト書く → REPLで確認
↓
コード書く
↑
テストする ←
↓
「サイクルがLL」
2010年7月31日土曜日
![Page 22: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/22.jpg)
Scalaのコードはこんな感じ
2010年7月31日土曜日
![Page 23: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/23.jpg)
HashTag検索
2010年7月31日土曜日
![Page 24: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/24.jpg)
2010年7月31日土曜日
![Page 25: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/25.jpg)
最近のScala
2010年7月31日土曜日
![Page 26: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/26.jpg)
Scala本が最近いっぱい出てます
2010年7月31日土曜日
![Page 27: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/27.jpg)
2010/07/15Scala 2.8.0 final正式リリース
2010年7月31日土曜日
![Page 28: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/28.jpg)
scala> def opt[T]( v:Option[T] = Some(3) ) = v.map{ _.toString }
opt: [T](v: Option[T])Option[java.lang.String]
scala> opt()
res22: Option[java.lang.String] = Some(3)
‣名前付き/デフォルトパラメータ
2010年7月31日土曜日
![Page 29: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/29.jpg)
scala> list.collect { case s if s.startsWith("b") => s * 2 }res21: List[String] = List(barbar, bazbaz)
‣コレクションライブラリ再設計
2010年7月31日土曜日
![Page 30: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/30.jpg)
‣package object‣限定継続サポート‣@specializeによる最適化
2010年7月31日土曜日
![Page 31: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/31.jpg)
どこかつかってんの?
2010年7月31日土曜日
![Page 32: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/32.jpg)
‣Twitter‣FourSquare‣LinkedIn‣Novel Pulse‣Électricité de France Trading
‣Xebia‣XMPie(Xerox)‣Sony Pictures Imageworks
‣Siemens‣GridGain‣AppJet‣Reaktor‣Triental‣Sygneca‣HD Holdings‣SAIC Mimesis Republic
‣WattsOn
2010年7月31日土曜日
![Page 33: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/33.jpg)
2010年7月31日土曜日
![Page 34: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/34.jpg)
みんな大好きついったーもScalaで動いてます
2010年7月31日土曜日
![Page 35: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/35.jpg)
ついったーのバックエンドはScalaがいっぱい
2010年7月31日土曜日
![Page 36: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/36.jpg)
Kestrel memcacheを話す分散メッセージキュー
Gizzard 分散DBのためのsharding framework
2010年7月31日土曜日
![Page 37: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/37.jpg)
Twitter Streaming API Architecture http://www.slideshare.net/jkalucki/chirp-2010streamingapiarchpost
Streaming APIのbackend
2010年7月31日土曜日
![Page 38: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/38.jpg)
2010年7月31日土曜日
![Page 39: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/39.jpg)
Lift Web Framework
2010年7月31日土曜日
![Page 40: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/40.jpg)
‣ フルスタック
‣ ajax/cometサポート
‣ view firstなアプローチ
2010年7月31日土曜日
![Page 41: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/41.jpg)
PHPからScala/Liftへ3ヶ月で移行
2010年7月31日土曜日
![Page 42: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/42.jpg)
まとめ
2010年7月31日土曜日
![Page 43: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/43.jpg)
Scala2.8.0も出たし、
日本語の情報も増えたので今こそScalaを
始めるチャンスですよ
2010年7月31日土曜日
![Page 44: 20100731 LL Tiger Language Update Scala](https://reader033.fdocuments.in/reader033/viewer/2022042815/55855411d8b42a0a3a8b4e85/html5/thumbnails/44.jpg)
ご清聴ありがとうございました!
2010年7月31日土曜日