Mercari Engineering Blog

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

Mercari x Merpay Frontend Tech Talk vol.4 を開催しました

Merpay でフロントエンドエンジニアをしている @_sskyu です。1月15日に Mercari x Merpay Frontend Tech Talk vol.4 が開催されました。私も登壇者として参加したので、当日の発表の様子を紹介します。 Pros and Cons of SSR and JAMstack 最初に私が 「Pro…

アプリを安全にリリースするための取り組み(Release trainとClient release process)

QA

QAエンジニアの@____rina____です。 今回は、メルカリがおこなっているiOSとAndroidのアプリリリース(メルカリではClient releaseと呼んでいます。以下、Client releaseと表示します)を支えるRelease trainという仕組みとプロセスについて紹介します。

Testing Redux-based iOS app.

Every developer is dreaming about well written, bugless and easy to maintain - at least everyone should. A very convenient way to ensure that our code is like the one described in the previous sentence is to do unit testing. Wikipedia's de…

メルカリエンジニア組織 2019 Recap

メルカリのCTOをやっている @snamura です。 Mercari Advent Calendar の最後を締めくくってほしいということで、ブログを書くのが物凄く苦手なんですが無理をして書いています。技術に沿った話で締めくくりたいところですが、ここ1年はずっとエンジニア組織…

メルペイCTOと考える新しい経済学とエンジニアリング

12月1日にhidekさんの記事から始まったメルペイアドベントカレンダーも今日で最後です。締めくくりを私(@sowawa)が務めさせていただきます。私からはメルカリやメルペイの振り返りと「新しい経済学とエンジニアリング」の話をしたいと思います。 はじめに …

Data EngineeringとKubernetes Executorの話

こんにちは。Mercari Advent Calendar 2019の24日目は、US版Mercari Machine Learning & Data Engineering Teamのhatoneがお届けします。 USのData Engineering Teamは、データサイエンティスト・マーケティング・会計チームetcの多岐にわたる社内データのパ…

機械学習における解釈性について

こんにちは。Merpay Advent Calendar 2019 の24日目は、メルペイ Machine Learning チームの @yuhi が機械学習における解釈性についてお送りします。 機械学習における解釈性とは なぜ解釈性が必要なのか 1. サービスを提供する事業者としての説明責任 2. 推…

Webの自動テストのこの1年を振り返って

Mercari Advent Calendar 2019も、この記事を入れてあと3個となりました。最後まで読んでくださいね。 23日目はAutomation&QAグループで、Webのテスト自動化を行っている@AHA_oretamaがお送りします。 今回はWebの自動テストについて、この1年やってきたこ…

JSFestで登壇してきました

はじめまして。メルペイでフロントエンドエンジニアをしている @sottar です。 今年の11月8,9日 にウクライナのキエフで行われた JSFest というカンファレンスにスピーカーとして登壇してきました。 時間が空いてしまいましたが、その際の登壇内容や感じたこ…

Sign in with AppleをCLIでも使いたい

Merpay Advent Calendar 2019 の 23日目は、IDPチーム の @kokukuma がお送りします。 はじめに Sign in with Apple(以降、SIWA)、コマンドラインツールでも使いたくありませんか?使いたいですよね?わかります。特定のAppleID持っている人じゃないと使え…

Mercari Microservices Platformの進捗(2019年)

Microservices Platform TeamでTech leadをしている@deeeeeeetです. 昨年のMTC2018ではMicroservices Platformチームの立ち上げから1年で僕らが取り組んできたことを紹介しました. speakerdeck.com 具体的にはStranglerパターンによるMonolithからMicroser…

Programing AutoLayout philosophically

The 22th day’s post of Mercari Advent Calendar 2019 is brought to you by @StingeSu from the Mercari iOS team. I usually write articles on my Medium, check it out if you are interested! medium.com About AutoLayout iOS AutoLayout which was i…

より良いコードレビューをするために気をつけていること

Merpay Advent Calendar 2019 の22日目は、メルペイスマート払いチーム/Backend Engineer の @oinume がお送りします。今日はコードレビューについて自分が普段から実践していることを書いてみたいと思います。 はじめに 世の中にはコードレビューをする時の…

メルペイ立ち上げの裏側 - 決済サービス開発のゼロイチ話

はじめに こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。この記事は、Merpay Advent Calendar 2019 の21日目の記事です。 3年前、ソーシャルゲーム業界からメルカリに転職してから、幸運なこと…

メルカリアプリのWebView向けWebアプリケーションの開発を支えるモック技術

こんにちは、メルカリでフロントエンドエンジニアをしている @karszawa です。 本日はメルカリアドベントカレンダー2019の21日目の記事として「メルカリアプリのWebView向けWebアプリケーションの開発を支えるモック技術」というニッチ(?)な題目の話をさ…

Fast and robust data transfer to Splunk indexer using custom aggregator for real-time transaction monitoring ⚡

This post of Merpay Advent Calendar 2019 is brought to you by @agro1986 from Merpay AML/CFT team. As explained in our previous articles (1 and 2), Merpay’s AML (Anti Money Laundering) system uses Splunk as its centralized database and rule…

Tech Talk vol.2 Backend Engineer 〜マイクロサービスの冪等性〜 を開催しました

はじめに こんにちは。メルペイBackend Engineerの@knsh14です。 12月18日にメルペイ主催でTech Talkを開催しました。 今回はテーマとして「マイクロサービスの冪等性」を掲げ、プロダクト開発をしているエンジニアたちに冪等性についてそれぞれの思いを語っ…

機械学習モデルを高速にオンラインテストする仕組みを作った話

こんにちは。Mercari Advent Calendar 2019の20日目は、AIチーム所属エンジニアのlain_m21が担当させていただきます。 一度出したサービスはそのまま放置せず、何度も改善させていくものです。特に機械学習を用いたサービスを改善させていく際には、精度向上…

Improving Android Build Performance

The 19th day’s post of Mercari Advent Calendar 2019 is brought to you by @panini from the US@Tokyo Android team. As most Android engineers will know, the majority of your day is spent waiting for Android Studio to complete building your ap…

マイクロサービスにクリーンアーキテクチャを採用する上で考えたこと

Merpay Advent Calendar 2019 の19日目は、Backendエンジニアチームの @toshinao がお送りします。 新しくマイクロサービスを立ち上げる機会があり、クリーンアーキテクチャをベースにしました。クリーンアーキテクチャはバックエンド・フロントエンド・アプ…

「プロダクトと共に進化する」Design Systemをチームで導入した話

Mercari Advent Calendar 2019の18日目はCatalog ListingチームiOSエンジニアの@kokoheiaが担当します。 私が所属するCatalog Listingチームでは、先月から全機能の開発にDesign Systemの導入をしています。Design Systemは、高品質なプロダクトを継続的にお…

メルペイ Android のアーキテクチャとテスト

こんにちは。Merpay Advent Calendar 2019 の18日目を担当する、メルペイ Android チームの @KeithYokoma です。 前回の記事ではマルチモジュール構成なプロジェクトにおける画面遷移の実装について、簡単な設計の方針から解説しました。 今回の記事では、メ…

メルペイエキスパートチームの取り組み〜人類Gopher化計画の進捗報告〜

Merpay Advent Calendar 2019 の17日目は、メルペイ エキスパートチームの @tenntenn がお送りします。 筆者が所属するエキスパートチームでは「アウトプットをするところに技術は集まる」という考えのもと、工数の50%以上を技術コミュニティへの貢献に充て…

リモートのデータ取得のためのフックライブラリの SWR を使ってみる

こんにちは。Mercari Advent Calendar 2019 の 17 日目は Web UX Team 所属の @lightnet328 がお送りします。 どのようにリモートのデータを取得して管理するかは SPA 構成の Web フロントエンドにおいて大きなテーマの 1 つだと思います。最近では Apollo C…

Shaping Mercari's Engineering Culture

Hi, the 15th day's post of Mercari Advent Calendar 2019 is brought to you by @tuttiq from the Engineering Office team at Mercari. Our Engineering Office is not a traditional product development team. In fact, we are nothing like a product …

Mercari x Merpay Frontend Tech Talk vol.3を開催しました

はじめに Merpay のフロントエンドエンジニアの @tokuda109 です。 11月26日に Frontend Tech Talk vol.3 が開催されましたので、当日の発表の様子を簡単に紹介します。 create own CMS from scratch まず最初の発表は Merpay の @sottar_ による「create ow…

Swiftにおける末尾再帰とCompilerによる最適化を探る

初めに この記事はMercari Advent Calendar 2019の16日目の記事です。 こんにちは、iOSエンジニアの@kagemikuです。MercariのiOSアプリ開発をしています。 突然ですが、皆さんは普段、再帰関数を書いていますか? リスト探索や木探索を行うアルゴリズムを、…

メルペイ iOS にスナップショットテストを導入した話

Merpay Advent Calendar 2019 の16日目は、メルペイ iOS チームの @akifumi がお送りします。 メルペイ iOS の品質向上を目的に、スナップショットを用いたテストを行うことができる iOSSnapshotTestCase を導入した話について記載します。 目次 iOSSnapshot…

Rate Limiting Bank Transfers

The 15th day’s post of Merpay Advent Calendar 2019 is brought to you by Robert, a Backend Engineer @ Merpay. Hi, I already talked a little bit about how we have different challenges facing us in my previous post. tech.mercari.com Apart fro…

商品通報対応をgRPCとGraphQLとReactでリプレースしてみた

こんにちは。Mercari Advent Calendar 2019 14日目は、CSTool Domainチームの @Peranikov がお送りします。 メルカリではお客さまに安心して取引を楽しんでいただくため「あんしん・あんぜん宣言」に取り組んでおり、プロダクトの開発と同じレベルの課題感で…