Mercari Engineering Blog

We're the software engineers behind Mercari. Check out our blog to see the tech that powers our marketplace.

決済システムのマイクロサービス化に伴うデータ移行について

この記事は、 Mercari Bold Challenge Monthの16日目の記事です。

こんにちは。株式会社メルペイのPayment Platform teamに所属している @ogataka50 です。

メルペイではマイクロサービスアーキテクチャで決済システムを開発、運用をしています。

メルペイはNFC決済・QR/バーコード決済・ネット決済を提供しています。それらに加えて、メルカリ内決済のコンビニ/ATM払い、キャリア決済、クレジットカード決済等も提供しています。 メルペイの決済システムはメルカリの決済システムをマイクロサービスとして切り出されたのが始まりになっています。

メルペイはアプリとしては2019年2月13日にサービスリリースしましたが、システム的にはその少し前からメルカリ内の決済機能をマイクロサービス化するため先にリリースされていました。 今回はメルペイリリース前に行われた、決済システムマイクロサービス化、特にそれに伴うデータ移行の話を書こうと思います。

これを実現するために色々あった…

続きを読む

Automation/karakuri for increasing engineering productivity

This is the 15th post for Mercari Bold Challenge Month.

Hi, I’m @celia, an iOS Engineer working at Merpay. In this article, I want to share about how we use automation to increase the team’s productivity. We use tools like fastlane and appium for automated tests, but that's a topic for another blog post. Today I want to introduce how our automation infrastructure allows engineers to implement features that help the team to be more productive, and automates repetitive manual tasks. Mercari’s engineering culture encourages us to take ownership, automate routine tasks and create tools to keep the team’s daily operation running smoothly (If you want to learn more, see this, and this blog post). Hope by the end of this article, you will gain a broader understanding of automation, and maybe play with your own toolkit a bit more.

Firstly, I will give you a quick introduction on the tools and platforms we use and how it’s all connected. Next I will talk about how I created karakuri to improve the team’s productivity. The first one is a slackbot feature that helps the team to pick up code reviews faster. The second one is a command that automates the integration between merpay and mercari iOS codebase, that saves us from doing repetitive manual work.

Introducing mobile team infrastructure

Our infrastructure is made up of four main components:

  • Automation: Tasks triggered by github webhook, scheduled (cron) tasks
  • Bot: Tasks triggered by slackbot command, such as running tests, deployment, release, and integration
  • CI: Bitrise, CircleCI
  • Data: Unit test coverage, test running time, CI success rates
続きを読む

Multimodal Information Fusion for Prohibited Items Detection

This article is the 14th entry in the Mercari Bold Challenge Month.

Hello everyone, I’m Kengo (@karolis_ml) and I’m with Mercari this summer as a software engineering intern in the AI Engineering team in Tokyo. In this blog post, I’d like to present the experimental results on information fusion techniques in multimodal modelling in the context of prohibited items detection at Mercari JP.

TL;DR

  • Machine learning is essential for a scalable prohibited items detection system
  • Simple concatenation of feature vectors still a strong baseline for information fusion
  • Max Pooling demonstrated to be effective for feature selection across modalities
  • Gated Multimodal Units (GMU), an attention-based mechanism for assigning weights to different modalities, outperforms baseline and provides explainability
続きを読む

メルカリの新しいホーム画面を支えるマイクロサービス

この記事は、 Mercari Bold Challenge Monthの13日目の記事です。

こんにちは、メルカリアプリのホーム画面のバックエンド開発を担当している @akkie30 です。

六本木の喧騒を離れた千葉県の温泉宿でこの記事を書いています。この記事を書く前はマザー牧場に行って動物達と触れ合い、ISUCONの予選を突破できなかった悔しさをウサギやモルモットと触れ合うことで洗い流していました。来年は頑張って予選突破したいと思います。

さて、唐突ですがメルカリのアプリを起動した際に表示されるトップページはホーム画面と呼ばれています。 今回の記事では、このホーム画面を刷新するプロジェクトにあたってのバックエンド開発について語りたいと思います。

新しいホーム画面はまだ一部のお客さまにしかリリースされておらず、現在細かい調整や分析を行っている段階です。 「自分の端末だと昔からホーム画面は変わってないぞ?」という方は、申し訳ありませんがもうしばらくお待ちください。

続きを読む

【増枠しました!】9月24日、Mercari Bold Challenge 〜CTOとエンジニアが赤裸々に語る 変化と挑戦〜開催! #BoldChallenge

こんにちは。Corporate Communicationsの @mayumineです。

f:id:mercari-tech:20190911111323j:plain

9月24日、Mercari Bold Challenge 〜CTOとエンジニアが赤裸々に語る 変化と挑戦〜イベントを開催します!

mercari.connpass.com

続きを読む