![スクリーンショット_2020-02-11_0](https://assets.st-note.com/production/uploads/images/19107711/rectangle_large_type_2_464a63459a79d53e96499d9e963b3888.png?width=1200)
PHPerKaigi 2020 Day1 #参加レポ
今回はPHPerKaigi 2020のDay1に参加してきました。
PHPerKaigiとは名前から推測できる通り、#PHPer の#PHPer による#PHPer のためのPHPカンファレンスです。
実際にPHP触ったことあるのは数ヶ月程度の自分ですが、そんなでも十分すぎるくらい楽しむことができたのでその様子をご紹介したいと思います。
聴講したセッションとその感想
・E2Eテストに向き合う
E2Eで見るところ
— あきの/D-En (@DddEndow) February 10, 2020
・重要なシナリオとステップ
・システム間連携
・パフォーマンス
特にパフォーマンスを見る人は意外と少ない
例:昨日までは1秒で終わったが、今日テストしたら7秒かかるようになった#PHPerKaigi #a
趣旨とは少しズレてしまいますが最近Spring BatchでEnd to Endテストを書く機会があり、それに当てはめながら話を聞いていたのですが、あそこはそうすれば良かったのか!と知見をたくさんいただけてとても参考になる講演でした。
特に上記のツイートで上げているE2Eの目的、特にパフォーマンスのテストに関しては全く意識していなかった箇所なので、まさに目から鱗でした。
・エキサイトの大改造を大解剖
>今の会社の環境を良くしてから、今後採用を強化する予定
— あきの/D-En (@DddEndow) February 10, 2020
実際エンジニアの採用強化する前に、まず今働いてる社員の環境を良くしないと雇っても定着しないよな #phperkaigi
エキサイト株式会社さんがどのように組織改革を行い、これからどうしていくかというお話。
正社員が週3で働けるサンシャイン制度を作ったり、給与制度を思い切って変えたりするなど、採用の前にまずは現在の社員の環境を良くしようとしているところにとても好感がもてました。
PS. ランチセッションだったのですが準備してくださったお弁当、大変おいしかったです。ありがとうございました!
ランチセッションだー! #PHPerKaigi pic.twitter.com/RfHGnSPvzX
— あきの/D-En (@DddEndow) February 10, 2020
・レンサバけもの道
ハイスピード漫才レベルで笑いどころを怒涛の如くぶつけられるせいで全然追いつけない…!#PHPerKaigi #a
— あきの/D-En (@DddEndow) February 10, 2020
レンタルサーバーを使う上でのノウハウがたっぷり詰まったセッションをまるで漫才かのように怒涛のごとくぶつけられる濃密な30分間でした。
「sshできないレンサバは…うーん…遺跡かな?」
「レンサバで開発するな」
「僕は.gitを消されたことがありますけどね」
などなど様々な迷言が飛び出し、その度に会場では笑いが巻き起こっていました。
ものすごく明るい雰囲気とは裏腹に、内容はものすごく苦労した結果の集大成で聞いていていろいろと参考になりました。
・磯野ー、MySQLのロック競合を表示しようぜー
今回のターゲットはInnoDBのロック
— あきの/D-En (@DddEndow) February 10, 2020
・ネクストキーロック
→インデックスレコードロックとギャップロックを合わせたもの
・インデックスレコードロック
・ギャップロック
・ネクストキーロック#PHPerKaigi #a
今まであまりロック競合について考えることどころか触れることがほとんどなかったのですが、それでも勉強になるセッションでした。
ただまだMySQL5.7しか触ったことがなかったので、MySQL8.0の話が聞けたのは良かったです。
ちょっと話は変わるのですが、MySQL8.0がリリースされてからそれなりに経ちますが5.7→8.0への乗り換えはどのタイミングでやるのがいいんですかね…?
MySql8.0が出てからもうそれなりに経つけど、実際どのタイミングで乗り換えるべきなんだろう?
— あきの/D-En (@DddEndow) February 10, 2020
いつまでも5.7使うのもなーとは思う
#phperkaigi
・もっと気軽にOSSにPRを出そう!
ポイントその1
— あきの/D-En (@DddEndow) February 10, 2020
作者の関心ゾーンの外側を見る
作者はメインとなる機能に関してはすごい力を入れているが、それ以外のテストコードやコーディングチェック、環境変化への追従にはあまり関心がない人が多い
あとは異常ケースなど#PHPerKaigi #b
数多くのOSSに貢献してきたDQNEOさんがOSSにPRを出すコツについて聞くことができました。
探せば意外と隙間があったり、特にPHPUnitのバージョンアップに対応できていないものが多く、それを中心にPRを出したのは自分の得意なことを生かしてて上手いなと感じました。
業務でPHPUnitのバージョンアップをした(4→7)
— あきの/D-En (@DddEndow) February 10, 2020
そのおかげでバージョンアップにめちゃくちゃ詳しくなった
世のOSSを見ると対応できてないのが多い…
謎の使命感
「私がバージョンアップ職人だ!」→PR出しまくった #phperkaigi #b
・知らないWebアプリケーションの開発に途中からJOINしたとき、どこから切り込むか?
どのようなサービスか
— あきの/D-En (@DddEndow) February 10, 2020
どのようなデータを保持するか
どのようなコードか
この三つが途中ジョインすると抜けている
でも開発には必要
どこから切り込むか?の回答:
どのようなサービスかを知ることから始めている#PHPerKaigi #a
タイトルの通り、プロダクトを標準化するためにどのようなアプローチをすればいいのかというお話で、個人的に今回のカンファレンスで一番収穫のあったセッションです。
流動的な組織を目指す以上、業務(プロダクト)の標準化は避けられない問題。
しかしながらそれにはコスト(ドキュメント整理したりなど)がかかってくるわけで…
それをどのように対処していくかの一例と問いかけをされていました。
Q. オーバーヘッドをなくすためのオーバーヘッドが高いのはどうするの?(ドキュメントを更新し続けないコストなど)
— あきの/D-En (@DddEndow) February 10, 2020
A. 開発メンバーが100%同じなら必要ない
でも流動的なの組織を目指すならエンジニアリングでどうにかするしかない#PHPerKaigi #a
セッション以外のこと
カンファレンスとしてももちろん楽しかったのですが、それ以上に運営サイドの工夫と遊び心が随所に散りばめられており、空き時間でもとても楽しく過ごすことができました。
・オリジナルのトレーディングカード
なんとノベルティとして、Twitterアイコンを使用したオリジナルのカードをいただけました!(しかも150枚近く!)
チケット応募する時にTwitterのアイコン画像が要求されて、何に使うのかと思ってたけど、まさかカードゲームになるなんて…! #PHPerKaigi pic.twitter.com/KxuSonRg5w
— あきの/D-En (@DddEndow) February 10, 2020
完成度がめちゃくちゃ高くて本当に驚きました。
カンファレンス中はこれを名刺代わりに配って話題のきっかけ作りにたくさん利用させていただきました。
中にはがっつりファイリングしてコレクションしてる人などもいらっしゃったり…!
なんだこれPHPerカードゲームガチ勢がいる…!? https://t.co/XojjIrzuPl
— あきの/D-En (@DddEndow) February 10, 2020
・PHPerチャレンジ
会場内や関連サイトにある「#」から始まり空白で終わる文字列(PHPトークン)を見つけて入力することで、ポイントをゲットして競い合おう!という催し。
これが結構楽しくて会場をぐるぐる探し回ったりしてました。
結果はリアルタイムで集計されており、会場ではディスプレイにランキングで記載されていたりしました。
スコアボードが動いてる! #PHPerKaigi pic.twitter.com/MANE2RsOyQ
— あきの/D-En (@DddEndow) February 10, 2020
最終的にDay1時点でトップの方は4.5万とか稼いでましたが、一体どうやったんでしょう…?
最後に
PHPerKaigiに参加するのは初めてでしたが、思っていたような疎外感や不安感はあまり感じずワイワイと楽しむことができました。
また細かいところに運営さんの気遣いがあったり、随所にそこまでやるか!?みたいな手間がかけられていたりしてひたすら感心していました。
まだまだ明日が最終日となりますので、ご興味をもたれた方がいらっしゃれば是非ともご参加ください!