PHP Conference Japan 2021 トーク一覧

採択 他イベントOK Service Development Lightning talk (4 mins)

これでリリースも怖くない!フィーチャートグルを導入入門

glassmonekey 永野峻輔 glassmonekey

皆さんリリースの頻度はどれくらいでしょうか?
毎日、毎週、もしかして毎秒だったりしますでしょうか。
一般的に我々開発者が顧客に望まれるプロダクトを作るためには高頻度のリリースは必要不可欠です。
しかし、それを実現するためには完全に作り込んだ機能が実現できてないといけないのでしょうか。
今回は未完成の機能をプロダクション環境に混ぜ込むための、フィーチャートグルの概念、効能をご紹介します。加えてlaravelに組み込んだ例もご紹介します。

7
採択 Test / Quality Lightning talk (4 mins)

PHPでWeb Driver Clientを自作する〜己の手でブラウザ操作自動化を完全理解する方法〜

hgsgtk 東口和暉 hgsgtk

昨今のE2Eレベルのテストではその自動化テストのツールとしてSeleniumに代表されるようなブラウザ操作ライブラリが使われます。

Seleniumなどを使ったことがある人は多いでしょう?ではその裏側で行われている仕様については知ってますでしょうか?

本トークでは、PHPで実際にSeleniumのようにブラウザを動かすツールを自作するプロセスでそれらの仕様を理解する場を提供します。本トークで得られることは以下です。

  • ブラウザ操作するために必要なWebDriver
  • WebDriverについてのW3C勧告の標準化仕様
  • WebDriver Wire ProtocolというInterface仕様
  • PHPでWebDriverとコミュニケーションをしブラウザを動かす方法

本トークを経て、WebDriverについての理解が深まることで、ブラウザ操作の自動化についての技術的理解が一段深まるお得な4分間にいたします。

8
採択 他イベントOK Learning Community / Communication Lightning talk (4 mins)

カンファレンスはフィードバックが大事

HiroyaYamamoto1 やまもとひろや HiroyaYamamoto1

PHPerKaigi2021でベストフィードバッカー賞をいただきました。
これは「フィードバックの数 x 愛」が1番だったという賞ということでした。
カンファレンス中に合計21個のフィードバックを送っていました。
正直見たセッション全てには送れていないです。

実際みんなあんまりフィードバック送ってないのかな?と思ったのでこのLTの時間を使って
・フィードバックって大事だよね
・フィードバック送ってみようかな?
って少しでも多くの人に思ってもらおうと思いプロポーザルを投げました。

大きなカンファレンスでプロポーザル採択による登壇はしたことがありません。
よろしくおねがいします!

2
採択 他イベントOK Database Architecture Lightning talk (4 mins)

【超特急】「SQLアンチパターン」 総おさらいLT 【4分で25個】

820zacky つざき 820zacky

PHPといえば、Web開発。
Web開発と切っては切り離せないのが「データベース」と「SQL」です。

このトークは、オライリー・ジャパン出版の名著「SQLアンチパターン」で紹介されている25のアンチパターンを「超特急」で学ぶものです。
わずか4分のLTで、25個のアンチパターンをおさらいします。
東京2020オリンピックのピクトグラムパフォーマンスのようなスピード感のある超特急LTをお楽しみください。

大事なところだけをギュッとして、明日からすぐ使える知識としてお届けできたら幸いです。

6
採択 他イベントOK CI/CD Performance Lightning talk (4 mins)

アプリケーションのデプロイを高速化するためにnode_modulesに手を出した話

gatchan0807 がっちゃん gatchan0807

みなさんのアプリケーションのデプロイは高速ですか?

昨今のWebアプリケーション開発では、UIはVue.jsやReactなどを使ったSPAとして提供し、PHPはAPIとしてデータを提供してSPAと連携する構成がよく見られます。
ただ、この構成で長く提供されているWebアプリケーションであればあるほど、UIの変更や更新が頻繁に行われるSPAのコードの中身は複雑になり、ビルドが少なくない時間を取ってしまってデプロイフローの開始から完了までの時間が長くなってしまう問題が発生してきます。

今回は、そういった課題が発生したWebアプリケーションのデプロイを高速化するために、PHP側の改善はもちろんのこと、フロントエンド目線でnode_modules周りやフロントエンドビルドツールまで手を加えた際のTipsをお話できればと思います。

このトークをお聞きいただき、高速なデプロイを手に入れて、高い開発体験とWebアプリケーションを使ってくださるユーザーさんに対して価値提供の高速化を実現する一助になれば幸いです!

PHP Conferenceの参加は初で、大きいカンファレンスでの登壇経験は浅いので、なにとぞお手柔らかにお願いします!

5
採択 他イベントOK Operation CI/CD Lightning talk (4 mins)

PHPプロダクトのDeployをラクにするCLIツールたち

sogaoh sogaoh sogaoh

開発したプロダクト、その価値を届けるにはいわゆるDeployを行わなければなりません。
このLTでは、デプロイ先の環境でアプリケーションがDocker上で稼働することを前提として、
デプロイ時に利用できる便利なCLIツールをいくつか紹介します。
現場によって様々な事情やユースケースがそれぞれあると予想されるので、「こういうときに使うのが適切」という観点での事例や見解を交えてお話しします。
プロダクトに関わる皆さんの今後の運用・成長に有益となる情報を提供できれば幸いです。

2021/8/7 時点では、ecspresso・copilot・jsonnet・direnv 等を紹介する候補として想定しています。

4
採択 他イベントOK Performance Laravel Lightning talk (4 mins)

Laravelのsession設定を変えて劇的にパフォーマンスを改善した話

gorou_178 gorou gorou_178

【トーク対象】
・LaravelのSessionについて知りたい
・障害発生時の原因特定から対策までの流れが聞きたい

【分野】
運用、データベース

【トークの概要】
webアプリケーションでCookieを利用したSession管理を行うことが多いと思います。
最近のフレームワークはSessionをとても簡単に活用できるためその維持管理について特に考えないことが多いです。

Laravelで構築したwebアプリケーションで、急激な性能劣化が発生して原因の特定と対策をすぐに行わなければいけない状況が発生しました。結果的にLaravelのSession設定を変更することで劇的にパフォーマンスが改善しました。

本セッションでは、なぜSessionが原因で性能が劣化したのか、また改善した理由について、経緯を踏まえてお話します。PHP/Laravelでのセッションの大まかな仕組み、性能劣化の要因、対策方法について説明します。

5
採択 Community / Communication Lightning talk (4 mins)

PHP Conference Japan 2020で当日スタッフをした話

yoko_94b 下岡葉子 yoko_94b

スタッフに興味あるけど「スタッフってつよつよエンジニアばかりなんじゃないの?」とか「自分なんかにできるのか?」なんて不安を感じて応募を躊躇ってしまっていませんか?
いつもお世話になるばかりだった私が、当日スタッフに応募しようと思った動機と、実際にやってみてどうだったかという話をしたいと思います。
そして「次回は応募してみようかな」と思った方が一人でもいたら嬉しいです。

4
採択 他イベントOK Infra / Middleware / Cloud Lightning talk (4 mins)

PHP-FPM の子プロセス制御方法と設定をおさらいしよう

okashoi おかしょい okashoi

PHP-FPM(FastCGI Process Manager)の設定項目を「なんとなく」「デフォルトのまま」にしていませんか?
不適切な設定は充分なパフォーマンスが発揮できないばかりか、障害の原因にもなりかねません。
本発表では PHP-FPM の子プロセス制御方法と設定項目の意味、適切な設定値の判断方法について説明します。

3
採択 他イベントOK Performance Lightning talk (4 mins)

PHPerがISUCON11にチャレンジした時のあれこれ

takoba_ takoba takoba_

2021年8月に開催された「ISUCON11予選」に参加してきました。
GopherやRubyistが巣食う予選で、PHPerはどれだけ成績を残せたのでしょうか...!

本トークでは、予選に参加する過程で生まれたエピソードや成果をご紹介します。

例えば、以下のような話題を扱う予定です。

  • 予習って何をやった?
  • 過去問って docker-compose でPHP参考実装が動かないじゃん!ぷんぷん!!!
  • 過去問ってどんなフレームワークで書かれてるのか調べてみました!
採択 Sponsored Sponsored LT

親子が幸せになる5G・・・5Gに繋がるってどんな感じ?

sdx_ 志田 典道 | 株式会社トラーナ sdx_

5Gは色々なトピックで話題になっています。皆様も5Gに繋がっていますでしょうか。
5Gは無線、コアネットワーク共に4Gから大きな技術的進歩を遂げています。
モバイルネットワークの技術はWi-Fiにもその技術が応用されるようになりました。
本セッションでは、5Gの無線、コアネットワークの進歩とそれによって私達がどう幸せになるのかをお話します。
トラーナのビジョンである幸せな親子時間を増やすことに絡めてお伝えできればと思います。

Discord Channel: #track1-slt1-トラーナ

3
採択 Architecture Sponsored Sponsored LT

求人ボックスにアーキテクチャを導入した話

スミ | 株式会社カカクコム

ローンチ当初は少人数で依存や実装に関するルールを整備せず、都度コミュニケーションを取りながらスピード重視の開発をしてきました。結果サービスは急成長し、開発人数も増えてきたため、アーキテクチャの導入を進めることとなりました。
アーキテクチャ導入前にはどういった問題があり、導入後はどのように変わってきたのかをお話します!
技術レベルは初心者〜となっております。同じような状況に置かれている皆様のご参考となれば幸いです。

Discord Channel: #track1-slt3-カカクコム

1
採択 Sponsored Sponsored LT

LaravelとAWSで漸進的なプロダクト開発

kazuhei__ 荒井 和平 | 株式会社M&Aクラウド kazuhei__

株式会社M&AクラウドではPHP、LaravelとAWSを使ってM&Aのマッチングプラットフォーム「M&Aクラウド」を開発しています。サービスリリースから徐々にアプリケーションとして成長していく過程でどの様な技術を組み合わせて課題を解決してきたかを、短い時間ですがご紹介させていただきます。

Discord Channel: #track1-slt4-macloud

3
採択 Sponsored Sponsored LT

PHP(Laravel)とAWS FargateのDeploy戦略

dip_PR_ 中川 拓哉 | ディップ株式会社 dip_PR_

AWS Fargateを利用した大規模サービス開発におけるインフラ設計のポイントや工夫していること、デプロイフローなどについてお話しします。

[想定する聴衆]現在Fargateを利用されている方、オンプレミスやEC2からコンテナサービスへの移行を考えている方

Discord Channel: track1-slt2-dip

1
採択 Sponsored Sponsored LT

ランサーズのCakePHP4化の取り組みについて

yakitori009 金澤 裕毅 | ランサーズ株式会社 yakitori009

ランサーズは10年以上利用されているクラウドソーシングサービスになります。
PHP7.3 + CakePHP2.10 までバージョンアップが完了し、引き続き、CakePHP2→CakePHP4へのジャンプアップを実践中です。
本LTではその内容についてお話いたします。

Discord Channel: #track1-slt5-lancers

採択 2021/10/02 11:00〜 Track 1 Keynote

PHPの今とこれから2021

rui_hi 廣川 類 rui_hi

今年リリースされるPHPの最新バージョン8.1における機能強化・変更点を中心にPHPの開発に関する最新の情報,PHPコミュニティに関する話題について紹介します.PHPの最新動向に興味がある方向けに,初心者の方にもわかりやすい解説にしたいと思います.

Discord Channel: #track1-k-php2021

4
採択 Beginner Test / Quality Sponsored 2021/10/02 13:00〜 Track 1 Long session (60 mins)

PHPにおけるコーディング規約と自動整形

GMOdev 橋口 巧 | GMOインターネットグループ GMOdev

こちらでは初心者向けのPHPプログラマを対象にPHPのコーディング規約(PSR)と自動整形についてお話したいと思います。

自動整形ツール
php-cs-fixerとphp_codesnifferの挙動を一緒に見ていきたいと思います。

■アジェンダ
・そもそもコーディング規約はなぜ必要なのか
・PHPにおけるコーディング規約
・自動整形
・php-cs-fixerとphp_codesnifferの違いについて

少しでも皆さんの手助けになればと思います。

※サンプルはLaravelを使用したものになります

Discord Channel: #track1-sp-gmo

5
採択 Service Development Operation Sponsored 2021/10/02 14:20〜 Track 1 Regular session (25 mins)

ElasticsearchとKibelaを活用したSlackでのCSお問い合わせ対応業務の改善

tawamura1224 粟村 誉 | BASE株式会社 tawamura1224

ユーザからのお問い合わせに対して適切な回答を行うことは、様々なサービスを提供する上でとても重要です。弊社ではその中でも技術的なお問い合わせについて、Slack上で問い合わせ担当エンジニアへ調査を依頼する業務フローが存在します。現在、問い合わせ担当エンジニアは当番性であり、担当領域以外の問い合わせについても対応しています。この業務フローに関して、新しいお問い合せのうち、一部は過去に対応したお問い合わせと類似したものや一致するものが存在し、回答の参考になることがあります。
本セッションでは、新しいお問い合わせについて、過去のお問い合わせから類似するものをAmazon Elasticsearch Serviceを使用して自動で抽出し、同時にKibela Web APIを使用して関連するドキュメントを検索した上で、Slackのスレッドに投稿するシステムについて導入した話を紹介します。

Discord Channel: #track1-a-base

4
採択 他イベントOK Architecture 2021/10/02 14:20〜 Track2 Regular session (25 mins)

フレームワークの内部構造を理解するためにフレームワークを作ってみることにした

jdkfx 田添 春樹 jdkfx

トーク概要

自作フレームワークの話になります.

趣味で開発をする際にLaravelを多用していますが,Laravelの内部構造について「よくわからない」という感情を持ちながら利用しており,その内部構造を理解するために実際に自分でフレームワークを作りながらLaravelのようなフレームワークを作ってみるというお話をさせていただきたいと思っております.

他にも,オブジェクト指向や自作フレームワークについて,まだまだ勉強することはたくさんありますが,自分なりに実装をしてみたり,たくさんのかたに相談をして実装を進めており,その中で,これまでに得た知見を発表したいと思っております.

トーク対象・分野

オブジェクト指向,フレームワークなどの初学者がメインとなりますが,ベテランの方からのフィードバックもいただきたいと思っているため,対象や分野は広く取りたいと考えております.

その他

大きなカンファレンスなどに登壇するのは初めてです.

Discord Channel: #track2-1-a-build-framework

1
採択 他イベントOK PHP8 2021/10/02 14:20〜 Track3 Regular session (25 mins)

レガシーシステムにおけるPHP8バージョンアップのアプリ対応記録

zaregoto32 頓花 zaregoto32

PHPのメジャーバージョンアップは変更点が多く、歴史が長くコードベースの大きなサービスでは対応に手間が掛かることが度々発生します。
弊社ではPHPのEOLを避けつつサービスの品質を担保するために、PHPのメジャーバージョンアップを2年に1回は必ず行っています。
そのため、今年EOLを迎えるPHP7.3からPHP8.0へのバージョンアップを行いました。
今回、対象となったサービスは2008年から続いてるレガシーシステムであることと、PHP8.0の変更点が多いことが重なり過去にないレベルの修正が必要となりました。
PHP8に対応するあたり発生する、次のような課題と、それに対する解決事例をご紹介します。
・影響範囲の調査と対応範囲の検討
・後方互換性の無い変更に対する対応
・静的チェックが難しい変更点に対する対応
・品質担保
息の長いサービスがPHP8対応する際に注意すべき点、大きな課題を発見した際にどのように解決したのかを具体的に紹介します。
これからPHP8対応を行う方々の一助となれば幸いです。

Discord Channel: #track3-a-php8-up

8