- rake db:resetとrake db:migrate:resetの違い @ memo.yomukaku.net
- なるほどなるほど
2013/12/28
Railsのコマンドに関するリンク集
2013/11/23
Railsの複数同時更新に関するリンク集
- Ruby on Railsで絞り込み用に複数のチェックボックスを作成する方法 @ もっとクールにプログラミング
- OpenStruct使うのかぁ。なるほど。
- Rails – 行ごとにチェックボックスを作成する方法 @ Tamrable
- 全く同じ処理探してたんで助かりました。
メモメモ。
2013/11/19
Rails TextHelperリンク集
- ビューについて @ railsdoc
- もう元祖と言っていいぐらいリファレンスが便利
- Rails TextHelperまとめ @ Qiita
- excerptなんてのがあるのかw
- http://fujishinko.nengu.jp/python/rails_text.html
- いろいろ書いてくれてます。
- link_to_ifで条件がfalseの時、表示を消す方法 @ IwazerReport
- 一歩進んだlink_to_if
2013/11/14
Test::Unitに関するリンク集
見る人いるかわかりませんが、初心者(僕)はきちんとfixturesが読まれたかphpMyAdmin等で確認するのが重要だと思いました。
- test @ railsdoc
- 本家
- Rails の Test::Unit で setup を定義する 3 つの方法 @ passingloop
- setupで共通部分をどうやって書いていけばいいかの指針になりました。
- Rake タスクで任意のファイルを複数指定する for Rails Test @ しのぶら!!!
- 開発中ってテスト項目を選びたいんですよね。
- Testの注意点 @ k10i - Rails note
- 1つのメソッドを選んでテストをしたいときのやり方。開発中ってマジさくっとテスト終わって欲しい...
- Rails テストに関する便利だけど見過ごされがちな 2 つの rake タスク @ passingloopの日記
- こんなことできんのか。すげー。
- Test::Unit::Assertions @ rubydoc
- assertいろいろ
- テストfixtureの中にerbを書いて動的に生成する @ 日々此妄想
- Ruby業界ってこういう黒魔術的なのほんと多いですよねぇ....といいつつ、このDRYは便利いい。使わせて頂こう。
- test_helper.rb の setup() とかteardown()とか @ 同じにやっても動かない
- 共通部分はここに書きましょうって話
- RailsでDBからFixtureを作成する @ TechRacho
- 今はテストデータをfixturesに書いて結果をphpMyAdminで見るという手法を取っていますが、逆もありなんかなぁ。FactoryGirlも気になります。
RSpecに移ることにしました!!情報量が違いすぎる!!
2013/11/09
RubyのFiberを非同期I/Oに使うNeverBlockとRevactor
自作のクローラが遅いんで、落ち着いたらこのへん調べてみよう。
2013/11/06
Unicornに関するリンク集
- 次世代Ruby on RailsサーバーUnicorn(汎用のRackアプリケーションサーバ)を使ってみた @ TechRacho
- まずはこれから読めばよかった。どうしてUnicornが速いか、必要とされるかがよくわかりました。
- Unicorn::Configurator
- 本家。設定ファイルを書くとき何度も見ます。
- [Ruby] Unicorn 概要
- シグナルハンドラの解説や切断なしにアプリをアップグレードする方法等、日本語で読みたかったことを書いてくれてます。
2013/11/04
2013/11/02
2013/10/27
Ruby on Railsあれこれ/findメソッドの:includeオプションの書き方
Rails初心者としては基本的な高速化から抑えていかねば。
2013/10/22
2013/10/01
2013/09/30
2013/09/29
rails console
2013/09/09
2013/09/08
Rubyのエンコーディング
- Rubyのエンコーディング
- 綺麗にまとめてくれてます。日本語でとらぶったら見よう。
- rubyで㈱などの機種依存文字をUTF-8に変換する
- 長い間はまっていた問題にようやく気づかさせてくれました。いくつかのライブラリって自動判定でShift_JISって判定してるからうまくいかないんですね。
- 文字コード表(Unicode UTF-8 UTF-16) @ Pentan
- 原因究明するときこういうの助かります。
2013/11/03 追記:
見事にとらぶったので追加メモw
UTF-8な文字列の中にSJISな文字列が入っていて、?でreplaceさせようとしたら総崩れしてしまった。いろいろ調べてたけど、ここのやり方でうまくいきました。感謝。
2013/08/13
2013/08/02
2013/06/28
Rubyプログラムの実行箇所をブラウザで見れるようにしてみた
視覚化ってほんと重要ですね。
とあるプロジェクトで
A「夜中に妖精さんが問題解決してくれて、明日が来たら動いてるってことないっすかねぇ」
B「このプロジェクトには妖精はおらん」
という話があったとかなかったとか。
2013/06/15
2013/06/13
2013/04/17
ヘルパーモジュールの読み込み方の違い
必要がありました。しかし、Rails 2.x 時代になると、application_controller.rb に初めから helper :all が記載されるようになったため、全部読み込みたくない場合だけプログラマー自身が helper :all を削除することになりました。さらに Rails 3.0 で「全部読み込む」がデフォルトになり、そうしたくない場合に clear_helpers を呼ぶという仕様になったのです。実は、次のバージョン 3.1 でまた仕様が変わる予定です。config/application.rb の中で config.action_controller.include_all_helpers = false のように記述すると「全部読み込まない」という振る舞いになります。
(はじめる!Rails3(2)より)
Railsのモデルのcountとsizeの違い
<% tasks = Task.where(:done => false) %> <% tasks.each do |t| %>2-4 行でタスクの名称を列挙しているので、該当するレコードデータはすべてアプリケーションに読み込まれています(この状態を「オブジェクトがロードされた」と表現します)。<%= t.name %>
<% end %>合計: <%= tasks.size %>
このとき、tasks.size はデータベースに問い合わせる代わりに、オブジェクトの個数を数えて返します。しかし、ここで tasks.count と書いてしまうと、Rails は再度データベースに問い合わせます。微妙な話ですが、少しだけ無駄なのです(はじめる!Rails3(2)より)。
2013/04/14
パフォーマンス監視サービスのNew Relicが超便利な件
2013/11/23 追記:
試してみました。笑いが止まらない、あんど、「裏で何やってんだ?」って怖さで凄いです。プルプル震えるレベルww
これ、ActiveRecordを使っているデーモンの生存確認やボトルネックも調査できますね。Railに沿って作ると加速するのを凄く実感。
2013/04/12
ヘルパーメソッドrender
def done @tasks = Task.where(:done => true) render :index endRails 2.x では、render :action => ’index’ のように記述する必要がありました。Rails 3 でもこの書き方は有効ですが、より簡潔な記述法が導入されたのです(はじめる!Rails3より)。
form_forの前の等号
2013/04/11
Aptana Studioを使い倒すためのまとめ
そのまとめ集をちょっとずつ書いていこう。
まずステップ実行環境。
gem install ruby-debug-base ruby-debug-ide
を実行した後、ここに習ってtestフォルダにある該当のテストコードを右クリック、Debug As、Debug Configurationsを選択。Interpreter Argumentsに-Itestを入力、Working Directoryをプロジェクトのルートに変更すれば良い。
プロジェクト全体を実行するときは、ルートフォルダを右クリックしてDebug Serverを選択。
後で見るリンク:
http://www.geocities.co.jp/SiliconValley-SanJose/2485/Aptana_guide.html
シェルスクリプトからrubyをキックしてるようなプログラムのデバッグの仕方がわからないなぁ。
追記:
上記はruby1.8.xの場合。1.9以降の場合はいろいろ試行錯誤が必要そう。
2013/04/08
Mongoidを勉強するにあたってのリンク集
そうそう。バージョンがあがったときってぐぐってもバッドノウハウしかヒットしなかったりするんですよね。こういうのまとめてくれてると大変ありがたいです。
mongoid 3.0でreferences_manyなどが廃止 @ deadbeef
references_manyって廃止されてるんだ。ひゃー。
2013/03/20
2013/02/26
2013/02/25
論理和・論理積演算子
- 初めてのRubyより
論理積や論理和はtrue やfalse ではなく、オペランドのいずれかを返します。これはC 言語族の多くとは異なる特徴です。 例えばnil || 50 という式を評価したとしましょう。50 は真でnil は偽ですから、式全体の値は50 となり ます。
- 初めてのRuby 6.2.3 論理和・論理積演算子 111ページ
でもよく考えたら確かにこっちの仕様のほうが応用ききそうですね。それで偽がnilとfalseだけなんですね。
補足:
しっかし、何が偽であるかはlispと同じなのに、論理演算子の戻し値はlispと違うんですね...。
いろんな言語に手を出すと本気でこんがらがって来るなぁ。
Rubyの面白いところ Part 1 「何がfalseと評価されるか」
2013/02/24
Validatable
コンストラクタの中での例外の話し。
この議論の中でValidatableについてリンクが貼られていた。この辺見てて思ったんだけど、型チェックある言語使ったほうがいいんじゃないだろうか...。
2012/03/25 追記:
よくよく考えるとこれいいな。コンストラクタでどうしても例外が発生する可能性がある場合は、例外を握りつぶした後エラーチェックすべきか。でも、エラーチェックを忘れそう...。ムムムム。
2013/02/22
型と自動変換
- 初めてのRubyより
Rubyは強く型付けされた言語なので、データ型が自動変換されることはほとんどありません。データはいつでも特定のクラスに属しており、演算の最中にいつの間にか他のクラスに属しているということはありません。例えばPerl などとは異なり、1 + "2" という演算は3 を返さずに例外を発生します
- 初めてのRuby 3.2.5 型と自動変換 67ページ
2013/02/09
除算
- 初めてのRubyより
整除の結果は、剰余の符号が除数と同じになるように調整されます。このため、両辺の符号が異なる場合には、除数と商の積は被除数よりも絶対値が大きくなります。
- 初めてのRuby 3.2.1 除算 49ページ
2013/02/08
添字代入の裏側
- 初めてのRubyより
添字参照式が返す値は、配列が保持している「オブジェクトへの参照」です。「オブジェクトへの参照」に式を 代入するというのは意味が分かりません。
あるいは、長さ付き参照や範囲参照の式ならば「配列の一部の要素を元に新たに作成された配列」を返します。けれども、新規に作成された配列に代入したところで、元の配列が更新されるのは話がおかしいでしょう。
実は、添字代入式は添字参照式とはまったくの別物です。後者はArray#[]メソッドの呼び出しでしたが、前者はArray#[]=メソッドの呼び出しです。両者はできるだけ一貫性を保つように実装されています。けれども、本質的には異なるメソッドなので細かな挙動には違いがあります。例えば、以下のようになります。
- 初めてのRuby 2.1 添字代入の裏側 33ページ
a = ["a", "b"] a[-3] #=> nil 範囲外のアクセスに対してはnil を返す a[-3] = 1 #=> IndexError 例外を発生こういう挙動の不一致をすぐにあげられるようになりたいなぁ。メモメモ。
2013/02/03
自分で作った.rbをどうやってrequireすれば良いか
require_relativeってのがあったんだ...。いちいちファイルパス生成してた...。