PHP Conference Japan 2019 トーク一覧

他イベントOK Lightning Talks

PHPでISUCON戦ってみた

清家史郎 seike460
皆さん、いい感じにスピードアップしてますか?

私は、PHPでISUCONに出ることになってます

その中で実行した施策をご紹介、
実行出来なかったけど反省会の内容をお話し、
PHPってどうやってスピードアップすればいいか検討します。

- お話すること
 - 時間の許す限り全方位からのアプローチ方法
7
他イベントOK 25分枠

PHPでISUCONを戦っている

清家史郎 seike460
皆さん、いい感じにスピードアップしてますか?

私は、PHPでISUCONに出ることになってます

その中で実行した施策をご紹介、
実行出来なかったけど反省会の内容をお話し、
PHPってどうやってスピードアップすればいいか検討します。

- お話すること
 - アプリケーションからのアプローチ
 - データベースからのアプローチ
 - ミドルウェアからのアプローチ
 - プロファイラーからのアプローチ

- お話出来ないこと
 - 優勝する方法
 - 具体的な模範解答
9
他イベントOK 60分枠

PHP コードでドメインを表現する

新原 雅司 shin1x1
DDD に限らず、システムに求められる要件をいかにコードで表現するかというのは重要な技術です。

ドメインを明示的にコードで表現することで、必要なビジネスルールを反映したり、コードから要件を読み取ることが容易になります。PHP では、型や抽象を活用することで、明示的にドメインの内容を表現するコードを実装できます。

本セッションでは、ある業務を対象に要件を PHP コードに落としていく流れをご紹介します。
24
他イベントOK 60分枠

RESTの力

郡山昭仁 koriym
RESTはHTTPで動作する単なるRPCやCRUDシステムではありません。ハイパーメディアアフォーダンスという発見性を持ち、進化可能性、スケーラビリティ、自己記述性といった特徴を持つ分散情報システムのコアエンジンです。

情報設計されたRFC6906アプリケーションプロファイルはRESTアプリケーションの設計図になり、アプリケーション状態遷移図と合わせて開発チームの共通理解を助けます。埋め込みリソースを用いたハイパーメディアやJSONスキーマは従来のAPI開発を大きく進化させます。

このトークでは、RESTの本来の力がアプリケーションやアプリケーション開発にどのような力を与えるか、フレームワーク製作者の視点を交えてお話します。
12
採択 他イベントOK 2019/12/01 16:55〜 Track 1 (1F 大展示ホール) Lightning Talks

PHP on AWS Lambda!

清家史郎 seike460
AWS Lambda Custom Runtimes が利用できる様になって随分たちました。

我々PHPerとしては、張り切ってPHP on AWS Lambda するしかありません。

AWS LambdaにおけるPHPのパフォーマンスと利便性を時間が許す限りトークします。

- お話すること
 - PHP on AWS Lambda
  - パフォーマンス
  - 利便性

- 利用する技術
 - AWS Lambda
7
他イベントOK 25分枠

サーバーレスPHPの可能性を考える

清家史郎 seike460
サーバーレスは一般的な技術になりつつあります

それに伴い私達PHPerが選択できるサーバーレスバックエンドは進化し続けています
技術選定の中でサーバーレスPHPを選択できる可能性はあるのでしょうか

そこでPHPでサーバーレスなアプリを提供するためのアーキテクチャ構成を検討、
PoCを作成してサーバーレスPHPが未来の可能性を秘めているのかを考えます

- お話すること
 - サーバーレスの魅力
 - PHPにてサーバーレスを実現する為のアーキテクチャ
 - 速度と安定性を向上する為に行う施策
 - 実際のPoCの動作と課題
6
採択 他イベントOK 2019/12/01 16:35〜 Track 1 (1F 大展示ホール) Lightning Talks

SwooleとWebpで遅いページを高速化する

寺井 諒 bimihoujyun
【3年ぶりくらいのスピーカー応募】
Swooleで非同期処理
JS遅延読み込み
Webp自動変換で遅いサイトを早くする的な話
3
他イベントOK 25分枠

今は誰も使わないserializeを使ってみよう

sapi_kawahara sapi_kawahara
今の時代、受け渡しのデータフォーマットはJSONを使うことが多いです。
遠い昔PHP4のころはJSONではなく、.ini かXMLが多かったのですが、.iniは階層構造が難しく、XMLはParserが重いなど良いデータフォーマットがありませんでした。
そんなときserializeという、当時はとても簡単に導入できる物がありました。
これに救われた方も多いでしょう!serializeの思い出を語りましょう。

話すこと
- serializeの思い出
- serializeのデータフォーマット

PHP Conference 20周年おめでとうございます、これは「20回記念ネタ」です。
大規模カンファレンスで25分以上話すのは初めてです。
4
他イベントOK 25分枠

テスタブルなコンポーネント設計

Yorinton hukuzatsu
普段CakePHP3を使っていますが、Componentの設計時に「テストしやすいかどうか」を意識してComponentの設計、実装を行った話をお話出来ればと思います。

以下のような話が出来ればと思います。
- テストダブルの種類
- どんな時にどのテストダブルを使うのか
- 実際に行ったComponent設計と実装
5
他イベントOK 25分枠

IoTデバイスのテストを行うためにPHPでMQTTを使う

sapi_kawahara sapi_kawahara
IoTデバイスでテストコード書いて通信などのテストをしたいが、いちいちAWSなどでやるのは煩雑するぎる。
そうだ!ローカルサーバーでやれば良いのでは!?ローカルサーバーならPHPを使っても良いのでは?!
しかし、PHPは標準ではMQTTはできないので、phpMQTTを使ってテストを実装してみた話です。

話すこと
- MQTTの簡単な説明
- phpMQTTの簡単な説明
- IoT機器でのテスト観点

大規模カンファレンスで25分以上話すのは初めてです。
採択 他イベントOK 2019/12/01 16:50〜 Track 1 (1F 大展示ホール) Lightning Talks

レガシーコードでビジュアルリグレッションテストをやってみた

阿波連 智恵 yu12co_mm
私の携わっているプロジェクトにはテストがありません。
それにより、画面変更時に、人手でページを1ページずつアクセスして確認する必要がありました。
その確認作業はエンジニアにとっては苦痛です。
そこでビジュアルリグレッションテストを導入しました。
導入によって得られた知見を話したいと思います。

※ 大規模カンファレンスでは初めてのスピーカーとなります。
13
他イベントOK Lightning Talks

初心者ぺちぱーがレガシーコードと向き合って ~ 苦痛と歓喜 ~

阿波連 智恵 yu12co_mm
1994年にPHPは生まれ、PHP Conferenceは今年で20回目です。
このような長い歴史の中で、多くのコードが生まれレガシーコードとなってきました。
私が新卒で入社した会社にも、今年で14年目を迎えるPHPコードがあり、それと向き合う1年でした。
レガシーコード向き合って学んだこと、よかったことをお話したいと思います。
(内容例:レガシーコードだからこそ、初心者でもコントリュビューターになれる等)

※ 大規模カンファレンスでは初めてのスピーカーとなります。
11
採択 他イベントOK 2019/12/01 14:45〜 Track 4 (4F コンベンションホール 梅) 25分枠

Laravel × クリーンアーキテクチャ 開発中の現状をお伝えしたい

ブライソン イアン brison_ian
「クリーンアーキテクチャ」とは、DDDの文脈における「ドメインモデル」をシステムの中心にすえ、「入力」「永続」「出力」などの多方面で抽象化を行うことで、高度に変化への強さを獲得できるアーキテクチャです。昨今の変化の早さに対応するべく「アジャイル開発」や「マイクロサービス」が叫ばれているように、「クリーンアーキテクチャ」もまた日増しにその注目度は上がっているように感じます。

しかし、やや取っつきにくいアーキテクチャであることからか、現状参考になる資料が無数に転がっているというわけでもありません。そこで、エキテンで現在Laravelベースで開発中の新しい予約システムを題材に、実際にアーキテクチャを形作っているコンポーネントの紹介や、開発する上で行ってみたちょっとした工夫、開発フェーズにおける現場の生の声などをお話しようと思います。
20
他イベントOK Lightning Talks

レガシーシステムから、クリーンアーキテクチャを夢見る

やなせ たかし penguin_no_045
先日、18年間運用されているシステムで大量のユニットテストを書きました。その際大量のモックを利用し、必死にコードの動作を制御するという経験をしました。
そこで得られた知見を整理すると、ぼんやりとクリーンアーキテクチャにつながる出口が見えてきました。
なぜモックを書かなければならなかったか、大量生産したモックはいったい何を意味するのか。
モックを使うことでテストを通すだけでなく、モックを利用して設計を改善する方法があるということをご紹介します。
8
採択 他イベントOK 2019/12/01 17:25〜 Track 1 (1F 大展示ホール) Lightning Talks

社内最長老のシステムにPHPUnitで立ち向かう方法

やなせ たかし penguin_no_045
レガシーシステムの開発中に訪れるPHPのEOL。バージョンアップ後は全機能テストが待っています。
既存のテスト仕様書では重要機能を網羅していない、書かれている単体テストは重要機能をテストしていない・・・
このような状況でユニットテストを書くためには、問題の分割と、テストで担保したいこと(目的)の設定が重要です。
18年にわたって運用されているシステムに対して、PHPUnitと、PHPの挙動を操作するuopzという拡張を利用してテストをどのように行ったのかをご紹介します。
他イベントOK 25分枠

社内最長老のシステムにPHPUnitで立ち向かい、和解した

やなせ たかし penguin_no_045
いわゆるレガシーシステムを運用していくにあたって、ユニットテストをどう書いていくべきでしょうか。
長大な関数、引き回されるグローバル変数、オブジェクト指向へのチャレンジの痕跡・・・このようなコードのユニットテストを単純に書くのは至難の業です。
先日、18年にわたって運用されているシステムで重要機能のカバレッジを100%にするというチャレンジを行いました。
その際に、ユニットテストとモックを駆使して問題を分割していくというアプローチを取り、一定の成果を得ることに成功しました。
今回はこのチャレンジで得た知見から、テスト手法の紹介と、今回取ったアプローチを突き詰めた先の展望についてお話します。
7
他イベントOK Lightning Talks

PHPのバージョンアップを通してプロダクトの壁を乗り越えた話

やなせ たかし penguin_no_045
株式会社ラクスでは、複数のPHP製のプロダクトを運営しています。
今回から、PHPのバージョンを全プロダクト共通で合わせていくという方針をとり、横断プロジェクトとしてバージョンアップを行うこととなりました。
現在、各プロダクトでPHPバージョンアップ実行中です。
PHPのバージョンアップをプロダクトを跨いだ横断プロジェクトとして行ったことで得られたメリットやデメリットについてお話します。
3
他イベントOK 25分枠

PHPのバージョンアップを横断プロジェクトで挑んだ話

やなせ たかし penguin_no_045
定期的に来るPHPのバージョンアップにどう立ち向かいますか?
特に複数のプロダクトを運営している場合は、プロダクトのライフサイクルとバージョンアップのタイミングを合わせることが多いと思います。
実際に株式会社ラクスでは、複数のPHP製プロダクトをそれぞれ必要なタイミングでバージョンアップしていました。
今回、そのバージョンアップ作業を横断プロジェクトとして全プロダクト横断チームで実施することにしました。
その結果得られたのは、いったい何だったのか。工数削減?バグの減少?もしくは?
ラクスの全PHP製プロダクトのPHPバージョンアップを横断プロジェクトとして行ったことで得られたメリットやデメリット、そしてプロジェクトを進めていく過程で実際にどのようなことが起こり、どういう結果をもたらしたのかをご紹介します。
5
他イベントOK 60分枠

beyond レガシーコード 〜 久しぶりにPHPを触った僕がレガシーアプリケーションにどのように立ち向かったか

a-suenami a_suenami
10年近く前にメインの言語をRubyにした僕が再びPHPアプリに触れるときがきました。しかも、進化を遂げたはずの7.x系ではなく、なんと僕も知っている5.x系。いわゆるレガシーアプリケーションです。

PHPから遠ざかっていたとはいえ、その間に
- ドメイン駆動設計
- テスト駆動開発
- RDB設計
などの設計手法に触れた経験を活かし、このレガシーアプリケーションにどのように立ち向かっているのかをご紹介します。

PHPカンファレンスの歴史の半分程度ですが、この10年で起こった変化(クラウドサービスの台頭、IDEや各種静的チェックツールの充実など)も踏まえ、久しぶりにPHPに触れた僕が何を考え、どうアクションをとっているかをぜひ聞いてください。

現在進行系の案件で、発表時点で大団円を迎えているとは限りません。でもだからこそリアリティのあるお話ができるかと思います。
10
他イベントOK 25分枠

5年以上PHP5で運用されていたWebサービスをPHP7.3にバージョンアップした話

くろもか kuromoka16
リリースから5年以上PHP5で運用されていたGameWithを、PHP7.3にバージョンアップした話をします。
PHP5系はサポートが終了しており、またサービス成長に伴いシステムが肥大化したことでパフォーマンスの低下が潜在化していました。
そのためPHP7.3へのバージョンアップ対応チームが立ち上がることになり、そこでリリースに到達するまでに得た知見について話します。
以下のような内容を予定しています。

・FWがPHP7.3に未対応の中で行った対応
・E2Eテストでの既存動作の担保
・ダウンタイムなしでのリリース手順
・バージョンアップ前と後でのパフォーマンス比較
・リリース後に起きた問題点

特に同じような長期運用のPHP5のサービスのバージョンアップを考えている方へ、ヒントになるような話ができれば幸いです。
大規模カンファレンスでは初スピーカーとなります。
6
phpcon-2018-sponsors
2018 2017 スペシャル プラチナ ゴールド シルバー ブロンズ ランチ ネットワーク サンクス スポンサーセッション
初めてのスピーカー International CfPあり 来日意思あり ビデオ通話希望 採択あり LT採択あり スピーカーディナー参加 スピーカーディナー不参加 スポンサースピーカー Tシャツ情報募集中
初心者向け 初めてのスピーカー インフラ 20回記念 設計 Test/CI/CD Security データベース レガシーコード フレームワーク