Mercari Engineering Blog

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

プログラマーの三大美徳 その2

SREチームの@shmorimoです。今日はプログラマーの三大美徳の続きのお話しです。

プログラマーの三大美徳 その2

みなさんはプログラマーの三大美徳ってご存知ですか? プログラミング言語Perlの作者である Larry Wall が
http://www.perl.com/pub/1998/08/show/onion.html
で述べたのが最初とされています。

三大美徳として

  • 怠惰(laziness)
  • 短気(impatience)
  • 傲慢(hubris)

があげられています。

怠惰(laziness)については、以前にこちらの記事でお話しました。

tech.mercari.com

今回は 短気(impatience) についてです。

短気(impatience)

優秀なプログラマーが持っている怠惰という美徳は素晴らしいのですが、その反面というか怠惰さゆえに腰が重いときがあります。
そこで短気な面をうまく刺激することでプロジェクトを円滑に進めることが可能です。

メルカリでの例

みなさんもCIにてテストを動かしていると思いますが、まれにmaster branchのテストが落ちてしまうことはありませんか?
直前にマージした人などは反応してくれるのですが、もっとみんなに反応してもらいたいと思いました。
そこで CI のメッセージを変更してみました。

f:id:shmorimo001:20170329153935p:plain

短気なフレンズが反応してくれました。 すごーい。
このようなメッセージを出すことでプログラマーをイラっとさせ、すみやかに落ちたテストに対応してもらえます。

ちなみに以前は以下のメッセージでしたが、新鮮味が薄れたのでフレンズなメッセージにしてみたのです。

f:id:shmorimo001:20170329153940p:plain

フレンズなメッセージはイラっとしすぎるとの意見があったので、数日前から下のメッセージに変更しております。
こちらもなかなかの反応ぐあいです。

f:id:shmorimo001:20170329153931p:plain

メルカリでは イラっとする英語考えるスキル高いエンジニアを募集中です。

www.mercari.com

モダンなテスト管理プロセスのためにテスト管理ツール3つを比較検討したはなし

f:id:daipresents2:20170326215034p:plain



こんにちは。メルカリのテストエンジニアとして、スマホアプリのテスト自動化をぶりぶりしている@daipresentsです。

テスト自動化をすすめるにあたり、効率のよいテストを作るために、既存のテストケースについて調べる機会がありました。その過程で現状のQAプロセスも確認したのですが、以下のようなテストケース管理の課題があることがわかりました。

続きを読む

golang.tokyo#4でGo開発環境Goglandのライブデモを見てきた

こんにちは、メルカリアッテのAPIチームでGoエンジニアをしている@sonatardです。

この記事は弊社ソウゾウの社員である@tenntennが運営しているgolang.tokyo #4のブログ枠として書いています。

golang.tokyo #4では、ゲストスピーカーとしてJetBrains社のSergey Ignatov氏にご登壇いただきGoglandをライブデモ形式で紹介して頂きました。

メルカリアッテではGoogle App Engine for Go (GAE/Go) を全面的に採用しており、サーバサイドエンジニアの中でもGoglandの利用者が増えています。そこでSergey Ignatov氏に紹介して頂いた機能とソウゾウ エンジニアたちが利用しているお気に入りの機能をまとめてご紹介したいと思います。

ソウゾウがGAE/Goを採用した経緯は@ttsuruokaatte 開発の技術:Golang と Google App Engineを御覧ください。

続きを読む

スタンドアロンAMPのススメ

こんにちわ、@t32kです。先日、3/18に大阪で開催されたFRONTEND CONFERENCE 2017に登壇してきました。また弊社メルカリは懇親会スポンサーでした。今回は『スタンドアロンAMPのススメ』というタイトルで講演した内容をシェアしたい思います。

私が所属しているソウゾウ社ではメルカリアッテというクラシファイドサービスを作っています。メルカリは配送システムを介して売買しますが、こちらは直接会って手渡しでモノの売り買いができます。もちろん、手数料や配送料はかかりませんので、よろしかったら使ってみてください。私はそこのWeb担当で、本サイトのAMP実装について話します。

続きを読む

AMP Conf 2017へ行ってきました #AMPConf

こんにちは、Software Engineerの @yui_tang です。

3月7-8日にニューヨークにて開催されたAMP Conf 2017に参加してきましたので、そのレポートを書きたいと思います。

メルカリでのAMPの取り組み

まずは、現在までのメルカリにおけるAMP(Accelerated Mobile Pages)の取り組みについて簡単にお話します。

f:id:yuitang:20170315193319p:plain:w240

2016年7月にメルカリのWebサイトの一部に導入を開始し、現在AMPページには数万PV/日のアクセスがあります。

メルカリ内の商品毎のページが全てAMP対応しているため、そのページ数は相当数に上ります。

流入経路ですが、現在元ページにlink rel="amphtml"を設定しているのみで、メルカリのサービス内にAMPページへのリンクは露出していません。

よって全てが検索流入となっており、事実上ランディング用のページとして機能しています。

AMP Confの主な内容

f:id:yuitang:20170315195821j:plain:w400

全体的な内容として、

  • 7割 各AMP導入企業の実績やTIPS等のシェア
    • PinterestやeBay等が事例を紹介。
  • 3割 AMPチームから新機能や今後の展望の発表
    • 以下にまとめました。

と言ったところ。

新たに発表された内容

新しく発表された内容としては、

  • AMP Start
  • amp-bind
  • Progressive Web AMPs
    • ServiceWorkerによるAMP JSのキャッシュ
    • Server-side renderd AMP
  • Ampersand by Cloudflare

となります。それでは、以下でざっくりと各内容を解説します。

続きを読む