タグ

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

  • attr_hash_accessorというのを作った - moroの日記

    Plain Old Ruby Objectなんだけど、まあActiveModelぽく振舞わせたくて、そうするとよくあるHashでnewしたくなり、eachしてsend("#{key}=", v)するという、Railsを使っている人ならよくあるケースにもう何度も遭遇しまくったのでgemにまとめました。 https://github.com/moro/attr_hash_accessor 某プロジェクトでのアリモノを、別の某プロジェクトの人に渡すために作ったのでまだ自分が満足する程度の機能しかありませんが、よろしければお試しください。

    attr_hash_accessorというのを作った - moroの日記
  • デブサミ1日目#羽生さんセッション - moroの日記

    いや〜、面白かったです。レポートが上がってくれば、渋谷系セッションも聞きたかった、とは思うんでしょうが、とりあえず今日はこっち聞きにいっといてよかった。id:habuakihiroさんの日記に書かれている思いの実装をいろいろと聞かせていただいた感じ。いやなかなか、羽生さんの日記だけ見ると「そんなうまくいくの?」と思う人でも、実際にそれをやってる、というところを見せられると納得できるはず。そういう迫力のあるセッションだったかと。とにかくいろいろと刺激を受けました。アンケートに「刺激」と書こうとして字が思い出せなかったのは恥しい。以下、備忘録的レポ。 # 感想混じりですが、特に[*]で始まってる行は個人的な感想です。 500 画面のシステムを作るののざっくり見積りは幾ら?、というツカミ つい最近の事例を鑑みて 50〜100 人月に挙手。不確実性が高過ぎるのでバッファを見込みましたが、範囲の下の

    デブサミ1日目#羽生さんセッション - moroの日記
    clavier
    clavier 2007/02/20
  • Rails 勉強会@東京 #15 - moroの日記

    rBatis セッションはちくわさんが詳しくまとめてくれてます。すばらしい。 http://d.hatena.ne.jp/thata/20070219#1171816132 マインドセットの問題ですので、機能的に「それ(ほぼ) find_by_sql でできるよ」はその通りだと思います。 パン屑リスト( breadcrumbs )はガチでやると意外と難しい、というのの共通理解が得られたのはよかったです。実装方法もなんかあの場にいた人の共通理解が得られた気がするので、あの方向でやろうかな、と。 あと飲み会関連では反省点が二点。難しい。 20 人からいる飲み会を 30 分に入れる店を探すのは難しい。 どのタイミングで参加意思を commit してもらえればいいのかなぁ。 ただ、実際払わず逃げとかする人はいない*1ので助かってます。 特に二次会とさらに帰りの電車とか。なんか酔っ払っていろいろとク

    Rails 勉強会@東京 #15 - moroの日記
  • RSpec を使うための4つの語彙 - moroの日記

    年末年始にスライドを作ろうと思って挫折しました。 RSpec のテストコードは見慣れない "should" なんかが出てきて難しそうに見えますが、実は覚えなきゃいけないのは 4つ程の語彙だけです。*1 Object#should_xxx [args] Object#should_have(n).items Object#should_not_xxx Proc#should_raise() Object#should_xxx [args] 超基の書き方です。should_ の後に続いたメソッドを呼び出し、その結果が真ならパスします。args で、そのメソッドヘの引数も与えられます。これだけだとイメージし辛いと思いますのでいくつか例を。 "?"は付いても付かなくても OK だったと思います。 1.should_equal 1 Fixnum#equal を呼び出してます。上記の例では下記の判定

    RSpec を使うための4つの語彙 - moroの日記
    clavier
    clavier 2007/01/05
  • ABD飲み会実施しました - moroの日記

    羽生さんはじめ、出席してくださった皆様、ありがとうございました。おかげさまで無事に開催できました。 今回は羽生さんがABDについてまとめてくださった資料をいただいたんですが、それを見ながらお話を聞いて、これまでの理解がそれなりに正しかったことを確認できました。ただ、実戦投入はまだ早いかもしれないという由、確かに前にちょっとだけ試した感じでは、(少なくともRailsでは)まだ難しい感はありました。ERDレッスンがちょうど良いというのも実感してます。 で、Rails界隈の人がABDに興味津津なのは何か不思議、という話を高井さんがおっしゃってたんですが、それはたぶんRailsではDB設計の部分がすっぽり抜けてるんですよね。 「DBのデザインを決めたらあとはカッコよくいけるよ」というDavidさんですが、じゃあどうやってデザインすんのよ、と。いい替えると、他の部分が楽になりすぎたので、必然、残りの

    ABD飲み会実施しました - moroの日記
  • 黄色信号の話 - moroの日記

    まずはこちらを。 http://idm.s9.xrea.com/ratio/2006/11/21/000549.html なんかすごくすっきりしました。Development を Drive するためのテストについてはすっかり同意。ぐぅの音もでないくらい。 あと、Rails勉強会で出た黄色の話をちょっと捕捉すると、開発時だけじゃなく、バグがあがってきたときなんかに、 「現在の仕様では動かないこととする、が、今後のエンハンス対象としてはコードで表現しておきたい」ってのはよくあるので、それを表現するステータスが欲しいね、というコンテキストも後半Test::Baseのときにあって、私自身、黄色の話はそのへんが両方混ざってるのかな、と。 開発時と保守のときでは興味の対象はちょっと違ってて、後者の場合は思いもよらないようなパターン含め、外から(ブラックボックステスト、ね)入力と出力を流し込んでやりた

    黄色信号の話 - moroの日記
    clavier
    clavier 2006/11/22
  • Rails勉強会@東京#12 - moroの日記

    いまTest::Baseが熱い Test::Base on Railsがかっこい。いま終わりました。 すげー未消化なメモですが。 テストコードとデータの(概念的な)分離 テストのパターンができるとデータをどんどん追加していける 定型的なテストを書くのによさげ filterがかなりいろいろ在る。 3A arrange act assert 頭(興味)が処理のときとデータのとき、というか開発をドライブしたいときと、すでにできたののバグ出しをしたい場合 RSpecはドライブするとき。 Test::Baseはいろんなパターンで繰り返したいとき。 SKIP more deep. KNOWN_BUG いまは通らないことがちゃんと判ってて、それは落ちるんだけどほっといてくれ。というケース。 でも通らないことがわかってはいようがなんだろうが全部走らせた結果ちゃんとグリーンだね、というのを assert し

    Rails勉強会@東京#12 - moroの日記
  • Seasar Conference 2006 Autumn行ってきました - moroの日記

    最近Javaづいてるから〜というのとは決して関係なく、SC2006/Autumnに行って来ました。自分なりの感想を。 イベント自体の感想 やっぱりコミュニティの色が出るのか、かなりイベント然としたイベントでした。うまくはいえませんが。明確な言葉にはまとめられてませんが、来年のRK7なんかでも参考になることがありそうな感じ。 あとはだいぶアウェーかなぁ、と思っていたんですが、見知った顔がいっぱいいたので安心でした。うん。 ちなみにメイドブースを探してたのは会場が乾燥してて飲物が欲しかったからですよ>ヤドカリの人 ちょっと私用でパネルと懇親会にはでなかったんですが、いろいろと違った文化に触れられて楽しかったです。 あと、プレゼンする方々のMac率の低さにびっくりしました。 Seasar2.4 ちょっと遅れて途中から聴講。ナマのひがさんを初めて拝見しましたが、カッケーですね。 Hot deplo

    Seasar Conference 2006 Autumn行ってきました - moroの日記
    clavier
    clavier 2006/11/13
  • RSpec 0.7.0キタ - moroの日記

    ボスはトランクがいいって言ったんですが、リリース版で一休みしたい、という方向で落ち着きました。 早めの準備のおかげで0.7.0を入れてもなんともなかったです*1。 http://rspec.rubyforge.org/upgrade.html 追記 いや controller spec スゴいっすよ。Isolation from the database とかって。マジスゴい。素敵すぎる。 http://rspec.rubyforge.org/documentation/rails/writing/controllers.html account = mock("account") Account.should_receive(:find).with("37").and_return(account) controller + view で functional test としているRai

    RSpec 0.7.0キタ - moroの日記
    clavier
    clavier 2006/11/06
  • eclipse-SDK-3.2.1-macosx-carbon.tar.gz - moroの日記

    ダウンロードはしたお。 ボスの指令でTomcatも落しましたよ。

    eclipse-SDK-3.2.1-macosx-carbon.tar.gz - moroの日記
    clavier
    clavier 2006/11/01
  • Rails.vimのチートシート - moroの日記

    rails.vimといえば、イントロダクションがこんな感じで始まる素敵なプラグインなわけですが、 TextMate may be the latest craze for developing Ruby on Rails applications, but Vim is forever. ということでPartial ExtractionとAbbrevitationがとても良いです。vimを使ってるRails開発者には必携のプラグインですね。 ただ、すごく便利に感じつつも運指がなかなか覚えられなかったので作ってみました。よろしければ御利用ください。 http://homepage3.nifty.com/moro/rails_vim_cheatsheet.pdf

    Rails.vimのチートシート - moroの日記
  • MacOS X 10.4.8に標準で入ってるSQLite3にバグがありそうな件 - moroの日記

    大事なことを先に。 2008/01/07追記 これはどうやらswigを入れていないのが原因だったっぽいです。お騒がせしました。たしか解決したエントリへのリンクを張っておきます。 http://d.hatena.ne.jp/moro/20061029/1162117114 MacRails開発してる人は、標準で入っているSQLite3をそのまま使うのでは無く、MacPortsなんかで最新のSQLite3にしたほうがよさげ。で、インストール後は、念のため、sqlite3-rubyもコンパイルし直しました。 $ /usr/bin/sqlite3 -version 3.1.3 $ /opt/local/bin/sqlite3 -version 3.3.7何かそのままのバージョンで使ってたらテストが落ちまくりました。転ばぬ先の杖ということで、MacPorts入れとくのをお勧めします。 Rails

    MacOS X 10.4.8に標準で入ってるSQLite3にバグがありそうな件 - moroの日記
  • Macに自前コンパイルでUnixアプリを入れるときの注意 - moroの日記

    メモ MacPortsでインストールされる各種ライブラリは/opt/local以下に入るので、コンパイル時にはそっちも参照するようにしないとはまる。特に公式に取り込まれていない機能を追加するパッチなんかを当てたときには要注意。 具体的には vim に香り屋さんのパッチを当てたものを作ったときにはまりました。 そんな時はあらかじめ、以下のような環境変数を設定するか、configureスクリプトに常に渡すようにすれば解決するものもありそうです。 CPPFLAGS="${CPPFLAGS} -I/opt/local/include" LDFLAGS="${LDFLAGS} -L/opt/local/lib"このへん、コンパイラのデフォルト値として与えるにはどうすれば良いんでしたっけ?特にリンカのほう。ldがさっぱり解らない。やっぱり地道に指定するか、環境変数で頑張るしかないんですかね、教えて偉い

    Macに自前コンパイルでUnixアプリを入れるときの注意 - moroの日記
  • Rails 1.2の目玉機能 - moroの日記

    assert_select でCSSセレクタを使ったテンプレートのアサーションが出きるらしい。AWDwR#2で見付けて隣の人が盛り上がってます。 http://dev.rubyonrails.org/changeset/4929

    Rails 1.2の目玉機能 - moroの日記
  • 第11回Rails勉強会@東京 - moroの日記

    過去最高人数を更新し続けている勉強会ですが、今回も行ってきました。37人てすげぇ。 それに伴っていろいろとやり方とかを変えていかなきゃ行けないこともあるかと思いますが、それはまぁ別途。 今回は暴走気味議論セッションが面白かったです。 前半:map.resourceを使ってみたくないか? Rails 1.2で入る(という噂の)ActiveResourceの力を先取りして知っておこうじゃないか、というセッション。自分がセッションオーナーだったのにgdgdしてしまって申し訳なかったです。川村さんとのりおさんにいろいろ教えていただきました。 要点としては、routes.rbの中で map.resource :messagesとやると色んなURLが生成されてこれは凄い、というものでした。 具体的にはまずedge Railsを入れた上で script/generate scaffold_resourc

    第11回Rails勉強会@東京 - moroの日記
  • Rails勉強会ポジションペーパーの例 - moroの日記

    今回は初参加の人が多そうなのと、土曜日は酔っ払ってそうなスケジュールなのとで早めにポジションペーパーを作ってみました。どういうの作ればいいかワカンネー、という方がいれば参考にしてください。 http://homepage3.nifty.com/moro/pos_paper.pdf 捕捉としていくつか。 会社名なんかはいれたりいれなかったり、人それぞれです。ぼかして書く方もいます。某田町の会社、とか。 わたしゃ名派ですが、ハンドル名*1何かでもいいと思います。 blogなんかをやってる人は書いておくと良いかもしれません。 Railsに関係のあること、とかも身構えずに、自分の知りたいことや興味のあること、最近XXという書籍を参考に触り始めました、とかでもいいかと。 もちろん、何かの実績がある人は書いておくとよりよいと思います。 要するに話のとっかかりが欲しいんですよね。 必ずしもワープロや何

    Rails勉強会ポジションペーパーの例 - moroの日記
  • api.rals2u.comローカル版 - moroの日記

    Railsのお仕事をするにあたってid:secondlifeさん作のapi.rails2u.comをローカルに建ててみました。ちょっと古めのRails出すが、"rails ."でほぼノートラブルで1.1.6化完了。 まぁ分かってたことですが、やっぱ便利。ソース公開*1してくれて多謝です。 ちなみにHyper Estraierを使った全文検索はどうやるんだろ。あとで調べる。 *1:http://api.rails2u.com/help.htmlの下部

    api.rals2u.comローカル版 - moroの日記
  • ABDとRailsと。現状の理解。 - moroの日記

    ちょっと最近まじめにABDとRailsをいじっていて、いくつか気づいたことのメモ。今まで気づいてなかったのかよ、と突っ込まれそうなこともたくさんありますが。 ActivityとEventとResourceは鼎立するわけでなく、Activity:(Event:Resource)と言う分類。Activityは他に比べて特異なもの。 関連テーブル/交差エンティティの役割を果たすわけで当然ですが、Activityは一つの業務の塊の中で複数レコードできますよね。 一つの業務を見るときの入口はActivityじゃなくEventかも。 Railsでいえば、DBヘの書き込みは、イベントをsave!したうえで、has_manyの:throughな交差エンティティ(Activity)を必要な個数分save!する、というのをAR::Base.transaction{}の中でやればOK。 もちろん毎回書くの繁雑な

    ABDとRailsと。現状の理解。 - moroの日記
  • MacでのLighttpdの自動起動(仕掛中) - moroの日記

    うまく動かないぃぃ。起動に自動的に実行されるコマンドやら何やらをsudoでトラブルシューティングしながらやっていくのは怖すぎる。 Mac OS Xでサービスを自動起動する方法 launchdを使う方法 どうもlaunchdと言う非常に賢いinitのようなものがあるらしいということで挑戦。下記のどちらかに設定ファイルを置くと起動してくれるらしい。 /Library/LaunchDeamons /System/Library/LaunchDeamons *1 設定ファイルは[launchd].plistというシリーズで、書式はみんな大好きXMLらしい。ウホッ。 StartupItemsを使う方法 ちょっと古い、とProfessional Mac OS Xに書いてあった。そういえばJaguarの頃に書いた記憶が。/Library/StartupItems/に 以下のような感じで、一式いれておくみ

    MacでのLighttpdの自動起動(仕掛中) - moroの日記
  • Railsの生産性とそれで提供したい価値 - moroの日記

    昨晩の続き。じゃあ仕切り直してなんでRailsって生産性が高いっていうの?というお話です。 DB設計はやっぱり必要で、UIも考えなくちゃいけないうえ、自動生成は客寄せで、ワークフローエンジンもないけれども、Railsの強みって言うのは一つはまさにRubyで書けるということ。二つ目はシンプルな哲学に基づいたフルスタックなフレームワークがいまある、ということ。 言語重要 えっと、まず予防線を。JavaはダメでRuby最高、といいたいわけではなく。 Railsの強みはRubyのシンタックスの柔軟さから来るDSLっぽい記法や、Rubyの動的な側面から来る徹底的な(自動生成じゃない部分、手動で書くべきロジックの)コードの削減だったりするんじゃないかと。ブロックと遅延評価だったり、括弧が省略できることであったり、クラスがインスタンスであったり動的にメソッドが定義できたり、っていうのはすべて書きたいコー

    Railsの生産性とそれで提供したい価値 - moroの日記