Mercari Engineering Blog

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

2018年のPHPとメルカリ

Mercari Advent Calendar 2018 の 8 日目は Backend チームの @hidenorigoto がお送りします。

来週末12/15(土)には、PHPカンファレンスが開催されます。メルカリでは、これから開催される3つのPHP系カンファレンスをスポンサーとして支援しています。

この記事では、メルカリにおけるPHPとの関わり方と、PHPカンファレンスやPHPコミュニティに向けて、メルカリエンジニアからの一言メッセージを紹介します。

PHPとメルカリ

メルカリでは現在、システムと組織のMicroservies化を進めています。Microservicesの開発にはGoを選択しており、これまでPHPを書いてきたエンジニアも、Goで開発するように移行しています。現在は移行の最初のステップなので、メルカリアプリケーションの多くの部分を、Microservicesアーキテクチャで開発しやすい一つの言語に寄せて開発することで、移行のための効率と将来性のバランスをとっています。Microservicesアーキテクチャに移行完了後は、チームでの技術選択の裁量を大きくとれるようになると考えています。この段階では、技術やプロダクトなどさまざまな観点から、Go以外の言語で機能を開発する可能性があります。その時、PHPは選択肢の一つになっているはずです。

と、今向かおうとしている未来のメルカリの開発に目を向けましたが、一方で、現状ではメルカリの多くの部分は、PHPのコードで動いています。メルカリアプリのAPIコードだけにとどまらず、カスタマーサポートのためのアプリケーション、プロモーションのためのいくつかのツールなど、社内で開発し実際に使われ改善し続けているものはたくさんあります。

今のメルカリがあるのは、PHPと、そしてPHPコミュニティのおかげです。 メルカリは、これからもPHPと関わっていきます。そして、PHPとPHPコミュニティを支援していきます。

メルカリエンジニアからのありがとうPHP

メルカリエンジニア何名かに、好きなPHP関数やライブラリをアンケートし、一言メッセージを集めましたので紹介します! どの関数を選んでいるかで、エンジニアの性格が見えてきそう。PHPってそんな個性がありますよね!

@hiraku twitter

  • 好きなPHP関数、ライブラリ: __halt_compiler()
  • 一言:問題と向き合うことの大切さを教えてもらいました。

@codehex twitter

  • 好きなPHP関数、ライブラリ:print_r()
  • 一言:Perl と似て非常に良い言語でした!罠を沢山踏みましたが、とても入門しやすかったです。

@dqneo twitter

  • 好きなPHP関数、ライブラリ:file_get_contents()
  • 一言:PHPのおかげで友人がいっぱいできました

@shinanon

  • 好きなPHP関数、ライブラリ:fgetcsv()
  • 一言:PHPがあるおかげでプログラマになれました。コンゴトモヨロシク。

@gilbite twitter

  • 好きなPHP関数、ライブラリ:array_values()
  • 一言:ありがとう。これからもよろしく。

@sota1235 twitter

  • 好きなPHP関数、ライブラリ:date_sunset()
  • 一言:どんな技術も正しく理解して使えば役に立つことを学んだ言語でした。また書きます

@yui_tang twitter

  • 好きなPHP関数、ライブラリ:die()
  • 一言:PHPが無かったら今のわたしはありませんでした。ありがとうPHP。

@fivestar twitter

  • 好きなPHP関数、ライブラリ:QIQ
  • 一言:PHPと出会えて本当によかった。これからもいろんなものを作ろう、相棒。

@sotarok twitter

  • 好きなPHP関数、ライブラリ:token_get_all()
  • 一言:PHP、あんたがパーフェクトや。

@yudoufu twitter

  • 好きなPHP関数、ライブラリ:json_encode(), json_decode()
  • 一言:PHPから沢山のことを学び、沢山の出会いを貰いました。ありがとう。

@suzuki twitter

  • 好きなPHP関数、ライブラリ:array_multisort()
  • 一言:DB側でソートすると重くなるときにごそっと持ってきて array_multisort() で並べ替えるの、好き。

@yagihash twitter

  • 好きなPHP関数、ライブラリ:phpinfo()
  • 一言:たくさんの脆弱性との出会いをもらいました!これからも(主に脆弱なアプリのサンプルを)書きます。

@tsuruoka twitter

  • 好きなPHP関数、ライブラリ:var_dump()
  • 一言:PHPからメルカリが生まれました

@bravewood twitter

  • 好きなPHP関数、ライブラリ: === (関数じゃなくてすいません)
  • 一言:PHPやっていたおかげでメルカリに入れました。

@rsky twitter

  • 好きなPHP関数、ライブラリ:mecab
  • 一言:MeCabエクステンション作りが自分を育ててくれました。

カンファレンス会場でお会いしましょう!

PHPカンファレンス、PHPカンファレンス仙台、PHPerKaigiには、スタッフや登壇・LT含めて多数のメルカリエンジニアが参加します。 会場でお会いしたら、是非、PHPのことをたくさん語り合いましょう! そして、メルカリブースにも是非お立ち寄りください!

明日 9 日目の執筆担当は @wiroha です。引き続きお楽しみください〜