タグ

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

  • RailsDevCon 2010にてCucumberの始め方の話をしました - moroの日記

    スタッフのみなさまお疲れ様でした。参加者のみなさまありがとうございました。 先日βリリースした「はじめる!Cucumber」を題材に、じゃあ実際のプロジェクトにはどう適用していけばいいのか、という話をしました。 Begin cucumber-in-real-worldView more presentations from Kyosuke MOROHASHI. 一番いいたかったのは「Cucumberこわくないよ!!」ということです。まずは気軽に第一歩目に取り組んでいただければと思います。実装面では達人出版会の書籍のほうを是非に。 enjoy testing! と書くときは、ホントにテストを書きながらの開発を「楽しんで」もらいたいと思ってるわけです。 enjoy testing!

    RailsDevCon 2010にてCucumberの始め方の話をしました - moroの日記
    s5ot
    s5ot 2010/11/22
  • 達人出版会から「はじめる!Cucumber」という本を出版しました - moroの日記

    先ほど、「新しいコンテンツを、新しい読者に、新しい速度とプロセスで」という理念を持った電子出版社、達人出版会が試験公開でサービスインしました(http://tatsu-zine.com/)。こちら、ご存じの方も多いと思いますが、日Rubyの会会長であり、Railsレシピブックも一緒に書かせていただきました、高橋征義さんが興した出版社です。 まずは、サービスインなさいましたことのお祝いを申し上げるとともに、これからのますますのご発展と、それに伴って日のソフトウェア業界がよりエキサイティングになることを祈念いたします。当におめでとうございます。期待しています。 さて私も、同サイトにて拙稿「はじめる!Cucumber」を配信させていただいています。こちら、Rubyの受け入れテスト自動化フレームワーク、Cucumberについての(おそらく)日で初めての書籍です。Cucumberの使い方を、

    達人出版会から「はじめる!Cucumber」という本を出版しました - moroの日記
    s5ot
    s5ot 2010/11/01
  • Webratがスゴい(続:Cucumberがアツい) - moroの日記

    Cucumberを使って、Railsアプリのテストを高い抽象度で書き進めていくために欠かせないのがWebratというライブラリです。前回のCucumber全体像の紹介に引き続き、こちらWebratを紹介します。今回も長いです。 2008-01-27修正 id:amacouさんから指摘を受けまして(と、たぶんsatokoさんも以前おっしゃってた)webrat_steps.rbの生成先パスを修正。 語: ${RAILS_ROOT}/step_definitions 正: ${RAILS_ROOT}/features/step_definitions ありがとうございます。 今回のまとめ Webratすごい 画面遷移を「リンクをクリックする」「ボタンをクリックする」と書ける リンクのアンカーテキストではまだ日語が使えず。さきほどパッチ送ったので早晩書けるようになるはず。 フォームの入力項目もラ

    Webratがスゴい(続:Cucumberがアツい) - moroの日記
    s5ot
    s5ot 2010/06/13
  • Rails厨がtimeout()を使うときに注意すべきこと - moroの日記

    最近のRailsは1.daysとか3.minitusなどといった便利メソッドが、Fixnumでなく、ActiveSupport::Durationを返すようになっています。みなさんも便利に使っていると思いますが、これをtimeout()と組み合わせるとひどい目に遭うので注意してください。 # ダメな例 timeout(5.seconds) do sleep 10 puts "10秒たったんですケド" end # => 10秒たったんですケド これはタイムアウトが効きません。めんどうがらずに#to_iしてから使いましょう。 timeout(5.seconds.to_i) do sleep 10 puts "10秒たったんですケド" end # => Timeout::Error起こる 原因も分かったので、しかるべきところに相談しようと思うのですが、ちょっと帯域が埋まっていて動けそうにないので

    Rails厨がtimeout()を使うときに注意すべきこと - moroの日記
    s5ot
    s5ot 2010/04/22
  • gihyo.jpのww記事2回目(RSpec編)が公開されました - moroの日記

    前回に続き、gihyo.jpでwwの記事の2回目が公開されました。 http://gihyo.jp/dev/serial/01/ruby/0037 今回は、(長い前フリを経て)ついにwwをRSpecの中から使う方法を紹介しています。もちろん、RSpec以外でも使えます。 たとえばCucumberではBefore(){ }ブロックの中でサーバを起動すればOKです。 ぜひご覧ください。フィードバックお待ちしています。

    gihyo.jpのww記事2回目(RSpec編)が公開されました - moroの日記
    s5ot
    s5ot 2010/03/31
  • デブサミ2010で『実践Cucumber』の講演をしました - moroの日記

    来てくださった方が、ありがとうございました。資料を公開しましたので、よろしければご覧ください。 Cucumber In PracticeView more presentations from Kyosuke MOROHASHI. 緊張その他の反省点も多々あるのですが、多くの方がいらしてくださって、話し手としてもとても嬉しかったです。 Twitterなどでいただいた反応を見ると、「Cucumberは会話を作るフレームワーク、つまりお客様と会話するための言語を作るフレームワークだ」という一番伝えたかったポイントが伝わったようで、安心しています。 私自身が、 同梱のWebratの便利さに惹かれてCukeを使い始め、 日語で書けることの可読性の高さに驚嘆し*1、 それを経て「会話のために語彙を育てる(イマココ)」 という考えに至ったので、そのあたりをお伝えしたいと思っていました。 感想やご質問

    デブサミ2010で『実践Cucumber』の講演をしました - moroの日記
    s5ot
    s5ot 2010/02/20
  • 現実のプロジェクトでのCucumberの始め方 - moroの日記

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

    現実のプロジェクトでのCucumberの始め方 - moroの日記
    s5ot
    s5ot 2010/02/20
  • ダミー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の日記
    s5ot
    s5ot 2010/01/17
  • ぼくが見ているレール(map.resouces編) - moroの日記

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

    ぼくが見ているレール(map.resouces編) - moroの日記
    s5ot
    s5ot 2009/04/17
    rails TODO 設計 続き期待
  • Thinをthinコマンドで起動したときにデバッガ使う - moroの日記

    最近(2.3.2で確認)のscript/serverには--pathオプションとかがあるので、新しいのを使ってる人は使うといいと思います。relative_url_rootを指定する感じに振る舞うオプションみたいです。 このtipsは以下の条件に当てはまるニッチな人に向けたものです。 Rails 2.xでThinを使っている script/serverではなく、thin startとかで起動します script/serverあってもこの手の同梱コマンドのほうが何となく好き、とか 2.1系のthinコマンドの--prefixなど、サブディレクトリ以下にRailsアプリを配置して開発している、とか 変なバグを入れないよう、番がサブディレクトリなら開発時からそうしたほうがいいですよ 2.1系のRailsでthinを使いたい、とか そのうえで、ruby-debugでデバッガを使いたい こういう人

    Thinをthinコマンドで起動したときにデバッガ使う - moroの日記
    s5ot
    s5ot 2009/04/03
    thin rack
  • Rails 2.0のセッション話 - moroの日記

    Rails 2.0はセッションはCookieに入れる、というのを読んで*1Cookie-sessionなんじゃらほい、と思ったのでちょっとソースを見てみました。 「ふつう」セッションに入れるようなちょっとしたデータは4K制限のあるCookieでも十分のはずだよねぇ、ということでセッションにいれる情報をMarshalしてCookieに入れちゃいましょう、というのがこの方式のポイントです。 で、Cookieに入れるっていうとユーザが自由自在にいじれるわけで、信用していいんだっけ?というのが気になったわけです。 見てみた結果はまぁ大丈夫そう。データに突っ込んだ内容とそのdigestの両方をCookieに入れて、受け付けたときはそれを検証するという手順になってるみたいです。digestを生成するときはsecretも必要になりますが、それがconfig/environment.rbで指定することにな

    Rails 2.0のセッション話 - moroの日記
    s5ot
    s5ot 2009/04/01
  • 「Cucumberがアツい and Webratがスゴい」講演(予定)資料 - moroの日記

    (主にustermerな人のために)あらかじめ資料を配付するメソッド 23:00追記 プレゼンをembedしてみました。 Rails Tokyo 035 CucumberView SlideShare presentation or Upload your own.

    「Cucumberがアツい and Webratがスゴい」講演(予定)資料 - moroの日記
    s5ot
    s5ot 2008/12/09
  • メモ: ARの:dependentパラメータは方向に注意 - moroの日記

    IRCより 12:18 morohashi: belongs_to :hoge, :dependant => :destroyだと「子レコード」を消すときに「親レコード」を消すのね。 12:18 morohashi: 普通の使い方だとhas_many 側で設定する > :dependant 12:18 morohashi: 何があったかというと、Membershipを消したらUserが消えてしもうたということで逆方向に設定するといろんな悲劇なので注意した方がいいと思います。

    メモ: ARの:dependentパラメータは方向に注意 - moroの日記
    s5ot
    s5ot 2008/11/27
  • Rails 2.1.1での関連とバリデーションの話 - moroの日記

    from http://d.hatena.ne.jp/mat_aki/20080921/1221970970 Rails 2.1.xでは関連を作った場合のバリデーションの挙動がいろいろ変わっています。で、ぎゃーと言う声を見かけたのでIRC相談してみました。私はどうもこういう使い方をしない癖がついていたらしく、あんまりはまりませんでした。 まとめると たしかにRails 2.1.1で挙動が変わっている 保存時に関連エンティティのバリデーションをするにはhas_many宣言なんかで:validateパラメータを指定する 関連の種類とvalidateパラメータのデフォルトは次の通り has_manyはデフォルトtrue has_oneはデフォルトfalse belongs_toもデフォルトfalse habtmは調べてないww 以下IRCのログを転載。松田さんおめでとうございます。 16:17

    Rails 2.1.1での関連とバリデーションの話 - moroの日記
  • Ruby on Rails Code Quality Checklist抄訳 - moroの日記

    オレンジニュース経由でこんなものを見かけました。 Ruby on Rails Code Quality Checklist これはいいチェックリスト。あとだしジャンケンぽいですが、私がいつも思っていることがいろいろ書いてあってすばらしいです。これをすべてYesにするのは難しいというか机上の空論ぽいところもありますが、これを目指すことには価値はあると思います。 ということで項目だけを抄訳(&地の文は私感)を書いてみます。誤訳などがあればツッコミお待ちしています。 コントローラのアクションではfindやnew以外のモデルメソッドは一つくらいにしなさい(必要なら.newや.updateメソッドをオーバーライドするといい)。 原文: 1. Each controller action only calls one model method other than an initial find or

    Ruby on Rails Code Quality Checklist抄訳 - moroの日記
    s5ot
    s5ot 2008/09/23
  • named_scopeについてくわしく - moroの日記

    先日の金曜日に、社内でnamed_scopeの勉強会をやりました。 RubyKaigiで松田さんがしゃべった話がたいそう面白かったので、実際にnamed_scopeの実装を見てみよう、というテーマです。 | View | Upload your own 調べて改めて思ったんですが、これはまたよくできてますね。 method_missingを活用しまくっているという意味ではいつもの「イヤな予感」がするんですが、使い方がキレイで脱帽です。このあたりの「味わい」はスライド後半のコールシーケンスをご覧ください。複雑なことをやっているんですが、一度わかるとものすごく腑に落ちる感じが、何ともうまいですよね。うん。 今回取り上げたのはリリース版(AR2.1)のnamed_scopeですが、現時点でもいろんな機能が追加されてますのでまた先々も楽しみです。Railsレシピブックも改版する機会があったら(今回

  • 1