タグ

2017年10月10日のブックマーク (4件)

  • Swagger+JSON SchemaでAPIの型をテストして開発サイクルをスピードアップさせた話 - pixiv inside

    CTO兼福岡オフィス立ち上げ担当として新アプリを作っている@edvakfです。 JSON APIを開発しているとこういう問題がありがちですよね。 仕様どおりにAPIの形式を作ったはずだけどなんか自信が持てない テストでいくつかのキーが存在するかの簡単なチェックはしてるつもりだけど、全部チェックするのは大変すぎる APIのControllerやViewをリファクタリングしたらレスポンスの形が変わってアプリがめっちゃクラッシュし始めた というのが怖くて誰もリファクタリングできなくなった APIドキュメントがメンテされない 知らない間にレスポンスのフィールドが増えてたけどドキュメントに書いてない これらを解決したい!と思って試行錯誤したら、スマートに解決することができました。この記事ではRailsのことについて書きますが、考え方は他の言語・フレームワークでも同じです。 なお、今回使ったgemのバ

    Swagger+JSON SchemaでAPIの型をテストして開発サイクルをスピードアップさせた話 - pixiv inside
  • Rails アプリでオンラインでカラムの削除やリネームを行うには - eagletmt's blog

    前提知識 Rails アプリにおいて、テーブルの追加やカラムの追加は簡単なものの、カラムの削除やリネームは慎重に行う必要がある。たとえアプリからそのカラムを参照してないとしても、いきなりカラムを削除するとエラーになる可能性が大いにある。 というのも Rails にはスキーマキャッシュというものがあり、テーブルのカラム情報をモデルがキャッシュしているからだ。このキャッシュはたとえばいわゆる N+1 クエリ問題を避けるために includes (eager_load) するときに参照される。 SELECT 句で t0_r0 のような機械的に別名が振られるようなクエリを見たことがある Rails エンジニアは多いと思う。 機械的に全カラムを取得するためにスキーマキャッシュを利用しているため、このようなクエリが実行されてる中でカラムを削除したりリネームしたりすると、スキーマキャッシュをもとに並べら

    Rails アプリでオンラインでカラムの削除やリネームを行うには - eagletmt's blog
  • 個人開発を加速させるツール群

    俺コン Vol.1 / Day. 2 https://orecon.connpass.com/event/64285/ Firebase, Google Analytics, Fabric, Apple App Analytics の個人的使い分け http://starhoshi.hatenablog.com/entry/2017/07/04/Firebase%2C_Google_Analytics%2C_Fabric%2C_Apple_App_Analytics_%E3%81%AE%E5%80%8B%E4%BA%BA%E7%9A%84%E4%BD%BF%E3%81%84%E5%88%86%E3%81%91 Rails サーバから Google Analytics API で情報を取得する手順 http://bekkou68.hatenablog.com/entry/2014/08/20

    個人開発を加速させるツール群
  • pplog iOS で push 通知をAmazon SNSに変えた

    先日、pplogが4歳になったタイミングのちょいまえにバージョンアップしたpplog iOSだけども、いくつか新しいことをナンカしている。それを記録がてら記事にしていこうというこのシリーズ。ネタとしては3回分ぐらいはある。今回は push 通知周りのお話。 新生 pplog iOS で push 通知を Amazon SNS aws.amazon.com で送るように変えた。 Swift側 特筆することがないので省略。紹介すると言いつつ、いきなり紹介しない。 RailsRails側の機能を洗い出すと以下のようになる iOSからのデバイストークンの受取 Amazon SNSにEndPointを生成 iOSからのデバイストークンの削除 Amazon SNSからEndPointを削除 ユーザーのアクションを Trigger にした push通知配信 Amazon SNSのEndPointに配

    pplog iOS で push 通知をAmazon SNSに変えた