なずなログ

ただのSIer系SEが思ったことや色々書く感じのアレです

#PHPerKaigi 2020参加レポ day2

PHPerKaigi2020 day2(本編2日目)に参戦してきました。

phperkaigi?

PHPerによるPHPerのためのお祭りです。
PHPerKaigi 2020

聞いたトーク

  • 自作して理解するxUnit
    • PHPUnitにお世話になってるけどPHPUnitが何をしているか目を向ける機会があまりない
    • Scripted Test、所謂テストコードをテスト自動化のための必要なメカニズムを提供しているのがxUnit
    • Test Suiteの初期化は3つの戦略が分かれている。
      • Test Enumeration:手動で列挙
      • Test Discovery:自動的に見つける
      • Test Selection:属性を元に見つける
    • 実際に実装してみるとxUnitのメカニズムがわかる
    • setupとかのライフサイクルを使う上での工夫は、可読性を上げるために4つのステップで分離するようにしている
  • マスターデータの管理運用と実装について
    • マスタデータはデータベース管理+管理画面で実装することが多い
    • 都道府県名表示するだけでわざわざDBにつなぐのはめんどくさいしHTTP通信するのもめんどい
    • 簡単に変更できて、管理画面を作る必要がなくて、エンジニア以外でも更新できるのがあるんですよ、Excelっていうんですけどね
    • ExcelはJOINができるんですよ…VLOOKUPっていうんですけどね
    • 異常なデータの混入はテストで弾く。データのためのテストも有効なアプローチ
    • 12万件のレコードを吐き出したマスタファイルはメモリを使うけどOPcacheがあるから2回目はメモリの使用量は減る
    • モデリング上のベストプラクティス」≠「運用上のベストプラクティス」
    • 良いモデルを作っても「わかりづらい」と言われることがある
    • 運用シーンを考えながらツールの選定や要否を考える
  • PHPerがこれから「型」とお付き合いしていくために
    • 型システムは元は数学とかで用いられてきた型理論という分野
    • 型推論はプログラムのふるまいを推論するためのツール、効率よく計算するなどの目的
    • 型システムでエラー検知や安全性を高めたり効率を高めることができる
    • データ構造の不整合を許容しないので、コンパイラから見てきれいなコードを維持しないといけない
    • 「安全」の定義がまちまち(方安全やメモリ安全などいろいろある)
    • 柔軟性とはトレードオフになりがち
    • 静的と動的に優劣はない、その場その場の有利不利はあるが双方に越えられない壁はある
    • PHPのタイプヒンティングで性能劣化するのは過去の話、PHP7以降ではむしろ性能があがる
    • PHPが型を手に入れると後方互換性との兼ね合いが心配になる
    • まずはPHPDocなどで型を書いていこう
  • クリーンな実装を目指して
    • コンポーネントレベルで大事なこと
      • 処理の流れ
      • 依存関係
      • 集約
    • ユースケースごとにやりたいことは一緒でも実装が異なっていたり、ユースケースによって集約ルートが変わっていたので見直した
    • 処理の流れ、依存関係、集約が管理されていれば改修時のストレスや手戻りが軽減される

PHPerチャレンジ

PHPerたちの戦い PHPerチャレンジ
終戦績は 64,250ptで6位でした。
最終日は大分取りこぼしやコードゴルフで苦戦して、ランキングダウンしました。
正直凄い疲れた。でも楽しかった

アンカンファレンス ゲリラLT

ういろうさんとおかしょいさんの作ってくれた流れにのって、オフショア開発の話をしたりしてました。
オフショア開発ってなかなかイメージが付きにくい話でしたが、最後に落ちをとれたので満足です。
そのうち真面目に資料作って話してもいい気がする。

全体を通しての感想

PHPerKaigiに参加したのは2回目ですが、オープニングの「すべてのみなさんの同窓会でありたい」というのがとても響きました。
去年全然右も左もわからない状況で参加して初めてお話しした方も多かった中、1年後またお会いして「お久しぶりです」と言ってお話を出来る機会というのは中々貴重だなと思っています。
またぜひ来年もまた参加したいですね。

また、今回は初めてLTに挑戦しました。以降お声がけいただけたり、お話しすることができてとてもうれしかったです。
今後も機会とネタがあればアウトプットしていきたいと思います。ネタ作りしないとですね。

今回の早期チケット購入特典だった、トレーディングカードはいろんな人と話すきっかけにもなりますし、記念品にもなって良いアイデアだなと思いました。

f:id:akaa07:20200211231450j:plain

長谷川さんのアイデア、まつぴーさんのデザイン、どちらも素晴らしかったです!
ありがとうございました!

スタッフ、スポンサー、スピーカー、参加者の皆様、楽しい時間をありがとうございました! 来年もまたお会いしましょう!!