PHPerKaigi 2020

2020年2月9日開催 / 発表資料 45 本

  1. itosho

    複雑さを隠すdeep moduleの考え方をPHPのコード例で解説。インターフェースが直感的で変更しやすい設計の方法が分かる。

  2. めもりー

    PHPでJVMのようなスタックマシンを実装し、HelloWorldを出力するまでの過程を解説。JVM仕様やclassファイル実行の仕組みが分かる。

  3. a-suenami

    オブジェクト、ER、リレーショナル、ラムダ計算など複数のモデリングパラダイムの共通点と相違点を考察し、インピーダンスミスマッチを減らす考え方が分かる。

  4. 小山哲志

    PHPの非同期処理拡張SwooleのC++ソースを読み解き、非同期処理がどう実現されているかを解説。内部で何が起きているか想像できるようになる。

  5. 山岡広幸

    PHPのアノテーションが内部でどう処理されるかを解説し、利用場面やメリット・デメリットの判断材料が分かる。

  6. きんじょうひでき

    CakePHPの2.xから4.xへの進化をたどり、PHP7.2必須化など時代に合わせた変化の背景から、PHPフレームワークの最近の潮流と思想が分かる。

  7. 岸田健一郎

    E2Eテストが遅い・不安定と敬遠されがちな理由を整理し、Testing Pyramidに基づく範囲の考え方やツール選びが分かる。

  8. 清水 陽一郎

    Go言語のインタプリタをPHPで実装した体験を通じ、字句解析・構文解析・評価器の役割や抽象構文木の実装を学べる。自分の言語処理系を作る入口になる。

  9. 中榮健二

    状態の変更差分をイベントとして記録するイベントソーシングの考え方と、EventSauceを使ったPHPでの実装方法が分かる。

  10. 齋藤 匠

    創立22年のエキサイトが新経営陣のもとで行った抜本的改革の全容と今後の展望。上期で過去最高の利益を出した取り組みが分かる。

  11. 新原 雅司

    PHPの現場の公開収録。概要は記載がなく、内容の詳細は不明。

  12. uzulla

    PHPer視点でレンタルサーバーの強みと弱点、活用テクニック、モダンなデプロイや運用、VPSからの移管事例を紹介し、その魅力を見直せる。

  13. yoku0825

    MySQL 8.0のperformance_schema.data_locksでロック競合を可視化する方法を解説。5.7以前との違いと多様なロックの調べ方が分かる。

  14. cakephper

    イベント管理システムforteeにVAddyで脆弱性診断を行った体験談。診断の種類、検査しやすい箇所と難しい箇所、フレームワーク利用時にも生じる脆弱性が分かる。

  15. DQNEO(ドキュネオ)

    SymfonyやGuzzleなどPHPライブラリへ送った実際のPRを紹介し、初心者でもOSSにPRを出す心構えやチャンスの見つけ方が分かる。

  16. しろぐちゆうま

    Lambda上のCustom RuntimeでPHPを動かす既存システムを改修し、ユニットテストを導入した経緯と手順が分かる。他人の実装の読み解き方も参考になる。

  17. 若葉 章

    既存クエリビルダーの密結合や文字列依存、インジェクションの懸念といった課題を解決する自作QueryBuilderの設計と導入しやすさが分かる。

  18. 小山健一郎

    未知のWebアプリ開発に途中参加した際、サービス概要やDB、環境、コードをどう把握するかの実践的な進め方が分かる。

  19. 静的解析の育て方スライド動画

    杉山 祐一

    既存プロダクトにPhanやPhpStormのInspectionを導入し、エラー多発を乗り越え品質向上につなげた段階的な進め方が分かる。

  20. くろ/gattoman

    カンファレンス初心者が参加の壁を越えて登壇に至るまでの経験談。費用や懇親会などの不安への対処のコツが分かる。

  21. Tsukahara

    テスト未経験者がLaravel導入を機にテスト駆動開発を始めた体験談。少しずつ始めるコツや実践での気づきが分かる。

  22. 秋葉 誠一

    サーバーサイドエンジニア向けに、Atom Designを用いたコンポーネント設計とフロントエンド設計の基本的な考え方が分かる。

  23. なずな

    LaravelとIoTボードObnizで学習型赤外線リモコンを作り、ブラウザから家電を操作する話。赤外線の仕組みや両者の通信方法、時刻起動の自動操作が分かる。

  24. うさみけんた

    PHPのジェネレータの基礎概念と応用パターンの解説。無限リストやストリームを省メモリかつ効率よく扱う方法が分かる。

  25. 東口 和暉

    PHPでxUnitを自作する過程を通して、xUnitの考え方とPHPUnitの仕組みへの理解を深め、普段使うテストツールの中身を考えるきっかけが得られる。

  26. 武田 憲太郎

    都道府県や金融機関コードなどマスタデータの性質に応じた管理・実装の方法を紹介。開発と運用を効率化する考え方が分かる。

  27. 中村光佑

    4サービスで使うクレカ決済システムを約4ヶ月かけ移行したプロジェクトの実録。一発切り替えに臨む際の心構え、対策、失敗から得た知見が分かる。

  28. やなせ たかし

    PHPや他言語での型機能の進化を整理し、動的型付けと静的型付けの違いやPHPで型と付き合うための基礎知識が分かる。

  29. きくもと

    PHPシステムをコンテナ化する実践例。itamaeでのイメージ作成やBlue-Greenデプロイ、Run Commandによる配備方法が分かる。

  30. Hamee株式会社

    レガシーコードへ機能追加する際の変更に強い実装を、ドメイン駆動設計の視点で解説。クラスやインターフェースを作る理由を設計から説明でき、リファクタリングの実例が分かる。

  31. ふりーだむ

    PHP-Parserを使ってPHPでPHPを実装し、言語処理系の仕組みやASTの扱い方、静的解析ツール自作への応用が分かる。

  32. hnw

    PHPの実行基盤Zend VMが例外処理をどう実現しているかをCソースコードで解説。本物のCPUとの違いや実装の詳細が分かる。

  33. 大橋 佑太

    一人からカイゼンを始めるために筆者が実際に試したアプローチの紹介。会社やチームの文化を変える最初の一歩のヒントが得られる。

  34. 富所 亮

    C言語で書かれたPHP本体のソースコードを、誰でも読めるようにする手順を解説。var_dumpなどの実装を追う方法が分かる。

  35. 有木 詩織

    WCAGでは触れられない表示や応答速度など、サーバーサイドエンジニアがWebアクセシビリティを支えるためにできることが分かる。

  36. gongo

    古いPHPの危険な機能register_globalsの仕組みや、ドキュメントにない挙動、変数汚染などの脆弱性との関係を歴史的に振り返って理解できる。

  37. 高野福晃

    正式版となったGitHub Actionsの基本と、PHPUnitやphpstanをDocker上で回すCI/CD構築の具体例が分かる。

  38. 清家史郎

    AWS Lambda中心のServerlessパターンを使うことで得られるメリットと、構築時に考えるべきAWSリソースの特徴や注意点が分かる。

  39. ひかる

    VTuberの動きをPHPで実現しようとする挑戦の話。フェイストラッキングなど配信技術をPHPで扱う発想と試行の過程が分かる。

  40. yamotuki

    競技プログラミング初心者がPHPでLeetCodeのeasy問題を100問解いた結果を共有。便利関数の内部動作を意識しないと遅くなる点が分かる。

  41. カンボ@沖縄

    PHP未経験者向け研修で作る独自フレームワークの作り方を公開。ルーティング、CSRF対策、コントローラ、モデル、バリデーションの実装が分かる。

  42. 加納悠史

    PHPの仕様を決めるRFCの仕組みと読み方を紹介。提案の背景を読み解き、言語仕様への理解を深める方法が分かる。

  43. MasaKu

    カンファレンス参加を機に社内勉強会を主催し始めた体験談。主催までの意識や環境の変化と、学びを共有する効果が分かる。

  44. meteor

    PHP 7.4のFFIでRust製共有ライブラリを呼び出し、音声エンコードを行った際の注意点やPHPとRustの相性が分かる。

  45. hamaco

    異体字を含む自分の名前を、変換・表示・入力できるようにするまでの道のり。異体字とは何か、最近のOSでの扱い方と実際の結果が分かる。