hachiNote

勉強したことをメモします。

JavaScript道場に参加してきました

目的

2/23に札幌で行われました、JavaScript道場に参加してきましたので、感想をまとめます。
http://connpass.com/event/1664/
https://github.com/sapporojs/jsdojo

実は私はスタッフの一人でした。

講師の方々のセッション

@hokaccha さんのセッション
  1. ModelとViewを明確に分けよう
  2. Viewを疎結合にしよう
  • Modelを作る
    • テキスト持つ
    • 状態が変わったらイベントを発火する
    • DOMの操作していない
  • Viewを作る
    • サブミットされたらModelにデータを追加するだけ
    • ほかのViewに関係がない
    • ModelのイベントをトリガーにDOM構築をしている
  • ViewはModelを通じてやり取りする
  • Backbone.jsを使うと簡単にできるよ
  • Mocha, expect.jsがおすすめ
  • Sinon.js
    • テストダブルのライブラリ
    • spy 対象のメソッドが呼ばれたかを調べる
    • stub メソッドを上書きして無効化したり書き換えたりできる
      • confirmダイアログを表示させなくしたり
    • ほかにもタイマーのテストがやりやすかったり、Sinon.js便利
@badatmath さんのセッション

お弁当を取りに行ってたので、最初の方は聞けてない。

  • Node.jsってなんだろう?
    • JavaScriptプラットフォーム
    • サーバサイドのプログラム
    • リアルタイム性の強いもの
  • なぜテストが嫌いなのか、思い込みだよ
  • テストを書くことで仕様の漏れをあぶり出す
  • 仕様を書いた人とテストを作る人は一緒の方がいい
  • テストがない状態でつくると、いろんなものが一緒になって作られてしまう
    • database access, validation, network access, other complex logic
  • テストを最初に作りながら実装することで、分離された作りになる

道場 実践編

チームに分かれてお題に取り組む

nikuさんと二人でチームを作り、お題のうちポモドーロタイマーを作ることにしました。

お互いNode.jsやってみたい、けどNode.jsあんまりよく知らないって状況。でもNode使うことにしました。
一応私がSMASHING Node.jsっていう本を半分読んできていたので、なんとかなるだろ判断。

何をやったのかというタスク名のようなものを、ポモドーロタイマー完了とともにサーバ(Node)に送って、サーバでタスク名の一覧を保持するというのをやりました。

最初はテストも書きながらという話をしてましたが、そもそもNode.js書けるか不安だったので、とりあえずプロトタイプとして作ることに。結果としてそれでよかったです。プロトタイプ作ったらもう時間でした。時間はあっという間。

実践中の雰囲気

一応スタッフだったのですが、実践に入ったらただの参加者として集中してました。私のチームはペアプログラミングで進めたので、普段のツール使い(nikuさんはばりばりのEmacs派)とか、コードの組み方とかわかったとても楽しかったです。

他チームの様子はコード書いているときはまったくわからなかったけど、最後の各チームの発表を聞いた感じではみんなそれぞれいろいろな取り組み方をして、それぞれに楽しんでいたのかなと思いました。

懇親会

移動しやすく、いろいろな人と話しやすい会場でよかったです。たくさんの方が参加してくれて盛り上がってたように思います。
危うくお金払わずに帰るところでしたけどね……。

スタッフとして

スタッフと言っても、実際は主催者のりゅーのすけさんが大事なところはほとんどやってくれていましたので、お手伝いをした程度です。
しかし、当日のお題をどうするかに関しては、スタッフみんなでじっくりと議論しました。ぎりぎりまで議論した結果、よい感じでお題が出せたのではと思います。

それからこれはちょっと自慢したいのですが、スタッフで事前に2回プロトタイプ(実際にお題に取り組んでコード書いてみる)を行ったんですが、両方ともやったのは私だけです。つまり当日も入れて3回も演習をおこなったのです! いやー、やっぱり何回やっても楽しいですよ、誰かとコードを書くのはね。

JavaScript初心者として

私は仕事ではWeb系ではないアプリケーションを作っています。JavaScriptもほぼ経験ありません。そんなWeb未経験者にとっては、ちょっと趣味でWebアプリ作ってみるかとやり始めてもかなりの壁を感じます。他の人には当たり前のようなことがわからず、なかなか進みません。

どんな技術やツールを組み合わせるかとか、なにから取りかかるかとか、どんなふうに設計を考えるかとか、そういうWebアプリの作り始めの部分が、経験がないととても時間がかかるのです。今回のJavaScript道場のような実際にコードを書いてみるイベントでは、作り始めの部分でみなさんがどう考えて進めて行くのかがわかって、それがとても貴重な経験でしたね。

最後に

わざわざ札幌までお越し下さった講師のお二方、ペアを組んでくれたnikuさん、参加してくださったみなさん、ありがとうございました! またやりたい!