2021-01-01から1年間の記事一覧

タクシーアプリのビジネスデータ分析 #mot_tech_talk

2021年12月13日に「MoT TechTalk #9 タクシーアプリのビジネスデータ分析」(connpass)を開催しました。 本記事では当日の内容を簡単に紹介します。 当日のスライド MoT TechTalkとは? MoT TechTalkは、Mobility Technologiesのエンジニアたちが、タクシー…

タクシーアプリ『GO』- プロダクト開発のプロセス改善

これはMobility Technologies Advent Calendar 2021の25日目の記事です。 こんにちは、『GO』のユーザーアプリ開発のエンジニアマネージャーの日浅です。 『GO』のプロダクト開発では、Large Scale Scrum(以下 LeSS)を採用しています。 本ブログでは、どの…

PG BATTLE 2021に参加しました

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

物体検出のエラー分析ツールTIDE

この記事はMobility Technologies Advent Calendar 2021の18日目です。 こんにちは、AI技術開発AI研究開発第二グループの劉です。私はドラレコ映像から標識などの物体を見つける物体検出技術を開発しているのですが、その精度を改善していくためにはまず検出…

iOS アプリを木構造で組み立てるための 7 つのデザインパターン

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

PosgreSQLのFDWを使ってデータベース間で透過的にクエリする

これは Mobility Technologies Advent Calendar 2021 の15日目の記事です。 次世代事業本部 データビジネス部 KUUグループの田中です。 今回は、PosgreSQLのFDWを活用して、外部データベースに存在するテーブルを透過的に扱えるようにし、同一データベース…

Amazon Managed Workflows for Apache Airflow (MWAA) を導入・運用してみて

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

バグバッシュをアプリ開発のプロセスに組み込んだ話

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

GIS処理を超超高速化した話

この記事は Mobility Technologies Advent Calendar 2021 の12日目です。 MoTでサービス展開しているタクシーアプリ『GO』では、地理情報を元にした様々な処理を行っているのですが、その中でも、タクシー車輌やお客様が特定範囲内に位置しているかどうかの…

タクシーアプリ「GO」のGoogle Maps活用術

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

Kubeflow Pipelines on Amazon EKSのワークフロー環境

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

AWS Client VPN環境の構築

この記事はMobility Technologies Advent Calendar 2021の9日目です。 MoTでは、社内で利用してる数々のサービスやリソースに安全にアクセスできるようにするため、AWSのマネージドなVPNサービスである、AWS Client VPN環境を準備し、社内に展開しています。…

運転のクセからドライバーを当てる:ビッグデータ解析が見つけ出す運転のクセ

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

iOSチームのチーム戦略

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

BigQuery での Materialized View による JSON 列の処理

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

デリバリーアプリ「GO Dine」でのテスト自動化の取り組み

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

Self Hosted版 Redashの構築

SRE

MoTでは、クラウドサービス上にあるマネージドデータベースや、BigQueryに流しているサービスログの参照ツールとして、ダッシュボードツール「Redash」を活用しています。 以前は、Web版のRedashを利用していましたが、2021年11月末にWeb版のサービス提供が…

Protocol Buffersの一元管理方法

こんにちは、技術戦略部 SREグループのカンタンです。 MoTが提供しているサービスを成長させるために様々なマイクロサービスを次から次と開発しています。マイクロサービスの増加に伴って全体のシステムが複雑になり、前回の記事で話た共通ログフォーマット…

MoTのインフラリソース命名規則を採用理由とともに紹介

こんにちは、SREグループの水戸 (@y_310) です。前回の記事でも触れたとおりMoTにはたくさんのサービスが稼働しており、それに応じて様々なインフラリソースも作成されています。そのためリソースの見通しを良くし、インフラ構築時に迷わず命名できるように…

タクシーアプリ特有の到着予想時間算出エンジンの特徴

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

タクシー交通システムはどこまで効率化できるのか?

AI技術開発部アルゴリズムグループマネージャーの織田です。 MoTでは既存のタクシー交通システムのDXによる効率化を推進していますが、「果たしてどこまで効率化が可能なのか」という究極的な問いについて考えることは有益であると考えています。未来が完全…

Cloud SQLからDatastoreにデータの保存先を変更した際のハマりどころと解決策

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

マイクロサービス分割点の見つけ方

こんにちは、SREグループの水戸 (@y_310) です。MoTでは多種多様なマイクロサービスが稼働しています。マイクロサービスは一般的に、あるプロダクトを何らかの形で分割した内の一部の役割を担うものです。その分割されたマイクロサービスにおいてどこまでを…

IoT/クラウドでRust言語をフル活用!AIドラレコの裏側を紹介 #mot_tech_talk

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

タクシーアプリ開発で開発効率を上げるためのデバッグメニュー

iOS

タクシーアプリ「GO」の iOS アプリを開発をしている古屋です。 この記事では GO でデバッグメニューにどのようなものを実装して開発の効率を上げているか紹介します。 はじめに デバッグメニューといえば端末をシェイクしたらでてきて、以下のようなものが…

RIBs アーキテクチャを採用している既存のアプリに SwiftUI を導入

タクシーアプリ「GO」の iOS アプリを開発している久利です。最近 SwiftUI を使った機能がリリースされたので、どのように導入していったかについてご紹介します。 はじめに きっかけ GO では2021年4月に iOS 12 のサポートを終了し、そろそろ SwitftUI を使…

複数結果を返すマップマッチロジックの紹介

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

マイクロサービスを考慮した共通ログフォーマット

技術戦略部 SREグループのカンタンです。 弊社が提供しているタクシーアプリ「GO」、タクシーデリバリーアプリ「GO Dine」、法人向けサービス「GO BUSINESS」の実現に当たって多数のマイクロサービスを構築することになりました。 マイクロサービスの増加に…

Step Functionsでマイクロサービスをつなげる

『JapanTaxi』アプリと『MOV』の統合による後継アプリ『GO』の誕生に伴い、決済集計サービスをAWS Step Functionsを利用して開発しました。 背景 タクシーアプリ『GO』、『JapanTaxi』アプリなどの各サービスで決済が発生する、発生した決済情報は支払い、計…

技術書典頒布のタクシーアプリ『GO』アーキテクチャ図録を一挙解説 #mot_tech_talk

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