7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

サムザップ #1Advent Calendar 2019

Day 9

2019年PHPカンファレンス全国登壇行脚まとめ

Last updated at Posted at 2019-12-08

本記事は、サムザップ Advent Calendar 2019 #1 の12/09の記事です

はじめに

2019、今年も全国でPHPカンファレンスが開催されました
参照先:2019年に開催される全国のPHPカンファレンスのまとめ

今年一年のPHPカンファレンス全国登壇を振り返ってみます

PHPカンファレンス仙台 - 2019/1/26

会場にいってみると、スタンプラリーの台紙がありました
全国PHPイベントスタンプラリーもあと2つ。12/1 の PHP Conference 2019 がゴールです。スタンプ1つにつき、象ぬい大が1000円引きになります。 #cakefest2019
画像の引用元:こいほげさんのブログ

今年は8回開催されることをその時知りました
(Laravel JP Conferenceの申し込みはもう間に合わなかったです)

去年のPHPカンファレンスではなしたネタのSwooleを引き続き追いかけたネタを発表しました
去年の発表内容から説明します
phpcon2018.png
去年のPHPカンファレンス発表資料:ISUCON8で予選落ちしたので、Swoole(easyswoole)で書き換えて、感想戦でベンチ走らせてみた話

Swooleとは、PHPでイベント駆動の非同期&コルーチンベースの並行処理を実現したエンジンです

そもそも、PHPerKaigi2018のuzullaさんの発表できっかけでSwooleを知りましたが、PHPの未来に大きな可能性を感じたのを覚えています。そこからSwooleを追っかけはじめました

とはいえ、実用的なのか?が疑問だったので、Swooleを使用したフレームワークの使い勝手を調査してみました

仙台で発表したのはSwoftというフレームワークの使い勝手についてです
Swoftをつかってサンプルアプリケーションをつくり、使い勝手を解説しました
phpconsen2019.png
PHPカンファレンス仙台発表資料:SwooleをつかったフレームワークSwoftをたのしむ
サンプルコード:Google-BookShelf-swoft
ISUCON8のSwoft版サンプルコード:isucon8-swoft

フレムワークの使い勝手を判断するには実際に動くアプリを書いてみるのが一番よくわかる、と思っています
Google-Bookshelfは、GCPのAppEngineなどのチュートリアルで用いられるサンプルアプリケーションです。ファイルアップロード含め色々な機能が網羅されており、フレームワークの機能を理解するのには最適なサンプルアプリケーションです
また、もう一つ実装したISUCONのアプリケーションは、ちょうど良いサイズのアプリケーションで、実業務でぶちあたる問題と同じようにボトルネックに直面するので、実用的かどうか判断する時の材料になります

フレームワークを調査する時に、自分自身、サンプルコードがほしくなるので、他の人の参考になればと思い、Swoftで実装したソースをGitHubにアップしています

PHPerKaigi2019 - 3/31

Swooleを使用したフレームワークを調べてみて、そろそろSwooleを使用したフレームワークの一番を決めたくなってきたタイミングです
そこで、Swooleのフレームワークをくらべてみました
これも実は、Laravel-Swooleがあるらしい、と小耳に挟んだので、ためしてみたくなったのでいろいろ調査してみました
phperkaigi2019.png
PHPerKaigi2019発表資料:Swooleのフレームワークをくらべてみた

前回と同様に動くソースがあってなんぼ、と思っていたので、ISUCONのソースをそれぞれのフレームワークで実装しなおしてみてベンチマークをとってみました
Laravel-Swoole
Laravel
Swoft
EasySwoole(v3)
EasySwoole(v2)
の5つを比較しています

ベンチマークの結果は、意外な結果になりましたが、これだけでフレームワークの良し悪しは判断できないですが、想像と違っていたので、とにかく計測は大事だな、と改めて思いました

PHPカンファレンス福岡 - 6/29

スポンサーセッションで登壇させていただきました
技術系のネタではなく、社内文化のはなしをさせてもらいました

PHPカンファレンス北海道 - 9/21

スポンサーセッションでサムザップの紹介をさせてもらいました!
ロールアップバナー.png
登壇脇にあるロールアップバナーにみなさんお気づきでしたでしょうか?

きちんとLT枠で技術ネタも話ができました
phpcondo2019.png
PHPカンファレンス北海道発表資料:pharによるワンバイナリアプリケーションの可能性を探ってみた

Goにくらべて、PHPのアプリのデプロイがだるいなとおもっていたので、1ファイルだけデプロイすれば良い状態にしたい、と思いpharが実用的かどうか検証した内容です
イメージしていたのは、Goにひけをとらないようなデプロイフローになることです。そのため、アプリケーションのフレームワークは、Swooleベースのフレームワークで構築したアプリケーションを想定しています
伝えたかったことは「GoでできることはPHPでもできる」です

PHPカンファレンス沖縄 - 10/12

沖縄にいけたらいいな!とおもって、プロポーザルをその時に思いつくネタで応募したら通りました
社内でいま推進している文化づくりネタで発表しました
phpconokinawa2019.png
PHPカンファレンス沖縄発表資料:エンジニアの文化の作り方 〜社内Podcastのススメ〜
困った時には文化づくり系のネタでしゃべっていることに気づきました・・・
ちなみに、沖縄でSwooleの話をきくことができました(台湾の方の英語の発表)。Swooleはどうやら、"スウォール"ではなく"スウール"、の発音らしいです

PHPカンファレンス - 12/1

今年最後のしめくくりは東京のPHPカンファレンス
毎回プロポーザルが通るかどきどきします
gRPCのネタがLTに採択され発表してきました
phpcon2019.png
PHPカンファレンス発表資料:PHPでgRPCって どこまでいけるの?

マイクロサービスを真剣に導入しようと考えた時、マイクロサービス間のレイテンシーは気になります。
ゲームはとくにユーザの体感が大事なので、いかにユーザにレスポンスを早く返すか追求したいものです

そこでPHPでマイクロサービスをgRPCで構築するのはどれだけ現実的かどうかを見極めるために、PHPのgRPCサーバの実現性について調べました
マイクロサービス間のレイテンシーをさげるためにはstreamingのサーバが実現できれば、効率よくデータのやりとりができそうです

と思って調べてみたものの、まだ、フレームワーク側でgRPCのstreamingができるサーバは準備できていなかったです(Swooleをそのままつかって頑張ればできそうですが・・)

まとめ

この一年は、**「GoでできることはPHPでもできる」**を実証すべく技術検証し、カンファレンスで結果を発表する、ということをしてきました。

が、まだ自分が描く最終形までいたりませんでした

ただ、今年一年、PHPという名がつくカンファレンスに全て参加できて(Laravel JPとCake Festは参加できませんでした)やりきった感がでたので満足です(ほんと、しんどかったし、プロポーザル毎回とおるか、ドキドキしてました)

結果、今年の登壇時間合計は、64分でした!

(しかし、上には上がいるものです。BASEの東口さん2019年の登壇時間が300分をこえたらしいです)

最後に

最後に心残りは、スタンプラリーのスタンプ台紙をPHPカンファレンス東京でもってくるのわすれ、スタンプをおしわすれたことです・・・

ちなみにおしそこねたスタンプ画像
スタンプラリー.JPG

明日は @arima_moto さんの2本目の記事です

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?