タグ

ブックマーク / mugenup-tech.hatenadiary.com (3)

  • ActiveJob から見るシリアライズとデシリアライズ - MUGENUP技術ブログ

    皆さん、こんにちは。プルリクで間違った指摘をして大反省中 の osada です。 プルリクで間違った指摘をして大反省中です。 下記のコードで、何を指摘したか、お分かりになるでしょうか? class NotificationJob < ActiveJob::Base queue_as :default def perform(notifiable, user) notifiable.notify(user) end end こんなことを言ってしまったのです。 オブジェクトを丸ごとシリアライズすると、redis の容量を圧迫し、 シリアライズ・デシリアライズにも時間が掛かるので、 クラス名とidを渡して、job の中で取り出して使って下さい。 この発言には2つ、間違いがありました。 1つ目は、オブジェクトが丸ごとシリアライズされると思っていたこと。 2つ目は、ActiveJob は クラス名と

    ActiveJob から見るシリアライズとデシリアライズ - MUGENUP技術ブログ
  • 【Rails】Scaffoldされたコントローラを読んでみる - MUGENUP技術ブログ

    こんにちは、MUGENUPの倉成です。 僕はRailsを使い始めてあと少しで丸2年になるのですが、初めの頃は覚えることがたくさんあって、とても大変だった記憶があります。 今回はそんな中でも、Railsで初めてWebプログラミングをする人向けに、コントローラのアクションであるnew,create,showについて解説してみたいと思います。 この記事ではソースコードは説明のため、実際にscaffoldされたコードを抜粋、もしくは省略されているコードを挿入して取り上げます。 なお、使用するコードは rails g scaffold user name:string email:string postal_code:string address:string で生成されたコードを元にしており、モデル・ビュー・コントローラはこれを使うことにします。 それではnewから見て行きましょう。 def ne

    【Rails】Scaffoldされたコントローラを読んでみる - MUGENUP技術ブログ
  • 【Rails】after_createが発動するタイミングはいつでしょう? - MUGENUP技術ブログ

    MUGENUPの倉成です。 今回はRailsのCallbackであるafter_createとafter_commitの処理順番を改めて確認し、処理順番を誤解していた事によって僕が遭遇した問題ついて記事を書こうと思います。 シチュエーション ブログ記事の新規投稿があった時、購読者に対してメールを送信する。 ブログの投稿時に通知のメールを送信するような場合、記事の投稿に必要な最低限の処理のみを行い、購読者へのメール送信などリアルタイムな処理が必要でないものは非同期で処理することで、レスポンス速度を向上させることが出来ます。 非同期処理を行うためのライブラリとしてはresqueやsidekiq、delayed_jobなど幾つかのものがありますが、弊社ではこの用途にresqueを使っているので、この記事では特にresqueを取り上げて説明します*1。 実装 さて、上の要件の実装として、僕は以下の

    【Rails】after_createが発動するタイミングはいつでしょう? - MUGENUP技術ブログ
  • 1