Mercari Engineering Blog

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

Summer InternshipでSpannerのSQLパーサ・型チェッカを作りました!

こんにちは。Summer Internship for Engineer 2019の「Expert team Go Engineer (Backend)」に参加した@make.now.justです。 (なお、記事の投稿は代理で@tenntennが行っています。)

本稿では、Summer Internshipの報告として、作成したGoogle Cloud Spanner(以下、Spanner)のSQLパーサ・型チェッカであるmemefishの解説と、また少しですがSummer Internshipの紹介をします。

TL; DR

  • memefishというSpannerのSQLのパーサ・型チェッカを作りました。
  • SQLの構文解析・意味解析は通常のプログラミング言語と少し異なる部分があり苦労しました。
  • Expert teamでのインターンではこういった自由な開発が行えます。興味のある学生は来年のSummer Internshipに参加しましょう。
続きを読む

ApacheCon NorthAmerica 19 に参加、登壇してきました!

こんにちは。メルペイ DataPlatform チームの @syucream です。

この記事では、先日開催された ApacheCon NorthAmerica 19 の参加レポートです。 筆者とメルカリ DataPlatform チームの @shoe116 の二名が登壇をしたので主にその内容について触れます。

ApacheCon NorthAmerica 19 について

Apache project のソフトウェアや関連した内容を取り扱うカンファレンスです。 近年の傾向だと、年数回に北アメリカとヨーロッパ中心に開催されているようです。 今回のイベントは今月 9 月 8 日から 12 日にかけて 4 日間、ラスベガスにて開催されました。

今回の ApacheCon は Apache Beam の内容にフォーカスしたカンファレンス、 Beam Summit との同時開催になっていました。 Apache Beam は以下のように過去に当ブログで紹介した通り、メルカリとメルペイのデータ処理におけるコア技術です。

Apache Beam を使ったユースケースやデータ基盤の技術要素を紹介すること、他社事例やコミュニティの活動をキャッチアップすることは我々にとっても有益なため、メルカリとメルペイから二名参加した次第でした。

続きを読む

Google Cloud Functionsを使ってSlackで簡単にCDN上のキャッシュを消せるようにする話

この記事は、 Mercari Bold Challenge Monthの最終日の記事です。

SREチームの@catatsuyです。

メルカリでは様々な用途でCDNを使っています。基本的にCDN経由で静的ファイルを配信する場合、CDNからはオリジンからのキャッシュを表示するように設定しています。 しかしキャッシュからデータを削除したいこともあります。例えば古いファイルが配信されているので更新したいなどの理由です。

こうしたCDNのキャッシュからの削除依頼は日々様々なチームで発生します。しかしCDNのキャッシュを削除するにはAPIトークンが必要だったり、管理画面にログインする必要があったりするので知識と権限が必要になります。CDNの知識がなくても社内の人なら簡単に削除できる仕組みが欲しいところです。

そこで弊社では以下のようにSlackで簡単にCDN上のキャッシュを削除できるようにしています。今回はその仕組みの紹介です。

f:id:catatsuy:20190918201158p:plain
SlackでCDN上のキャッシュを削除している様子

続きを読む

Microservices と会計システム

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

こんにちは。メルカリで Product Manager として働いている津田と申します。私は社内で「会計システム」と呼ばれる、会社が運営するサービスに付随して発生した債権債務の増減を記録・集計するシステムを開発するチームで働いています。

続きを読む