2015-01-01から1年間の記事一覧

ActiveModelLike::ErrorsというPerlモジュールを書いた

通常Model内のエラーをControllerに渡す方法はWAFに組み込まれている。が、薄いWAFだとControllerとViewだけあって、Modelは好きに実装して下さいということが多い。得にPerlは軽量なWAFが多く、Mojoliciousのように薄くはないけどModel層がないものもある。…

ActiveSupport::Notificationsで実行されるSQLを確認する

ActiveRecordなどORMを使用していると、うっかり大量のSQLを発行してしまうことがある。Bulletを使えばN+1のクエリは検知出来るが、そうでないクエリでも肥大化するケースはある。 例えば、集計するような処理を複数のモデルからメソッドを寄せ集めて書いて…

Sidekiqを安全に再起動(終了)したい

バージョン Sidekiq 3.3.0 基本動作 ジョブが走っている状態でSidekiqを終了すると、8秒間(デフォルト)待って終了する。そして、8秒以内に終了しなかったジョブはキューに戻される。 メール送信くらいの軽いジョブであればで問題にはならないが、例えば、AWS…

Qiita::Markdownを使ってMarkdown APIサーバを書いた

Markdownには様々な方言があり、記法の解釈にも微妙に差があったりする。 一つの言語で開発しているのであれば、同じライブラリを使えば問題にならないが、それぞれ別の言語で書いた複数のアプリケーションで全く同じレンダリング結果を得るのは難しい。 一…