「PHPカンファレンス福岡2019」に参加してきました

f:id:kkznch:20190706151155p:plain
phpconfuk2019
株式会社リビルドの嘉数です!

2019/6/29(土)に福岡のFFBホールで開催されたPHPカンファレンス福岡2019に一般参加枠で参加してきたので、それについて書いていきたいと思います。

こちらイベント公式サイトです。

PHPカンファレンス福岡2019

ちなみに去年開催されたPHPカンファレンス福岡2018にも参加しており、そのときは一般枠ではなく5分のLT枠で参加して登壇してきました。 当時のことについてまとめた記事がこちらになります。

「PHPカンファレンス福岡2018」にLT枠で登壇しました - 株式会社Re:Build

いやホント一年経つのが早いこと。

各セッションの感想

今回はPHPカンファレンス福岡2018のときと違い、FusicホールとHASIGOホールで各セッションが行われ、ロリポップ!ホールでハンズオンを行うようになっていました。

ハンズオンでは与えられたコードの脆弱性になる箇所を見つけて直す早さを競うものや、行数の多いコードを如何に削減できるかを競うものがありました。 どちらも興味はあったのですがハンズオンしてしまうと確実にセッションを見に行く時間がなくなってしまうので渋々諦めました、また機会があれば参加してみたいところです 。

PHP型検査・夢と理想」

うさみけんたさん(@tadsan)によるプレゼン。

PHP7のタイプヒンティングだけでなく、PHPDocやPSR-5の型を活用する方がより厳密に出来るとのこと。 以下のようなことができるらしい、なるほど便利ね。

  • PHPDocの型注釈ではユニオン型(Hoge|Fuga)や配列要素の型付け(int[])ができる
  • PSR-5ではarray<string>ArrayObject<Hoge>のように指定できる

あとPhpStorm使ってるとPHPDocの自動生成も出来るし、生成したDocを元に静的解析もしてくれるので非常に楽ちん。 様々な解析ツールがあるけど、基本的に開発ではPhpStormを使い、CIではPHPStanを使うという具合でよさそう。

スライドはうさみさんのページからどうぞ。

「PHP型検査・夢と理想と現実」 #phpconfuk|tadsan|pixivFANBOX

「3ヶ月で20万行を消すためにやったこと」

メルカリのnaoprさん(@naopr)によるプレゼン。

メルカリのAPIをマイクロサービス化していく中で、呼び出されていない・使われることのないAPIを削除していったというお話。

不要コードを削除することで、以下のメリットがあるのだとか。

  • コードの複雑度の低下(循環的複雑度、トランザクションの複雑度の低下)
  • システムの高速化(レスポンスタイム、CIの実行時間の短縮になる)

レスポンスタイムの短縮はどの程度変わるかわからないけど、CIの実行時間の短縮については納得。 使われていないAPIのテストをしたところで、使われてないのだからその分の時間が無駄になるだけよね。

スライドはこちら。

「Monitoring PHP

清家史郎さん(@seike460)によるプレゼン。

嘉数は別会場のセッションを見ていたため直接このセッションを見たわけではありませんが、おかしょいさん(@okashoi)がTwitterで綺麗にまとめてたのでそれを掲載します。 このTweetにぶら下がる形でセッション内容について書いてあるので、参考までにどうぞ。

スライドはこちら。

Monitoring PHP

「子育てとスキルアップを両立するエンジニアの生存戦略

株式会社Fusicの岡嵜雄平さん(@Y_uuu)によるプレゼン。

時間が足りなくなることで様々な問題が起きる、それを踏まえて時間のないエンジニアの生存戦略を考えようといった話。 子育てをしていない自分ですら時間が足りないな〜と思うときがあるのに、ママさんパパさんエンジニアはそれ以上に時間がないのだなと考えさせられた。 なんとなくスマホを開いたり、なんとなくゲームをやったりなど、そういった時間が無駄になりかねない行為は今後控えて時間を大切にしようと思う。

スライドはこちら。

「古き良き開発現場に新しい文化を作ろう!〜荒野を耕し、種を撒き、水を与え続ける話〜」

松村那子(@nako0123)さんによるプレゼン。

開発現場に新しい文化を持ち込むために奮闘したというお話。 社内の誰がどんな役割を持っているのか把握し、セルフプロモーションを行い社内で自分の声が通りやすくなるように動き、出来ることからコツコツと進めていくという非常に戦略的なやり方。 現場で開発をしながら、環境を改善するためにここまで動けるというのは凄いと思った。

スライドはこちら。

ユニットテストの現場の問題を原則に立ち返って考える」

BASE株式会社の東口和暉さん(@hgsgtk)によるプレゼン。

ユニットテストの現場の問題に対してどういった戦略があり、それぞれの戦略がどのようなメリット・デメリットをもたらすかを評価するための考え方についてのお話。 冒頭だけ聞くと難しすぎやろと思っていたが、話がすごく分かりやすかったのでチョット理解できた。

これまではただなんとなくテストを書いていたけど、この辺の意識を持って挑むべきだなー。

スライドはこちら。

「Laravel でやってみるクリーンアーキテクチャ

株式会社ウィルゲートの岡田正平さんことおかしょいさん(@okashoi)によるプレゼン。

「重要なもの」を「些細なもの」に依存させない、という考え方をサンプルコードを例に説明してくれた。 その中で依存関係逆転について話をしていたが、依存の方向(bar -> foo)を逆転(foo -> bar)したとしても処理の方向(foo -> bar)が変わらなければfooはbarに依存していることになるんじゃないかな?とか思ったりもした。 ここで言う依存ってのが単にどこでimportしてるかって話なら理解できる。

クリーンアーキテクチャについて詳しく知らなかったが、おかしょいさんの話を聞いて興味を持った。 プレゼンの中で紹介されていた書籍買おうと思ってAmazon見てみたけど、Kindle版は3600円くらい、一方で単行本は6500円という強気の価格。 勉強のために買うか...。

スライドはこちら。

「PHPStanでCustomRuleを作る」

BASE株式会社の川島慧さん(@nazonohito51)によるプレゼン。 またもやBASEだ!アクティブな人が多いな〜、良いことだ。

レビューで「ここスネークケースにナッテルヨ, キャメルケースにナオスヨロシ」というのは手間もかかるし毎度それを相手に伝えるのも申し訳なさもある。 そんなあなたにPHPStan、CI上で静的解析してレビューイにルール違反を気づかせてあげよう。

弊社のプロジェクトでもPHPStanは使ってるけど、PHPDocで独自のタグを作りそれを元に検査できるというのは初めて知った。 今の所使う機会はないので、今後必要が出てきたら真似をしてみたいところ。

スライドはこちら。

おわりに

PHPカンファレンス福岡に二度目の参加、相変わらず勉強になりました モチベーションも上がるし、良いことしかありませんね。 今回は嘉数は聴講枠でしたが、次回はプレゼンターとして参加できればいいなと思っています。

運営の皆様、素晴らしいイベントの企画・運営をしてくれてありがとうございました!

告知

2019年10月12日にPHPカンファレンス沖縄を開催する予定で、嘉数もカンファレンスの実行委員として動いています。 実行委員数人で分担して作業を行っているのですが、カンファレンスの準備って大変なんだなと実感しています(特に実行委員長が半端なく忙しそう)。 PHPカンファレンス福岡のように良いカンファレンスを提供できるよう頑張りますので、多くの方に参加していただければ嬉しいです。

それとCFPの募集が既に始まっており、応募期限は2019年7月31日となっていますので、こちらの方も奮ってご応募ください😃

PHPカンファレンス沖縄2019