タグ

ブックマーク / engineering.webpay.co.jp (2)

  • Redisで簡単Inverted index - WebPay Engineering Blog

    WebPayはRailsを利用して構築しています。 今回はRailsアプリケーションでちょっと手間取る検索の高速化のTipsを紹介します。 最近のRailsアプリケーションでは、整合性が要求される基的なデータにRDBMSを、揮発性の高いデータに高速なNoSQLを利用するパターンが一般的です。 WebPayではMySQLとRedisでこのような構成をとっています。 Redisは使い勝手がよく、高速で、データをディスクに保持することができるので、KVS系のNoSQL製品のなかでは一番汎用的に利用できる印象があります。 さて、Railsではserializeを指定して変化しがちなデータ形式をJSON等のシリアライズ形式でRDBにストアすることがあります。 メタデータなど、雑多な入力が予期されるデータには非常に便利ですが、シリアライズされたフィールドを検索しにくいという欠点があります。 Post

  • APIのエラーハンドリングを見直そう - WebPay Engineering Blog

    ここ数ヶ月にわたって、WebPayはAPIのエラーにまつわる変更を少しずつ行ってきました。 それに付随してドキュメントも拡張しましたが、変更の背景について十分に説明できていない部分がありました。 この記事では、最近のエラーに関連した変更の背景を紹介し、今後どのようにエラーをハンドルすべきか説明します。 記事の内容は執筆時点のものであり、今後同じようにエラーやAPIの変更を行うことがあります。 変更があっても記事の内容はその時点の内容を保持し、ウェブサイトのドキュメントのみ更新します。 必ずウェブサイトのドキュメントを合わせて参照し、手元で動作確認を行ってください。 エラーはなぜ起きるのか WebPayのAPIは、リクエストされた操作ができなかったときにエラーを返すように設計しています。 可能なかぎりエラーにならないような設計、実装を心がけていますが、エラーは絶対に避けられません。 例えば、

  • 1