Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7

1,873 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7

  1. 1. 入門勉強会 @@@@渋谷渋谷渋谷渋谷#01#01#01#01 WebWebWebWebプログラマのためのプログラマのためのプログラマのためのプログラマのための Scala TwitterTwitterTwitterTwitter ####wpscalawpscalawpscalawpscala
  2. 2. 自己紹介自己紹介自己紹介自己紹介 •■職業 プログラマ Webサービス開発 • あやしいコンサル会社 ⇒ ★neet★ ⇒ うどん屋 ⇒ たのしい派遣エンジニア ⇒ Web屋さん •あさいです。 ■経歴 •■Twitter @hito_asa •■芸歴 C#歴2年 Java歴3年 テスタ歴2年 Scala歴7ヶ月
  3. 3. この勉強会について 「Web系のプログラマが業務でScalaを 使えるようになるための勉強会」です。 ■趣旨 「「「「社内社内社内社内ででででScalaScalaScalaScala勉強会勉強会勉強会勉強会やろうかやろうかやろうかやろうか」」」」 「「「「どどどどうせならうせならうせならうせならUstUstUstUst垂垂垂垂れれれれ流流流流してみるしてみるしてみるしてみる?」?」?」?」 「「「「いやいやもういやいやもういやいやもういやいやもう人集人集人集人集めてやっちゃおうぜめてやっちゃおうぜめてやっちゃおうぜめてやっちゃおうぜ!」!」!」!」 ↓↓↓↓ ↓↓↓↓ ↓↓↓↓
  4. 4. 「「「「32323232人人人人!!!! やばいどうしようやばいどうしようやばいどうしようやばいどうしよう!!」!!」!!」!!」 ↓↓↓↓
  5. 5. この勉強会のスタイル 私たちはコミュニティです この勉強会はコミュニティのものです スタイルはみんなで作っていきましょう! (初回は私が主催して司会して講義しますが) 質問奨励、ツッコミ奨励 することは素晴らしいこと 否定的な意見ではなく肯定的な意見を Hiro Yoshioka 「カーネル読書会の作り方 1000 speakers conference, 2/23/'08」
  6. 6. 今日の内容 懇親会@そこらへんの店そのあと コップ本読書会 21:00 ~22:00 Scala開発環境構築 20:20 ~21:50 ScalaでHello, World! 20:00 ~20:20 自己紹介タイム 19:50 ~20:00
  7. 7. 今日の内容 懇親会@そこらへんの店そのあと コップ本読書会 21:00 ~22:00 Scala開発環境構築 20:20 ~21:50 ScalaでHello, World! 20:00 ~20:20 自己紹介タイム 19:50 ~20:00
  8. 8. 自己紹介タイム
  9. 9. 今日の内容 懇親会@そこらへんの店そのあと コップ本読書会 21:00 ~22:00 Scala開発環境構築 20:20 ~21:50 ScalaでHello, World! 20:00 ~20:20 自己紹介タイム 19:50 ~20:00
  10. 10. Scala以外の Hello, World!
  11. 11. ScalaでHello, World! ◆REPLでHello ◆オンラインでHello ◆スクリプトでHello ◆コンパイラでHello ◆メインメソッドを書くパターン ◆Applicationオブジェクトを使うパターン ◆クラスを作ってみるパターン ◆その他のHello ■バリエーション
  12. 12. ScalaでHello, World! ◆REPLREPLREPLREPLででででHelloHelloHelloHello ◆オンラインでHello ◆スクリプトでHello ◆コンパイラでHello ◆メインメソッドを書くパターン ◆Applicationオブジェクトを使うパターン ◆クラスを作ってみるパターン ◆その他のHello ■バリエーション
  13. 13. ScalaでHello, World! ◆REPLでHello ◆オンラインでオンラインでオンラインでオンラインでHelloHelloHelloHello ◆スクリプトでHello ◆コンパイラでHello ◆メインメソッドを書くパターン ◆Applicationオブジェクトを使うパターン ◆クラスを作ってみるパターン ◆その他のHello ■バリエーション
  14. 14. ScalaでHello, World! ◆REPLでHello ◆オンラインでHello ◆スクリプトでスクリプトでスクリプトでスクリプトでHelloHelloHelloHello ◆コンパイラでHello ◆メインメソッドを書くパターン ◆Applicationオブジェクトを使うパターン ◆クラスを作ってみるパターン ◆その他のHello ■バリエーション
  15. 15. ScalaでHello, World! ◆REPLでHello ◆オンラインでHello ◆スクリプトでHello ◆コンパイラでコンパイラでコンパイラでコンパイラでHelloHelloHelloHello ◆メインメソッドをメインメソッドをメインメソッドをメインメソッドを書書書書くパターンくパターンくパターンくパターン ◆Applicationオブジェクトを使うパターン ◆クラスを作ってみるパターン ◆その他のHello ■バリエーション
  16. 16. ScalaでHello, World! ◆REPLでHello ◆オンラインでHello ◆スクリプトでHello ◆コンパイラでコンパイラでコンパイラでコンパイラでHelloHelloHelloHello ◆メインメソッドを書くパターン ◆ApplicationApplicationApplicationApplicationオブジェクトをオブジェクトをオブジェクトをオブジェクトを使使使使うパターンうパターンうパターンうパターン ◆クラスを作ってみるパターン ◆その他のHello ■バリエーション
  17. 17. ScalaでHello, World! ◆REPLでHello ◆オンラインでHello ◆スクリプトでHello ◆コンパイラでコンパイラでコンパイラでコンパイラでHelloHelloHelloHello ◆メインメソッドを書くパターン ◆Applicationオブジェクトを使うパターン ◆クラスをクラスをクラスをクラスを作作作作ってみるパターンってみるパターンってみるパターンってみるパターン ◆その他のHello ■バリエーション
  18. 18. ScalaでHello, World! ◆REPLでHello ◆オンラインでHello ◆スクリプトでHello ◆コンパイラでHello ◆メインメソッドを書くパターン ◆Applicationオブジェクトを使うパターン ◆クラスを作ってみるパターン ◆そのそのそのその他他他他ののののHelloHelloHelloHello ■バリエーション
  19. 19. 今日の内容 懇親会@そこらへんの店そのあと コップ本読書会 21:00 ~22:00 Scala開発環境構築 20:20 ~21:50 ScalaでHello, World! 20:00 ~20:20 自己紹介タイム 19:50 ~20:00
  20. 20. Webプログラマの開発環境 21% 48% 5% 5% 5% 11% 5% vim Emacs Eclipse 秀丸秀丸秀丸秀丸 TextMate さくらさくらさくらさくら EmEditor
  21. 21. Scalaの開発環境 ◆scalac + お好きなエディタ ◆sbt + お好きなエディタ ◆vim + sbt + codefellow ◆Emacs + ENSIME ◆Eclipse + Scala IDE ◆NetBeans + ErlyBird ◆IntelliJ IDEA + Scala Plugin ■選択肢
  22. 22. 下準備 ■手順 1.JVMを入れる OracleのサイトからJDK6をDLしてインストール。 2.Scalaランタイムを入れる 3.環境変数を設定する scala-lang.orgからScalaをDLしてインストール。 JAVA_HOMEとSCALA_HOMEを設定。 PATHに$JAVA_HOME/binと$SCALA_HOME/binを設定。
  23. 23. scalac + お好きなエディタ ■特徴 ■セットアップ方法 まずはこれ。 とくになし。
  24. 24. sbt + お好きなエディタ ■特徴 ■セットアップ方法 sbtはビルドツール。 手動でやる作業が色々楽になる。 1.sbtのjarをDLして起動シェルを作る sbtのサイトから最新のsbt-launch.jarをDL。 こんな感じの起動シェルを作る。↓ java -Xmx512M -jar `dirname $0`/sbt-launch.jar "$@"
  25. 25. vim + sbt + codefellow ■特徴 ■セットアップ方法 codefellowはvimプラグイン兼コンパイラ サーバー。コードの色分けや補完とかいろい ろできるらしい。 1.vimとsbtをセットアップする。 2.codefellowをgit cloneしてごにょご にょする(所要時間2週間)
  26. 26. Emacs + ENSIME ■特徴 ■セットアップ方法 ENSIMEはEmacsプラグイン兼コンパイラ サーバー。コードの色分けや補完とかいろ いろできる。codefellowよりはちゃんとし てる。 1. http://d.hatena.ne.jp/tototoshi/20100925/1285420294 2. http://d.hatena.ne.jp/tototoshi/20100927/1285595939 Thanks to @tototoshi
  27. 27. Eclipse + Scala IDE ■特徴 ■セットアップ方法 「さいきょうのJava IDE」だけど、Scalaだ といまいち。重すぎる遅すぎる落ちすぎる。 機能も足りないけど使えないことはない。 1.すごいPCを買ってくる 2.EclipseとScala IDEを入れる 3.5.2の"for Java Developers"がおススメ。 Scala IDEはEclipseのSoftware Update機能で入れる。
  28. 28. NetBeans + ErlyBird ■特徴 ■セットアップ方法 ErlyBirdはErlang/Scala対応のプラグイン。 Eclipseよりちゃんとしてて、一通りのこと ができる。リファクタリングもOK。 1.NetBeansとErlyBirdを入れる NetBeansのサイトから最新版をDLしてインストール。 (Nightly Build推奨) ErlyBirdはここからDLして、NetBeansに入れる。
  29. 29. IntelliJ IDEA + Scala Plugin ■特徴 ■セットアップ方法 巷の噂では「さいきょうのScala IDE」 (使ったこと無いです、すみません) 1.IntelliJとScala Pluginを入れる JetBRAINSのサイトから最新版をDLしてインストール。 Scala Pluginは設定画面からインストールできる。
  30. 30. 休憩時間休憩時間休憩時間休憩時間だよだよだよだよ
  31. 31. 今日の内容 懇親会@そこらへんの店そのあと コップ本読書会 21:00 ~22:00 Scala開発環境構築 20:20 ~21:50 ScalaでHello, World! 20:00 ~20:20 自己紹介タイム 19:50 ~20:00
  32. 32. コップ本読書会 「Scalaスケーラブルプログラミング」 (通称コップ本)をみんなで読みます。 実際に手を動かしたり、わかんない部分 を知ってる人に聞いたり、ググったりし ながら進めましょう。 ■内容 http://calamel-books.jp/?pid=1493080
  33. 33. コップ本読書会#01 第1章~第3章までをやりましょう。 第1章は私が軽く読み下して要点整理をし ます。 その後、第1章の確認と、第3章までの通 読を各チームでお願いします。 ■今日の内容
  34. 34. 読書会なう
  35. 35. コップ本読書会#01 今日の結果は、みんなでブログに書いて、 ハッシュタグ #wpscala をつけて Twitterに流しましょう! あとで誰かがトゥギャります。たぶん。 ■今日の結果
  36. 36. 次回の予定 ◆ 月2回、第1第3火曜日 ◆ 宿題出す ◆ 次回はミヤケさん。 ◆ Scalaで何をしたいかまとめる ◆ 11/16 ■予定
  37. 37. 皆様、ご参加 ありがとうございましたっ!
  38. 38. 今日の内容 懇親会@そこらへんの店そのあと コップ本読書会 21:00 ~22:00 Scala開発環境構築 20:20 ~21:50 ScalaでHello, World! 20:00 ~20:20 自己紹介タイム 19:50 ~20:00
  39. 39. 明日の予定 明日11/3は水曜日サ 毎週水曜日は「Scala勉強会 in 渋谷」の日 明日の第10回はV文化の日Vってことで ハッカソンハッカソンハッカソンハッカソンhをやります!! 多分まだ空きがあるので 参加希望の方はATNDから登録をi http://atnd.org/events/9337 時間は10:00~18:00くらいまでの予定 場所はココです
  40. 40. 明後日の予定 明後日11/4は木曜日チ 隔週木曜日は「Scalaを遊ぶ会」の日 明日は第3回 Play! frameworkPlay! frameworkPlay! frameworkPlay! frameworkでででで遊遊遊遊ぶぶぶぶらしいです こちらも多分空きがあるので 参加希望の方はATNDから登録をi http://atnd.org/events/8893 時間は19:30~21:30までの予定で 場所はこの近くの喫茶店らしいです

×