PHPerKaigi 2024

2024年3月7日開催 / 発表資料 68 本

  1. うーたん

    若手限定LT勉強会の参加者へのアンケートから、若手エンジニアが目指す姿や学びたい技術領域が分かるポスター発表。世代間の違いと共通点も見えてくる。

  2. shunsock

    PHPで複雑になりがちな正規表現のコードを、読みやすく理解しやすくするための書き方や工夫を紹介し、保守性を高める方法が分かる。

  3. スー

    雰囲気で扱いがちなタイムゾーンとサマータイムを、RFCとPHPの実装まで掘り下げて理解する話。正しい扱い方の勘所が分かる。

  4. sji

    クラッシュ時以外にも取得できるコアダンプをPHPの視点で読む方法を紹介。メモリ内容から何が分かるのか、その楽しさと活用の入口を知れる。

  5. pyama86

    nginx+ngx_mrubyとGo製の仮想待合室サーバを組み合わせ、高負荷時のPHPアプリを支える構成とチューニング、運用方法が分かる。

  6. 菱田裕美

    「共通基盤が欲しい」という動機を整理し、マイクロサービスを採用すべきかの判断基準と、それ以外の手段で要望を満たす方法が分かる話。

  7. 株式会社フォトラクション

    スポンサーセッションの枠で、内容は未定(TBD)。詳細は告知されていない。

  8. toshimaru

    10年物のレガシーPHPアプリをRuby on Railsへ移植しきった泥臭い軌跡。移植の理由、進め方、改善結果、残る課題が分かる。

  9. おのぽん

    php-srcを読むためのDockerによるデバッグ用サンドボックス環境と、VSCodeとの連携、関数のデバッグ方法が分かる。環境構築で挫折しなくなる。

  10. bmf-san

    10年超のサービスでFuelPHPの更新とPHP7.3から8.1への移行を進めた戦略。プロジェクトを導く力学や有効だった技術的手法が分かる。

  11. 小山健一郎

    多数のCLIツールを長年開発してきた経験から、CLIツールを開発する際に考えるべきさまざまなデザインのポイントが分かる。

  12. 武田 憲太郎

    Laravel OpenAPIでスキーマ駆動開発の辛さを解消する方法。スキーマと実装の二重化解消、不一致の自動検出、CIを壊さない運用が分かる。

  13. uzulla

    configureとmakeでPHPを自分でビルドし、必要最小限の環境を作る方法を紹介。PHP環境の構成要素やBrewのPHPが壊れる理由の理解にもつながる。

  14. うさみけんた

    PHPの静的解析導入で陥りがちなバッドプラクティス(level:max偏重、@var、ユニオン型の誤用など)を知り、失敗しない進め方が分かる。

  15. 梶川 琢馬

    例外をコードの責務を表す指針として捉える考え方。PHP組み込み例外の選び方、独自例外の定義、キャッチやエラー情報の扱い方が分かる。

  16. げんえい

    アプリの履歴データを扱う際の課題(大量化、高速アクセス、改ざん防止など)と、テーブル設計で考慮すべき点が分かる。

  17. Shinohara

    EC2で動く10年超のレガシーPHPバッチをEKSへ移行する事例。二重運用の課題、移行で起きた問題、今後の進め方が分かる。

  18. すぎやま@MASH弦楽団

    サイボウズGaroon開発チームの「完成度低いの歓迎LT大会」を紹介し、登壇のハードルを下げる取り組みと、未完成でも発表する姿勢の大切さが分かる。

  19. nsfisis

    PHPでWebAssemblyのVMを作りながら、その動作原理や注目される理由、言語処理系のおおまかな内部構造が理解できる。

  20. 若葉 章

    工業規格における「品質」の定義を元に、高品質なコードの定め方と達成方法、ユニットテストをどこまで行うかの判断基準が分かる。

  21. sadnessOjisan

    PHP初心者がコンテナデプロイで直面したWebサーバーとFastCGIの分離構成を出発点に、背景にある低レイヤーや並行処理の知識を整理して学べる。

  22. 山岡広幸

    セッショントークン方式が主流のCSRF対策を見直し、SameSite Cookieを使った対策の仕組みと、そもそもCSRF対策をどう考えるべきかが分かる。

  23. Endo Futoshi

    PHP8のUnion Types、Attributes、Constructor Property Promotionなどを活かして、業務で堅牢なコードを書くための実践的なTipsが分かる。

  24. やまもとひろや

    クエリ改善などではなく仕様自体を見直すことで劇的に速くする考え方と、仕様変更を伴う実際のパフォーマンス改善事例が分かる。

  25. 柚口 ましろう

    PHP8.3のjson_validate()の便利さを、従来の実装との比較とphp-srcの内部処理から解説。使いどころと仕組みが分かる。

  26. 大橋 佑太

    Laravelなどのフレームワークに依存しすぎないよう、Interfaceでドメインロジックを分離して安定させる方法が分かる。作り直しやバージョンアップの負担を減らす設計の話。

  27. 篠田 北斗

    Instagram分析ツールの表示速度を約1/3にした事例から、課題の見つけ方や、DB・キャッシュ・プロファイリングなどの改善手順が分かる。

  28. don

    15年続くレガシーシステムにPHPStanを導入して半年の結果を紹介。既存ツールからの移行、導入時の課題、得られた効果と残る課題が分かる。

  29. うすゆき

    WebAssemblyのブラウザ外での利用(WASI、プラグイン、マイコン)の概要と思想を短時間で把握し、PHPをマイコンで動かす試みも知れる。

  30. 勝佐拓也

    PHP8のmatch式とswitch文を比較し、それぞれの長所と適切な使い分けを紹介。どちらをいつ選ぶべきか判断できるようになる。

  31. masnmt

    Apache Solrが全文検索以外にも使える便利な検索機能と、RDBとの違いによる導入時のハマりどころが分かる。

  32. まさきち

    MVCのLaravelと比較しながら、BEAR.Sundayのリソース指向の設計思想や書き方の違いを初学者の視点で理解できる。

  33. うーたん

    素のPHPのrequireとLaravelで見るuse宣言・namespaceの違いを、初心者の学習体験から整理。名前空間の役割が理解できる。

  34. Ajiki Rie

    エンジニアとQAが一台のPCを囲んで行うペアテストの紹介。やり方、実例、おすすめのコツから、不具合の見落とし削減と手戻り防止が分かる。

  35. TamaG

    LaravelのバリデーションでPHPのEnumを使う方法から、Enumの利点と活用例を紹介。定数や配列管理から型安全なコードへ移る動機が得られる。

  36. まみ

    Twilioで電話占いサービスの通話システムを作った事例。番号の非表示、通話手段の切り替え、分単位課金の実現方法とTwilioの基礎が分かる。

  37. ヒビキ

    LaravelのCollectionで複雑に見える処理を簡潔に書く方法。プロパティ抽出、絞り込みや除外、似たメソッドの使い分けを事例で学べる。

  38. しみたか

    テストがほぼ無く障害が多いプロダクトに、機能追加の圧力の中でテストコードを無理なく導入していった実践的な戦略が分かる。

  39. bj_oka

    Laravel標準のバリデーションルールだけで、他の入力欄に応じて検査内容が変わる相関バリデーションを実装する具体的な方法が分かる。

  40. びきニキ

    開発経験の少ないQAエンジニアが2ヶ月でPHPを学んだ取り組みと工夫、PHPコミュニティの雰囲気を通じ、PHPを始める一歩が分かる。

  41. 渡邉泰曉

    PHPのFFIとC言語でソフトシンセを自作し、蛍の光を演奏する試み。FFIでできること、使いどころ、利点と欠点が分かる。

  42. 富所 亮

    PHPでB+木を実装しながら、RDBMSがB+木を採用する理由やインデックスの仕組み、検索が速くなる理由を理解できる入門トーク。

  43. 工藤 剛

    PHP本体のバグらしき挙動に出会ったとき、素早く検証する方法と、php-srcへ報告してコントリビュートするまでの流れが実例で分かる。

  44. 当田昇

    PHPアプリのログをFluentdで収集しリアルタイム分析する方法。ログ分析の基礎、Fluentdの概要、PHPとの連携手順が分かる。

  45. めもり〜☆

    過去にPHPでJVMを作った経験を活かし、PHPでRubyVMを実装してHello Worldを出力するまでの流れとVMの仕組みが分かる。

  46. 郡山 昭仁

    BEAR.Sundayの分散キャッシュの仕組み(イベント駆動、ドーナツキャッシュ、CDN活用)を通じ、DIやAOPを組み合わせた設計の可能性が分かる。

  47. 曽根 壮大

    キャッシュの有効な使いどころと失敗例、実装パターン、導入時の勘所を解説。複雑化を避けつつパフォーマンスを改善する付き合い方が分かる。

  48. きんじょうひでき

    PHPUnitのカバレッジ計測の裏側で、Xdebugとphp-code-coverageがどうデータを出力・分析するかを解説。単体テスト以外への応用のヒントも得られる。

  49. おかしょい/岡田 正平

    PHPのnamespaceとuseの本当の意味、ディレクトリとの関係のなさ、そしてオートローディングが仕組みとしてどう働くかが分かる。

  50. ririhoshi

    20年続くLaravel製サイトの機能削除で直面した問題を基に、『リーダブルコード』の教えを保守・削除の観点で実践する方法を考える。

  51. さー

    初めてマネージャーになった筆者と若手メンバーが、1年間の育成施策を両者の視点で振り返る。夕会やペアレビューなど、育成のヒントが得られる。

  52. 今濱 眞

    10年稼働したシステムの中核となる巨大処理を、負債解消専門チームがどうリファクタリングするか。負債の実態、進め方、工夫が分かる。

  53. inoco

    PHP Parserで簡易的な依存可視化ツールを作り、静的解析の仕組みを身近に学ぶ話。実装時の設計判断や、設計見直しに生かすヒントが分かる。

  54. 藤掛治

    PHP8.2でmb_detect_encodingの仕様が変わり、メール文字化けが発生した事例。原因と対応の苦労、顧客対応で得た教訓が分かる。

  55. asumikam

    privateメソッドをテストすべきかを、偽陽性・偽陰性の観点と『単体テストの考え方/使い方』を手がかりに実体験から考察する。

  56. きんじょうひでき

    Composerを使う際に意識している良いcomposer.jsonの作り方や、便利なツール・コマンド、運用のコツが具体例つきで分かる。

  57. inoco

    PHP Parserで作ったAST可視化ツールを使い、PHPコードが構文木になる様子を図で確認。ASTの概念を具体的に理解できる。

  58. cakephper

    ChromeのHTTPSファーストモードが、サーバに送らず内部で307リダイレクトを返す仕組みと、その動作条件や挙動の詳細が分かる。

  59. asumikam

    テストを読みやすくするために、assertSameばかりに頼らず目的に合った適切なAssertionメソッドを選ぶ考え方と具体例が分かる。

  60. 廣部 知生

    PHPOfficeライブラリでOfficeファイルを扱う基本と、プロダクトへの組み込み事例、利用時の難点が分かる。

  61. mukae

    Flutterアプリのバックエンドに4年Laravelを使って得た反省5つ。技術面と上流工程の両面から、最初にやっておくべきだった点が分かる。

  62. おかしょい/岡田 正平

    MySQL公式リファレンスを元に、インデックスの種類と使い分けをおさらいし、データベースの性能を引き出すヒントが得られる。

  63. 清家史郎

    HTTP3の良さを仕組みに軽く触れつつ短く紹介するLT。HTTP3の特徴が大づかみに分かり、試してみる動機が得られる。

  64. くろきり

    受託開発でPHPStanやPHP CodeSnifferを導入しようとして失敗した経験と、反省を踏まえた改善内容、現在の状況が分かるLT。

  65. katzumi

    E2EでのAPIテストにおけるカバレッジの2つの意味と、その取得方法を解説。効率的にカバレッジを上げる方法やトレーサビリティ確保に役立つツールも分かる。

  66. 荒瀬 泰輔

    Garoonの開発チームの事例から、OSSの脆弱性をどう検知し、対応すべきかをどんな基準で判断してアップデートするかが分かる。

  67. ことみん

    初参加のISUCON13にPHPで挑んだ体験談。ISUCONとは何か、練習方法、当日の様子が分かり、初参加への一歩を後押しされる初心者向けLT。

  68. 長谷川智希

    PHPerKaigi 2024のネットワークチームによるライトニングトーク。運営側ならではの話題を短時間で楽しめる。