新宿scala座2014 3月号スライド

14
Scalaを書く時にはまったこと @cosmo__

Upload: cosmo0920

Post on 08-Jul-2015

1.612 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: 新宿Scala座2014 3月号スライド

Scalaを書く時にはまったこと@cosmo__

Page 2: 新宿Scala座2014 3月号スライド

誰HN: コスモ, cosmo

仕事はRubyだったりAction Script3だったり。

趣味では割とHaskell、最近Scala書いてる

いわゆる最近の人(?)風な関数型erの一人

Twitter: @cosmo__

Blog: http://cosmo0920.wordpress.com/

Github: https://github.com/cosmo0920

Page 3: 新宿Scala座2014 3月号スライド

Scalaを始めたきっかけ

Haskellを使った関数プログラミングはしっく

り来た

でもOOPな人たちにいきなり勧めるのって

どーよ?

→そんな時にScalaに出会った

Page 4: 新宿Scala座2014 3月号スライド

Scalaの進捗ダメですorz

Page 5: 新宿Scala座2014 3月号スライド

sbt

Page 6: 新宿Scala座2014 3月号スライド

sbt in Linux

やっぱり避けては通れないsbt

コップ本にはscalaコンソールで解説されていた

ネットの情報を頼るしか無い!

http://scalajp.github.io/sbt-getting-started-guide-ja/

Page 7: 新宿Scala座2014 3月号スライド

sbt in OSX

homebrewでいれる…は良いがOut of Memoryが頻発

実は~/.sbtconfigで設定が必要で悩んだ

こんなの書く:

SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"

Page 8: 新宿Scala座2014 3月号スライド

Scalaって意外とOOP…

Page 9: 新宿Scala座2014 3月号スライド

引数の順番

Haskell比で大体逆。

mapとかfoldとか…

括弧が省略できる条件をいまい把握してない

タイプ数多い ※Haskell比

Page 10: 新宿Scala座2014 3月号スライド

sbtから引っ張れるjar is どこ

sonatypeとかbintrayとかmavenとか聞くまで

知らなかった。

先人のgithubのbuild.sbtを参考にしつつ…

Page 11: 新宿Scala座2014 3月号スライド

ScalaでJSON今は情報が混在していて探すのが大変だった

HTTPリクエストやJSONを扱うにはdispatchが今はい

いらしい

http://dispatch.databinder.net/Dispatch.html

タイプセーフに書ける

使ってみた→ https://github.com/cosmo0920/

Garakuta/tree/master/Json4s_Test

Page 12: 新宿Scala座2014 3月号スライド

使ってみた感想

確かにタイプセーフになる

想定していないJSONがくるとスタックト

レースが流れる

パターンマッチのありがたみ

Page 13: 新宿Scala座2014 3月号スライド

便利なものはScalazに通じる

Scalazを知った時は感動した…が、巨大すぎ

ませんか…

Battery Includedとはこのことか!

Page 14: 新宿Scala座2014 3月号スライド

まとめScalaは関数型とOOPのハイブリットというけれど

Scalazを使わないとOOPかも

Scalaの言語仕様はかなり巨大ということがわかった

関数プログラミングの入門には良いかも

Haskellと違ってソースまで読まないとちょっと怖い

Scalazにもっと慣れないと…