サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
dianthudia.hatenadiary.org
$(RAILS_ROOT)/helpers/model_helper.rb module ModelHelper #インスタンスメソッド def validate_name end def self.append_features(base) # :nodoc: super base.extend ClassMethods end module ClassMethods # クラスメソッド def convert end end end みたいなhelperを定義し、 $(RAILS_ROOT)/helpers/foobar.rb class Foobar < ActiveRecord::Base include ModelHelper end で使用できる。 Foobar.convert Foobar.new.validate_name
私は音楽ファイルは基本的にape+zipで保存し、foobar2000(fb2k)で聞いています。Windowsだとこれでまったく問題ないのですが、Macでこのファイルを聞こうとするやりかたが見つからず、せっかくMacbookを買ったのにBootCampのWindowsで起動していることが多いという状態が長く続いていました。 ところが、昨日見つけた http://www.hydrogenaudio.org/forums/lofiversion/index.php/t36625.html で、Wineで動かせばいいんじゃん!と思いつきました。で、以下が現在最も簡単と思われる手順です(Intel Macのみです、念のため)。 MikuInstallerをインストールします。下の方のダウンロードからダウンロードできます。 私はReadMeの1の方法、MikuInstaller自体をMacのApp
なぜメモリリークが発生するのか そもそも、RubyにはGCがあるので自然に開放されるはずです。しかし、実際にはそうなっていません。これには下記のような理由があります。 RMagickはImageMagickのobj(mallocで確保した)を扱っていて、これはRubyのobjではありません。そのため、GCの対象にならず、メモリリークの危険性をはらむ事になります。 対策 対策1〜3の順でおすすめと思います。 対策1(RMagickとImageMagickのバージョン変更ができる場合) RMagick 2.10.0で変更された下記に頼る。 (Experimental) Support the use of Ruby managed memory for all memory allocations (available in ImageMagick 6.5.3-10) 対策2(バージョン変更で
g:subtech:id:mala:20090920:1253447692にて、すばらしいスレッド関係のまとめが記載されていました。ちょうど、今取り組んでいる研究に必要なことなのでなんてタイムリーなんだ!と思いました。GJ! さて、その中で気になったのがPythonでGILを無くす(回避する?)仕組みといういうところ。研究で使うため、PythonでCPUを遊ばせないようにするにはどうするのかということを調べていました。私が調べた限りでは、ちょっと前まではParallel Python、最近は2.6以降から導入されたmultiprocessingを使う、と認識しています。CPUを遊ばせたくない場合は、皆様はどのようにしているのでしょうか*1。 ちなみに私は、multiprocessingを使っています。用途が並列処理なので主にPoolを使っています。下記に私が検討に使ったサンプルを記載します
double_submit_protectionを使いましょう。 ただし、2008/9/11現在、sessionをクリアしていないというバグ?があります。なので、 http://github.com/DianthuDia/double_submit_protection/ な感じでgithubの使い方を学びながら軽く修正してみました。 インストールは script/plugin install git://github.com/DianthuDia/double_submit_protection.git で行います。 使い方は、REAMME.txtにあるように、 View <% form_for do |f|%> .... <%= double_submit_token %> <% end %> Controller def create if double_submit? エラー処理
app/controllers/application.rbで以下のようにかくとできます(もしくは、libでうまく上書きするか)。 def rescue_action_locally(exception) add_variables_to_assigns @template.instance_variable_set("@exception", exception) @template.instance_variable_set("@rescues_path", File.dirname(rescues_path("stub"))) @template.send!(:assign_variables_from_controller) @template.instance_variable_set("@contents", @template.render_file(template_pat
仙台Ruby会議01に行って来ました。田舎から高速で片道2時間強の移動でした。事前準備をしていった結果、徹夜状態での参加でした…。 仙台Ruby会議01を簡単に振り返る セッションも楽しかったですが、やはり懇親会楽しかったですね。牛タンもなにやら上の牛タンだったらしくウマーでした。人数がそんなに多くなかったので、いろんな方と長くトークできたのも良かったです。どちらかというと、技術よりは人と知り合えたり、マインド面のほうが収穫が多かったかなと思います。 セッションを振り返る すでにまとめがかなり上がっているようなので、私が思ったことのみをつらつらと書きます。 tDiaryなどのレガシーウェブアプリをRuby1.9で動かす方法 藤岡さんのセッションでした。私は、この手のhackっぽいことが好きです。最近までオープンソースのプログラムをソース修正やコンパイラ変更で高速化をすることをやっていました
デプロイの流れ(インストールは省略) cd RAILS_ROOT capify . # deploy.rbを下記のものに変更 cap deploy:setup # :deploy_toにcapistranoに必要なフォルダを作る cap deploy:cold # SVNから取得+migration+Passenger再起動(RAILS_ROOT/tmp/restart.txtが作成される) cap deploy # SVNから取得+Passenger再起動 cap deploy:restart # Passenger再起動 deploy.rb <追記> http://www.slideshare.net/moro/capistrano-in-practice-webcareer-presentation?src=embed を参考に更新しました #####################
AttachmentFuプラグインでは、ファイル名を保存してくれます。 しかし、日本語の文字については勝手に'_'で書き換えられてしまいます。例: ____.png 原因 attachment_fu.rb module Technoweenie # :nodoc: module AttachmentFu # :nodoc: module InstanceMethods def sanitize_filename(filename) return unless filename returning filename.strip do |name| # NOTE: File.basename doesn't work right with Windows paths on Unix # get only the filename, not the whole path name.gsub! /
子のテーブルのメソッドにmockメソッドを追加するときに、以下のようなコードになります。 describe "間違っている例" do before do @user = mock_model(User) @user.stub!(:books) @user.books.stub!(:size).and_return(1) @user.stub!(:items) @user.items.stub!(:size).and_return(2) end end p @user.books.size # => 2 p @user.items.size # => 2 しかし、違う子の同じメソッドを上記のようにmockすると、どちらも最後にmockしたand_return(2)が返ってきてしまいます。 これはどういうことかというと、結論からいえば、sizeメソッドが同じNilObjectにmockされてし
このページを最初にブックマークしてみませんか?
『dianthudia.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く