数字だけのタグだとうまくcoが出来なかった覚えがあるので、renameしました。あと、commitハッシュはフルでなくても、最初の5桁くらいで大丈夫だと思います。 タグで使っているcommitハッシュを取得
コンパイル時に -D オプションで指定したパラメータを文字列化して使用する方法のメモです。 以下は -DFOO_DIR=hoge のようにした場合に、何らかのディレクトリ名の PREFIXとしてこれを使う方法。 1 #define STRINGIFY(x) STRINGIFY_(x) 2 #define STRINGIFY_(x) #x 3 #define BAR_PATH (STRINGIFY(FOO_DIR) "/bar")
gem push によって、 gem の公開が大変簡単になりました。 しかし、敷居の低さは油断に繋がるもので、 近い将来、誰もが一度は秘匿性のあるファイルを誤って公開してしまい、 パニックになることでしょう。 今回、皆さんを出し抜く形になってしまい甚だ恐縮ではございますが、 一足先に体験させて頂きましたので、 その対処法を報告致します。 手順 gem yank support staff への報告 1. gem yank gem の新機能である yank コマンドを利用すると、 指定したバージョンの gem の公開を停止することができます。 例えば、foo-0.0.1 gem の場合、以下を実行します。 1 % gem yank foo -v0.0.1 この機能は rubygems1.3.6 にはまだ含まれて居ませんので、 "Unknown command yank" と言われた場合には
1 require 'mongo_mapper' 2 MongoMapper.database = "app1" # DB名 1 class Player 2 include MongoMapper::Document 3 key :name, String, :required => true 4 key :policy, Integer 5 key :renkei, String 6 key :note, String 7 timestamps! 8 9 validates_uniqueness_of :name 10 end 1 Player.count 2 => 822 3 4 Player.count(:renkei=>'萩原型') 5 => 135 6 7 Player.first 8 => #<Player label: "萩原 忠志" ..
Rails + Cucumber で Culerity を使うと、 以下のような WARNING が大量に発生する。 これでは、いくらテストがgreenでも精神はredになってしまう。 1 % cucumber features/foo.feature 2 Using the default profile... 3 2010/01/20 18:43:57 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify 4 警告: Obsolete content type encountered: 'text/javascript'. 5 2010/01/20 18:43:58 com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify 6 警告:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
haml は構造化文章をシンプルかつ強力に記述することができるが、 複数行のデータの扱いには以下の理由で不向きである。 行指向であるため適切なインデントの記述が強要される 頑張って埋め込んでも可読性が落ちて全体の構造が把握し辛くなる これを改善するには、コード(構造情報)とデータの分離が必要になる。 inline filter module 1 module Inline 2 include Haml::Filters::Base 3 4 def self.[](key) 5 @@data[key.to_s] rescue nil 6 end 7 8 def render(str) 9 @@data = Hash[*str.split(/^\s*@@\s*(\w+)\s*\n/m)[1..-1]] 10 return nil 11 end 12 end
rdocのデフォルトのテンプレートが非常にダサくて、なかなか使いづらい。mislavのhannaを使えば、こんなにスタイリッシュになる: おまけとして、簡単なメソッド検索もできます。また、テンプレート自体はhamlで書いていて、なかなか読みやすい。「スケールできる」ことが売りらしいけど、まぁ意味不明な自慢だよね。 インストール rdoc 2.3.0をインストールする。現在のhannaはまだ最新rdocの2.4.xに対応していないからご注意ください。 1 sudo gem install rdoc -v 2.3 2 <<-- 3 2. githubをgemのsourceに追加 4 shell-unix-generic>> 5 gem source add http://gems.github.com インストール 1 gem install mislav-hanna インストール
gemを指定したディレクトリにインストールする方法を紹介します。 以下のように -i オプションでディレクトリを指定します。
1 $ git push origin local_deploy #間違って作成 2 $ git branch -a 3 * master 4 origin/HEAD 5 origin/deploy 6 origin/local_deploy #ローカルにも反映されている 7 origin/master これでサーバ側は反映されました。 別のローカルリポジトリ(cloned)で削除が反映されない しかしもう一つ別のディレクトリで同じgitリポジトリをcloneしていて、そちらで削除が反映されない状況に。 下記の1.の説明にあるように、(remoteブランチの追加は自動でされるが)削除されたものはローカルで明示的に削除しないといけないようです。 Delete unneeded branch $ git clone git://git.kernel.org/.../git.git
EC2のサーバ上でruby-1.8.x系で動作しているpassenger(aka mod_rails) と平行して、ruby-1.9.1を動かす環境を用意するために色々と試行錯誤を繰り返していたのですが、ひとまず良さそうな構成に落ち着いたのでメモしておきます。 構成 入り口から順に並べるとこんな感じです。 apache2 (:80) mod_proxy_balancer (:80 -> :4000) swiftiply (:4000 <- :30000) merb cluster with SwiftipliedMongrel adapter (:30000) apache2はpassengerを使っているので外せないとして、 ruby-1.9.1で動かすサービスはmod_proxy_balancerを使う事にしました。 最初はバックエンドに直接merb clusterを当てていたのですが
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 git-pullで私なりの解釈で aha!が来たのでメモします。 これからは git-pull --rebaseにしよー 下記をそのままという感じなのですがw http://www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manual.html#using-git-rebase そういえばトッポさんが言ってた:git-pull --rebaseを使うといいよ git-pullよりgit-pull --rebaseを使うといいよ(ただしという注意(下記太字)があるのでその辺は注意。ほとんどの人は関係ないと思うんだけど。。。) Here's a tip for keeping up
irbはインタラクティブにrubyのコードを実行出来る 非常に便利なユーティリティですが、 脳内にある「irbのあるべき姿」と比べると、 ちょっとだけ足りないところがあると思っていました。 そこで、思い通りの動きをするようにirbをカスタマイズする irbプラグイン irb_rocket を作ってみました。 これを使うと、いつも見慣れたirbが、こんな風になります。 inputの末尾に#=>に続いて結果が表示されます 結果はWirbleを使って色づけしています 標準エラー出力への出力は赤で表示します インストール方法 irb_rocketは wirble と ruby-terminfo に依存しているので、 それらをインストールします。 続いて、以下のようにhttp://merbi.stからgemをインストールします。
Merbを使ってWebアプリケーションを開発している or しようと考えている方の為に、 お勧めのプラグイン/Slice情報を共有するサービス Merbist Plugins をテスト公開いたします。 デザインもScaffoldに毛が生えた程度で、 この手のサービスには欠かせないRatingなどの基本機能が無い状態なのですが、 そもそもMerbのプラグイン情報を共有する場所が無いので、 無いよりはちょっとましかなという事で公開しておきます。 merb_rating, dm-has-rating のようなプラグインを見つけたら、 あるいは作ったら、Rating出来るようになると思います。 ちなみに、新着プラグインのFeedも配信しています。 Plugins for Merbist (http://merbi.st/plugins.atom) よろしくお願いします。
まずはネストという言葉に関する定義の問題ですが、 諸橋さんが書いているように 、PostsコントローラはComments コントローラを集約(aggregates)しますが、 内包(compose)する訳ではありません。 たとえば、管理画面に対応するAdminコントローラから、 Commentの削除や修正を行う場合に、AdminコントローラからCommentsコントローラを集約する事を考えると、その必要性が分かりやすいと思います。 PostsコントローラにCommentsを制御するコードを書いてしまう(内包してしまう)と、 Adminコントローラで同じ事をする必要が出来た場合に、 同じようなコードを書く必要が出てきます。 Don't Repeat Yourself! 結果として、メンテナンス性の悪いコードが出来上がります。 この事が、Postsコントローラの中でCommentsリソースを制
何気なくTwitterのタイムラインを見ていたら、 wycatsとd2hがMerbがRails3にマージされるというお知らせをしてました。 http://twitter.com/wycats/statuses/1074903497 http://twitter.com/d2h/statuses/1074904219 Rails And Merb Merge Today is a fairly momentous day in the history of Ruby web frameworks. You will probably find the news I’m about to share with you fairly shocking, but I will attempt to explain the situation. Merb gets merged into Rails
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く