Mercari Engineering Blog

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

MRグラス「Nreal Light」とスマホの5Gを想定したフリマアプリ「メルカリ」のデモ開発と展示で得た情報を一挙大公開!

AR XR

こんにちは、株式会社メルカリの研究開発組織「mercari R4D」で、ARとファッションテックをテーマに研究している@ashyanagisawaです。先月、5Gによる未来を紹介するイベント「KDDI 5G SUMMIT 2019」にて、MRグラス(以下、スマートグラス)「Nreal Light」とス…

mercari.go #9を開催しました

はじめに こんにちは、mercari.go オーガナイザーの@morikuniです。 7月17日にメルカリ主催のGo勉強会 mercari.go #9 を開催しました。 この記事では、当日の各発表を簡単に紹介します!

Microsoft MVPを受賞しました!

こんにちは!メルペイのコード払いチームでバックエンドエンジニアをしている@toshi0607です。趣味はサーバーレスアーキテクチャーです。 前職ではRailsサーバーやWebフロントエンドだけではなくWindowsやXamarinを使ったmacOSアプリ開発もしていました。 今…

セキュリティの「衛り」の全国大会 Hardening II SU に出場してきたよ

こんにちは、メルペイでバックエンドエンジニアをしている id:koemu です。 去る2019/07/04〜05の間、私を含めたメルカリグループ3名のエンジニアが、セキュリティの「衛り」の全国大会 Hardening II SU に参加してきましたので、報告します。 TL;DR セキュ…

Jamboardを使って楽しいデイリースクラムをするよ

はじめまして。メルカリの自動化&品質保証グループ(Automation & QA Group:通称AQA)の ____rina____です。 現在、福岡の開発拠点でQAとプロダクトチームのスクラムマスターをしています。 わたしたちのチームでは、デイリースクラムにJamboardを利用して…

mercari.go #8を開催しました

はじめに こんにちは、mercari.go オーガナイザーの@morikuniです。 6月14日にメルカリ主催のGo勉強会 mercari.go #8 を開催しました。 この記事では、当日の各発表を簡単に紹介します!

React-axe で React アプリケーションのアクセシビリティを向上させる

React-axe で React アプリケーションのアクセシビリティを向上させる こんにちは、この 4 月にメルカリに新卒入社したフロントエンドエンジニアの @karszawa です。 この頃は Google I/O 2019 のキーノートでアクセシビリティが大きく取り上げられたり、Saf…

Google Kubernetes Engine上のGoアプリケーションでのHTTPリクエストを行う方法

この記事はMERPAY TECH OPENNESS MONTHの最後の記事です。 こんにちは、メルペイのバックエンドエンジニアの@gia.nguyenです。 私は第3回のGopher道場を卒業してから2018年12月に入社しました。 他の記事にも記載されましたが、メルペイのバックエンドは、Go…

メルペイにおけるお客さま残高の管理手法

はじめに この記事はMERPAY TECH OPENNESS MONTHの19日目の記事です。 こんにちは。株式会社メルペイのPayment Platformチームでエンジニアをしている knsh14 です。 メルペイの様々な決済手段でどのように決済の整合性を保とうとしているかは15日目の記事で…

Introducing ViewModel Inputs/Outputs: a modern approach to MVVM architecture

This is the 18th post for MERPAY TECH OPENNESS MONTH. Hi, I’m @celia, an iOS Engineer working at Merpay. In this article, I want to introduce how the Merpay iOS team practices MVVM architecture with viewModel Inputs/Outputs, to create an i…

iOSアプリで共通UIクラスを使うための仕組み

この記事はMERPAY TECH OPENNESS MONTHの17日目の記事です。 メルペイiOSエンジニアの@masamichiです。 メルペイで導入している、 iOSアプリで共通UIクラスを使うための仕組みについて紹介します。 背景 メルペイでは、メルペイの機能をSDKとして開発してメ…

スマートグラス「nreal light」に最適化したフリマアプリ「メルカリ」の実証実験を開始

AR

「mercari R4D」は、スマートグラス「nreal light(エンリアルライト)」に最適化した「メルカリ」の類似商品検索アプリ「Mercari Lens」のプロトタイプ版を実証実験として開発し、2019年6月27日に開催されるKDDIの法人向けイベント「KDDI 5G SUMMIT 2019」…

Google Cloud Spannerのセッションリークを静的解析で防ぐ

この記事はMERPAY TECH OPENNESS MONTHの16日目の記事です。 メルペイ エキスパートチームの@tenntennです。 @sinmetalの記事でも紹介がされていたように、メルペイではGoogle Cloud Spannerを用いて開発しています。 Google Cloud Spannerはまだまだ世界的…

マイクロサービスにおける決済トランザクション管理

この記事はMERPAY TECH OPENNESS MONTHの15日目の記事です。 こんにちは。メルペイのPayment PlatformチームでPaymentServiceの開発を担当するエンジニアの @foghost です。 メルペイではマイクロサービスのアーキテクチャで決済システムを開発しています。…

Merpay Microservices on Microservices Platform

この記事は MERPAY TECH OPENNESS MONTH の14日目の記事です。 メルペイSREの @tjun です。Engineering Managerをやっています。 先月行われた Mercari Meetup for Microservices Platform #2で、 Merpay Microservices on Microservices Platformというタイ…

メルペイにおける大規模バッチ処理

この記事は MERPAY TECH OPENNESS MONTH の 13日目の記事です。 こんにちは、メルペイ ソフトウェアエンジニアの laughngman7743 です。 メルペイではマイクロサービスにおけるデータストアのデータや、アプリケーションのログを有効活用できるような基盤づ…

WebAuthnことはじめ

こんにちは。株式会社メルペイのID Platformチームでエンジニアをしている @nerocrux です。この記事はMERPAY TECH OPENNESS MONTHの12日目の記事です。 はじめに WebAuthnについて 概要 システム構成 登録と認証 登録 認証 Attestation について Attestatio…

外部APIと連携する機能のデータの持ち方のイチ事例

こんにちは。メルペイ バックエンドソフトウェアエンジニアの id:koemu です。 今日は、外部APIと連携する機能のデータの持ち方について、振込申請のシステムを事例に取り上げていきます。

styled-componentsによる抽象コンポーネント作成のすゝめ

この記事は MERPAY TECH OPENNESS MONTH の 11 日目の記事です。 こんにちは、メルペイのフロントエンドエンジニアの @sawa-zen です。本記事では React ベースのプロジェクトでのコンポーネント作成をちょっと楽するテクニックをご紹介します。

Mercari Meetup for Microservices Platform #2 を開催しました

Microservices Platform Team の @masartz です。 昨年に引き続き、Mercari Meetup for Microservices Platform #2 を先週5月22日に開催しました。 ちなみに昨年版の記事はこちらです、合わせてご確認ください。 第1回から約1年ぶりとなりますが、その間にメ…

gRPCを用いたマイクロサービスのAPI仕様の記述

この記事はMERPAY TECH OPENNESS MONTHの10日目の記事です。 こんにちは、メルペイのバックエンドエンジニアの柴田(@yoshiki_shibata)です。 メルペイのバックエンドは、Google Cloud Platform上でGoogle Kubernetes Engineを使用して、マイクロサービスア…

メルペイにおける Dataflow Template の活用

この記事は MERPAY TECH OPENNESS MONTH の9日目の記事です。 株式会社メルペイのSolutionチームでデータエンジニアをやっている @orfeon です。 この記事ではGCPのデータストアサービスやプロジェクトをまたいでデータを活用するためにメルペイで活用してい…

新卒エンジニア向け技術基礎研修「Fundamental Training」を実施しました!

こんにちは。エンジニアのオンボーディングを担当しているチーム「Engineering Gateway」の@afroscriptです。 メルカリでは、2019年度春の新卒エンジニアとして31名が入社してきてくれました。新卒のみなさん、ウェルカム!:) 入社式のあと、さっそく新卒研…

Cloud Scheduler の cron ジョブで Cloud Spanner のノード数を変更する方法

この記事は MERPAY TECH OPENNESS MONTH の8日目の記事です。 こんにちは。株式会社メルペイ SRE の tkuchiki です。 メルペイでは Cloud Spanner(以降、Spanner) をメインのデータベースとして利用していますが、Spanner に限らず、バッチ処理などで一定時…

AMLチームがどのようにメルペイのデータをSplunkに集め活用しているか

株式会社メルペイのAML/CFTチームでバックエンドエンジニアをしている@hatappiです。 この記事はMERPAY TECH OPENNESS MONTHの7日目の記事です。 前日は同じチームのyagi5からメルペイのAML/CFTシステムを支える技術として AML チームがやってることの全体像…

ARスマートグラスに最適化したメルカリの類似商品検索アプリ「Mercari Lens」のβ版を公開

AR

English follows Japanese 「mercari R4D」は、ARスマートグラスに最適化したフリマアプリ「メルカリ」(以下、「メルカリ」)の類似商品検索アプリ「Mercari Lens」のβ版をVuzix Corporationが提供するVuzix App Storeに公開しました。

マイクロサービスのTelepresenceを使ったローカル開発環境の話

Kubernetesクラスタに構築されたマイクロサービスをより効率的に開発するためのツールであるTelepresenceの使い方をまとめた記事です。Telepresenceによって効率よく、ローカル開発環境を整えることができます。

メルペイのAML/CFTシステムを支える技術

株式会社メルペイのAML/CFTチームでバックエンドエンジニアを努めているyagi5です。この記事はMERPAY TECH OPENNESS MONTHの6日目の記事です。 私たちメルペイが目指すのは、単なる決済手段を提供することだけではありません。 「信用を創造して、なめらかな…

gRPCと手動テスト

この記事はMERPAY TECH OPENNESS MONTHの5日目の記事です。 merpayでNFC決済のmicroservice (nfc-service) を開発担当している @Hiraku です。メルペイのバックエンドシステムは、各microserviceが主にgRPCを主な通信プロトコルとして用意しています。当然、…

Datadogを使って感じた、問題調査/対応における変化とその要因

はじめに この記事はMERPAY TECH OPENNESS MONTHの4日目の記事です。 こんにちは。株式会社メルペイで backendエンジニアをしている cowsys です。 プロダクト/システムで発生した「問題」をいかにして解決するか。 いかに素早く原因を特定/解消し、正常化さ…