Mercari Engineering Blog

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

Design Systemへの取り組み 〜Frontend編〜

この記事は、Mercari Bold Challenge Monthの1日目の記事です。 こんにちは、MercariのArchitectチームでDesign Systemに取り組んでいる@usagi-fです。 Design Systemはただのスタイルガイドラインではなく、会社として保持するデザインフィロソフィーから実…

Mercari Bold Challenge Month を実施します! #BoldChallenge

こんにちは。 Developer Relations team です。8月26日から9月20日までの約一ヶ月間を「Mercari Bold Challenge Month」と題し、メルカリとメルペイのエンジニアがブログのバトンを繋ぎます。 私たちにも組織の拡大やプロダクトの成長に伴う痛みがありました…

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

はじめに こんにちは、mercari.go オーガナイザーの@morikuniです。 8月20日にメルカリ主催のGo勉強会 mercari.go #10 を開催しました。 今回はGopherCon 2019参加メンバーによる報告会を行いました! この記事では、当日の各発表を簡単に紹介します!

Be Professional Day (BPD) with the Frontend Team!

Hi! I'm @sottar, a frontend engineer at Mercari. The other day, Mercari's Frontend Team held an offsite called Be Professional Day (BPD)! Japanese is here What is BPD? This article has a good explanation about BPD. Basically, it's a day wh…

App development with Kotlin Multiplatform

This is a translation of the article @panini wrote for the Mercari Advent Calendar 2018. The original Japanese article is available here. At Mercari, much of our Android app development is done in Kotlin. Kotlin is mostly known for its use…

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として開発してメ…

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 チームがやってることの全体像…

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

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