過去のmigrationをまとめてくれるGem「Squasher」

Pocket

ずっと開発を続けていくと、どうしてもmigrationファイルがめちゃくちゃに増えてしまいますよね。あまりにも昔のmigrationファイルだと「とあるバージョンのGemを前提にしていたのだけど、Gemのバージョンが上がって実行できなくなった」みたいな事態が起こったりして厄介です。そういう訳で過去のmigrationファイルをひとまとめにしたいと思ったときに役に立つGemがSquasherです。

Continue reading…

ついに新手のRailscastがあらわれた!「GoRails」

Pocket

Railsの様々なTIPSをスクリーンキャストで紹介してくれていたRailscastの更新が止まってもう1年以上経ちますが、ついに新手のスクリーンキャストが現れました。GoRailsです。

Continue reading…

ActiveRecord::Baseにscope追加しても上手く動かないからダメだよ、という話

Pocket

バグなのか仕様なのかは分からないんですが、仕様ぽい感じもする動きです。

Continue reading…

ActiveRecordのモデルに全文検索機能をつけちゃうGem「AttrSearchable」

Pocket

全文検索エンジンを使わずともActiveRecordに手軽に全文検索機能をつけるGemがありました。AttrSearchableというGemです。

さすがに一般的な全文検索エンジンと同じようにPDFやExcelファイルの中身まで検索することはできませんが、RDBに保存してあるテキストを検索するぐらいの用途には良いかもしれません。MySQLやPostgreSQLで対応している、全文検索用のインデックスにも対応しているので、通常のLIKE検索よりは良さそうです。

Continue reading…

Railsのアプリがちょっと速くなるかも知れない?Gemたち

Pocket

Improve Rails performance by adding a few gemsでRailsのアプリがちょっと速くなるかも知れないGemが紹介されていたので、早速試してみました。

Continue reading…

自動的にEager Loadingしてくれるようになる「Goldiloader」というGemが良い感じ

Pocket

RailsでのDBへのクエリの組み立ては常にN+1問題との戦いですよね。N+1が発生すると大幅にパフォーマンスがダウンしてしまうので、適切な事前ロードをいかに行えるかがプログラマの腕の見せどころになります。

でもそれって本質でしょうか? DBにクエリを投げる部分の実装の詳細なのでは?

Continue reading…

最初はよくあるコーディング規約に従ってみるのも良いのでは

Pocket

「規約」と聞くと「うわー、めんどくせー」と、脊椎反射でつい思ってしまうものですが、初学者がまずコーディングするときには、よくあるコーディング規約に従ってみるのも良いのではないかなと考え直しました。

ある程度コードを書いていると「それはそうだよね」と納得できる規約も多く、そういった規約を身につけてコードを書くことによって、もしかするとかなりのスピードでレベルアップできるのかも知れないな、と思ったのです。

Continue reading…

Rails Test PrescriptionsのRails4対応版が出たみたい

Pocket

Railsでのテストについて話している本にRails Test Prescriptionsという本がありまして、「Railsのプログラムをどうテストすれば良いか?」みたいな話が載っている、大変有用な本でした。

とはいえ結構内容として古い感じがあって、新しいの出ないかなーと思っていたところ、Rails4対応版が出ていました。Rails4を契機に一気に本が出てきてますね。

Continue reading…

テスト用にEXIF情報を加工するときに知っておきたいExifTool 他

Pocket

こんにちは、まーくんです。Qiita上の組織単位のストック数ランキングにちょっとは貢献しようとQiitaに投稿し続けております。

そんな訳で今日の投稿を貼っておきますね。

Continue reading…

ラジオボタンが非選択のときにブラウザが値を送信してくれない事象をsimple_formで何とかする方法

Pocket

ラジオボタンが非選択状態のとき、ブラウザはラジオボタン項目の値を送信してくれないのです(値がないから当然ですよねー)。

「非選択状態」という状態を保存したいとき、これだと保存されなくて困る。詰む。

Continue reading…