タグ

ブックマーク / blog.japantaxi.co.jp (4)

  • ファイルディスクリプタリークの事例紹介 - 行灯Labo(アンドンラボ)|JapanTaxi採用ブログ

    ソフトウェア開発部の吉川です。「JapanTaxi Advent Calendar 2018」の23日目を担当します。普段は Go 言語でサーバサイドの実装を書いていますが、日は Android の話を書きました。 記事では Android アプリケーションの開発中に見つかったファイルディスクリプタリークの事例をご紹介します。 見掛けの現象 社内で開発中の Android アプリケーションで、存在するはずのファイルを開けずエラーになることがありました。最初はファイルを開くコードの周辺に何か問題があるのではないかと考えましたが、当該部分に不審な点は見つかりませんでした。そのため次にファイルディスクリプタの枯渇を疑ったのですが、ファイルの閉じ忘れのような分かりやすいリークは見当たらず、すぐには原因を絞り込めませんでした。 実際の原因 そこで外部に似たような事例がないか探してみたところ、気に

    ファイルディスクリプタリークの事例紹介 - 行灯Labo(アンドンラボ)|JapanTaxi採用ブログ
    gfx
    gfx 2019/01/09
    AWS SDK for Android にLooperを解放していない箇所がありfdリークがあったと。これはなかなか大変だ…。
  • 経路探索で多発したコネクションエラーとの出会いと別れ - 行灯Labo(アンドンラボ)|JapanTaxi採用ブログ

    はじめまして、アプリG サーバサイドエンジニアの田中です! 最近は、せっかく買ったGoogle HomeとEcho dotになるべく家電操作を頼るようにしてみてます。 この記事は、 「JapanTaxi Advent Calendar 2018」の17日目です。 はじめに JapanTaxiアプリのサーバサイドでは、地図関連からタクシー配車に関わるやりとりまで、さまざまな内外のサービス連携をAPI接続を通しておこなっています。 今回は、アプリ上で空車のタクシー表示や目安料金算出などに使っている経路探索関連の外部APIを、コストと精度の観点から内部APIに段階的に置き換える中で多発した「コネクションエラー」との出会いから別れまでの話をしたいと思います。 内部APIへの置き換えの概要 内部APIへの置き換えにあたり、アプリからの1リクエストに対して、サーバサイドでは複数の並列APIリクエストを

    経路探索で多発したコネクションエラーとの出会いと別れ - 行灯Labo(アンドンラボ)|JapanTaxi採用ブログ
    gfx
    gfx 2019/01/09
    “根本原因はDNSによる名前解決時のレート制限” (Azure)
  • 6.サーバーサイドの開発裏話 | GraphQLを本番投入して実感したメリットと課題 - 行灯Labo(アンドンラボ)|JapanTaxi採用ブログ

    こんにちは、JapanTaxi SREチームの水戸です。 インフラからアプリケーションまでサービスの安定性向上のための改善を日々行っています。 今年9月のリニューアルで、JapanTaxiアプリ向けのAPIGraphQLを導入しました。この記事では実際にGraphQL導入したことで感じたメリットと課題を書いていきたいと思います。 現在のJapanTaxiアプリにおけるGraphQLの導入状況 今回は数年間開発を続けてきたアプリのリニューアルプロジェクトということで、既存部分を使いまわしている部分も多々あり全てのAPIを一斉に置き換えるのは難しい状況でした。そのためリリース時点ではアプリの変更に合わせて改修が必要になった参照系のAPIにのみGraphQLを導入しました。 リリース後は順次RESTからGraphQLに切り替えを進めており、一部では更新系でもGraphQLを使い始めています。

    6.サーバーサイドの開発裏話 | GraphQLを本番投入して実感したメリットと課題 - 行灯Labo(アンドンラボ)|JapanTaxi採用ブログ
    gfx
    gfx 2018/12/26
    実践編だ!
  • graphql-ruby コードリーディング - 行灯Labo(アンドンラボ)|JapanTaxi採用ブログ

    こんにちは、全国タクシーSREチームの水戸です。 インフラからアプリケーションまでサービスの安定性向上のための改善を日々行っています。 最近全国タクシーチームでは次期バージョンのAPIGraphQLを採用しリリースに向けて開発しています。 全国タクシーのサーバサイドはRuby on Railsのため実装にはgraphql-ruby gemを使用しています。 普通にこのgemを使用する分にはドキュメントを見ながら実装すれば問題なく動くのですが、今後より深くGraphQLを理解していくためにこのgemの内部構造を把握してみることにしてみました。 このエントリではgraphql-ruby v1.8.1のコードを元に、graphql-rubyGraphQLのクエリを受け取って結果を返すまでの以下の各段階がどこでどのように処理されているのか調べていきたいと思います。 クエリをパースする クエリを

    graphql-ruby コードリーディング - 行灯Labo(アンドンラボ)|JapanTaxi採用ブログ
    gfx
    gfx 2018/06/18
    "最近全国タクシーチームでは次期バージョンのAPIにGraphQLを採用しリリースに向けて開発しています"
  • 1