Programming Scala読もうぜ(2)
■前回のあらすじ
業界経験約10年の中堅技術者が、たまたま読んだ聖典(アプレンティスシップパターン)に影響され、関数型言語であるScalaを勉強しようと決意する。聖典の教えのままに東京近郊でのコミュニティ・勉強会がないかをチェックするものの、大都会東京は関数型言語勉強会不毛の地である事実に打ちのめされる。
しかし、聖典中の「存在しない場合は自分で作りなさい」という教えに従い、オンラインで無料で読めるProgramming Scalaという書籍のオンライン読書会を計画する。
■前回からの進ちょく
どうも、鹿島和郎(かしまかずお)です。まずは前回からの進ちょくを報告します。
わたしが自分でやったことは以下の通りです。
- 資料を作成した
- Twitter上でちょびっと宣伝した
- 知り合いにちょびっと宣伝した
他の方からもいろいろな情報、ご協力をいただきました。
- 以前の会社の後輩から、彼の同僚が興味があるとの情報をもらった
- Twitter上で、ある方からScalaの導師を紹介していただいた
- Twitter上で、別の方からScalaのメーリングリスト(Googleグループ)を教えてもらった
- Twitter上で、さらに別の方より、東北のScala勉強会がオンラインでやっていることを教えてもらった
- 同じ方より、Scala座というイベントへの参加をすすめられた
皆さん親切に教えてくださって、大昔のバーモントカレーの……すみません。もういいません。
■まずは自分が動かねば
人を集めるには、やっぱり自分が行動しないとダメですよね。ということで、慣れないことをいっぱいやってみました。
○資料作成
取りあえずGoogle Docsで資料を作り始めました。簡単に公開できるので便利ですが、やっぱりPowerPointに慣れていると機能面で不満もあります。その後、SlideShareなるものの存在を知ったので、今後はこっちを試してみようと思います。
資料の内容は、基本的には本文の要約です。それをもとに
- 技術的な解説
- 英語の解説
をやろうと思ってました。資料はこちらのページより。
○宣伝活動を少々
人に大々的に宣伝するのって苦手なんです。Twitterでぼそっとつぶやいて、後は興味を持ってくれそうな知り合い数名にメールを出したくらいです。
MLにメールも出したんですが、それすらかなり緊張しました(詳しくは後述)。
○元後輩の同僚が興味有り
以前の会社の後輩(会員ナンバー2番)にメールをしたところ、彼の同僚などにメールを転送してくれて、そのうちの1名が興味を示してくれました。早速メールをして、参加メンバーとして勧誘成功。会員ナンバー3番です。
ちなみに、以下は彼のメール。
> つまりは、Scalaの輪講をやろうということでしょうか?
「輪講」って単語、かなり久しぶりに聞きました。ちなみに彼の大学時代の研究室では「コロキ」と呼んでいたとか。ググったところ、ラテン語由来らしいです。
■有用な情報が続々集まる
○北北東にScala導師あり
Twitter上で、とある方からScala導師の存在を教えていただきました。英語だとguruです。聞くところによると、わたしの自宅から北北東に数十里行ったところに普段はいらっしゃるとか。直接面識はないので名前を出すのは差し控えますが、海外のカンファレンスなどでも発表を行っている求道者だそうです。
早速その方をフォローしました。
○北方の地にてオンライン勉強会が存在するとの情報
Twitter上で別の方よりScalaのメーリングリスト(Googleグループ)を教えていただきました。早速参加し、勇気を振りしぼり「初めまして」メールを出したところ、(恐らくそのメールを見たと思われる)数名の方がTwitterでわたしをフォローしてくれました。
そのうちの1人の方からのTweetで、衝撃の事実が。
木20時だと、scala東北さんのオンライン勉強会と時間がかぶりますので別の曜日ではどうでしょうかー?
その勉強会の名前自体は、ググって知ってたのですが、「東北」という2文字が入っていたためノーチェックでした。まさかオンラインでやっているとは……。
早速、第90回を拝聴させていただく予定です。
○Scala座の新人
先ほどのオンライン勉強会を教えてくださった方から、9/4(土)にScala座というScalaに関するイベントに参加してはどうか、とすすめられました。これも存在自体はググって知っていたものの、場所が名古屋ということでためらっていたのですが、せっかくなので参加することにしました。
いやぁ、Scalaを勉強し始めて1週間程度なのに、こんなハイレベルそうなところに行っていいのかとも思います。しかし、せっかくなのでいろいろ最先端の話を聞いてこようと思います。ちなみにLTの話者も募集していたのですが、Scala経験1週間&LT未経験だとさすがにツラいので、今回は見送りました。
本イベントは、(多分)次回あたりに簡単にレポートしようと思います。
○新たな参加者が
まずは内輪だけでやるかーと思っていた矢先、上述のメーリングリストを見た方(Tさん)から参加希望のメールをいただきました。しかもその人のTwitterとか見てみたら、どうやらかなりの技術の鉄人らしい。若干腰が引けたのですが、「初心者向けの内容でもよろしければ……」という内容の返信をしたところ、快くOKしてもらいました。
後述しますが、約1カ月後に発表をしていただけることになりました。
■そして勉強会!
○オンラインからオフラインへ
事前準備をしているときに、会員番号2番からこんなメールが来ました。
> ところで、当日の動きなんですが、
> 20:00ごろに鹿島さんが××(筆者注:彼の会社)に来られて、
> 会議室で一緒にScala、と認識であってますか?
> (9/1 20:00からの会議室はすでに押さえてあります)
え? 自分が自宅からUstreamで流して、それを見てもらって、後はオンラインで適当にやりとりしようと思ってたんだけどなー。
でも、せっかくなんで会議室を使わせてもらって、そこでの勉強会の内容をUstreamで配信する、という形に方針転換しました。
○第1回(?)開催
さて、記念すべき読書会第1回は9/1に実行しました。前回のはテストなのでカウントしないこととします(あるいは第0回とでも呼んでおきます)。今後、仮に参加者が増えてきたときに、
「あの第0回があったから今の隆盛があるんだよなー」
と、古参スマップファンが某オートレース選手を懐かしむかのごとく、公式には存在しないことになっている第0回を振り返れたらいいなぁなんて思ってます。
当日は19時半にTさんと渋谷モヤイ像前で待ち合わせ。5分位前に着いてあたりを見回すとiPadをいじっている人がいたので、まぁこの人で間違いないだろうと90%の確信は持ちつつも、念のため事前に聞いていた携帯をコール。結果は正解でした。
その後、Scalaとの出会いやTさんが参加したRubyKaigiの話とかをしつつ、会場である株式会社××(取りあえず今回は伏字)を目指します。
道中で、晩飯終了直後の会員番号2番、3番と合流し、いざ会議室に。
会議室でPCをセットアップしてたら、なんだか人が続々と……どうやら、会員番号2号が後輩をたくさん連れてきてくれたようです。当初の4人だけの予定が結局9名が集まり、Ustreamでも5~10人くらいが見てくれたようでした。
みなさま、ありがとうございました。
○やったこと
さて、肝心の勉強会の内容ですが、Programming Scalaの第1章のうち、「Why Scala」の部分を主に説明しました。英語の解説もするつもりでしたがほとんどしてません。
あとは、各人のScalaを始めたきっかけなどを話し合ったり、クロージャーって何って話がでたり。個人的には結構楽しめました。参加された方はいかがでしたか。
今回の読書会の内容は、わたしのブログの方にメモ書き程度に残しておきましたので、興味のある方はご覧ください。
■今後の方針
取りあえず、何とか第1回は無事終了し、今後の発表に関してもオフライン組から2名、Ust組から1名手を挙げてもらいました。内容もProgramming Scalaに関係なく、Scalaに関することなら何でもOKということにしました。
基本的には毎週水曜にゆるい感じでやっていければと思っています。
さて、最後にわたし自身のScalaの勉強の進ちょくに関しても少し書きます。"Programming Scala"を、サンプルプログラムを実行しながら読み進めているのですが、現在第4章の「Traits」まできました。だんだん面白くなってきたところです。
これからどんどんスピードアップをして、今年中には普通にプログラムが書けるレベルになりたいです。来年の前半には、実際のプロジェクトで使ってみたいというひそかな野望もあったりします。
■まとめ
思いつきから始まった今回のProgramming Scala読書会。取りあえず上々の滑り出しをすることができました。いろいろな情報を下さった皆様、参加して下さった方々、どうもありがとうございます。
次回は、Scala座の参加報告や、Scalaの技術的な話題にも触れたいと思います。
最後に、読書会改め、勉強会の情報をもう1度ここに書いておきます。
- 概要はこちら(追記・修正予定です)
- 参加方法
- Ustreamで視聴してください。当たり前ですが途中入場・途中退室OK。
- オフライン(渋谷)で参加したい場合は、わたしあてにご連絡ください。
- Twitterをチェックしておくと何かいいことがあるかもしれません。
- わたしのアカウント: @kaigaiengineer
- ハッシュタグ: #rpscala
それではまた。
p.s. 聖典↓はおすすめです。★5つ付けていいくらい。