Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

2010/11/16 WebプログラマのためのScala入門勉強会@渋谷

on

  • 1,215 views

 

Statistics

Views

Total Views
1,215
Views on SlideShare
1,215
Embed Views
0

Actions

Likes
0
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    2010/11/16 WebプログラマのためのScala入門勉強会@渋谷 2010/11/16 WebプログラマのためのScala入門勉強会@渋谷 Presentation Transcript

    • Webプログラマのための Scala 入門勉強会 #2 http://atnd.org/events/9664 twitter: #wpscala, @wpscala
    • 自己紹介 実は、私プログラマーではありません。 ちょっと司会を頼まれただけです。 おどおど。。
    • 自己紹介 • というのは嘘で、一応ちょっと書いてます 言語は内緒。※facebookとかで使ってるやつ。 • 社内ベンチャーのような環境で働いてます 仕事は全部自分で決めます! • twitterカンファレンスに行ってきたよ! Scalaの講演見てきたよ
    • 自己紹介 やりたいこと: ネットワークプログラミング 定年退職後は、湖のほとりの静かなコテージ で、どーせ誰も使わないNoSQL作って公開す るお! でもJava勉強しなきゃ(Cはさらにご勘弁!) せっかく一から勉強するなら、やっぱりScala?
    • 自己紹介 それとも node.j... あ、いやなんでもないです。。 ※ちょっと最近Nodeさんに火照りぎみ。誰か助けて!! ツイッターは、@chikaram です。 なまえは、「三宅(みやけ)」です。 よろしくお願いします。
    • せんせい紹介 • あさいさん: @hito_asa 弊社のエースっす • よしださん: @xuwei_k Scalaといえばこの方!? ※twitterで「scala」で検索してみてw
    • 会社紹介 GMOメディアといいます。 以上
    • 会社紹介 社長: @morimascaras 「何? Scala? スイスの教授のアレでしょ? いやーオレそれ来ると思ってたんだよねー」
    • 会社紹介 っていうのは嘘で。。 「いや、三宅ぇ。ここだけの話し、 ぶっちゃけScalaってどーよ!?」 at 飲みの席
    • 本日のスケジュール 20:00~ (10min) 自己紹介・先生紹介 20:10~ (40min) もにょもにょとイロイロお話 20:50~ (10min) 休憩 21:00~ (60min) ソーシャルラーニング? 22:00~ Let’s drink up @庄や!!
    • 参加者自己紹介Time!! 簡単にで構いません。 お一人様、10~30秒程度で、サックリめに! ※声がマイクに拾われるかもなので、 本名・会社名はチョメチョメでおk。
    • ありがとうございました。
    • この勉強会の目的・スタイル ここからちょっと println("Hello World") 以前の話をします。
    • この勉強会の目的・スタイル さて、困っています。
    • この勉強会の目的・スタイル 当社は、外部に公開された勉強会の 経験がありません。 さて、 勉強会ってどうやればいいんだろう。。
    • この勉強会の目的・スタイル とはいえ、だいたいの枠組みは決まっています。 簡単に説明しますので、ツッコミを下さい。 ※この勉強会は「みんなで」作っていきます。 (その方が、主催者も楽できるのでw)
    • 目的 • Scalaの普及? • コミュニティの形成? • 会社の宣伝? • イザと言うときの人材確保w?
    • 目的 目的はまぁいいや。 楽しくやりましょう。
    • コンセプト ソーシャルラーニング。とか。 (先生がうろちょろしてる自習室) 会社は設備とキッカケの提供だけ。 みたいな。
    • コンセプト 継続的にやります! • 先生が「もうErlangやるお!」って言うまで • 先生が会社に飽きちゃって大工になるまで • Scalaが無くなるまで(まぁこれはないか) • 会社が無くなるまで • なんか全体的に飽きちゃうまで
    • コンセプト 基本は初心者向け 常に、Hello Worldな人を受け入れます!! 毎日が第2回(#2)くらいの雰囲気。 以前、某Cass○ndra勉強会第N回に参加したら完全アウェー だった。どの回からでも参加できるし、どの回から抜けても いいようにしたい。月1とか、3ヶ月ぶりでもOKとか。
    • 想定される参加者 • JavaやPHPでWebアプリもう飽きたおって人 • Ruby自由すぎてついていけないお[型]い人 • 関数型・並列こんぴゅーちんぐハァハァな人 • 仕事でやらされるから助けて!!って人 • まっすぐ家に帰りたくない人 • だれかと酒呑みたいだけの人
    • 参加すればどーなる? • if文と変数でおみくじスクリプトが書ける! • イカしたMessage Queueサーバーを書いて twitterに入社できる! • ここの講師になれる! (無給) つまりはその人次第。 でも一緒になんか作れたらうれしいね。
    • 1日をどんな感じでやるの? • 班に分かれる • 気の合う仲間で群れてもいいかも(Javaの人、 PHPの人、Perl、Ruby、その他ギーク/ニートの人) • 2時間を30分・90分に分ける • 30分: 前回の質問の回答・ちょっとした発 表・共有したい疑問・初参加者の自己紹介等 • 90分: ひたすらコーディング・読書・おしゃ べり・質問等
    • シリーズで分ける? • 1シリーズ6回・3ヶ月(1四半期)とか? • それともシリーズ区切りなしでイテレート? どうしましょう? どちらにしろ、アーカイブを作って、どの回か らでも自由に参加できるようにしておきます。
    • さて、前回の宿題 みんなScalaで何をしたいの? なぜScalaなの? 何を期待しているの? を話そう!!
    • さて、前回の宿題 貴重なご意見ありがとうございます。
    • Scalaの話する? もし時間があれば。
    • Scalaのいいところ • オブジェクト指向: Java, C#, Python • 関数型: Haskell, F#, Ocaml • 統一オブジェクトモデル: Smalltalk, Ruby • 普遍ネスティング: Algol, Simula • 統一アクセス: Eiffel • アクター: Erlang • スケーラビリティ: Lisp, C++ いろんな言語のいいどこ取りっぽい。言語オタ万歳!! ※『ボクらのScala』より
    • Scalaの悪いところ ゆえに文法が膨大!! コーディングスタイルの文化や、 ベストプラクティス的なもの、 Convention over Configuration的なものが 形成される必要がある? チーム内で規約が必要
    • Scalaのいいところ JVM言語なのでJavaの資産をそのまま使える。 • Javaのライブラリー使ったり • Androidアプリ作ったり • GAE上で動かしたり • 既存のJavaプロジェクトのとあるクラスを こっそりScala化したり
    • Scalaの悪いところ JVM。なんか面倒。。 Scalaのソフトウェア使うのに、 Javaが要るの? Javaって何ぁに? JDKのインストール。Sunのページ開いて、 次へクリックして。。URLをコピって、 んで環境変数設定して。。
    • Scalaのいいところ ちょっぱや http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php
    • 時間あまったかな? ちょっとだけ、別の言語の話していいですか?
    • node.js Evented I/O for V8 JavaScript
    • これは来ます。 というかもう来てます。
    • 黒船かも?
    • そこのPHPの人 「コンパイルいらないし楽なんだよねー」 なんて言ってられません。 そこのJavaの人 「スクリプト言語とちがって速ぇーんだよ」 なんて言ってられません。
    • JavaScriptでしかも速いんです。 http.createServer(function (req, res) { ~~~; }).listen(80); ※Webサーバーだって数行で書けちゃうの図 JBoss NettyもApache Minaも java.util.concurrentとかそういう いかめしいものは要りません。
    • 「全部コールバックやねん!!」 ※某lispエンジニアより rows = database.fetch(category = 'news') database.fetch(category = 'news', callback)
    • 問題点 (お前が言うな)
    • 非同期スパゲッティ
    • そこでScala!? Scalaでは(SmallTalk, Rubyのように)全てが オブジェクト。Actorを利用すれば、オブジェ クト指向の考え方、チーム体制、開発手法、 テスト手法のままで並行プログラミングがで きる!! できる!? 多分。。
    • node.jsでネットワークプログラミングの味を しめたプログラマーが、もっと「何か」を求 めて、Scalaに流れてくる可能性があるかも!?
    • 以上、適当なことを申し上げてしまいました。
    • 休憩Time!! トイレはこちら
    • 自習Time!! • ほんとうにはじめての人はLet’s get Scalaed! • 先生に質問もOK! • もっと詳しい自己紹介やダベりもOK!! • 読書会をやってもいいお • 黙々とコーディングするのもオシャレ • 分からないことは隣の人に聞いちゃえ! みたいなユルユルな感じでいいのかな? まぁ、#wpscalaでつぶやいてみて!!
    • 終了!! ご参加ありがとうございました。 次回も参加したり、しなかったり、 誰か誘ったり、誘わなかったりしてください!! まぁ、楽しくやりましょう。
    • 懇親会Time!! Let’s 庄や?