ワシはワシが育てる

週刊少年ジャンプと任天堂のゲームが三度のメシより好きです。

Ruby

RubyMineが最強すぎて感動する

最近Qiita界隈でRubyMine特集がされていたこともあって、RubyMine使ってみたら最強すぎて感動しました。 理由は色々ありますが書くのが面倒なので箇条書きにします。 補完が想像以上に強力 gemでも、環境依存ファイルの定数でも補完してくれます エディタが…

middlemanの画像URLの参照に盛大にハマる

静的サイト生成に大いに貢献してくれるmiddlemanですが、CSSのimage-urlで盛大にハマったのでメモ。 buildする際、assetファイルにhashをつけるとCSSのimage-urlがおかしな場所を参照するという事態に。 // middlemanでの記述 .hoge { background: image-url…

『RailsでWebSocketを使う』の続き

過疎なこのブログで地味ながらもはてブされている『RailsでWebSocketを使う』の続きというか感想です。 この記事を書いてからレガシーブラウザにも対応しているFayeも含め、Railsを用いたリアルタイム処理について試行錯誤したのですが、結論としてRailsでリ…

壊れたHTMLに対するNokogiriの扱いでハマる

RubyによるスクレイピングといえばNokogiriが有名ですが、壊れたHTMLをパースすると自動で修復してくれるせいで大変困っております。 例えばこんな感じのHTMLの場合、ブラウザでは閉じていない<p>タグが無視されるのに対して、Nokogiriでは整合性を取ろうとする</p>…

Rubyでマルチスレッド・マルチプロセスのプログラムを書くならParallelが便利

Rubyでは比較的簡単にマルチプロセス、マルチスレッドのプログラミングができますが、それでもやや煩雑な書き方になってしまいます。 それらの処理を簡単に書くためのライブラリとしてparallelがオススメです。 ループの前に少し構文を加えるだけで簡単にマ…

Railsで複数のhas_oneを行う際の注意

Railsで以下のような状況を想定します。 class Blog < ActiveRecord::Base has_many :articles has_one :last_article, -> { order(id: :desc) }, class_name: :Article end class Article < ActiveRecord::Base belongs_to :blog end Blogが複数のArticleを…

Rails(ActiveRecord)でgt、ltを使う

最近仕事が忙しくて(とても良いこと)、更新が滞りがちです。 年内年始までタスクがギッシリですが、なんとかブログも更新できるよう努力します。 今回はRuby on RailsなどでActiveRecordを使う際に 「より大きい」「より小さい」を意味するgt、ltを使う方法…

Rakeタスクをライブリロードする

Railsアプリの資産を活かしたまま、ウェブサイトのクロールなど自動化したい処理を書くにはrakeタスクが便利です。 rspecのように自動更新したままタスクを書いていけると効率的ですね。 guard-rakeという専用のgemがあるのですが、taskを変更した際に実行さ…