MoTLab -GO Inc. Engineering Blog-MoTLab -GO Inc. Engineering Blog-

いつも当ブログをご覧いただきありがとうございます。このたびブログの移転を行いました。

この記事は、 GO Inc. Advent Calendar 2023 の11日目です。次世代事業本部データビジネス部でデータエンジニアをやっている鳩です。地域メッシュの場所を検索したくなることありませんか?私はあります。 そこで地域メッシュビュアーを作りました。

SREグループ・ヒロチカです。今回、Bidirectional(双方向) gRPC streamingのアプリケーションの構成変更を行った際に、新しい構成でも問題ない性能が出るかどうか負荷試験を実施しました。ツール選定から実際に結果を観測するまでの一連の流れをまとめましたので、ご紹介できればと思います。

2023年12月5日に「GO TechTalk #24 タクシーアプリ『GO』のAIサービスを支えるMLOpsを体感しよう!」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

15億を超えるオブジェクトを持つS3バケットからデータを消すためのプロセスとテクニックを、『DRIVE CHART』の運用で実際に行ったケースに沿ってご紹介します。

こんにちは、SREグループの水戸 (@y_310)です。GO Inc.ではマイクロサービスごとに固有のDBを持っているため数十台のAurora PostgreSQLクラスタを運用しています。ある日たまたまAWSコンソールを眺めていたところそのうちの1つのクラスタでこんなメッセージが表示されていることに気づきました。恥ずかしながらTransaction IDが何なのかも分かっていなかったのですが will cause length downtimeというメッセージから何かやばそうなことが起きていると気づき調査を開始しました。今回はTransaction IDが何なのか、このメッセージが何を意味しているのか、どうしてこんなことになったのか、といったお話を紹介したいと思います。

こんにちは、SREグループの水戸 (@y_310)です。GO Inc.では様々なマイクロサービスが動いていますがその中にいくつかGraphQLのサービスが存在します。SREグループでは全てのサービスに対して共通のメトリクスでリクエスト状況やエラーを監視しているのですが、GraphQLについてはステータスコードが基本的に200になってしまいHTTPレベルの監視ではエラーを観測できないためダッシュボードやアラートがあまり機能しない状態になっていました。今回はこの問題を解決しGraphQLのサービスでもエラー監視ができる方法の一例をご紹介します。

バックオフィス基盤第2グループの名嘉眞です。今回は業務で合計で1800万件程のレコードを更新する際にやったことについて書こうと思います。 最終的に本番環境に対してどう更新したのかは、1度に更新するレコード数を制限できるように更新用のバッチ処理を作成し実行しましたが、そこに至るまでにやったことを記事にしようと思います。あまり大量のレコードを更新することはないかも知れないですが誰かの参考になれば幸いです。

この記事は、 GO Inc. Advent Calendar 2023 の8日目です。タクシーアプリ『GO』のバックオフィス基盤を開発している 森竹 です。 2023/11/16〜17に ベルサール新宿セントラルパーク にて開催された Agile Japan 2023 に参加して来ました。Agile Japan へは2018年から毎年参加しており、今年で6回目の参加となります。 今年は私が所属しているバックオフィス基盤開発部のメンバー3名で参加して来ましたので、今回記事にさせて頂きます。

これは、GO Inc. Advent Calendar 2023の4日目の記事です。はじめまして!タクシーアプリ『GO』の iOS アプリを開発している髙橋です。GOのiOSアプリチームでは今年の5月以降、情報のキャッチアップを目的として社内勉強会を継続的に開催しています。この勉強会は私が始めたものもあれば、チームメンバーが始めてくれたものもあります。この記事では社内勉強会をやろうと思ったきっかけや、実際に今社内で開催している勉強会について紹介します。

バックオフィス基盤第2グループの名嘉眞です。私の関わっているプロダクトで利用しているDBはほぼPostgreSQLを利用しています。今回は業務でよく利用するようなSQLを例にPostgreSQLの実行計画について記事を書こうと思います。書いてあることの技術的な点は普段PostgreSQLを利用しているとおそらく知っている方も多い内容ですが、少しバックオフィス基盤第2グループの業務も含めて書いてみました。

AI技術開発部データサイエンスGの菊地です。今回の記事では次世代AIドラレコサービス『DRIVE CHART』を実現するためのデータ分析技術について、過去に執筆された内容をもとにまとめていきたいと思います。こちらの記事は画像認識編、AI運用技術編の続編となります。

 SREグループ・ヒロチカです。弊社の持つk8sのクラスタの整理の一環で、gRPC streamingを使っているサービスについて、通信経路にIstio Ingress Gatewayを経由する形へと構成変更を行った際のポイントや知見をご紹介いたします。

タクシーアプリ『GO』のAndroidアプリを開発している石橋です。Androidアプリのアクセシビリティ向上について興味を持ち、技術的にどのような対応ができるかを調べて検証してみました。本記事ではAndroidのスクリーンリーダー機能である「TalkBack」の概要と、アクセシビリティ向上のためにJetpack Composeで設定できる項目について紹介します。

タクシーアプリ『GO』のAndroidアプリを開発している祖父江です。 Androidアプリ開発で利用しているテストフレームワークをSpekからKotestへ移行した内容を紹介させていただきます。

こんにちは、SREグループのカンタンです!LGTM!オブザーバビリティ基盤第1話という記事ではログとメトリックスとトレース情報を扱えるGrafanaをベースとした新しいオブザーバビリティ基盤の話をしました。今回はログにフォーカスし、ログの収集と検索を行うGrafana Lokiについて詳細に説明したいと思います。

2023年10月16日に「GO TechTalk #23 ジオスペシャル!位置情報活用の現場をお話します!」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

タクシーアプリ『GO』のAndroidアプリを開発している石橋です。先日開催されたDroidKaigi 2023に参加してきました。GO株式会社はゴールドスポンサーとしてスポンサーブースを出展させていただきました。本記事ではイベントの様子やスポンサーブースの様子などについてレポートをしていきます。

2023年9月11日に「GO TechTalk #22 Reactで描くタクシーアプリ『GO』の世界」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

こんにちは、SREグループのカンタンです!GO株式会社にある様々なサービスは、SREが提供しているKubernetes基盤上で動いています。ログ検索基盤として長年BigQueryを利用していましたが、利用体験と効率を向上させるためにGrafanaをベースとした新しいオブザーバビリティ基盤に移行しました。ログに加えてメトリックスとトレース情報を扱えるようになり、可視化が楽になり、ログベースのアラートなど様々な機能が使えるようになりました。複数の記事に分けて説明させていただきますがこの記事ではSREが作ったオブザーバビリティ基盤の背景と全体像をご紹介できればと思います。

2023年8月8日に「GO TechTalk #21 並列処理をGo/Rust/Kotlin/Python/JSで解説!思想の違いを体感しよう」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

タクシーアプリ『GO』のデータエンジニアをしている牧瀬です。Apache Arrow という OSS を知り、弊社でも活用できる機会があるのではないかと興味を持ちました。本記事では Apache Arrow の概要を紹介します。

AI技術開発部でコンピュータビジョン技術の研究開発を行っている鈴木です。GO株式会社は、2023年7月25日(火)から7月28日(金)の4日間浜松で開催された「MIRU2023(第26回画像の認識・理解シンポジウム)」のゴールドスポンサーを務め、企業ブースの出展及び研究発表を行いました。本多・宮澤・森本と共に参加してきましたので当日の様子やGOからの発表内容を紹介していきます。

2023年7月11日に「GO TechTalk #20 Deep Dive into AI - 次世代AIドラレコサービス編」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

AI技術開発部の宇都です。GO株式会社では過去に発信した記事や発表資料をテーマごとにまとめる取り組みを行っています。今回はタクシーアプリ『GO』で利用されているETA(到着予測時間)における内製化の取り組みや精度・運用改善のための工夫についての記事をご紹介します。

2023年5月31日に「GO TechTalk #19 タクシーアプリ『GO』事業成長を支えるデータ分析基盤の継続的改善!」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

タクシーアプリ『GO』のバックオフィス基盤を開発している 森竹 です。 1ヶ月ほど前になりますが、5月19日〜20日に NINNO3 にて開催された スクラムフェス新潟2023 に参加して来ました。 今回はオンサイトとオンラインでの同時開催となり、せっかく参加するのであればギャザリングも楽しめればと思い、弊社メンバー3名でオンサイト参加して来ましたので、記事にさせて頂きます。

スマートドライビング事業部の森本です。AI技術の発信強化の一環として、過去に発信した記事や発表資料をテーマごとにまとめる取り組みを行っています。今回は次世代AIドラレコサービス『DRIVE CHART』での本番環境、実験環境、エッジデバイスでのAIに関連した運用技術全般について紹介します。

タクシーアプリ『GO』の iOS アプリを開発している井戸田です。今回はFlutterのgo_routerライブラリをもっと便利に使うことができるgo_router_builderというライブラリについて紹介します。

タクシーアプリ『GO』のAndroidアプリを開発している山本です。 Androidアプリ開発に必要なライブラリの定義方法をGradleのVersionCatalogに乗り換えるときに調べたことと利点を紹介します。

はじめまして。タクシーアプリ『GO』のAndroidアプリを開発している石橋です。GO株式会社には半年に2週間、業務を離れて自分の興味のある内容に取り組むことができる「Engineer Challenge Week (ECW)」という制度があります。ECWで、ユーザー課題を解決するために、ARCore Geospatial APIを『GO』へどのように導入可能なのか検討してみました。

こんにちは、SREグループの水戸 (@y_310) です。GO株式会社ではスタッフがAWSアカウントにログインする際の認証方法としてAWS IAM Identity Center (旧AWS SSO)を使用しています。今回はAWS IAM Identity Centerを使ったAWSアカウントの権限管理の事例についてご紹介します。

  GO株式会社では、提供しているサービスが行っているメール配信機能の一部をクラウドメール配信サービスである「SendGrid」を利用して送付しています。 SendGridにはサブユーザという親アカウントに紐づく子アカウントのような形でアカウントを管理することができる機能があり、GOでもサービス・環境別にサブユーザを作成して運用しています。 この記事では弊社でのSendGridにおけるサブユーザの運用事例をご紹介できればと思います。

 GO株式会社では、主にクラウドサービス上にあるマネージドデータベースのデータ参照ツールとして、ダッシュボードツール「Redash」を自前構築し社内で運用しています。 以前、このSelf Hosted版 Redashの構築の記事の中で、ログイン方法としてSAML認証を採用していることをご紹介しましたが、この度、弊社の社名変更並びにメールアドレスのドメイン変更に伴い、Redashのデータベース内で管理しているSAML認証のログインで利用するメールアドレスについてもドメインの変更が必要となりました。 この記事では、Self Hosted版Redashのデータベースにある、ユーザ情報やメールアドレスの変更方法をご紹介できればと思います。

こんにちは、SREグループのカンタンです!GO株式会社では複雑なワークフローを実現するためにAirflowを利用しています。Kubernetesを活かして、マルチテナンシーによるセキュリティ課題を解決しシームレスな開発体験を提供するAirflow基盤を用意しました。今回はその基盤をご紹介します。

バックオフィス基盤第2グループの名嘉眞です。私の担当しているプロダクトにカーソルページネーションを実装したので、その経緯と実装内容を記事にしたいと思います。これからカーソルページネーションを実装しようとしている方の参考になれば幸いです。

大規模に収集されたドラレコの映像データは、様々な用途に利活用することができます。詳細を2023年2月に行われたイベント「5万台のドラレコを活用!大規模データ収集・機械学習基盤の全容」で紹介しています。こちらの「道路情報の差分抽出」に関するプロジェクトに関しては、違うまとめ記事の方で紹介したいと思います。AI技術開発部データサイエンスGの菊地です。今回の記事では次世代AIドラレコサービス『DRIVE CHART』を実現するための画像認識(コンピュータビジョン)の技術について、過去に執筆された内容をもとにまとめていきたいと思います。

タクシーアプリ『GO』のiOSアプリを開発している黒田です。今回は『GO』にロック画面Widgetをお試しで導入してみたので、その手順や所感を簡単にまとめてみました。

タクシーアプリ『GO』の iOS アプリを開発している古屋です。本記事では、アプリのAPI呼び出し回数を計測し、過剰に呼び出していないかチェックする工程を開発のプロセスに入れたことについて紹介します。

2023年4月11日に「GO TechTalk #18 『GO』のiOS開発で、Concurrency、Xcode Cloud、新DIを試してみた」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

Kotlin Multiplatform Mobile(KMM)を使ってコアロジック部分を共通化してAndroid/iOSで共通なコアを使ったアプリをそれぞれつくってみた。という記事です。

2023年3月14日に「MoT TechTalk #17 MoT TechTalk タクシーアプリ『GO』のiOS開発で、Live Activities、SwiftPM、脱Rosettaを試してみた」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

バックオフィス基盤第2グループの名嘉眞(ナカマ)です。私は2023年1月に入社しました。あっという間に約3ヶ月経過していて自分でも驚いています。 今回、まだ新参者の私でもTechBlogに投稿して構わないということで、今しか書けない(そんなことない?)入社して体験したことを投稿しようと思います。 まだ入社して3ヶ月ということで、もしかすると既に社歴が長い方と感覚が異なる部分があるかもしれないですが、逆にバイアスなしの感想と捉えることができるかもしれないです。

AI技術開発部の老木です。今回、分析ログの増大が課題となりJSON型の導入を検討しました。分析ログをJSON化した際に問題となる配列の扱いについて紹介します。

2023年2月15日に「MoT TechTalk #16 MoT TechTalk 5万台のドラレコを活用!大規模データ収集・機械学習基盤の全容」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

はじめまして。タクシーアプリ『GO』の iOS アプリを開発している高橋です。プログラムが取り扱っているモデル・関数・フラグなどがどのような状態なのか・どのような値を期待しているのか・その画面で表示できるモデルはどのようなモデルなのかなど、プログラム内部で扱っている「状態」をいかにうまく・いかにシンプルに「管理」していくのかが、そのまま実装の速度やバグの発生頻度の改善につながっていくと考えています。今回はそんな「状態管理」をプロパティではなく型を利用してできるようにしてみましたので、その紹介をしたいと思います。

AI技術開発部の宇都です。Mobility Technologies (MoT)ではAI技術の発信強化の一環として、過去に発信した記事や発表資料をテーマごとにまとめる取り組みを始めました。本記事ではその第一弾としてタクシーアプリ『GO』のAI予約というサービスにおけるBigQuery, MLOps, 機械学習モデルの活用事例に関する記事・資料をまとめましたのでご紹介します。

こんにちは、技術戦略部 SREグループのカンタンです!Kubernetesクラスタを運用するとマニフェストの適用方法が気になる方が多いかと思います。 kubectlを使ってYAMLファイルをそのまま適用したり、Kustomizeファイルを適用したり、Helmチャートを適用したり、Argo CD や Flux のようなCDツールを利用したりするなどやり方が色々あります。約一年前からSREグループで管理しているマニフェストの適用方法をArgo CDに切り替えました。適用スピードが加速し、クラスタの状況が把握しやすくなり、セキュリティレベルが向上し、運用の効率が圧倒的に上がりました。とても良くできているツールのため、Argo CDの魅力とSREグループの使い方を紹介させていただいてご参考になれば幸いです!

SREグループの古越です。SREグループではAurora PostgreSQLのインプレースアップグレードで少し痛い目を見た過去があり、Aurora PostgreSQL 10.x EOS(2023/01/31)を切っ掛けとしてインプレースに変わる安全なアップグレード方法を模索していました。 2022/9頃から検証を始め、論理レプリケーションを使ったBlue/Greenデプロイ方式のアップグレード手順を確立することが出来ました。背景と具体的な手順について紹介していきます。

2023年1月19日に「MoT TechTalk #15 MoT TechTalk タクシーアプリ『GO』Androidの新ネタ2週間でいろいろ試してみた!」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

初めましてタクシーアプリ「GO」の管理画面の開発を担当している加藤です。本記事ではGO管理画面に導入したバックグラウンドダウンロードについて紹介します。

AI技術開発部の鈴木達哉です。Mobility Technologies (MoT)ではドライブレコーダーから取得できる情報を元に道路上の物体を検出し、地図と比較することで現地と地図の差分を見つけ、地図を更新する『道路情報の自動差分抽出プロジェクト』を株式会社ゼンリンと共同で進めています。本記事ではドラレコ動画から道路標識を認識するAIの精度改善を機械学習モデルではなくデータの量と質に着目し実現した事例を紹介します。

(これはMoT Advent Calender 2022の24日目です)データエンジニアの渡部徹太郎です。私の担当しているプロジェクトでは、Infra as CodeにTerraformではなくCDKというツールを使っているので、その話をします。

この記事はMobility Technologies Advent Calendar 2022の22日目です。スマートドライビング事業部システム開発部AI基盤グループの石井です。この記事ではDRIVE CHARTの機械学習チームで採用している実験管理ツールであるClearMLについて紹介します。

この記事はMobility Technologies Advent Calendar 2022の21日目です。DRIVE CHARTではMoT統合以前よりDeNA時代からデータ作成時のアノテーションツールとしてNotaを利用しています。近年では多数のOSS版アノテーションツールが普及しています。本記事ではNotaの代表的な機能の紹介に加え、様々なコンピュータビジョンタスク用のOSSアノテーションツールについて紹介します。

この記事はMobility Technologies Advent Calendar 2022の20日目です。2022/10/26にAWS Autotech Forunm 2022にてDRIVE CHARTのAI開発を促進するための基盤づくりや日々増加するトラフィックに対して安定的にサービスを運用するためのアーキテクチャについて紹介しました。この記事ではその内容を踏まえ、AI開発基盤のこれまでの取り組みとこれからの将来像について紹介します。AWS Autotech Forunm 2022の発表資料は本記事後方に掲載しています。

タクシーアプリ「GO」のバックエンドを開発している柳浦です。最近リリースされたSkaffold v2がCloud Runに対応したので、調べて使ってみました。

こんにちは、東京電機大学システムデザイン工学研究科修士1年の江藤謙(@pictur_etoken)と申します。大学では深層学習における分布外データの挙動についての研究をしています。私は10月から11月の2ヶ月間(都合により実質的な勤務時間は1ヶ月)、MoT初となるインターンに参加しました。今回のインターンでは、道路情報の自動差分抽出プロジェクトにおける、標識検出の高速化というタスクに取り組みました。本記事では、その取り組み内容についてご紹介したいと思います。

Mobility TechnologiesでFlutterエンジニアとして働いているTomiと申します。タクシーアプリ「GO」ではGoogle MapにMarker(Taxi)を動かす場合が多くあります。Flutterではどのように動かせるのかを調査しましたので、この内容を共有します。

タクシーアプリ「GO」、法人向けサービス「GO BUSINESS」、タクシーデリバリーアプリ「GO Dine」の分析基盤を開発運用している伊田です。本記事では GCP のコスト分析をするために実施したデータ整備について紹介します。

こんにちは、Mobility TechnologiesでFlutterエンジニアとして働いているTomiと申します。以前ブログで書いた「Flutter moduleのAARをMaven + GitHub ActionsでGitHub Packagesにデプロイする」ではFlutter v3.3.0より前のバージョンで動作する方法を紹介しました。 今回はFlutter v3.3.0以降でも動作するFlutter moduleのAARをGitHubのレポジトリにデプロイする方法を解説します。

技術戦略部 SREグループの古越です。前回の記事でパーティショニングを導入する段階で注意するポイントについて主に触れてきました。今回は導入するために具体的に行った事や追加で導入する拡張機能の解説などを踏まえて紹介していきます。

技術戦略部 SREグループの古越です。MoTで開発しているサービスの多くはAurora PostgreSQLを利用しています。一部サービスにはデータが蓄積し、肥大化していくテーブルの管理が課題になっています。今回は開発者からの要望で新規サービスの幾つかにパーティショニングを導入する事になりました。SREグループでパーティショニング導入までに検証したことを検討編と実践編という2つの記事で紹介できればと思います。検討編では事前検証として行った事のまとめとして、導入検討の段階で注意するべきポイントを紹介いたします。実践編では導入するために行った具体的な施策について紹介してきます。

Flutterエンジニアの井戸田です。 今回はFlutterでGoogleChromeの拡張機能を作ることができることを知ったので、その方法を紹介します。

これはMobility Technologies (MoT) アドベントカレンダー6日目の記事です。2022年10月22日に開催された企業・学校対抗の競技プログラミング大会の PG BATTLE 2022 にMoTから参加したので、その時出題された問題・感想について記載していきます。

こんにちは、SREグループの水戸 (@y_310)です。MoTのSREグループでは毎週1時間の定例ミーティングを実施しています。今回はこのミーティングの目的や内容についてご紹介します。

タクシーアプリ「GO」のiOSアプリを開発しているTanです。本記事では、WWDC21で発表されたSwift-DocCを触ってみたことについて紹介します。

 MoTでは、クラウドインフラサービスとして主にAWSとGCPを利用しており、コストの管理・確認についてもそれぞれのクラウドインフラサービスが提供しているコストレポートやダッシュボードを利用して確認しています。 今回、AWSとGCPにまたがっているサービスや、両方のコストレポートを行き来せずに確認できる環境が欲しいという要望から、AWSとGCPのコストをGCPのBigQueryに集約させる仕組みを検討し準備しました。そちらの構成内容を紹介します。

こんにちは、SREグループの水戸 (@y_310)です。今回はSREグループが管理しているTerraformのディレクトリ構成について紹介します。MoTのSREグループでは数十のマイクロサービスを運用しており、その全てのサービスのTerraformテンプレートファイルを1つのリポジトリで管理しています。様々なサービスを構築していく中でディレクトリ構成の共通化や共有モジュールの切り出し方などの方針が固まってきたので設計の考え方について紹介したいと思います。

この記事は Mobility Technologies Advent Calendar 2022 の2日目です。タクシーアプリ「GO」の iOS アプリを開発している古屋です。今回は「GO」にあったら便利になりそうなLive Activitiesのプロトタイプを作ってみたので、その紹介をしたいと思います。

タクシーアプリ「GO」のiOSアプリを開発している黒田です。 今回はRIBsアーキテクチャにNeedleを導入検討してみた話をご紹介します。

AI技術開発部分析グループの佐竹です。 分析グループは、タクシーアプリ「GO」におけるデータドリブンなビジネス意思決定を行うために、様々なユーザ分析、乗務員分析を行っています。 今回は統計的因果推論の手法のうち、傾向スコアを用いた因果効果の推定について紹介します。

2022年11月14日に「MoT TechTalk #14 タクシーアプリ『GO』の施策検証、因果推論が解決します」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

バックオフィス基盤チームの棟朝です。普段はタクシーアプリ「GO」の決済集計に関わるバックエンドのバッチなどを開発しています。この度MoTで働きながら北陸先端科学技術大学(JAIST)の博士前期課程を受験し合格することができました!そのため今回はエンジニアとして働きながら大学院を受験をしたという話を書こうと思います。

Kaggle Days x Z by HP World Championship Finalが2022年10月28日〜29日にスペインのバルセロナで開催され、MoTとDeNAからは、宇都・佐藤※1・菅原※1・秋山※2・阿部※2・坂見※2・島越※2・藤川※2・柳辺※2 が参加しました。

こんにちは、技術戦略部 SREグループのカンタンです!データベースのパスワードやAPIサーバの認証情報など秘密情報をきちんと管理しないと漏洩が発生しセキュリティインシデントに繋がる可能性が高いでしょう。数ヶ月前から、SREグループが扱っている秘密情報の管理方法をgit-cryptからsopsに切り替えました。運用が楽になり、セキュリティレベルが向上し、非常に満足しているためsops自体とSREグループの使い方を紹介させていただきたいと思います。

 MoTでは、社内で利用してる数々のサービスやリソースに安全にアクセスできるよう、AWSのマネージドなVPNサービスである、AWS Client VPN環境を準備し、社内に展開しています。 この記事では、実際に社内で利用しているAWS Client VPN環境で採用している、Azure ADでのSSO認証方法についてまとめています。

Mobility TechnologiesでFlutterエンジニアとして働いているTomiと申します。今回AndroidアプリケーションにFlutterを組み込む方法について調べてみました。調査した内容の中でFlutter moduleのAAR(Android ARchive)をMavenとGitHub Actionsを利用してGitHub Packagesにデプロイする方法を解説します。

タクシーアプリ「GO」の iOS アプリを開発している今入庸介です。本記事では、見積もりと実績の乖離を可視化し、見積もりの精度を高めるための取り組みについて紹介します。

皆さんこんにちは。バックオフィス管理画面グループの@lighttiger2505です。 前回社内ブログにNeovim v0.5の解説記事を投稿して以来、ひさびさの投稿です。時の流れは早いもので、Neovimのバージョンもいまやv0.8になっています。本日は前回とは少し趣向を変えて、当グループで開発している「GO管理画面」というプロダクトの設計思想についてご紹介します。

タクシーアプリ「GO」のiOSアプリを開発しているTanです。先月、3年ぶりのオフライン(+オンライン)開催されたiOSDC Japan 2022に、私自身は初オフラインで参加させていただきました。本記事は、参加後の感想など残せたらいいなという思いで執筆いたします。

タクシーアプリ「GO」のiOSアプリを開発しているTanです。今回はMetricKit 2.0を触ってみたことを紹介したいです。

タクシーアプリ「GO」の iOS アプリを開発している今入庸介です。 本記事ではアプリ開発チームにおける振り返り手法とその効果について紹介します。

AI技術開発部プロダクトグループの Atsushi Morimoto (@74th)です。技術書典11にて頒布して好評だった『MobilityTechnologiesアーキテクチャー全て』を、当時公開が間に合わなかった1記事を追加して、無料公開します。記事中にリンクがございます。

タクシーアプリ「GO」の iOS アプリを開発している今入です。本記事ではアプリのストアレビューをチームメンバと一緒に定期的に確認して改善に繋げている取り組みについて紹介します。

Mobility Technologies(以下MoT)は、2022年7月25日(月)から7月28日(木)の4日間開催された「MIRU2022(第25回画像の認識・理解シンポジウム)」のゴールドスポンサーを務め、企業ブースを出展しました。当日の様子を紹介していきます。

2022年7月12日に「MoT TechTalk #13 タクシーアプリ『GO』のデータサイエンス〜配車マッチングの継続的改善〜」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

交通事故削減支援サービス『DRIVE CHART』のドライブレコーダー上で動作するEdge AIライブラリの開発担当の廣安です。今回は我々のチームで行った、入手可能なAIアクセラレータをいくつか選考して評価するという取り組みについて紹介したいと思います。

2022年6月21日に「MoT TechTalk #12 タクシーアプリ『GO』大規模トラフィックを捌く分析データ基盤の全容に迫る!」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

タクシーアプリ「GO」、法人向けサービス「GO BUSINESS」、タクシーデリバリーアプリ「GO Dine」の分析基盤を開発運用している伊田です。本番DBから分析基盤への連携処理を改善した事例を紹介します。※ 本記事の対象読者はETLツールを利用している方を対象にしています

 Mobility Technologies(MoT)では、クラウドサービス上にあるマネージドデータベースや、BigQueryに流しているサービスログの参照ツールとして、ダッシュボードツール「Redash」を活用しています。  以前の記事でご紹介した、Self Hosted版 Redashの構築時は、最新版であるRedashバージョンv10の安定版が出た直後だったため、ひとつ前の安定版であるバージョンv8での構築でした。  なので、今回、社内でのSelf Hosted版 Redashの運用も慣れてきたタイミングに、最新版であるv10へとアップデートを行いました。  この記事では、バージョンアップの際のポイントや、注意点をご紹介できればと思います。

タクシーアプリ「GO」の iOS アプリを開発している久利です。今回は Snapshot Test の導入検討した話をご紹介します。

浮動小数点数が絡む実装のエラーパターンと対策法を紹介します

タクシーアプリ「GO」の iOS アプリを開発している古屋です。今回は「GO」にあったら便利になりそうなWidgetのプロトタイプを作ってみたので、その紹介をしたいと思います。

タクシーアプリ「GO」、法人向けサービス「GO BUSINESS」、タクシーデリバリーアプリ「GO Dine」の分析基盤を開発運用している伊田です。今回、dbt と Dataform を比較して Dataform を利用することにしましたので、導入経緯および Dataform の初期構築を紹介します。※ 本記事の対象読者はELTツールを利用している方を対象にしています

Mobility Technologies(以下MoT)取締役の惠良です。 MoTでは、2021年度下期よりエンジニアのスキルアップを促進するための取り組みとして、『Engineer Challenge Week』という施策を開始しました。これは、プロダクトの開発・運営に向き合うエンジニアが、日々の業務では得にくい新たな知識や技術を獲得するための機会創出を目的として作った施策です。この記事では、この施策の紹介と、何故このような施策を行うことを決めたのか、その想いをお伝えしたいと思います。

SREグループの古越です。MoTのサービスは多くがAWSのAurora MySQLまたはPostgreSQLを利用しリーダーエンドポイントを利用し参照クエリを発行しています。一部のサービスはGoogle Cloud上で構成されており、Cloud SQLの参照クエリの負荷分散が課題としてありました。EKSからCloud SQLに対する負荷分散アプローチを検討する機会があり検証したところ、HAProxyサイドカーとして横付けする方法が有用と分かりましたので本記事で紹介いたします。

Mobility Technologies(MoT)では、MoTの前身の時代から、Googleが提供しているクラウドインフラサービス群であるGoogle Cloud Platform(GCP)を利用していました。MoTが新しくスタートするにあたり、以前まで、各々の会社のGoogle Cloudの組織内で作成し運用していたGCPプロジェクトを、MoT名義のGoogle Cloudの組織内で管理するため、必要なGCPプロジェクトの精査を行ったのち、組織間の移行作業を実施しました。  今回は、この時に実施した組織間でGCPプロジェクトを移行した事例を紹介できればと思います。

MoTではマイクロサービスアーキテクチャを採用しており、標準技術スタックにGitHub Actionsを採用しています。本記事では数多くのリポジトリのCI/CDパイプラインを管理していくアプローチを紹介します。

今年1月からFlutterのWebアプリケーションを開発している孫と申します。一つのFlutterアプリで様々なプラットフォームに提供するためには適応性(Adaptive)と反応性(Responsive)を考慮する必要があります。適応性(Adaptive)と反応性(Responsive)は何なのか、そして何が違うかを解説いたします。※ Youtubeの「アダプティブとレスポンシブの比較 | Decoding Flutter」の内容を元に編集しました。

今年1月からFlutterのWebアプリケーションを開発している孫と申します。Flutter 3.0から公開されたThemeExtensionはあなたのコードをもっと綺麗に整えるのができます。なぜThemeExtensionシステムを使うべきなのか、どのように使ったらいいのかを確認してみましょう!※ Youtubeの「ThemeExtension | Decoding Flutter | Decoding Flutter」の内容を元に編集しました。

タクシーアプリ「GO」のAndroidアプリを開発している山本です。本記事ではAndroid アプリの UI 開発ツールキットである Jetpack Compose ライブラリをプロダクトの機能開発を進めながら導入している事例をご紹介します。

AI技術開発部の木村です。Mobility Technologies(以下MoT)では、画像認識モデル(主にニューラルネットワーク)の開発に加え、車載デバイス上でモデルをリアルタイムに動作させるための軽量化・高速化にも取り組んでいます。軽量化・高速化には、こちらの資料で紹介しているように枝刈りや蒸留など色々なアプローチがありますが、本記事では量子化による高速化を取り上げます。量子化はモデルの軽量化・高速化に非常に効果的ですが、物体検出モデルなど複雑なモデルでは(この記事で実験するように)量子化による精度低下が発生しやすい傾向にあります。本記事では、YOLOv3とYOLOv5の量子化を具体例として、物体検出モデルの精度低下を抑えつつ量子化するためのポイントを解説します。

タクシーアプリ「GO」の iOS アプリを開発している久利です。今回は Xcode Previews をより使いやすくするための3つの工夫についてご紹介します。

GO BUSINESSのフロントエンド側を担当している林です。 この記事ではReact18で正式に実装されるSuspenseという機能について紹介します。

タクシーアプリ「GO」の iOS アプリを開発している今入です。本記事では RIBs アーキテクチャにおける「Workflow」の概念とその活用方法について具体的な実装例を交えて紹介します。

ソフトウェア開発部バックオフィス基盤グループの廖です。 本番運用中にRDBのマイグレーションが行われた際に不意に起きたデッドロックの失敗事例について紹介し、ここで得られた教訓を活かせられたらと思います。

こんにちは、技術戦略部 SREグループのカンタンです。本記事はKubernetesアップデートストーリーシリーズの第3話になっていて、ロードバランサーの構成を大幅に変更した話になります。是非第1話から読んでいただいたほうが背景と内容がわかりやすくなるかと思います!

こんにちは、技術戦略部 SREグループのカンタンです。本記事はKubernetesアップデートストーリーシリーズの第5話になっていて、Helmのメジャーバージョンをバージョン2からバージョン3にアップデートした話になります。是非第1話から読んでいただいたほうが背景と内容ががわかりやすくなるかと思います!

こんにちは、技術戦略部 SREグループのカンタンです。本記事はKubernetesアップデートストーリーシリーズの第2話になっていて、数年をかけてKubernetesのバージョンを1.10から1.21まで11回アップデートした話になります。是非第1話から読んでいただいたほうが背景と内容がわかりやすくなるかと思います!

こんにちは、技術戦略部 SREグループのカンタンです。Mobility Technologies(MoT)では様々なサービスを支えるためにKubernetesを幅広く利用しています。マルチクラウド構成でIstioサービスメッシュやHelmパッケージマネージャなどを使ってAmazon EKSとGKEクラスターを運用しています。本記事ではKubernetes、Istio、Helmのとても古いバージョンで動いていたクラスターの大幅アップデートストーリー、乗り越えた壁、ダウンタイムを発生させないためのコツなどを紹介させていただきます。内容がそれなりにあるため複数の記事に分けて説明させていただきます。

こんにちは、技術戦略部 SREグループのカンタンです。本記事はKubernetesアップデートストーリーシリーズの第4話になっていて、Istioをバージョン1.2から1.13までに数時間でアップデートした話になります。是非第1話から読んでいただいたほうが背景と内容ががわかりやすくなるかと思います!

こんちには、SREグループの水戸です。今回はMoTのSREグループが社内に提供している標準技術スタックを紹介したいと思います。

こんにちは、AI技術開発部AI研究開発第二グループの劉です。私は、道路情報の自動差分抽出プロジェクトにて、ドラレコ映像から標識などの物体を見つける機能の開発を担当しており、その中で画像の分類が必要になります。現在、最先端の画像分類モデルの1つとしてConvNeXtがありますが、アーキテクチャがImageNetの224x224という画像サイズに合わせて設計されおり、例えば32x32といったより小さいサイズの画像を扱う私たちのタスクでは性能を出しきれないという課題がありました。本記事では、小さい画像に対して良好な性能が得られるように、ConvNeXtのアーキテクチャを変更していく流れとその結果をご紹介したいと思います。

タクシーアプリ「GO」の iOS アプリを開発している今入です。本記事では GitHub Actions の特徴を紹介し、それを iOS アプリ開発にどう活かしているのかについて紹介します。

AI技術開発部分析グループの島田です。 分析グループは、タクシーアプリ「GO」におけるデータドリブンなビジネス意思決定を行うために、様々なユーザ分析、乗務員分析を行っています。 今回は因果推論における変数選択の役割について紹介します。

2022年3月17日にDeNA TechCon 2022「Unlimited Expansion」にて、「あと何分?タクシーアプリ『GO』到着予測AIの社会実装まで」という内容で登壇を行いました。本記事では登壇の内容を簡単に紹介します。

こんにちは、SREグループの水戸 (@y_310)です。2月に初めての子供が生まれ、3/1-5/8まで約2ヶ月の育児休暇を取得しました。まだまだ男性育休取得率が低いと言われている世の中なので、育休を取得するというのは具体的にどういうことなのか少しでも解像度が上がることを期待して自分の体験を共有したいと思います。

スマートドライビング事業部 システム開発部 AI基盤グループ の廣安です。ドライブレコーダー上で動作する交通事故削減支援システム『DRIVE CHART』のAI推論処理を行うEdge AIライブラリの開発やAIテスト環境の改善等を担当しています。この記事ではサーバサイドのCPU上でAI推論処理を高速に動作させるための方法と、運用中サービスに実際に適用して処理時間を1/3にまで改善できたという話をします。

タクシーアプリ「GO」の iOS アプリを開発をしている古屋です。この記事ではiOS 13のサポートを切るにあたって対応した内容を紹介したいと思います。

タクシーアプリ「GO」の iOS アプリを開発している久利です。キャンプに行きたいけど花粉症が怖い今日この頃。今回はアーキテクチャ変更の過程で必要になった、アーキテクチャの部分適用についてご紹介します。

タクシーアプリ「GO」、法人向けサービス「GO BUSINESS」、タクシーデリバリーアプリ「GO Dine」の分析基盤を開発運用している伊田です。BigQuery Remote Functions (Preview) を利用することのメリットや、導入にあたり工夫した点を紹介します。※ 本記事の対象読者は BigQuery を利用してパイプラインを作成している方を対象にしています

2022年4月6日に「MoT TechTalk #11 深掘りコンピュータビジョン!研究開発から社会実装まで」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

AI技術開発部分析グループ所属の秋月です。 分析グループは、タクシーアプリ「GO」におけるデータドリブンなビジネス意思決定を行うために、様々なユーザ分析、乗務員分析を行っています。 今回はBIツール「Looker」を利用した地図上でのデータ可視化を方法を紹介します。

MoT、AI技術開発部の立松です。先日、統計検定準一級(CBT)を受験し合格しました。非常に学びの多い資格だったので、勉強の流れや受験してよかった点などをご紹介したいと思います。

タクシーアプリ「GO」、法人向けサービス「GO BUSINESS」、タクシーデリバリーアプリ「GO Dine」の分析基盤を開発運用している伊田です。GitHub Actions から OIDC トークンを利用し、サービスアカウントキーなしで GCP に認証した上で Terraform の CI/CD を構築する方法を紹介します。※ 対象読者は分析基盤を管理しているデータエンジニア、または Terraform を管理しているエンジニアです

タクシーアプリ「GO」の iOS アプリを開発している今入です。Unit Test のひな形を自動生成することで Unit Test を書き始めるまでの準備時間を短縮した事例を紹介します。

バックオフィスチームのGo言語の実装事例を紹介します。

ソフトウェア開発部バックオフィス基盤グループの廖です。普段開発されたサービスの中、処理速度が遅くなったり、メモリ/CPU消費率が高くなったりすることを経験したことがありますでしょうか?この記事では今までサーバーサイドの開発でパフォーマンス改善の取り組みについてご紹介したいと思います。

こんにちは、Mobility Technologiesのデータエンジニアの渡部徹太郎です。データサイエンティストの皆さん、以下のような状況になったことないでしょうか。こういったときは以下の資料を見てください。きっと解決します!スライドへのリンクこの資料は、先日社内の勉強会で説明した資料になります。

2022年2月17日(木)、18日(金)に開催される「Developers Summit 2022」にMobility Technologies(以下、MoT)のエンジニアが登壇し「24時間走り続けるタクシー車載器の安定稼働を目指したログ基盤の開発」について発表します。

2022年2月1日に「MoT TechTalk #10 タクシーアプリGOでAIとGCPを駆使しリアルタイムにタクシー需要を予測!アーキテクチャ全貌公開」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

いよいよ今週末となりましたが、2022年1月22日(土)から1月30日(日)のおよそ一週間に渡って開催される技術書オンリーイベント「技術書典12」にシルバースポンサーとして協賛します。

あけましておめでとうございます(といってももう1月半ばですが)、技術広報チームの山本です。皆さま、年末年始はどのように過ごされましたでしょうか?12月はテック業界恒例のアドベントカレンダーがあるので、ブログの未読消化に忙しかった方もいらっしゃるのではないでしょうか。弊社Mobility Technologies(以下、MoT)でもアドベントカレンダーにチャレンジし、無事完走できました。本記事ではアドベントカレンダーとして投稿された記事をふりかえり、一言紹介をしてみたいと思います。 もしまだご覧になっていない記事があったらぜひこの機会に読んでみてください。

これはMobility Technologies Advent Calendar 2021の25日目の記事です。こんにちは、『GO』のユーザーアプリ開発のエンジニアマネージャーの日浅です。『GO』のプロダクト開発では、Large Scale Scrum(以下 LeSS)を採用しています。本ブログでは、どのような課題に対して、LeSSを採用するに至ったかを書き留めました。また、より詳細な内容は、Regional Scrum Gathering Tokyo 2022 『どうする?GOする!LeSS導入する!?』で現場感も含めてお伝えできればと考えているので、是非ご参加の方はご視聴ください。

2021年12月13日に「MoT TechTalk #9 タクシーアプリのビジネスデータ分析」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

これはMobility Technologies (MoT) アドベントカレンダー20日目の記事です。2021/10/23 に開催された企業・学校対抗のアルゴリズムコンテストPG BATTLE 2021 にMoTから参加したので、今回出題された問題や結果、感想についてまとめます。

この記事はMobility Technologies Advent Calendar 2021の18日目です。こんにちは、AI技術開発AI研究開発第二グループの劉です。私はドラレコ映像から標識などの物体を見つける物体検出技術を開発しているのですが、その精度を改善していくためにはまず検出エラーを細かく分析することが重要です。本記事では、物体検出のエラー分析に関する論文である”TIDE: A General Toolbox for Identifying Object Detection Errors”を解説すると共に、その著者らが公開しているツールを実際に使ってみた結果をご紹介をしたいと思います。

この記事は Mobility Technologies Advent Calendar 2021 の17日目です。タクシーアプリ「GO」の iOS アプリを開発している今入です。日々複雑化するアプリをどのように設計して開発しているかについて紹介します。

DRIVE CHARTでは、機械学習システムのデータパイプラインとしてAirflowを利用しています。 今回は、AWSで提供されているマネージドサービス「Amazon Managed Workflows for Apache Airflow(MWAA)」に移行したので、ちょっとしたtipsや導入・運用時のハマリポイントをまとめようと思います。

次世代事業本部 データビジネス部 KUUグループの田中です。今回は、PosgreSQLのFDWを活用して、外部データベースに存在するテーブルを透過的に扱えるようにし、同一データベース内でJOINやサブクエリ利用をできるようにした話です。

この記事はMobility Technologies Advent Calendar 2021の14日目です。タクシーアプリ「GO」の iOS アプリを開発をしている古屋です。この記事では GO でなぜバグバッシュを開発のプロセスに組み込んだか、やってどうだったかについて紹介します。

この記事は Mobility Technologies Advent Calendar 2021 の12日目です。  MoTでサービス展開しているタクシーアプリ『GO』では、地理情報を元にした様々な処理を行っているのですが、その中でも、タクシー車輌やお客様が特定範囲内に位置しているかどうかの判定処理は様々な処理の中で実行されるものとなります。 この記事では、この高頻度で実行される処理の高速化をどのように実現しているのかについてご紹介します。

この記事はMobility Technologies Advent Calendar 2021の7日目です。こんにちは!タクシーアプリ「GO」の iOS アプリを開発しているパクです。今回は「GO」アプリを支えるGoogle Mapsの活用について紹介したいと思います。

 この記事はMobility Technologies Advent Calendar 2021の9日目です。 MoTでは、社内で利用してる数々のサービスやリソースに安全にアクセスできるようにするため、AWSのマネージドなVPNサービスである、AWS Client VPN環境を準備し、社内に展開しています。 この記事では、実際に利用してるこのAWS Client VPN環境の設定・構築内容をご紹介できればと思います。

DRIVE CHARTのAIシステムの開発・運用では、EKS上に構築したKubeflow Pipelinesをワークフロー環境として利用しています。本投稿では、このプラットフォームの活用や構成、構築やスケールの過程で遭遇した問題とその解決についてご紹介します。

この記事はMobility Technologies Advent Calendar 2021の1日目です。タクシーアプリ『GO』のアプリ開発のマネージャーの日浅です。 2020年の会社統合後、iOSチームのマネージャをしていましたが、その当時、どのような考えでチーム戦略を考えていったのかを振り返っていきたいと思います。

この記事ではドライバー同定という運転に関する情報からドライバーを当てるという問題について紹介します。まずこの分野の背景知識として同定における3つの階層というものを説明し、最後に最近の事例をいくつか紹介していきたいと思います。

BigQuery でさまざまな情報が JSON 形式で格納されているテーブルはありませんか? MoT でも JSON 形式でログ情報を格納しているテーブルが存在します。そのようなテーブルの難点と、難点を克服するためのエンジニアリングについて紹介します。

こんにちは、SREグループの水戸 (@y_310) です。前回の記事でも触れたとおりMoTにはたくさんのサービスが稼働しており、それに応じて様々なインフラリソースも作成されています。そのためリソースの見通しを良くし、インフラ構築時に迷わず命名できるようにするために色々な命名規則を定めています。命名規則はその組織が置かれている状況や直面している課題によって何を優先するかも異なり絶対的に正しい方法は無いと考えているため、この記事を読んだ方がご自分の状況と照らし合わせて取捨選択の判断がしやすいようにそれぞれの命名規則を決めた理由と合わせて紹介していきます。

 MoTでは、クラウドサービス上にあるマネージドデータベースや、BigQueryに流しているサービスログの参照ツールとして、ダッシュボードツール「Redash」を活用しています。 以前は、Web版のRedashを利用していましたが、2021年11月末にWeb版のサービス提供が終了することが告知されたため、弊社が管理しているAmazon EKS上インフラ基盤Kenos(ケノス)上に、新たにSelf Hosted版 Redashを構築し運用する事となりました。急遽の対応だったにも関わらず、短期間で準備し検証、構築までできたうえ、現状大きなトラブルなく安定稼働しています。 この記事では、現在MoTで利用しているSelf Hosted版Redashの構築内容についてご紹介いたします。

こんにちは、技術戦略部 SREグループのカンタンです。MoTが提供しているサービスを成長させるために様々なマイクロサービスを次から次と開発しています。マイクロサービスの増加に伴って全体のシステムが複雑になり、前回の記事で話た共通ログフォーマットも含めて様々な機能の共通化がとても大事になってきています。API開発のハードルを下げるため、サービス間の通信をgRPCに統一しようとしていて、本記事ではMoTで採用しているProtocol Buffers (PB)の一元管理方法を紹介させていただきます。

今回は弊社タクシーデリバリーアプリ「GO Dine」において取り組んでいるソフトウェアテストの自動化についてブログを書かせて頂きます。本アプリでは自動化ツール「Autify for  Mobile」を用いて自動化に取り組んでおりますので導入から現在の状況までをまとめていきます!

AI技術開発部アルゴリズムグループの齋藤です。今回は前回紹介した到着予想時間(Estimated Time of Arrival, ETA)について、タクシーアプリ「GO」を運用する際に出てくる特有の問題を考慮して開発した内製ETA算出エンジンの概要と特徴について紹介します。

AI技術開発部アルゴリズムグループマネージャーの織田です。MoTでは既存のタクシー交通システムのDXによる効率化を推進していますが、「果たしてどこまで効率化が可能なのか」という究極的な問いについて考えることは有益であると考えています。未来が完全に予測できるとして、最適な運行管理を行うことで無駄な走行(コスト、CO2排出量)をどの程度まで削減できるのでしょうか?本記事ではMIT Senseable City Laboのグループが提案したvehicle-shareability networkによる最小車両数問題の解法について紹介し、実際に東京のタクシートリップデータで行った評価結果について議論したいと思います。

プッシュ通知関連のデータを制御するテーブルは1億レコードにも及ぶのですが、この巨大なテーブルによってDBのパフォーマンスが悪化する問題が発生していました。それらをどのように改善したのかについて解説します。

こんにちは、SREグループの水戸 (@y_310) です。MoTでは多種多様なマイクロサービスが稼働しています。マイクロサービスは一般的に、あるプロダクトを何らかの形で分割した内の一部の役割を担うものです。その分割されたマイクロサービスにおいてどこまでをそのサービスの責務とし、どの役割を含めてどの役割を含めないか、という他のサービスとの適切な境界を見つけることは非常に重要です。SREグループでは多くのマイクロサービスのアーキテクチャ設計に関わりながらマイクロサービスの分割点についての知見を得てきました。この記事では実例をベースにマイクロサービスの分割点の見つけ方について書きたいと思います。

2021年11月8日に「MoT TechTalk #8 IoT/クラウドでRust言語をフル活用!AIドラレコの裏側を紹介」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

タクシーアプリ「GO」の iOS アプリを開発をしている古屋です。この記事では GO でデバッグメニューにどのようなものを実装して開発の効率を上げているか紹介します。

タクシーアプリ「GO」の iOS アプリを開発している久利です。最近 SwiftUI を使った機能がリリースされたので、どのように導入していったかについてご紹介します。

AI技術開発部アルゴリズムグループの谷本です。今回はマップマッチ結果を複数出すロジックについて紹介します。GPSだけだと走った道路を特定し切らないときに「道路の走行軌跡の候補を複数出して」後で絞る、といった使い方をしたいときに用いることができます。

技術戦略部 SREグループのカンタンです。弊社が提供しているタクシーアプリ「GO」、タクシーデリバリーアプリ「GO Dine」、法人向けサービス「GO BUSINESS」の実現に当たって多数のマイクロサービスを構築することになりました。マイクロサービスの増加に伴って、ログの出力フォーマット、収集方法、閲覧方法の共通化がより大事になってきました。本記事では弊社で考えたログフォーマットを紹介させていただきます。

『JapanTaxi』アプリと『MOV』の統合による後継アプリ『GO』の誕生に伴い、決済集計サービスをAWS Step Functionsを利用して開発しました。

2021年10月14日に「MoT TechTalk #7 技術書典頒布のタクシーアプリ『GO』アーキテクチャ図録を一挙解説」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

この記事では以前Bokehを使ったインタラクティブな可視化ツールの作成したときの経験に基づいて、複数の実現方法を比較・検証します。

AI技術開発部分析グループ所属の秋月です。 分析グループは、タクシーアプリ「GO」におけるデータドリブンなビジネス意思決定を行うために、様々なユーザ分析、乗務員分析を行っています。 本記事では、ABテストを実施した際の効果検証に利用する Baysian Testing という手法を紹介します

リリースは終わりではなく、終わりなきサービス運営のはじまりです。サービスの運営には、サービスの現状を映し出すダッシュボードが重要となります。私たちがデータポータル (DataStudio) を用いてダッシュボードを作成し、失敗・改善した事例をご紹介します。

AI技術開発部アルゴリズムグループマネージャーの織田です。タクシーアプリ「GO」のコアとなるビジネスロジックの一つに、「利用客」と要件にあった適切な乗務員・車両(本記事では「供給者」と呼ぶ)をマッチングするアルゴリズムがあります。では、どのようなマッチングが適切なのでしょうか?近年、マーケットデザインの研究・社会実装が注目されており、モビリティプラットフォームにおいてもマーケットデザインの考え方が活用できる場面が多くあるのではないかと考えています。本記事ではタクシー配車におけるマッチング・マーケットデザインについて議論してみたいと思います。

システム開発部 AI基盤グループの廣安です。交通事故削減支援を行う次世代AIドラレコサービス『DRIVE CHART』のAI推論処理を行うEdge AIライブラリの開発やメンテナンスを主業務としています。今回はそのライブラリ開発の品質保証のためにどのようにCI/CDを利用しているかという事例について紹介します。

みなさん、こんにちは。タクシーデリバリーアプリ「GO Dine」のバックエンドエンジニアをしている平井と申します。MoT TechTalk #6の中でも触れたのですが、弊社では、Amazon EKS上にKenos(ケノス)と呼んでいるK8sがベースとなっているインフラ基盤をSREチームが構築し、プロダクト開発に活用しています。

こんにちは、MoTのソフトウェア開発部のパクです。私はタクシーアプリ「GO」のiOSユーザーアプリを開発しています。今回は日々増えているサービス要件に従って、無限に肥大化し続けているアプリをどうやって開発破綻しないようにするかについて話したいと思います。

AI技術開発部アルゴリズムグループの齋藤です。今回は弊社が提供するタクシーアプリ「GO」における非常に大事な到着予想時間(Estimated Time of Arrival, ETA)とは何か、精度向上のためにどのような工夫をしているのかについて紹介させていただきます。

プロダクトマネジメント本部クオリティマネジメント部の澤田です。クオリティマネジメント部では、『業務効率化・最適化』に対する活動を日々進めています。 この活動の一つとして、弊社プロダクトの一つである「DRIVE CHART」のQCチームにおいて、RPAツールを活用した「テスト業務の自動化」を実現しましたので、今回は、テスト業務における自動化部分の選定から実現方法までの流れをご紹介します。

2021年8月25日に「MoT TechTalk #6 タクシーデリバリーアプリ「GO Dine」を支えるバックエンド」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

MoTのAI技術開発部の立松と島越です。先日行われたkaggleの"Google Smartphone Decimeter Challenge"コンペティションにて、私たちが参加したチームが6位で金メダルを獲得しました。本記事では、我々の解法や上位陣の解法を含めたコンペの概要についてスライドで紹介させていただきます。

AI技術開発部アルゴリズムグループの谷本です。「マップマッチ・経路検索などのアルゴリズムを含む内製地図ライブラリ」のメンテナンスを主業務としています。今回はpythonによって実装された内製地図ライブラリ、特に経路探索部分をCythonを使って高速化した事例を紹介します。

AI技術開発部分析グループマネージャーの島田です。分析グループは、タクシーアプリ「GO」におけるデータドリブンなビジネス意思決定を行うために、様々なユーザ分析、乗務員分析を行っています。本記事では、分析グループ内で開催した統計的因果推論の勉強会について紹介したいと思います。

MoTでは、さまざまな施策の効果をデータ分析によって計測し、次の施策に繋げています。本記事ではその例の一つとして、統計的因果推論を用いたマーケティング施策の効果推定事例を紹介します。

 AI技術開発部アルゴリズムグループの島越です。前回は、アルゴリズムグループの老木と島越がGoogle Cloud Day: Digital' 21 で登壇した内容について、BigQueryの活用例についてまで紹介しました。こちらの後半パートでは、BigQuery ML の活用例について紹介していきます。当日の動画はGoogle Cloud Dayのサイトに、スライドについてはこちらに公開されています。

バックオフィスグループのアベです。普段はタクシーアプリ「GO」の事業者向けサービスのサーバーサイドを開発しています。今回はマーケティングチームの業務の自動化に協力しつつ、成果物の一部をOSSとして公開したお話を紹介します。

 AI技術開発部アルゴリズムグループの島越です。今回は、アルゴリズムグループの老木と島越がGoogle Cloud Day: Digital' 21のブレイクアウトセッションで「AI を用いたタクシー配車における BigQuery 徹底活用術」というタイトルで登壇しましたので、その内容について紹介させていただきます。なお、当日の動画はGoogle Cloud Dayのサイトで視聴することができます。また、スライドについてもこちらに公開されています。ブログについては、老木が発表した部分を前半パート、島越が発表した部分を後半パートとして紹介させていただきます。この記事は前半パートの記事となっています。

前回はNeovimにLuaランタイムが組込みされた事によりNeovimのプラグインのエコシステムに大きな変化が起こったことを書きました。 後編ではNeovim v0.5から追加された大きな新機能であるTree-sitterとLSPクライアントについて解説してきます。この2つの機能はどちらもLuaで実装されており、Neovim v0.5以降のLuaランタイムが組込みされたNeovimでのみ動作します。 もし前編をご覧になっていなければ、前編のあとに後編をご覧になったほうが、より理解が深まると思いますので、時間に余裕があればぜひご一読ください。Neovim v0.5リリース記念 v0.5の新機能を紹介します【前編】

はじめまして、AI技術開発部 分析グループ の浅見です。Mobility Technologies(MoT)では、BigQuery上でログの保存やデータマート運用を行い、集計や分析をした上で、LookerやGoogleスプレッドシートで効果検証などをレポート化しています。BigQueryはとても強力なツールなのですが、統計処理を入れようとすると、PythonやRなどの別モジュールを構築する必要があり、メンテナンスコストが発生してしまいます。そんな時のため、BigQuery内で統計処理を完結させるちょっとしたTipsを紹介します。

みなさん初めまして、バックオフィスグループのサーバーサイドエンジニア@lighttiger2505です。普段は弊社が提供するタクシーアプリ「GO」を利用するタクシー事業者がタクシー配車状況を確認したり、車両の情報を管理するための事業者向けの管理画面などを作っています。本日はMoTの話とは少し離れて、私も使っているテキストエディタ。Neovimの話をします。なぜかというと、つい先月Neovimの新バージョンv0.5がリリースされたからです。イチNeovimユーザーとして、ブログにこのネタを採用しないわけにはいけません。

August 02, 2021

AI技術開発部アルゴリズムグループマネージャーの織田です。アルゴリズムグループは、配車アプリ「GO」におけるデータ分析や、機械学習システムの開発・運用を行なっているチームです。本記事では、私たちがチームとして実践している「GO」のデータサイエンスの魅力を紹介したいと思います。

2021年7月7日に「MoT TechTalk #5 Flutterで作るタクシーデリバリーアプリ「GO Dine」」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します

こんにちは!プロダクトマネジメント部クオリティマネジメントグループの芝山です。今回、2021年5月28日に開催された JaSST'21 Tohoku に参加してきました。私はMoTに2021年5月に入社したばかりで、今まで約7年QAエンジニアをやっていますが、JaSSTへ参加したのは今回が初めてです。初めて参加してみた視点をみなさまに共有できればと思います。

2021年5月27日に「MoT TechTalk #4 Androidエンジニア必見!タクシーアプリGOのUXを高める工夫」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

 初めまして。MoTのAI技術開発部アルゴリズム第一グループの島越 [1]です。本ブログでは、私が最近ソロで10位を獲得したKaggleのコンペティション「Shopee - Price Match Guarantee」で行った取り組みについてと上位の手法について紹介したいと思います。なお、本記事で使用している画像は特に断りがない限り、上記コンペの画像を使用しております。

2021年4月19日から23日まで開催されたThe Web Conference 2021(WWW)にAI技術開発部 アルゴリズムグループの織田が参加しましたので、モビリティサービス観点での学会概要を報告したいと思います。また、効果検証、推薦システムに関するLikedIn / Googleの論文を紹介します。

こんにちは、AI技術開発部AI研究開発第二グループの宮澤(@kzykmyzw)です。私は、地図のメンテナンスのためにドラレコ映像から道路の変化情報を自動抽出するプロジェクトに携わっています(プレスリリース)。このプロジェクトでは、ドラレコ映像に写った道路標識や信号機などを検出してそれらの位置を特定し、地図と比較することで変化を見つけます。この記事では、このプロジェクトのコアとなるコンピュータビジョン技術について、映像から検出した物体を地図と比べるためにどんな処理を行なっているかをご紹介します。

次世代事業本部 データビジネス部 KUUグループ の田中です。今回はシステムのログを分析をしやすくするためにAWSのCloudWatch LogsのログをGCPのBigQueryに転送する仕組みを構築し、BigQuery上で分析できるようにした話です。

2021年4月8日に「MoT TechTalk #3 タクシー配車ならではの技術が盛りだくさん!iOSアプリの開発現場」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

こんにちは、バックエンドグループの冨永と申します。 弊社のタクシーアプリGO にはGAE Standard 1st Go1.11を使用しているAPIサーバーがあり、このサーバーの2nd Go1.12以上への移行を計画しています。他サイトでもGAE 2ndへの移行記事が増えてきましたが、実際に取り組んでみると新たに得られた知見がありましたので共有したいと思います。

AI技術開発部アルゴリズムグループの織田です。 この度、自身が取り組んでいた研究「Equilibrium Inverse Reinforcement Learning for Ride-hailing Vehicle Network」がWeb・データマイニングに関する国際会議「The Web Conference 2021」にて論文採択されましたので、内容を紹介したいと思います。

こんにちは、AI技術開発部AI研究開発第二グループの佐々木です。 本記事では、物体検出アルゴリズムを効率的に開発できるフレームワークIceVisionを紹介します。airctic/icevision

2021年3月9日に「MoT Online Tech Talk Vol.2 車載Androidシステムの技術と開発チーム」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

こんにちは。 車載システム第二グループの空中です。Twitter等では @soranakk で活動しているのでそちらの方がわかるかもしれません。 普段はタクシー車両に搭載された専用端末上で動作するAndroidアプリ開発をしています。さて、唐突ですがJCenterが閉鎖されます。https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/概要についてはこちらの記事が参考になると思います。 https://bps-tomoya.hateblo.jp/entry/2021/02/04/184317 Androidアプリ開発ではほぼほぼ100%ぐらいのアプリがJCenterを参照しているのでJCenterからMavenCentralに移行して大丈夫かどうかを調べる必要があります。 これの影響調査と暫定対応をやったので備忘録として残しておきます。

2021年2月5日に「MoT Online Tech Talk Vol.1 No.1*タクシーアプリを支えるバックエンド」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

2020/12/08に開催されたprimeNumber社+Looker社の共同ウェビナー [リンク ]で、PDM部の千種とAI部の鳩が登壇しました。本記事では共同ウェビナーで登壇したスライドを紹介させて頂ければと思います。

こんにちは。AI技術開発部の加藤(@_tkato_)です。前回に引き続きプログラミング言語Rustの社内イベントを開催しました。本記事では、イベントの紹介と一部の発表資料を公開します。

2020/11/3 ~ 2020/11/06 にかけて開催された ACM SIGSPATIAL 2020 (28th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems) にAI技術開発部 アルゴリズムグループの 高橋 と 齋藤 が参加しましたので論文紹介とあわせて報告します。なお、本記事は高橋、齋藤の共著となります。

 2020 年 10 月に終了した Kaggle のコンペ 「RSNA STR Pulmonary Embolism Detection」で MoT のメンバー 佐藤*、島越*で構成されるチームで、784 チーム中9位となり、金メダルを獲得しました! 本記事では、このコンペの概要と我々のソリューションを紹介したいと思います。なお、本記事は佐藤、島越の共著となります。また使用したコードはgithub 上でも公開しているのでぜひご覧ください。

 2020/08/23~2020/08/27 にかけて開催されたKDD2020(The 26th ACM SIGKDD Conference on Knowledge Discovery and Data Mining)に佐藤と島越が参加しました。KDD は機械学習やデータマイニングに関するトップカンファレンスの1つであり、Mobility に関する手法も数多く提案されています。今回KDD2020 はCOVID-19 の影響もありオンラインでの開催となりました。 本記事ではKDD2020 で佐藤・島越がそれぞれ興味を持った論文を紹介させていただきます。記事内では簡単に概要を説明させていただき、より詳細な内容は Mobility Technologies と DeNA が合同で行っている技術共有会のスライドをご参照頂ければと思います。

こんにちは。AI技術開発部の加藤(@_tkato_)です。前回に引き続きプログラミング言語Rustの社内イベントを開催しました。本記事では、イベントの紹介と一部の発表資料を公開します。

はじめまして、AI技術開発部の加藤(@nk35jk)です。本記事では、コンピュータビジョン分野において近年注目されつつある研究トピックである、ラベルの与えられていない動画データを用いて画素レベルでの物体追跡(dense tracking)を学習する研究の動向を紹介します。

Kaggleコンペティション「OpenVaccine: COVID-19 mRNA Vaccine Degradation Prediction」において、MoTのデータサイエンティスト 藤川和樹* を含む2名のチームが1,636チーム中2位に入賞しました。

こんにちは。AI技術開発部の加藤(@_tkato_)です。先日プログラミング言語Rustの社内イベントを開催しました。本記事では、イベントの紹介と一部の発表資料を公開します。

こんにちは。AI技術開発部 MLエンジニアリング第1グループの築山です。以前、社内でOptunaとKubeflow Pipelines(以下KFP)を用いて並列ハイパーパラメータチューニングを行い、とあるプロダクト(後述する『お客様探索ナビ』の経路推薦システム)のパラメータに適用する機会がありました。

はじめまして、バックオフィスシステム第二グループの辻田です。参画してからもう少しで3ヶ月目を迎えようとしています。主に運用改善系のお仕事をさせていただいていて、インフラとサーバーサイドを触ることが多いです。今回は、わたしの大好きなNuxt.jsにいま勉強中のクリーンアーキテクチャを当てはめてサンプルを実装してみたので紹介したいと思います。業務で実際に試した内容ではないのですが、今後機会があれば挑戦したいと思っていますし、こんなことしてるメンバーもいるんだなあくらいの温度感で読んでいただければと思います。

はじめまして、AI技術開発部の齋藤です。現在MoTではタクシー配車アプリの「GO」と「JapanTaxi」アプリを運営していますが、今回はDataRobot Japan主催の第1回 MLOps 勉強会 Tokyoにて、「JapanTaxi」アプリに導入している機械学習モデルについてお話させていただいたのでそちらについて紹介します。

はじめまして、AI技術開発部分析グループの伊田です。MoTではタクシー配車アプリのKPIなどを筆頭にBIツール「Looker」でレポートを作成し、Slackに日々配信しています。この時、稀にSlack配信が失敗する場合があります。Lookerにはリトライ機構がないため配信が失敗した場合は障害対応として手動でレポートを再配信する運用が発生します。本記事ではLooker APIを利用してスケジュール配信を自動リトライする方法を紹介したいと思います。

こんにちは、Mobility Technologies (以下 MoT) の AI 技術開発部 AI 研究開発第二グループのパエです。MoT では、タクシー配車以外にも、MaaS 発展のための次世代サービス実現に向けて研究開発を行なっています。本記事では、そうした取り組みの一つとして我々が開発中のドライブレコーダ映像から自車両が走行するレーンの番号を認識する技術について紹介します。

はじめまして、AI技術開発部の亀澤です。AI技術開発部では様々な機械学習モデルの開発に加えて、車載デバイスやクラウド上でDeep neural network (DNN)を使ったリアルタイムな予測を行うための、DNNの高速化や軽量化にも取り組んでいます。この記事では、エッジデバイスでDNNを動かす上で、高速化、軽量化に効果があるDNNの量子化について次の3点について説明していきます。

2020/7/5 ~ 2020/7/10 にかけて開催された ACL 2020 (The 58th Annual Meetings of the Association for Computational Linguistics) にデータサイエンスグループの 藤川 と 田口 が参加しました。

MoTメンバーの内田祐介が第76回(令和元年度)電子情報通信学会論文賞を受賞しました。本論文は中部大学の山下准教授との共著のCNNモデルに関するサーベイ論文です。

 初めまして。MoTのAI技術開発部アルゴリズム第一グループの島越 [1]です。本ブログでは、私が最近ソロで3位入賞を達成したKaggleのコンペティション「TReNDS Neuroimaging」で行った取り組みについて紹介したいと思います。また、今回使用したコードについては、github上でも公開しているのでよろしければそちらもご覧ください。

はじめまして、AI技術開発部の廣安です。私たちのチームでは、機械学習を使用したシステムをRustで開発しています。本記事では、機械学習システムのテストに役立つスナップショットテストという手法をRustで実践する方法を紹介します。

はじめまして、AI技術開発部の加藤(@_tkato_)です。私たちはエッジ x クラウドの機械学習システムのプロダクション開発を行う上で、Rustを開発言語の一つとして利用しています。今後はこのブログを使って、私たちがRustで開発している際に得た知見を共有していきたいと思います。

 記念すべき MoT (Mobility Technologies) の技術ブログ第一号記事です :) MoT はタクシーアプリなどの事業統合により、2020 年 4 月から新体制でスタートしたモビリティ DX カンパニーです。「移動で人を幸せに。」をミッションに、タクシーアプリ『JapanTaxi』、『MOV』の運営の他、タクシー車内での広告や決済、タクシー需給予測による乗務員の営業サポート、ドライブレコーダーや交通事故削減支援システム『DRIVE CHART』、自動運転社会やスマートシティの実現を見据えたビッグデータ解析などの R&D 事業と、幅広く事業を展開しています。 本ブログではそんな MoT の強みの一つ、『技術』にフォーカスして様々なお話をさせて頂きます!第一回の本記事では、データ分析コンペティション Kaggle において MoT メンバーが奮闘し、上位成績を収めた際の話を共有させて頂きます!! 2020 年 6 月に終了した Kaggle のコンペ Tweet Sentiment Extraction で MoT のメンバー 田口*、藤川*、山川*、松井*並びに社外のチームメンバー tkm2261 さんで構成されるチームで、2,227 チーム中 5 位となり、金メダルを獲得しました! 本記事では、このコンペの概要と我々のソリューションを紹介したいと思います。なお、本記事は田口、藤川、山川、および松井の共著となります。

こんにちは! iOSエンジニアの黒田です。タクシーアプリ『GO』のiOSアプリを開発しています。 先日行われたiOSDC Japan 2023に参加してきましたので、そのレポートをしていきたいと思います。