拙い気持ちのアウトプット

私の気持ちをアウトプットする場所にしようと思っています

PHPerKaigi2019に参加して

今回PHPerKaigiは初参加でしたが、そもそもこの手の技術イベントに完全プライベートでソロ参加した事自体初めてだったので、良い機会と思い感想など残しておきます。

今後またイベントに参加していくぞという気持ちと、普段からアウトプット不足は認識してるので、感じたことだけでも吐き出していくぞという気持ちです。

3/29(金)の 前夜祭は普通にお仕事などしてたので、3/30(土)からの参加でした。

@tomzohさんのオープニングを聞いている頃はまだ「ああ…やっぱり落ち着かないなぁ」など感じてましたが、せめてチケット代のインプットは得て帰らねばという考えでその場におりました。

speakerdeck.com

最初は@Fendo181さんの「フレームワークを作りながらLaravelのアーキテクチャを学ぶ」を拝聴しました。

登壇当時社会人三年目とまだお若いのにすごい!と思うと同時に、ご自身の会社名をしっかり出して登壇している姿を見て、こういう活動にとても理解がある会社なんだなと感じました。

※ そもそもGMOペパボさんはPHPerKaigi2019スポンサーでしたしね。

FWを自作してLaravelと比較しながらDIやコンテナの説明などしてくれていましたが、LaravelもDIもコンテナも触れておいて良かったです。

特にLaravelでテストを書く際に、DIやコンテナのありがたみを感じていたところだったのでわかりみが深かったです。

speakerdeck.com

次は@hidenorigotoさんで「抽象化って何?」でした。

これはいつもコーディングやレビューしながら自問自答していたところだったので、とても楽しみにしてました。

現実世界での例とともに抽象のハシゴを登っていく話と、抽象化は視点によって方向性が変わるという話のおかげで、自分の中で抽象化への理解が数歩深まった感触を得ることができました。

※ このあたりでTwitterに投稿する余裕が出てきたようです。

続いてランチ&ランチセッション…正直ランチは外に出ようか迷っていました。

一人だし、お弁当もらって一人で食べてたら浮かないかな?とか、普段の弱々しい気持ちがまたポツポツと出てきてました。

でも朝よくわからずランチチケットもらっちゃったし、参加したかったのにチケットもらえてない人もいるのに参加しないなんてよくない!と思い、お弁当いただいてランチセッション聞くことにしました。

speakerdeck.com

ランチセッションはランチスポンサーのオウケイウェイブさんから、@blue_goheimochiさんによる「Take Off The Colored Glasses」でした。

テクニカルなセッションではなく、オウケイウェイブという会社の紹介や、フィロソフィ的なものの紹介がメインでした。

※ 皆さんご飯食べながら聞く形になるので、そういう内容の方がたぶんお互い良いですよね。

各々の色眼鏡を外して、同じ色眼鏡をかけ直すと、文字にすると矛盾を感じますが、とても共感できる内容でした。

ブルーマンデー対策のお話は、初めて聞きましたがなるほどなと。素直にとても良いなと。

うだうだ悩んでましたが、ランチ参加して良かったです。

オウケイウェイブさん、@blue_goheimochiさん本当にありがとうございました。(ごちそうさまでした)

speakerdeck.com

午後イチは@yoku0825さんで「MySQLにWEBアプリのログを保存しているケースの8割くらいが幸せになる方法」でした。

直近ではMySQLにログ入れてないなと思いましたが、以前の職場では場合によっては入れていたなとか、InnoDBの圧縮を使っていたことを思い出してなんだかエモい気持ちになってました。

当時よくわからないなりに調べて、適切なページサイズとか検証してました。

さらに新卒時代にMyISAMでFULLTEXTINDEXで全文検索などやっていたことも思い出し、なんだか最近ちゃんとDBと向き合ってないのかな?なんて気持ちにもなっていました。

あと発表の流れが、なんというか引き込まれる感じで、エンターテインメント性があるなあと感じながら聞いていました。

speakerdeck.com

次に聞いたのは@77webさんで「設計力を上げるバリエーションの見極め術」でした。

バリエーションの変化はビジネスの変化という捉え方が、なんだかとても前向きで良いなと思い、普段「この仕様変更は誰得なんじゃい…」などと感じてしまいがちな業務でも、捉え方を変えてみようかなと思えました。

条件分岐禁止ギプスなど面白い取り組みもやられていて、課題解決に楽しんで向き合っているように感じられてとてもナイスでした。

speakerdeck.com

続いては@hypermktさんで「モバイルアプリ向けAPI開発を通じて学んだこと」を聞きました。

技術選定って何を基準に選定するの?や、API設計についてサーバーエンジニアだけでなくアプリエンジニアも一緒に「Web API The Good Parts」を読みながら学んだことなどを聞き、とても健全なお気持ちの環境なんだなと素直に素晴らしいと感じました。

Laravelがドキュメントに書いてないけどこっそり機能提供してたりするのはちょっとわかりみあるなと思い、そこがまたLaravelのFWのコードを読む楽しみでもあるんだよななどと思いながら聞いていました。

speakerdeck.com

次は@koriymさんで「RESTの力」を拝聴しました。

ちょうど最近業務でもRESTを意識しながらAPI設計していた部分があり、どのぐらい自分の中のRESTの認識が正しいのか答え合わせ的なイメージで臨んだのですが…。

自分が「イケてるかも!」などと思いながら作っていたAPIたちは、なんというか数字が書けるようになっただけで「数学完全に理解した!」と言っているぐらいにちっぽけなものだったということを思い知らされました。

HypertextとInternetからWWWが生まれ、その後RESTという考え方が生まれ、APIのバージョン管理がどうとかURIがどうとか単数形複数形がどうとかはよく議論されるが本質的ではないんだとか…。

そして最後の締めくくりと、発表後のあの空間に漂っていたなんとも言えない雰囲気は、なんだか映画の名作を観終わったときのような気持ちの良さがありました。

今回あの力強い引き込まれるようなセッションが聞けて、本当に良かったです。

もっともっとRESTは考えながら付き合っていこうと思いました。

speakerdeck.com

その次は@ippey_sさんで「サーバーレスPHP」でした。

サーバーレスは業務でもプライベートでも触れた経験がなく、仕事で聞いたAWSGCPのセッションで紹介されていたぐらいの知識しかない状態でした。

しかしセッションは非常にわかりやすく、PHPerフレンドリーで、これなら自分にもできそうかも!やってみたい!と思える内容でした。

続いて@niisantokyoさんの「Swooleでフレームワークを高速化 - もう動作が遅いなんて言わせない!」を聞きました。

ちょうどlaravel-swooleが爆速ですごいというのを聞いたところだったので、タイムリーに興味津々でした。

結果としては早いのは間違いないけど、そもそも普通のWebアプリとは全然別物になるということで、具体例も合わせて紹介していただけてとても参考になりました。

speakerdeck.com

一日目最後は@hanhan1978さんの「PHPerのための計算量入門」でした。

いわゆるOrder記法だったりとか、基本に立ち返りつつも、「必ずしもin_arrayが悪でarray_key_existsが大正義ってわけではない」というお言葉もちゃんといただけて、この辺の使い分けがしっかりできるPHPerでいたいし、周りもそうであってほしいと改めて思いました。

そして@tomzohさんのクロージング「Today's update」を聞き一日目は終了しました。

※ PHPer茶会に参加する勇気は出ませんでした…。

自分でもわからないうちにテンションが上がっており、なかなか寝付けずにTwitterでPHPer茶会の様子の監視や自分でまとめていたメモを見返したりして、夜更かししていました。

二日目は寝坊しました。オープニングには間に合わないし、最初のセッションも完全に間に合いません。

たぶんいつもの自分だったら、「昨日一日参加しただけでも十分頑張ったし、家のことも片付けないといけないから今日はいいか」となるところでしたが、ここで変わらないとこの先ずっと自分に言い訳して妥協していくことになる!と思い、やっとの思いで起き上がりました。

結果的には起き上がってよかったです。素直に今朝の自分を褒めてあげたい。

speakerdeck.com

そして二日目最初は@cotolier_risaさんの「PHPerKaigi2019のサイトができるまで」から始まりました。

基本的にはWebアプリケーションの開発しかやってこなかった身で、Webデザインの話をちゃんと聞いたのはもしかしたら初めてだったかもしれません。

コンセプトアートやロゴのお話ももちろんそうですが、アートディレクターのお仕事や、デザイナーさんとかもGitHub使ってるんだということや、バイト君が来なくても困らないコンポーネントの分け方などなど、新鮮でとても学びがありました。

デザイナーさんがそのデザインに込めた思いとかを聞くと、エンジニアとしてはなんとか実現したい!と思うし、そういう思いが生まれる環境に身を置きたいなと、しみじみ思いました。

speakerdeck.com

続いては@ex_takezawaさんで、「Hack HTTP Request and Response Interfaces」を聞きました。

すごい難しそうだ…という思いと、界隈にあまり詳しくない自分でも名前を聞いたことあるぐらいだから、ytakeさんってすごい人なんだろうな…という思いから、ややびびっておりました。

しかしセッションではPSR-7の話などが出てきて、ちょうどGuzzleでrequestAsyncやらPromiseやらジェネレータに四苦八苦していた自分には意外とすんなり入ってくる部分もあり、結果的にはこれ以上ないタイミングで聞けたような気がします。

※ やっぱり難易度が高かったのはその通りですが…。

また、ytakeさんはアイスタイルのCTOですし、他には@hidenorigotoさんもmercariのマネージャーオブマネージャーだったり、委員長の@tomzohさんもCTOだし、他にも役職付きの方々がばんばん登壇されていて、それってしっかり技術のある人がエンジニアを引っ張っていってるってことだと思いましたし、そういう環境でエンジニアがやれるってとても素晴らしいことだなと感じました…。

speakerdeck.com

ランチは寝坊したので当然チケットもらえておらず、おとなしく練馬近辺でランチを取り、スタバでTwitterを監視したり午後に向けて気を高めていました。

RESTの力の残滓が残っていたのを観測しました。

speakerdeck.com

午後は@soudai1025さんによる「アンチパターンから学ぶ、RDBの正しい設計」から始まりました。

こちらの@soudai1025さんも元々認識していた数少ない人のうちの一人であり、毎度のごとくびびりながら向かいましたが、結果としてはとてもわかりみのあるセッションでした。

紹介されていたアンチパターンもだいたい触れてきていたことや、ORMやキャッシュやロックの話も「うんうん」となる部分が多く、RDBMS周りは意外と修羅場をくぐっていたのかもなとちょっと自信がつきました。

※ でも本は読んでなかったのでちゃんと買います。

slide.seike460.com

続いては@seike460さんによる「PHP監視、サービスを守る為に行う不測の事態への努力」でした。

監視については弱い部分である自覚はあったので、ちょっと身構えておりました。

しかし、開発視点ではなくユーザー視点で監視するべきものを考えるという話を聞いて、一気にイメージが鮮明になった気がしました。

死活監視、ステータス監視、レイテンシと、それぞれ何のために見るのかと考えると、ストンと腹落ちしました。

実際にオオカミ少年化した監視のアラートが鬱陶しいなと思うことは何度もあったので、インフラエンジニアとの歩み寄りが大事だなと思いました。

ここからは怒涛のLTタイムで、バンバン流れるようにLTがデプロイされていきました。

speakerdeck.com

www.slideshare.net

speakerdeck.com

speakerdeck.com

speakerdeck.com

speakerdeck.com

speakerdeck.com

speakerdeck.com

speakerdeck.com

speakerdeck.com

speakerdeck.com

ルーキー枠なる登壇初心者枠の方々の発表があったのですが、これでルーキー?と思うほど皆さん素晴らしい発表で、完全に圧倒されてしまいました…。

その後、徳丸先生こと@ockeghemさんによる「PHPerチャレンジ 「徳丸 浩の挑戦状」解説」がデモ付きで行われました。

基本的なものから巷で話題のものまで、色々な脆弱性や危険な仕組みを悪用したデモは非常にためになったし、直前のLTのネタを拾って自分の発表に還元するなんてテクニックは、やっぱり場馴れ感が違うなと脱帽しました。

そして最後は再び@tomzohさんによるクロージング及び、PHPerチャレンジの結果発表や各表彰などが行われました。

一位が同点で、正誤に関わらず最後にコミットしたほうが一位になるなんていうなんともライブ感のある結果が見れたり、とても盛り上がっていました。

そうこうしているうちにクロージングも終わり、皆さんは懇親会へ足を運び、私はスタバに寄ってから帰りました。

以上が私のPHPerKaigi2019の参加記録です。

全て書いたら思いの外長文になりましたが、参加して本当に良かったと思いました。

今後もなるべく足を運ぼうと思いましたし、登壇されていた方々の情報発信は追いかけようと思いましたし、もっと自分と周りの技術に目を向けていこうと改めて思いました。

聞く側で参加したぐらいでいきなり何かが極端に変わるわけではないと思いますが、今回の参加をきっかけに自分のバリューを高めていけるよう、頑張ろうと思いました。

最後になりましたが、PHPerKaigi2019とそれに関わった全ての方に感謝します。

phperkaigi.jp

ここまで読んでいただいた方、小学生並みの感想文で大変失礼しました。