以下の内容はhttps://blog.willnet.in/entry/2013/07/06/223050より取得しました。


Tokyo Rubyist Meetup に参加した

Tokyo Rubyist Meetup (trbmeetup) seeks to help bridge the Japan and international ruby and ruby on rails community.

ということで、海外の技術者とミートアップできるコミュニティ Tokyo Rubyist Meetup に初参加しました!

今回のミートアップでは、ペアプロで、Ruby を使って用意されたお題を解いてゆきました。具体的には郵便番号と住所の対応が記載されているCSVファイルを使って、

  1. 入力された郵便番号から住所に変換するのをなるべく早く、メモリ消費少なく、依存関係少ない状態でする
  2. その逆で、入力された住所から郵便番号に変換するのを実装する

という二つの課題をやりました。課題のリポジトリはこちら。

tokyo-rubyist-meetup/pair-programming-2

課題1

課題1は二分探索を実装してそれなりにきちんと出来た…と思ったら、Ruby2.0 からは Array#bsearch なるものがあるとのこと。知らずにスクラッチで実装してしまいました><。「こんなメソッドないかなあ」と思ったらだいたい実装されているのが Ruby ですが、Array#bsearch については想定以上のおもてなし度だったため気づかず…。成果物はこちらです。

課題2

課題2は難儀しました。入力された住所を完全にパースするのはとても難しそうなので、都道府県までのパースにとどめ、

  1. CSV を都道府県で分割
  2. 入力した住所の都道府県をチェックし、該当するCSVをロードする
  3. CSVの住所情報と、入力した住所を正規表現でマッチさせて該当する郵便番号を得る

という戦略で進めました。しかし

  • 入力値が数値なのにCSV側が漢数字のケース
  • CSV側に(1〜4丁目)のような曖昧な入力がある

というレアケース対応をしていたらタイムアップしてしまいました。日本の住所の取り扱いマジむずい…。成果物(work in progress)はこちら

感想

お題を与えられてペアプロをするというのも大概大変なのですが、そこに「英語で」というのが入るとさらに難易度アップです。「これ英語でなんて説明しようか…」で脳のリソースの約半分が割かれてしまいます。そして残りの半分でペアプロをしないといけません。慣れていないと大分辛い…。

Tokyo Rubyist Meetup のミートアップに参加すると、かなり「英語をもっと頑張らないといけない!!!1」状態になるので、「明日から本気出す!」となりがちなおまいらにオススメなコミュニティだと思います。あとそんなあなたにenglish.rbもありますのでこちらもあわせて宜しくお願いいたします。




以上の内容はhttps://blog.willnet.in/entry/2013/07/06/223050より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14