この記事は ZOZOテクノロジーズその2 Advent Calendar 2018 - Qiita 13日目の記事です。
今回はActiveModel::Serializers(AMS)の便利メソッドを紹介します。 github.com
AMSを使ってjsonシリアライズ実装をしていたのですが、以下のような非ActiveRecordオブジェクトのシリアライズで
動的にSerializerを切り替えたい場面で困った事がありました。
この記事は ZOZOテクノロジーズその2 Advent Calendar 2018 - Qiita 13日目の記事です。
今回はActiveModel::Serializers(AMS)の便利メソッドを紹介します。 github.com
AMSを使ってjsonシリアライズ実装をしていたのですが、以下のような非ActiveRecordオブジェクトのシリアライズで
動的にSerializerを切り替えたい場面で困った事がありました。
この記事は ZOZOテクノロジーズ Advent Calendar 2018 - Qiita 10日目の記事です。
2年ほどラズパイ上でHomebridgeの運用をしていましたが、新型NatureRemoの発売に伴い構成を見直すことにしました。 takanamito.hateblo.jp
新型NatureRemoはIRKitと違い、温度・湿度・照度が取れるのでお部屋モニタリングが捗ります。
続きを読む日次でDB内のとあるテーブルのデータ全件をBigQueryに同期するバッチがあって
RDS for MySQLからデータをselectしていたが、先日Aurora MySQL(5.6.10)に移行した直後から急にバッチがこけはじめた。
バッチは使用しているMySQLクライアントの設定値(3600秒)に従ってタイムアウトし落ちていた。
バッチの実行時間帯のCloud Watchメトリクスを確認してみると
AuroraのCPU使用率が30分間ほど平常値から外れて高くなっていた。
しかしバッチを実行しているEC2のネットワークインプットメトリックは特に変動がなく、Auroraからselectした結果を受け取れてなさそうなことも同時にわかった。
DBへの接続がタイムアウトするまでに1時間かかっているのに、selectによるCPU負荷が30分程度しか上昇していないので
クエリが何らかの理由で異常終了している可能性を疑い始める。
先日OpenAPIのスキーマからRubyのクラスを自動生成するgemを作りました。
OpenAPIのschema定義からRubyのクラスを生成するgem「openapi2ruby」をつくりました - Start Today Technologies TECH BLOG
このgemを作って自動生成しようとしたのがActiveModel::Serializer(AMS)のシリアライザで
他にも自動生成できるものがないか調べていたときに、ちょっと前に話題になったNetflixのgemを見つけたので使ってみることに。
なんでも
serialization time is at least 25 times faster than Active Model Serializers on up to current benchmark of 1000 records.
らしい。速い。
続きを読むhappybirthday | RubyGems.org | your community gem host
使い方は以下の通り
require 'happybirthday' birthday = Happybirthday.born_on('2000-01-01') birthday.age.years_old # => 18続きを読む