Crystal 勉強会 #5 in 渋谷 を開催しました
この記事は、 Crystal Advent Calendar 2017 の1日目の記事です。
11/30日に Crystal 勉強会 #5 in 渋谷 を開催させていただきました。
#4の開催からちょうど1年というタイミングでした。今回は「わいわいガヤガヤとピザと酒をくらいつつ、技術談義をする」という形にしたかったため、発表と懇親会を明確に分けず、最初から乾杯してピザを食べつつLTを開催するという形式にしました。そのほうが、会場のajitoっぽさもあります。
今回は、自分を含め3名の方がLTを行いました。以下の資料を御覧ください。
かんたん、お手軽、TweetBot(Crystal編)
@msky026 さんによる発表です。crytalでTweetBotを作成されたお話でした。herokuへのデプロイはどうしたらいいんですかねー、などの議論も生まれました。Elixirいいぞ(?)。
«le noir que j'ai créé»
@make_now_just さんによる発表です。syntax highlight に関して発表してくださいました。crystalの本家やicrというcrystalのREPLに syntax highlight のPRを送ったり、noirというrougeにインスパイアされたCLIツールのお話をしてくださいました。話の中にあった THE SUSHI-WARE LICENSE の話でもちょっと盛り上がりました。
自分の発表
内容上、自分の発表は最後にしていただきました。やったことは「モブプロ」です。
www.slideshare.net
会場の10人強の人数でモブプロしたら面白いのではないかと思い企画しました。検証したかったことは、
- 一緒に仕事をしたことのない方とモブプロが成り立つのか
- 共同開発環境はモブプロで使えるのか
- crystalでyesコマンドの最速が作れるのか
- 酔った大人がコード書けるのか
です。お題は「yesコマンドの高速化」にしました。以下が、共同開発環境で10人弱で開発している様子です。
Atomでの共同開発環境は経験があったのでスムーズに準備できました。10人弱が接続しても全く遅延しない!共同開発環境は素晴らしいですね。
Atom の teletype のモブプロで Crystal の yes で Rust 超えを目指す会 (なお皆 Atom のダウンロードがなかなか終わらない模様) #crystaljp
— WAKASUGI 5T111111 (@5t111111) 2017年11月30日
モブプロしてる
— とびゃ (@TobiasGSmollett) 2017年11月30日
モブプロした
— at_grandpa (@at_grandpa) 2017年11月30日
crystal勉強会でモブプロでyesコマンドの高速化にチャレンジ。[3.24GiB/s] くらいが限界だった。#crystaljp
— at_grandpa (@at_grandpa) 2017年11月30日
今日の勉強会でのモブプログラミング、すごくよかった
— とびゃ (@TobiasGSmollett) 2017年11月30日
あれは盛り上がるなあ
— とびゃ (@TobiasGSmollett) 2017年11月30日
結果、盛り上がって楽しかったです。ピザと酒を食べながらのモブプロはおすすめです(ピザと酒は業務外に限る)。
検証結果は以下です。
- 一緒に仕事をしたことのない方とモブプロが成り立つのか
- 楽しかったし、crystalの勉強になった
- 10人弱は多すぎたかもしれない
- みんなが注目する部分は1〜2箇所くらいなので、書き込めない人が出てきてしまう
- 「今自分が書いてもいいのかな」という心理が働いてしまう
- 結果、効率が上がったかというと疑問だった
- 3〜4人のチームで分けてやると良さそうに思った
- でも、わいわいできるのはやっぱり楽しい
- 共同開発環境はモブプロで使えるのか
- 動作は問題なかった
- 複数人なのでカーソルの上に名前が出てほしかった
- 「手元にファイルが欲しい。buildを試せない」との意見があった
- crystalでyesコマンドの最速が作れるのか
- なかなか難しそう
- モブプロの題材としてはあまり良くなかった
- 改修の発展があまりなかったので
- 酔った大人がコード書けるのか
- 書ける(迫真)
効率性を考えるなら、もっと工夫や調整が必要だと思います。とはいえ、ゆるい雰囲気のコンテンツとしては良いものでした。その後の懇親会で出た意見としては、以下のようなものがありました。
- プチisucon
- 例えばフィボナッチを題材とする
- crystalの module Benchmark を用いて、参加者が1つのブロックにフィボナッチ関数を記述する
- 制限時間は2分
- コンパイルが通らなかったら脱落
- 各ブロックで実行速度が出るので、最速処理を叩き出した人がわかる
競プロに近いかも?もしかしたら、次回の勉強会で企画するかもしれません。
まとめ
LTやモブプロ・懇親会を通して、crystalの勉強が捗りました。crystalの本家の発表では、2017年中にver1.0が出るとのことなので、続報を期待したいと思います。
crystalに興味のある方は Crystal Advent Calendar 2017 に是非ご参加ください。575でも構いません。
「crystalについて話したい!」という方はぜひお声掛けください。ajitoで話しましょうー。