タグ

ブックマーク / moro.hatenadiary.org (15)

  • 株式会社永和システムマネジメントを退職します - moroの日記

    日2015年7月31日をもって、9 年間勤めました株式会社永和システムマネジメントを退職します。 在職中は多くの方々に助けられ、Rails を中心としたたくさんの仕事をしながら育てていただきました。個別のご挨拶ができなくて大変申し訳ありませんが、当にありがとうございました。これからもどうぞよろしくお願いします。 今後ですが、すぐ他社で働くことが決まっておりまして、8 月 3 日から出社予定です。 以下、思い出話なので「このひと誰?」という人はスルーしてください。 永和ではほぼずっと RubyRails仕事をしてきており、次の職場でもやはり Ruby / Rails に関わる仕事をする予定です。 この私のキャリアのきっかけとなったのは、もう 10 年も前になる(!!) 2005 年にはじまった Rails 勉強会@東京でした。当時は Rails が"来そう" という噂はありつつ

    株式会社永和システムマネジメントを退職します - moroの日記
    Sixeight
    Sixeight 2015/08/01
    お疲れ様でした!!!
  • 現実のプロジェクトでのCucumberの始め方 - moroの日記

    セッションが終わったあと、Ask the speakerに来てくださった方((お名前を聞いておけばよかった!!)と少しお話しました。Cukeに興味が湧いたので使い始めてみたい、というとても嬉しいことをおっしゃってくださいました。 そこで話した、「すでに始まっているプロジェクトでのCuke導入法」を簡単にご紹介します。今回の私の話や、その他いろんなコトで興味を持った方の参考になれば嬉しく思います。 新規でも途中でも、プロジェクトに導入するときのポイントは、「ムリをしない」「一歩ずつ」ですが、特に開発が始まったあとから入れる場合は、簡単なところからやっていくとよいでしょう。具体的には、 1. (ログインなどもいらない)GET系の画面(index or show) まずは、アプリケーションにCukeを組み込んで、一週回すことに集中します。script/generate cucumberをしたら、

    現実のプロジェクトでのCucumberの始め方 - moroの日記
  • ダミーWebサーバを作るライブラリ、wwをリリースしました - moroの日記

    近頃はWebAPIを使ったアプリケーションを作ることが増えていると思いますが、自動化テストからのWebAPIへのアクセスはどうやってますか? 私は、自分でstubしたりFakeWeb(レシピ先輩に教わった!!)を使ったりしてたんですが、イマイチしっくりこない部分がありました。で、Sinatraなぞで作ってたんですが、それをgemにまとめましたので、よろしければご利用ください。 http://github.com/moro/ww http://gemcutter.org/gems/ww 概要 ww(Double Web)はいわゆるDouble(mock, stub, spyなど)の機能を備えたダミーWebサーバを簡単に作るためのフレームワーク(笑)です。現状では、以下のようなことが出来ます。 他のAPIサーバを使う場合などに、簡単にダミーサーバを作る そのダミーサーバは自動化テストないから起

    ダミーWebサーバを作るライブラリ、wwをリリースしました - moroの日記
  • Cucumberと表について(1) - moroの日記

    いま参加しているプロジェクトで、ひさしぶりにCukeをゴリゴリと書いています。その際、チームメンバーから「表の使い方を教えて欲しい」という要望がありましたので、勉強会用にまとめます。 「表」とは? まずはここをみてください。 http://wiki.github.com/aslakhellesoy/cucumber/multiline-step-arguments CukeではAAで表が書けます。こんな感じのフィーチャを記述します。 # language: ja フィーチャ: 表のデモ TopHatenar陥落した私としては 表の機能を解説して いっぱいブクマされたい シナリオ: 表を、テーブルとして使う 前提 以下の表をテーブルにする: | title | author | | きゅうりかわいい| もろはし | | cool cuke! | morohashi | ならば "2"件のレコ

    Cucumberと表について(1) - moroの日記
  • rake specの実行時間を短くするための簡単なお仕事です ※ただし、(何か)に限る - moroの日記

    TDDで開発している人の目下の悩みはSlow test問題、すなわちテストの実行時間がかかりすぎて辛い、という問題です。 が、ふと思うところがあって、次のようなタスクを定義していたら、なんということでしょう、劇的に早くなったではありませんか。 namespace :spec do spec_prereq = Array(File.exist?(File.join(RAILS_ROOT, 'config', 'database.yml')) ? "db:test:prepare" : :noop) desc "faster version of rake spec, but why?" task :faster => spec_prereq do %w[spec:models spec:controllers spec:views spec:helpers spec:lib].each do

    rake specの実行時間を短くするための簡単なお仕事です ※ただし、(何か)に限る - moroの日記
  • OSC2009 Tokyo/FallでCukeとRSpecの紹介をしました - moroの日記

    休んでいるうちにずいぶん時間が経ってしまいましたが、10/31のOSCにてお時間をいただき、Railsの昨今のテスト事情について紹介させていただきました。普段から申しているようにCucumberとRSpecをぐいっと推しています。 Rails testing environment, 2009 fallView more documents from Kyosuke MOROHASHI.あとはRSpec方面で、subjectやitsの使い方について、使いながら考えているようなことを書いています。 前にオブラブ方面でCuctomMatcherの話をしたときに、簡単なCustomMatcherを量産するのはだるいんじゃない?という懸念があったんですが、その一つの解としてits()はありかなー、と。使い分けはこんな風になると思います。 CustomMatcher作る 検証内容が複雑になるとき エ

    OSC2009 Tokyo/FallでCukeとRSpecの紹介をしました - moroの日記
  • データを守りたい人へ。エンタープライズRails - moroの日記

    訳者の高井さんより献いただきました。ありがとうございます。公私ともずっとバタバタしていたので、書評を書くのがものすごく遅れて申し訳ありません。 で、書は去るRubyKaigi2009*1で高井さんもおっしゃっていたように、このは「Rails」と「エンタープライズ」という、あまり仲が良さそうに見えない事象どうしをつなげ、Railsが半ば意図的に放置している世界について、あえてそこを語ってみようという意欲作です。 Railsはいいフレームワークだと思うんですが、実際に仕事で使ってると「そこまで割り切った機能設計とかできないよ!」と思うことも少なくありません。よね? 最近の私はそこでどうやってレールに乗るか、ということを腐心しているわけですが、書では逆に自分が進みたいエンタープライズ道にレールを敷いていく方法を延々と説明しています。異文化を知ることは、自文化を客観視するためのとてもよい方

    データを守りたい人へ。エンタープライズRails - moroの日記
  • Cukeの日本語step_definitionジェネレータ、misoを作ってみました - moroの日記

    http://github.com/moro/miso/tree/master 上にも書いたようにCucumberの自然言語で書ける意味というのをもう一度考えていまして、それはもちろん母語じゃなければ興ざめなので、一度訳した分を簡単に使えるよう、Railsのジェネレータとしてまとめてみました。 もろ味噌をインストールして、 $ gem install moro-miso キュウリにつけてお召し上がりください。 $ rails green-cuke ... $ cd green-cuke $ ruby script/generate cucumber ... $ ruby script/generate miso create features/step_definitions/webrat_ja_steps.rb create features/step_definitions/web_e

    Cukeの日本語step_definitionジェネレータ、misoを作ってみました - moroの日記
  • tpope先生の最新作を読めるのはGitだけ!! - moroの日記

    思うところがあって${HOME}/.vimを整理したりその他環境をキレイにしていて試したらうまくいったtipsです。 vimRailsアプリの開発をしている人はほぼ間違いなく tpope先生のお世話になってることと思います。rails.vimの作者の方ですね。 rails.vimvim.orgから落とせるから手で入れるなりGLVSで入れるなりすればいいんですが、先生はほかにもvim-cucumberとかvim-hamlとか使わずにはいられないプラグインも作ってらして、しかしそれらはvim.orgにはまだ来ていない、と。それをいい感じに追いかけて管理する方法を思いついたので書いてみます。 前提として、~/.vimがGitリポジトリである必要があります。上位ディレクトリ、たとえば~/の場合は出来なそうなので、分割するといいと思います。私は今回の件で~/.*全般から~/.vim(と~/.zs

    tpope先生の最新作を読めるのはGitだけ!! - moroの日記
  • ぼくが見ているレール(map.resouces編) - moroの日記

    先日のQConで大場さんもおっしゃっていたことですが、Railsで開発をする上でものすごく重要なポイントに、Railsの敷いたレールから降りないというのがあります。別にコレはRailsが不自由だというわけでなく*1、通り一遍のものしかできないというわけでもなく、ただ基盤と相性の悪い設計すればあとで苦労するという、当然の話なわけです。 最近、私を含めいろいろな方が「レールから降りないで作るのが重要」と話しています。が。じゃあそのレールはどこにあるのかという話はあまり聞かれません。ということで、ふだん私がRailsアプリを設計するときに意識しているレールを言語化してみて、議論なりのたたき台にしたいな、と思った次第です。 とはいえDB周りは「羽生さんのERDレッスン嫁」で7割くらい済む話*2なので、まずはコントローラから。 設計指針としてのmap.resouces Rails 2.xにおいて、コ

    ぼくが見ているレール(map.resouces編) - moroの日記
  • rspec-rails 1.2.2やCucumber 0.2.0にあげるときの作業メモ - moroの日記

    業があるので手短に。ちょこちょこ変わっていたのではまったポイントを。 rspec-rails 1.2.2 ルーティング周りのexampleの書き方が変わっていた。routes_for(url_params)のほう idなんかもStringで指定する必要あり it "should map #show in rspec-rails 1.1.x" do route_for(:controller => "blogs", :action => "show", :id => 1).should == "/blogs/1" end it "should map #show in rspec-rails 1.2.x" do route_for(:controller => "blogs", :action => "show", :id => "1").should == "/blogs/1" end

    rspec-rails 1.2.2やCucumber 0.2.0にあげるときの作業メモ - moroの日記
  • Ruby 1.9.1でRails 2.3.0を(無理矢理)動かすモンキーパッチを書きました - moroの日記

    RubyKaigi2009の公式サイトをデジタル化すべく無理矢理なパッチを書きました。モンキー。gemにしておきますね。 http://github.com/moro/ruby19_monkey/tree/master Ruby1.9のほうにmoro-ruby19_monkeyをインストールして、config/environment.rbのconfig.gemとかあるところに下記を追加してください。 config.gem "moro-ruby19_monkey", :lib => "ruby19_monkey" RubyKaigiの私のフォークを何とか動かすことのみを念頭に置いたので、いろいろ不十分かもしれません。とりあえずWEBrickとMongrel(瀧内バージョン)でrubykaigiが動くのは確認しました。 追々、家へもっとキレイなパッチを書きます。 追記 あーそうだ、Activ

    Ruby 1.9.1でRails 2.3.0を(無理矢理)動かすモンキーパッチを書きました - moroの日記
    Sixeight
    Sixeight 2009/02/14
    *デジタル*
  • rescue_fromに集約したエラー処理をテストするのに必要なたった一つの方法 - moroの日記

    タイトルは釣ry。もう古いか 最近はCucumberをつかってテストを外から書こうブームが来てます。で、ちょっと困ったのがresuce_fromとの併用。 私の理解が間違っていなければ、rescue_fromは(復帰する必要性の低い/復帰できない)例外をApplicationControllerでまとめて処理するために役立つものです*1。たとえばAR::RecordNotFoundをてっぺんで補足してNot Foundするとか*2。 そういう性質なんで当然テスト対象にすべきですが、Cucumber同梱のRSpecだとそこを外してしまっています。つまり、rescue_fromのレイヤまであがってきた例外がそのまま呼び出し側(実行しているテスト)まであがってくる、と。これはテスト中に例外が発生した場合には便利なんでしょうが、rescue_fromを使ってエラー処理をまとめたい場合には不便です。

    rescue_fromに集約したエラー処理をテストするのに必要なたった一つの方法 - moroの日記
  • 大人のためのRails本 - 実践Rails - moroの日記

    オライリー様から献いただきました。ありがとうございます。今週末くらいには配される予定とのこと。 このにはちょっと縁がありまして、ずいぶん前に原著の評価をしたり、プラグインの配布元をアップデートしたほうがいいということでid:ursmを紹介したりしました。ということでid:ursm(Mercurial厨)によるGitブーム以降のプラギン入手場所一覧が付録として追加されています。GJ。 それはそうと、原著を見たときにも思いましたが、これはいいですよ。LDAPとか(ちょっとですけど)載ってて萌える。 Railsでいろいろ作っていくと、開発中はよくても運用を始めたら苦しくなったという話や、基機能はできてもちょっとRailsっぽくないものを作ると苦労するという話(弊社では「レールを外れる」と呼んでいます)はいろいろ聞きます。 このはそんな「Rails仕事で使うと突き当たる問題」の解決に

    大人のためのRails本 - 実践Rails - moroの日記
  • masuidrive問題 - moroの日記 別名「別プロセスのキャッシュ生成君」案

    2008-09-23 23:35追記 そういえばこのエントリはボトルネックがビュー(キャッシュ)の生成で、それが遅いせいでリクエストが詰まってしまう、ということを前提に書いてます。Railsはいまのところシングルスレッドでしか動作しないので、バランサの裏にAPサーバをn立ててもnの長寿なリクエストがきた場合、CPUやメモリに余裕があってもブロックされてしまいます。これが問題なのかな、と。 中島さんの方を読むとDBのCRUD(とくにCUD)がボトルネックになってるように見えるのですが、そっちだったらすみません。見当違いです。 追記ここまで。 masuidriveさんのWebでの非同期処理を考えてみるの件で、コメントにしようと思ったんですが、長くなったので自分の日記に。 ちょっと状況がわからないので外しているかもしれませんが(とセルフエクスキューズ)、DBの更新とキャッシュの生成をアトミッ

    masuidrive問題 - moroの日記 別名「別プロセスのキャッシュ生成君」案
  • 1