2012年7月16日月曜日

第2回ペアプログラミング合コン

参加してきました。
http://connpass.com/event/631/
http://connpass.com/event/605/

今回のテーマはhtml/css/javascript(jQuery)でした。
お題は「古き良き時代のWebサイトを現代風に作り直す」でした。

男性枠は応募者多数ということで事前に課題を提出して、選考を勝ち残らなければなりませんでした。
お題自体はそんなに難しくなく、差がつかないんじゃないかと言われていましたが、ブログやGitHubなど、いろいろと見られてるらしいです。
ペアプロということでプログラミングスキルだけでなく、コミュニケーション能力も考慮されていたようです。
twitterとかで変態発言ばっかやってるとダメ…なのかな?

当日の様子
togetter: http://togetter.com/li/338429

90分1セットでペアを変えて2セットを行います。
女性には事前に課題が公開されていて、女性が考えてきたものをペアプロで男性がリードしながら具現化していくはずが、僕のペアの方はノープランで来られていたんで、さあどうしましょう?ってところからのスタートとなりました。
まあ何にせよ女性とプログラミングするのはサラリマン時代の新人研修依頼だったので楽しかったです。

ペアプロ自体初めてだったのですが、ペアプロにはペアプロなりのスキルが必要だなと感じました。

・ ゴールの共有
作りながら教えながら(ちゃんと出来ていたかはすごい不安)進めていくので、ところどころ脱線することがあり、ゴールが定まっていないとあれ?何してたっけ?ってなってしまう。コード書き始める時に何を作っているのか、どんな方針か話し合っておくことが大事だと思った。

・スピード感 
これは一人での開発でも同じだけど、うろ覚えでググりながらなんとかしてきたところをもっとちゃんと理解して、すぐ書けるようになっておかないとテンポが悪い。お互いがあれ?これってどうでしたっけ?って言いながらググり始めるのは非常にテンポが悪い。
お互い、もしくは片方がある程度のレベルじゃないと厳しい。

自分のペアは完成までもっていけなかったですが、ちゃんと出来ていたペアもけっこういたので完全に自分の力不足です。ペアになってくれた方、すいませんでした(;´Д`)
普段と違う所で、普段と違う人と開発することで今の自分を見つめなおすことができ、(どれくらいヘボいかを再認識させれたので)よかったと思います。

更にレベル上げてまた次回参加出来たらいいなあ。


運営の方々は男女ペアということでかなり気を遣われていたようでした。
アットホームな雰囲気でとてもよいイベントだったと思います。
ありがとうございました。

2012年7月6日金曜日

テスト駆動JavaScriptを写経する時の注意点

テスト駆動JavaScriptを写経中です。
なかなか理解が追いつかず苦戦しております。

そして注意点ですが、サポートサイトをチェックすることです。
http://tddjs.com/

この本は「リスト12-34」みたいにコードをたくさん載せてくれていますが、
どのファイルのどこに追加すればいいのかがわかりにくいです。

zipかgitでコードが落とせるようになっているので完成形、全体像をチェックしながら進めるとよいと思います。

特に写経を始める時には「Initial project states」に置いてあるコードをダウンロードしてから始めるとよいです。
jsTestDriver.conf等、必要なファイルは揃った状態で始められます。

僕の場合、
本文通りにsrc/以下のファイルにコード書いたのに動かない!
と思っていたらlib/以下に必要なファイルがあったりして無駄な時間を過ごしてしまいました。。。


2012年7月2日月曜日

第4回チューニンガソンに参加してきました。

@nise_nabe氏に誘われて第4回チューニンガソンに参加してきました。
http://www.zusaar.com/event/312053

 インフラ周りは全然わからん(かといってアプリ側すげー出来るかと言うと…)ので、周りの人がどんな風にやってるのか体感できればと思っていました。
実際手も足もでなかった(;´Д`)

内容はRailsのrefineryのコメントPOST/GET回数を10並列で一定秒数測定するというものです。
参加者一人ひとりにAWS EC2のインスタンスが配られてチューニング。
アプリのソースはいじっちゃダメで、RubyやMySQL、Gemのパッケージは入れ替えOK。
運営側も一定間隔毎に計測バッチ流してる感じ。
今回は大阪、名古屋、福岡等地方リモート会場もあったみたいです。

Rubyは以前さくらVPSに入れてみたりしてみましたが、環境構築からコケまくって涙目だったので良い思い出がなく、とりあえずMySQLからいじってみました。

テケトーにこの辺の値を増やしてみましたが全く効果出ず。
innodb_buffer_pool_size
table_open_cache
hread_cache_size
query_cache_size

むしろいじればいじるほど遅くなる。。。
チューニングわからん。
そしてMySQLは諦めてRuby周りへ。
なんとなくgem updateとかしてみたら動かなくなる(´;ω;`)ブワッ
Rubyわからん。

周りの人達は下記のようなことをしてたっぽいです。
・RubyをEnterprise Editionに入れ替え。
(Ruby1.8だったのですが、これだけでもかなりスコア上がったらしい。)
・nginx、passengerを使う
・varnishを使う
・DBをオンメモリにする
・RubyのGCを切ってみたり

わかってないことだらけである。
自分がカスだと言うことを思い知らされたのでまた一から勉強し直します。
リバースプロキシだとか、DBにしてもそうですが、キャッシュを使うってところを掘っていってみようかと思います。