はじめまして、サーバサイドエンジニアのkuromokaです。
先日開催されたPHPerKaigi 2019の3日目に初参加してきました。
今回スポンサー的なお手伝いは私個人としては特にできなかったのですが、一参加者としてオープニングから懇親会まで参加してきました!
聞いてきた中で、印象に残ったセッションについて簡単な感想です。
セッション
マニュアルにない引数を与えるとどうなる?php-srcへのバグ報告をした時の話
strlen()
とmb_strlen()
でマニュアルにない引数を取ると未定義の挙動になるmb_check_encoding()
でsegmantation_faultになるパターンを発見mb_check_encoding()
にarray()
を入れたときの挙動がバージョンによって違う- バージョンアップの際は気をつけたほうがいい
- 似たような報告がないことを確認して、https://bugs.php.net/ よりバグ報告
- 英語でバグ報告する過程が詳しく書かれているのでわかりやすい
- 15分で報告closeとは…中の人すごい
ランチセッション
- Go Bold, All for One, Be Professional
- valueを体現するために
- 限界より上にチャレンジする
- 成功体験に縛られない
- 自分にこだわらない, 自分だけの成功にこだわらない
- みんなこれを持った同じ価値観のチームなら、すごく幸せになれそう
- 視点, 視野, 視座
- 最初違いがよく分からなかったが、スライドの図がわかりやすい
- 変化のある環境に身をおく
アンチパターンから学ぶ、RDBの正しい設計
- そーだいさんの発表は他の場所でも何回か聞いていて、とても分かりやすいです
- このあと「失敗から学ぶRDBの正しい歩き方」の本を買いました
- フレームワーク依存症
- フレームワークの制約を受け入れる
- ORMはなんのSQLが実施されているか分からない
- バグの原因になったりする
- 漏れのある抽象化と付き合う
- Repositoryパターンでの抽象化
- ORM自体を禁止するわけではない
- 知らないロック
- 排他ロック, 共有ロック
- 表ロック, 行ロック
- 意図しないロックはデットロックの原因になる
- ロックはいろんなところで取得されている
- MySQLのギャップロックとネクストキーロック(単語すら正直知らなかった)
- キャッシュ中毒
- キャッシュの利用はパフォーマンス向上につながる
- ただ使いすぎるとシステムが複雑になる
- キャッシュの障害はクリティカルかつ、モニタリングが難しい
- キャッシュのヒット率を更新頻度等から推測する
- キャッシュを使わなくていい場合は使わない
- まとめ
- DBの寿命はアプリケーションより長い
- いまあるDBは自分たちでなおしていく
PHP監視、サービスを守る為に行う不測の事態への努力
https://slide.seike460.com/slides/phperkaigi2019#/
- 監視ツールは作るのではなく買う
- サービスが利用できるのかどうかの、ユーザ視点での監視が必要
- サイトが見れない
- 死活監視
- 目的のコンテンツが見れない
- HTTPステータス監視
- 快適にコンテンツがみれない
- レイテンシー監視
- OSSの監視ツールとして、faultline, FictionBaseの紹介
懇親会
食事・飲み物ともに今まで参加してきた勉強会では、一番豪華だったと思います!
会場ではいろいろとPHPerの方から実際の現場の話が聞いたりTwitterでも繋がれたりして、とても楽しい時間でした!
(社内売り切れで一般用のネームプレートをつけていたので、話しているときに突っ込ませてしまいすいません)
最後に
GameWithではエンジニアを募集中です。
興味のある方は是非、話を聞きに来てみてください。そしてみんなで一緒にテックカンファレンスを盛り上げていきましょう!
またGameWithのDeveloper向けTwitterアカウントも開設しました。
もくもく会の告知やブログの更新情報などを発信するので良かったらフォロー宜しくお願いします!