採択
2023/10/08 14:50〜
トラック5 - 1F 会議室AB
レギュラートーク(25分)

リーダブル プルリクエスト (分割プルリクエスト編)

suzuki @suzuki

「コードレビューが順調に進んだほうが、チームの生産性が上がる可能性が高い」ということについては、違和感なく思う人が多いのではないでしょうか。

「順調に進める」ためには、それを意識することだけでなく、レビューする側・レビューを依頼する側のそれぞれにテクニックが必要になってきます。

このトークでは、かつて、「おまえのプルリクエストは大きすぎてレビューできない(意訳)」と実際に言われたことがある発表者が、現在までにどのような工夫をして「分割プルリクエスト」にたどり着いているのかを共有したいと思います。

なお、このトークのタイトルは「リーダブルコード」にインスパイアされていますが、トーク内容については特に関係するものではありません。

■想定する対象者

  • プルリクエストのサイズが大きくなりがちなかた

■話さないこと

  • コード自体をどう読みやすく書くか、など
採択
2023/10/08 14:50〜
トラック6 - 3F 特別会議室
レギュラートーク(25分)

PHPからはじめるコンピュータアーキテクチャ

tomzoh 長谷川智希

現代のコンピュータはハードウェアから私たちプログラマが書くプログラムの動作までの間が多くのレイヤーに分けられて動作しています。
レイヤーは自分より下を抽象化し、下のレイヤーを詳しく理解しなくても多くの場合プログラマはプログラムを書けます。
一方、プログラムが期待した様に動作しない時には下のレイヤーの動作の理解が問題の解決の助けになることもあります。

このトークでは私たちが愛するPHPをスタート地点にして、「CPUによる"プログラム実行"」「 PHPやJavaとC言語の根本的な違い」など、コンピュータプログラムがどの様に動作するのかを解説します。

コンピュータのレイヤー構造を理解すると、いままでは見えていなかった角度からプログラミングを楽しめるようになります。
このトークを通じて、低レイヤーが好きになったり、いろいろなレイヤーで面白いことをしたりする方が増えることを期待しています!

13
採択
2023/10/08 15:20〜
トラック3 - 4F コンベンションホール 梅
レギュラートーク(25分)

安全にPHPでWebアプリ開発するために実践していること

pinkumohikan 篠田 北斗

開発者数が多く、MVPアプリにも高トラフィックなアプリにも採用できるPHP。
インターネットではPHPのゆるい使い方ばかりが槍玉に上がっていますが、最近のPHPは言語仕様としての型サポートも強固になってきています。

もう一歩進んで、より安全に仕様変更やリファクタリングを行うためにどういう工夫が出来るでしょうか?
本セッションでは、プロダクト開発時に堅牢性を高めるための仕組みと文化についてお話致します。

対象観客

  • ビクビクしながらコードを変更しているPHPer
  • 初学者でも安全にコードを書ける環境を作りたい人

お話しすること

  • 年々型安全になりつつあるPHPの言語仕様
  • テストを更に堅牢にするテスト戦略
  • 静的解析で、テストされていない部分の不安を減らす
  • MTTRを縮めるエラートラッキングツールの活用
  • エラーの見落としを防ぐ週次エラー確認イベント
採択
2023/10/08 15:20〜
トラック4 - 4F コンベンションホール 鶯
レギュラートーク(25分)

既存コードベースにもPHP_CodeSnifferを導入して楽したい!

takaram71 荒巻拓哉

多くの現場でコーディング規約が策定され、それに沿った開発が行われています。
私のチームでもコーディング規約があり、実装者とレビュー者がそれぞれチェックを行っていました。
しかし守るべきルールの数は80を超え、人間が限られた時間の中目視でチェックするのは無理がありました。その結果見落としも頻発していました。

大変なことは自動化するのがプログラマの美徳。そこでPHP_CodeSnifferをIDEとCIに導入し、人間の負荷を下げることに成功しました!

しかしその裏では、既存プロジェクトであるが故のいくつもの障壁がありました。
「独自の規約なので、定義済みのルールセットを利用できない……」
「既存コードに違反があるせいで、毎回CIがエラーになる……」

このトークでは、約半年をかけてPHP_CodeSnifferをチームに導入した経験談と、直面した障壁の乗り越え方についてお話しします。

採択
2023/10/08 15:20〜
トラック5 - 1F 会議室AB
レギュラートーク(25分)

わたし、Composerが気になります

22kerokero22 kerokero

composer.jsoncomposer.lockcomposer requirecomposer install......よく分かんないぞ。
そんな疑問を持ったまま、なんとなくモヤモヤとしている新米PHPerを救いたい。

このトークでは、Composerというやつが何なのかを紹介します。

具体的な内容

  • Composerの役割について
  • composer.json .lock requireについて
  • プラットフォームパッケージについて
  • pharについて
  • autoloadについて
  • 実際にComposerを使って構築してみる

対象者

  • Composerが気になる人
  • 「pharアーカイブ」ってなんだよ?という人
  • 「autoload」ってなんだよ?という人
  • PHP初心者の人
採択
2023/10/08 15:55〜
トラック1 - 1F 大展示
レギュラートーク(25分)

運用中の大規模オンラインゲームで8年ぶりにPHPバージョンアップをした話

福田 陽介

常に機能追加が続く運用中の大規模オンラインゲームプロジェクトで、PHPを5.5から8.1にバージョンアップしました。
言語バージョンアップに伴い、PHPUnitも4.5から10に更新しました。

今回のバージョンアップについて、以下のポイントで話したいと思っています。

  • バージョンアップの計画と結果(平均レスポンスタイムが42%短縮)
  • PHPのバージョンアップでPHP_CodeSnifferをベースにして修正箇所を特定していった話や、そこで起こった問題へ対応
  • PHPUnit10にバージョンアップする際、代替手段なしに削除されたメソッドへの対応など
  • PHP5.5とPHP8.1を並行稼働させ、運用ツールなどがPHP8.1起因で止まってしまった場合にもゲーム運営を止めない工夫
  • バージョン移行後に起こったopcache.jitに関するエラーなど
採択
2023/10/08 15:55〜
トラック2 - 2F 小展示
レギュラートーク(25分)

PhinxによるDBマイグレーションとサービス運用

zosokh ヒエイカザト

長年稼働しているサービスのDBを運用途中からマイグレーション管理した話をします。

PHPでマイグレーションを扱うのに、例えばLaravelのマイグレーションの利用を考えると思います。
複数のサービスアプリケーションで接続しているDB、どのアプリケーションでマイグレーション管理が最適なのかと考えました。

いや、、、サービスアプリケーション側でマイグレーションを持たせず、独立したマイグレーションアプリケーションを立ち上げましょう。

その時に最適だったのがCakePHPが公式に採用しているPhinx。

  • Phinxを利用した独立したアプリケーション立ち上げ
  • 運用途中からDBマイグレーション管理
  • GitHub ActionsとECSを利用したRDS環境へのマイグレーション実行
  • 実行テスト・ルール設定・テスト環境にマイグレーション利用など運用アレコレ

について話をします。

採択
2023/10/08 15:55〜
トラック3 - 4F コンベンションホール 梅
レギュラートーク(25分)

AWS Lambda で PHP を動かす Bref の布教に来ました。

chatii ちゃちい

去る 2023-07-10、Brefの作者である Matthieu Napoli さんを招いたミートアップを開催したところ、
Bref(あるいはサーバーレス)に興味を持った方が多く見受けられたので、本プロポーザル提出に至りました。

  • サーバーレス・Lambdaのカンタンな説明
  • Brefを使って実際に使えるAWS構成
  • こんな時はどうする?デバッグやログ

前回(PHP Conference Japan 2022) は AWS CDK を使ってインフラを理解しよう、という話をしましたので、
https://fortee.jp/phpcon-2022/speaker/proposal/view/66d8d2f7-0c5d-4df0-9fe1-cca5501be520
CDKを使って「純粋なPHP」をデプロイし動作させるライブデモを考えています。

採択
2023/10/08 15:55〜
トラック4 - 4F コンベンションホール 鶯
レギュラートーク(25分)

学園祭Web開発の現場とPHPのこれまでとこれから──技術選定と教育から語る

Arthur1__ Arthur

私は学生時代に学園祭実行委員会に所属し、PHPを用いた学園祭Webサイトの開発・運用や情シス業務に携わっていました。その頃の経験を振り返り、学園祭というドメインならではのWeb開発の過去と未来に触れつつ、一般のエンジニアでも他人事ではない技術選定や教育に関する話をします。

こんな話を時間の許す限りします

  • 「学生」「学園祭」というドメインならではのチーム・プロダクトの特徴
  • PHPでの開発を学び、後輩に伝承するための講習会と砂場遊び
  • 現代における学園祭Webサイトの設計論
  • 社会人エンジニアとなった今、役立っている経験
5