ユカシカド エンジニアブログ

体の栄養状態を把握する検査サービス VitaNoteを開発するエンジニアのブログ

西脇.rb & 東灘.rb 合同もくもく会 7thとKobeRubyistMeetup 2ndに参加してきました。 #nshgrb

早いもので4月に初参加だった西脇.rb & 東灘.rbの勉強会は今回で年内最後となりました。
初めて西脇.rb & 東灘.rbの存在を知った時がもくもく開催日の数日前で「こんなドシロウトが参加してもいいんだろうか」と申し込みのワンクリックに2日間くらい悩んだのも遠い昔のように思われます。

結果として、趣味のバレーボールと、この勉強会の日以外は仕事をするというスケジュールで初参加以降の全ての勉強会に参加することができ、

「最近よく聞く『テストを書く』って、どういう意味なんだろう?」

という状態でしたが、今ではすっかり「テストがないと不安になる」体質になりました。おかげさまでスタートアップ期における今の現状である「ひとり開発部」は精神的に健全なまま開発に邁進できています。

概要

Wiki

7th 2013.11.23

もくもくテーマ

RSpecで英語のお勉強がはかどるツールをつくる

きっかけ

英語を学習する上での(消極的な)実践機会をつくる

創業してから英語の勉強をちょびちょびと始めていたわけですが、英語学習の何がハードル高いかっていうと、自分のような真性怠け者にとってはプログラミングと違って勉強の成果をすぐに実践できないところです。
最近ではオンラインで便利なサービスが色々とありますが、自分の場合は英語でなくても会ったことのない人とオンラインで会話するというのはさらなるハードルになります。
そんな消極的スタンスでも少しでも実践できる機会って何だろうとと考えながら西脇.rb & 東灘.rbからアドバイスを頂いたりして、

  • Macを英語設定で使う
  • SNSなどのWebサービスを英語設定にする
  • Commitメッセージを英語で書く
  • テストを英語で書く

というのをやっていました。そして英語で何か書くというのは出来るなら正しく書きたいので都度ググりながら書くわけですが、ある日「rspec 英語」で検索するとこんな記事を見つけて「これはいい!」と思い、今回はこれをツールにしてみようと思いました。

英語で RSpec を書くために例文一覧を出力する - こせきの技術日記

できたもの

$ bundle exec bin/rspex it 'should be'

第一引数に例文タイプ( it | context | describe )、第二引数に検索キーワードを指定して実行すると、こんな感じになります。

(名前はrspexというコマンドにしようと思います。)

開発について

当初は基本的なロジックはあまり悩まずできたのですが、ツールのようなものをつくるもの初めてで、どんなUIにするか着地点を考えていませんでした。Sinatraを使ってWebUIにするか、コマンドラインツールにするか悩んでいる間に、もともと3時間しかなかった時間はあと1時間となりWebは無理だ!となってコマンドラインツールにしました。

Qiitaにわかりやすい解説記事を書いてくださった方がいて、

Ruby で作る、簡単 CLI ツールのススメ

時間終了ジャストにギリギリ動くものができた次第です。 実際には焦りすぎて検索ロジックがあらぬところに分散してしまったりできちんとリファクタリングしなければなりません。
せっかくなので近いうちに仕上げをやってgemにして公開するところまでやる予定です。

まとめ

文頭にも書きましたが西脇.rb & 東灘.rbに出会うことができて本当によかったと思います。多様な関心分野を持ついろんな方々との出会いがあり、その皆さんのコードを見て、生でレビューとアドバイスをもらい、次につなげていく、理想的な学習サイクルが出来ました。 皆さんの発表そのものも為になることが多いのですが、「普段何をしていて、今こんなことに関心がある」というのがいつも楽しみにしていることの1つです。ということで、今回も実り多き勉強会となりました。

自分のスキルはまだまだですが、個人的にはモノをつくる引き出しが増えたことを強く実感しています。 また、神戸近辺で一人での学習でお悩みの方がいらっしゃれば一度この勉強会に参加してみてほしいと思います。

2回目のMVP (Mokumoku Valuable Programmer)

またしても最後にじゃんけんを制してMVPを頂戴しました!賞品はもちろん、

参加費割引券!これは来年もいくっきゃないね!