Japan PHP conference is the biggest PHP festival in Japan held at Tokyo, with more than 1,500 visitors for 2018. This one day festival covers all topics of PHP from introductory seminar for early beginners to dedicated topics in details for wide variety of topics like frameworks, DevOps, security, or PHP internals.

Sunday 1st December 2019

10:00
0
Opening in Track1 (10 minutes)

Opening Talk

10:10
0
PHPの今とこれから2019
Talk by 廣川類 in Track1 (30 minutes)

最近のPHP関連の話題として、2019年末にリリース予定のPHP 7.4の新機能を中心に、PHP 8.0で計画される新機能についても紹介します。 -- 廣川類 1996年からPHPマニュアル日本語訳を手掛け、mbstringエクステンションの開発・メンテに従事。PHP徹底攻略シリーズ(通称:マンモス本)の著者であり、日本PHPユーザ会の創設メンバー。

11:00
0
コミュニティ・アップデート powered by GMOインターネット in Track1 (1 hour)

GMOインターネット株式会社 このトークは『GMOインターネット株式会社』の提供でお送りします。 -- 全国に広がるPHPコミュニティ、北は北海道から南は沖縄まで!地域コミュニティ代表が、その地域ならではのイベントの特色や楽しみ方、はたまた運営に関する悩みまで・・・ここでしか話せないPHPコミュニティ事情を赤裸々に語り合います。

2
PHP における並列処理と非同期処理入門
Talk by めもり〜 in Track2 (25 minutes)

みなさんは PHP で並列処理や非同期処理をする方法を知ってますか?以前は pthreads といった拡張機能があり、 PHP で並列処理を実現するには主にこの拡張を使用していました。一方で非同期処理に関しては、libevent だったり最近だと Swoole が注目されており、容易に PHP で非同期処理を行うことができます。 pthreads はデータの受け渡しが難しかったり、導入にはいくつかのハードルがありましたが、Swoole は一般的な拡張機能の導入の方法がほぼ同じなため導入しやすいです。 本セッションでは、 phtreads と Swoole を比較しつつ、実際に今まで触れてきたり、 pthreads の導入に挫折はしたもののプロダクションに導入しようとしたり、 Swoole を使って実際にアプリケーション開発をした過程をノンフィクションでトークできればと思います。

0
Chatworkのシステムから学ぶレガシーなPHPの限界とレガシーからの脱却
Talk by 村上 俊介 in Track3 (25 minutes)

Chatworkでは10年近く前から運用されているプログラムがメインのシステムとして稼働しておりますが、近い将来に限界を迎えそうになっています。 システムがなぜ限界を迎えるのか、どういうタイミングで限界が訪れるのか。長く運用されているシステムだからこその理由や、PHPだからこその事情を踏まえ、将来に向けて継続的にシステムを運用していくために今後どうしていこうとしているのか について話します。

0
PHP初心者セッション
Talk by 柏岡秀男 in Track5 (1 hour)

PHPカンファレンス恒例の本当の初心者向けセッションです。どのような言語か、どのような特徴があるのか、どのように学習していったらいいか。本当の一歩目の解説を行います。デザイナーさんや多言語の経験者の方でも理解できる内容です。仕事で利用したことがある方などは対象外となります。

0
Hash, Cryptography, and PHP
Talk by Peter in Track6 (1 hour)

The secure libraries in PHP 5.x are not very useful and reliable. Fortunately, the PHP 7.x versions save PHP developers about the secure issues (including hash and cryptography). In this session, I share my experiences about my company projects and present how to use the modern cryptography in PHP 7.x. BTW, this session level is for beginner to intermediate.

3
MVCにおける「モデル」とはなにか
Talk by Seiji Amashige in Track4 (1 hour)

日本の開発者の間でドメイン駆動設計の話題が盛り上がっています。 ドメイン駆動設計の話が出てくるたびに「モデルとはなにか」という話がでてきますが、多くの話は実装に寄った話になりがちです。 Model-View-Controllerパターン提唱者のトリグヴェ・リーンスカウク博士は「モデルは知識の表象である」と定義しています。 このトークでは、「モデル」とはそもそも何であるのかについて、リーンスカウク博士のModel-View-Controllerパターンを参照しながら詳しく検討します。開発以前にどんな基本的な問題が存在し、何を解決するべく「モデル」という概念は提示されたのか?についてお話します。

11:35
2
PHPからgoへの移行で分かったこと
Talk by 樋口雅拓 in Track3 (25 minutes)

弊社バックエンドは、PHPエンジニアのみで開発を行なっていました。 PHPからgoへの移行を行ったところ、トレーニング、開発環境構築、障害対応など想定外の問題が発生しました。 時代の流れとともに、goへの移行が選択肢に上がるケースが増えて来ているかと思います。 これらの知見を共有することで、goに移行した方が良いケースと悪いケースを明らかにしたいと思います。 【アジェンダ】 * 移行前後のシステム構成 * PHPエンジニアがgolangを学ぶ時にハマりがちなこと * golangに移行して良かった点 * 改めて分かったPHPの良さ 【登壇暦】 * PHP勉強会でのLT (この時の懇親会で移行の課題に付いて聞いてみたいとのご意見をいただきました。) * 大規模なカンファレンスでの登壇は初めてです。

12:10
0
徳丸先生による徳丸試験例題解説とPHP7初級書籍贈呈キャンペーンと市場動向
Talk by 吉政忠志, 徳丸浩 in Track2 (30 minutes)

吉政忠志、ゲスト解説:徳丸浩先生 このトークは『PHP技術者認定機構』の提供でお送りします。 -- このセッションでは本番試験間近の徳丸試験(Webセキュリティ試験)の例題解説と、只今実施中のインプレスPHP7初級試験徹底攻略本のプレゼントキャンペーン、稟議に使えるPHP市場動向を紹介します。

13:00
0
思想と理想の果てに -- クリーンアーキテクチャのWEBフレームワークを作ろう
Talk by 成瀬 允宣 in Track1 (1 hour)

設計やアーキテクチャにはある種の理想という側面があります。 残念ながら現実では理想を実現する際に妥協を求められることもあります。 クリーンアーキテクチャもその類のひとつで、その理想を実現しようとするといくつもの問題にぶつかります。 たとえば定義するファイルが多すぎる問題、たとえばプレゼンターという考えがHTTPという技術にマッチしない問題……。これらの問題は致命的です。 こういった理想と現実の狭間に揺れながら現実的な解を見出すことこそアーキテクトの腕の見せ所です。 しからば致し方ない犠牲として理想を妥協するしかない――とは割り切れないのが人情です。 このトークではクリーンアーキテクチャの解説とその問題点の解説を行い、理想を追い求めてクリーンアーキテクチャの思想を元にPHP WEBフレームワークを作るというお話をいたします。

0
PHP 開発環境で使う Kubernetes
Talk by 新原 雅司 in Track2 (25 minutes)

PHP で実装された Web アプリケーションでも Kubernetes 環境が使われることが増えてきました。せっかく本番環境を k8s 化したのならば、開発環境も k8s にしたくなるのが人情です。 本セッションでは、開発環境を Kubernetes で構築した経験や Tips をご紹介します。

0
「弁護士ドットコム」を作り続ける開発組織について
Talk by 狩野 秀明 in Track3 (25 minutes)

このトークは『弁護士ドットコム株式会社』の提供でお送りします。 -- ここ数年で向き合った「技術的」「組織的」な課題について振り返ります。 弁護士ドットコムはサービスを開始した2005年からPHPを使い続けています。 開発プロセスの整備やメンバーの入れ替わりなどを経て、紆余曲折ありながらも前進してきました。 その中で、我々は「弁護士ドットコム」という自社サービスをどのように開発・運用しているのか、事業会社としてのエンジニアリングをどのように考えているのか。 その経験や結果を再確認しつつ、現状と、そしてこれからの展望についてお話します。

0
[配信なし]『グランブルーファンタジー』開発エンジニアの考え方-PHP7が『グラブル』にもたらしたブレイクスルーと考察-
Talk by 小松 美穂 in Track4 (25 minutes)

このトークは『株式会社Cygames』の提供でお送りします。 このトークの録画・配信はありません。ご注意ください。 -- PHP7はブラウザゲーム『グラブル』の大規模アクセスにも恩恵をもたらしました。 本セッションでは、PHP5.6からPHP7.2へのバージョンアップを行った際のパフォーマンス変化をお伝えするとともに、なぜ大きな効果が現れたのか、その理由を紐解いていきます。

0
PHPerのためのテストコード入門
Talk by 02 / 大津 和槻 in Track5 (25 minutes)

皆さんは普段テストコードを書いていますか?もしくはこれから導入しようと奮闘していますか?はたまたテストコードというのを初めて聞きましたか? テストコードと一口に言っても、ユニットテスト、featureテスト、APIテスト、E2Eテストなどたくさんの種類のテストコードがあります。 テストコードを導入する前に「なぜそのテストコードを書くのか」を話せることを目的として、テストそのものやテストコードについてお話ししていきます。 当セッションでは、以下のような話をする予定です。 ・そもそもなぜテストを書くのか ・なぜテストコードを導入するべきなのか ・それぞれのテストコードの特徴 ・それぞれのテストコードのメリットデメリット

1
Putting legacy to REST with middleware
Talk by Adam Culp in Track6 (1 hour)

We fear modernizing legacy applications, or going API first. But it's not as futile as you might think. With modern PHP microframeworks geared toward middleware it can be a breeze. Now the truth: It is a terribly difficult task full of pitfalls. But I will share how to do it in a step-by-step method that makes it much more approachable, and enable you to be a super hero.

13:35
0
20年前のMySQL、今のMySQL
Talk by yoku0825 in Track2 (25 minutes)

- 「20回記念ネタ」です - PHP Conference 20周年おめでとうございます! - 20年前、PHPは4.0だったそうですが、MySQLはなんと3.23が正式リリースされる前です!! (3.23のProductionリリースは2001年1月です) - その時代(バージョン3.23)のMySQLからある機能、新しく加わった(バージョン8.0)機能を紹介します - MySQL 8.0ではたくさんのSQLが追加されました。存在を知らなければ、どんなに良い機能でも使いようがありません。MySQLの最新情報なんてキャッチアップしてる時間ないよ! な忙しいPHPerさんにオススメです

0
Composerって何?どう動くの?読んでみました!
Talk by きんじょうひでき in Track5 (25 minutes)

Composerは、もはやPHPの現場に無くてはならない存在です。 内部構造に興味をいだいたことはないでしょうか? ソースコードを読みましょう。今まで良く分からなかった「このエラーって何💢」に親しみを感じるかも知れません。 このセッションでは、 `composer install` を例にして、パッケージ名の解決・バージョンの解決・.lockファイルの吐き出しといった普段利用するComposerの挙動を読み解いていきたいと思います。

0
改善失敗から学ぶ、レガシープロダクトに立ち向かうチーム作り。
Talk by 杉山 祐一 in Track3 (25 minutes)

このトークは『サイボウズ株式会社』の提供でお送りします。 -- サイボウズの大企業向けグループウェアのGaroon(ガルーン)は、PHPで開発されている17年目の製品です。 PHP 4からPHP 7までアップグレードを追従したり、もともとオンプレミス製品だったものを、クラウドでも提供を行うようにしたりと、今でも現役で開発されており、サイボウズの主要製品の一つとなっています。 17年の開発の中では、多くの「歴戦の勇者」がGaroonという巨大な製品に対して、改善を試みていました。 しかしながら、他のビジネス要件やQAのテスト工数との兼ね合いから、多くの改善が軌道に乗せられていませんでした。 このような改善の難しさの一つとして、開発チームの体制の問題がありました。 プログラマーはプログラマー同士で、QAはQA同士でコミュニケーションをとることが多く、職能を超えたコミュニケーションは決められた場所・決められた人が中心になって行われていました。 そのため一つコードを改善しようと思っても、この開発体制が邪魔をして、思うように進められないことが多くありました。 そんな中、それまでのウォーターフォールでの開発から、スクラム開発に移行しました。 このスクラム開発への挑戦をきっかけに、プログラマーとQAのチーム統合や、プロダクトオーナー・ビジネスサイドとの対話が進み、今ではプロダクト開発に関わるメンバー全員でこのレガシーさに立ち向かい改善が行えるようになってきました。 このセッションでは、そんなサイボウズGaroon開発チームの経験をお話しします。

0
[配信なし]新しい概念のWAFが叶える、クラウドネイティブ時代のセキュリティ
Talk by 徳丸 浩, 根岸 寛徳 in Track4 (25 minutes)

このトークは『EGセキュアソリューションズ株式会社』の提供でお送りします。 このトークの録画・配信はありません。ご注意ください。 -- この度、株式会社グレスアベイルは、2019年8月13日に、イー・ガーディアングループへの参画を決定しEGセキュアソリューションズのグループ会社となり、それに伴い、徳丸浩が同社の社外取締役に就任いたしました。 今回は、徳丸監修のもと株式会社グレスアベイルが新たに開発した新しい概念のWAFのご紹介をとおして、クラウドネイティブ時代のセキュリティについてお話しします。

14:10
0
PHPUnit: Past, Present and Future
Talk by Sebastian Bergmann in Track1 (1 hour)

In this keynote, follow Sebastian Bergmann, creator of PHPUnit, on a journey through the history of PHP in general and PHPUnit in particular. Learn why he created a testing framework, what has shaped PHPUnit's evolution over the course of two decades, and what the future may have in store.

0
Webサービスのトラブルの現場 ~ Webサービスの今と昔 ~
Talk by soudai in Track2 (1 hour)

鳴り止まないアラート…天を仰ぐ上司…黙々と戦うエンジニア。 トラブルはとても厳しいシーンです。 しかしその反面、トラブルシューティングはエンジニアの腕の見せ所とも言えるのでは無いでしょうか。 そこで今回はWebサービスによくあるトラブルを題材に実際にどのようにトラブルを解決していくかの勘所をお話します。 - Webサービスが突然落ちた - RDBMSのコネクションが溢れる - Webサーバのロードアベレージが青天井 このような経験がある人もまだ無い人も昔から変わらないテクニック、今だからこそ出来るテクニックを交え、 **楽しみにながら!** 未来に役立つ話をお伝えします。

0
プログラム未経験からたった3ヶ月で圧倒的な開発力を身につける ~ スクラッチ開発の重要性
Talk by 前田直哉 in Track3 (25 minutes)

このトークは『スキルエンジン株式会社』の提供でお送りします。 -- 数百以上のプロジェクト開発経験を踏まえ、プログラマに必要なスキルとは? 数年後、10年後先を見据えどのようなスキル・考え方を身につければ プログラマとして圧倒的に成長できるか? 上記について徹底的に分析し、成長するためのエッセンスを凝縮した 教育カリキュラムを紹介いたします。 そのカリキュラムを実践した弊社メンバーは 未経験から2,3ヶ月程度でSE/PGとして数千万レベルプロジェクトに参画 ・超高速PDCA??(当日までに名前を決めます汗)プログラム開発 1.現状把握 正確に現状を捉える。捉え方についてはエラー文/ログ解析など。 正確に捉えるには、正確な知識が必要。 正確な知識を習得する為はどうしたらいいか?など 2.根拠に基づいた仮説を立てる 複数の仮説を洗い出しする。その中から実現可能性の高い仮説を選ぶ。 3.コーディング 2で洗い出したパターンを実装する。 一気に作らない、細かく動作確認しながら実装していく。 1行1デバッグを行う。 ・スクラッチ開発 いきなりフレームワークから入ると、応用力が身につきにくい。 スクラッチ開発を通して、応用力のつく学習の流れを紹介。

0
PHPは何を捨て、どんな力を手に入れてきたのか
Talk by うさみけんた in Track5 (25 minutes)

PHPの言語仕様は変化の歴史であり、常にほかのプログラミング言語の特徴を取り入れることで発展してきました。その変化はときに断絶を生んできましたが、同時に我々に多くの可能性をもたらしてきました、このトークでは一人のプログラミング言語好きとしてPHPの言語仕様の歴史的経緯と強力な機能を紹介していきます。

0
5ヶ月でカバレッジを20%から90%にした話
Talk by 吉田あひる in Track6 (25 minutes)

この話は、オレオレフレームワークで作られたアプリケーションに秩序をもたらすべくヒィヒィ言いながらリファクタリングをし続けた男の5ヶ月間の記録である。 この話には以下のような内容が含まれる予定です ・OSSのフレームワークを使っていないアプリケーションの泳ぎ方 ・テスト環境が整っていない状況でいかにテストを書くか ・テストとリファクタリングはどの程度のバランス感でやって行くといいのか ・リファクタリングにコストをかける意味はあるのか

0
知見のない技術スタックをプロダクション導入するエンジニアの導入戦略
Talk by 東口和暉 in Track4 (25 minutes)

このトークは『BASE』の提供でお送りします。 -- ビジネスを実現するために我々はさまざまな技術から選択する場面に出くわします。技術選択は適材適所で行うべきと問われつつもその技術に開発運用の知見がない場合、短期的に見た自分たちの慣れという優位性に引っ張られ、より適しているとは言えない選択をしてしまうというのは一般事象としてみうけられることだと思います。知見のない言語・フレームワークの採用における大きな懸念点は、短期的に見れば学習コスト・コード品質を保てるのか、長期的に見ればその技術で構築されたサービスを保守できるかという点が挙げられます。 このトークでは、BASEの新規事業において、知見のない言語を選択し、列挙された懸念を監視設計・コード検査・テストなどを駆使して乗り越えリリースしていった際の知見を話します。次の技術選定に立ち向かう戦略・ひとかけらの勇気をお持ち帰りいただければ幸いです。

14:45
0
脆弱性から学ぶWebセキュリティ
Talk by Makoto Chiba in Track3 (25 minutes)

Webアプリケーションの脆弱性は、どこに潜んでいて、いつ狙われるのか分かりません。ひとたびサイト改ざん・情報漏えいが発生したらビジネスに及ぼす影響は甚大です。 未然防止策として外部脆弱性診断・検査ツールなどがあり、脆弱性の発見・事前検知ができます。WAFを導入することで、外部からの不正な攻撃からWebアプリケーションを守ることも出来ます。 しかし、それで本当に万全でしょうか? いえ、そうは思いません。根底として大切なのは、エンジニア自身がWebセキュリティの正しい知識を持ち、安全なアプリケーション開発を行うことであると考えます。 Webアプリケーションエンジニアの皆さん、今改めてWebセキュリティを一緒に見直しませんか。本セッションでは、Webアプリケーションエンジニアが遭遇しやすい脆弱性の概要と危険性、そして対策方法についてお話します。

0
Laravel × クリーンアーキテクチャ 開発中の現状をお伝えしたい
Talk by ブライソン イアン in Track4 (25 minutes)

「クリーンアーキテクチャ」とは、DDDの文脈における「ドメインモデル」をシステムの中心にすえ、「入力」「永続」「出力」などの多方面で抽象化を行うことで、高度に変化への強さを獲得できるアーキテクチャです。昨今の変化の早さに対応するべく「アジャイル開発」や「マイクロサービス」が叫ばれているように、「クリーンアーキテクチャ」もまた日増しにその注目度は上がっているように感じます。 しかし、やや取っつきにくいアーキテクチャであることからか、現状参考になる資料が無数に転がっているというわけでもありません。そこで、エキテンで現在Laravelベースで開発中の新しい予約システムを題材に、実際にアーキテクチャを形作っているコンポーネントの紹介や、開発する上で行ってみたちょっとした工夫、開発フェーズにおける現場の生の声などをお話しようと思います。

0
Zend VMにおける例外の実装
Talk by hnw in Track5 (25 minutes)

PHPスクリプトの実行時には「コンパイル」と呼ばれる処理が行われ、スクリプトはZend VM(PHPの仮想的なCPU)の命令列に変換されてから実行されます。このZend VMは本物のCPUと似た命令も持っていますが、本物のCPUではあり得ない命令も持っています。その一つが例外処理に関わるものでしょう。 本講演では、例外処理をZend VMはどのように実現しているのか、Zend VMと本物のCPUとの違いは何か、といった実装の詳細をPHPのCソースコードを交えて紹介します。

0
「CPUとは何か」をPHPで考える
Talk by HASEGAWA Tomoki in Track6 (25 minutes)

中学生の頃にMSXというパソコンのCPUであるZ80のプログラミングを体験していました。 その約25年後、2016年にPHPで書かれたゲームボーイエミュレータのコードを読んで衝撃を受けました。ゲームボーイのCPUはZ80ベースであり、エミュレータで実装されていたのはまさにZ80の命令だったのです。この体験で、エミュレータがハードウェア仕様をソフトウェア的に表現したものであることを理解しました。 そしてさらにその3年後。名著「CPUの創りかた」で紹介されているCPU、TD4を実装し衝撃を受けました。そこに見たCPUは電気回路として表現された状態機械でした。 このトークではPHPでTD4のエミュレータを実装し、マシン語実行環境、エミュレータの対象、そして電気回路としてのCPUがどの様に動作するのかをメモリアクセスを中心に解説し、CPUの魅力をみなさまにお伝えします!

15:20
0
オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法
Talk by 徳丸浩 in Track1 (1 hour)

安全なインターネットサービスを提供するにあたっては、ソフトウェアバグとしての脆弱性対策だけではなく、ビジネスモデル・サービス仕様・アーキテクチャ設計・ソフトウェア設計・実装・サーバーなどの多方面からセキュリティ検証が重要となります。本セッションでは、架空のQRコード決済サービス「オニギリペイ」のセキュリティ事故を題材として、サービスの企画・要件定義・設計・実装の各フェーズに起因する問題とその対策を具体的に紹介します。 -- 徳丸 浩 1985年京セラ株式会社に入社後、ソフトウエアの開発、企画に従事。2008年に独立し、Webアプリのセキュリティを専門分野とするHASHコンサルティング株式会社を設立した。著書に「徳丸浩のWebセキュリティ教室」 「体系的に学ぶ安全なWebアプリケーションの作り方」がある。

0
How to Supercharge your PHP Web API
Talk by Aurimas Niekis in Track6 (1 hour)

My talk will be about implementing new not traditional methods to increase performance of PHP applications using tools like RoadRunner, Swoole, ReactPHP and etc. Will introduce these methods, explain how each of them work and how it affects development, pros & cons and real-life example if Wifi will be present I'll show live example how each of these tools increase performance over typical setup's

0
REST 6+4の制約
Talk by 郡山昭仁 in Track2 (1 hour)

フィールディング博士のREST論文に登場する6つのアーキテクチャ制約(クライアントサーバー、ステートレス、キャッシュ、統一インターフェイス、レイヤ、コードオンデマンド)と4つのインターフェイス制約(リソースの識別、表現によるリソース操作、自己記述的メッセージ、ハイパーメディア制約)を解説し、REST(Hypermedia)のAPI設計戦略を検討します。 RESTはコンポーネントや創造性を強調するのではなく、適切な制約を構築し抑制と理解を強調する手法で設計されました。RESTそのものだけでなく、RESTの設計手法をも知ることでRESTの深い理解を目指します。API設計者のためのREST解説です。

0
このPHP QAツールがすごい!2019
Talk by sasezaki in Track3 (25 minutes)

Quality Assurance 各種ツールについての紹介をします。 コーディング規約チェック・静的コード検査・テストツール・リファクタリングを中心に、あまり着目されてない数多のツールを俯瞰します。 コーディングやレビューでの参考にしてもらえればと思います。 章立ては以下の予定です - サンプルコードを例に、いくつかのQAツールの使いどころ·段階的導入での改善ポイントの紹介 - QA ツールの昨今の競争/共存事情 - ここ近年のQA ツールのざっくり紹介 〜 そのQAツールが解決したい問題の背景を交えて 取り上げる予定のツール·用例は、 phan / phpstan とプラグイン / psalmとスタブ、 infection、rector、slevomat/coding-standard、roave/you-are-using-it-wrong …

0
15年続くWebサービスへのCI/CDとテストコードの導入
Talk by 9bo9bo in Track4 (25 minutes)

今年で15周年を迎えたWebサービスにテストコードとCI/CDを導入しました。 アプリケーションは何度かのリプレイスを経て、現行はPHP7とLaravelを基盤としたシステムで稼働しています。 一方で、データベースは古くから稼働したままのため、システム間の依存が多く見られ「サイトの規模の割にテストコードの実装が十分でなく、改修が怖い」といった課題がありました。 今回はマイグレーション管理されていないデータベース環境へのテストコードの導入とCI/CDの設定についてお話しします。 また、複数のシステムリプレイスの間に試行錯誤しつつ育てたテスト環境の歴史、CIによる継続的なパッケージアップデートとセキュリティチェックについてもご紹介したいと思います。

0
PHPを学ぶということ
Talk by Kenichirou Kishida in Track5 (25 minutes)

【初心者向け】 PHPは言語としては初学者にもやさしく、入門しやすい言語かもしれません。 一方で、実際にWebアプリケーションを作るにあたり、知らなければいけない周辺知識はたくさんあります。 ではまず、Webアプリケーションフレームワークのチュートリアルをやっておけば良いのでしょうか? また、どこから学んだら良いかわからず、入門書っぽい本で学習するのが良いでしょうか? このセッションでは、初学者(Web系の言語入門者を含む)にとって、Webアプリケーションを開発することを学ぶにはどこから取り組むのが良いのか?ということを紹介します。 60分枠も申し込んでいますが、こちらは短縮版となっています。

15:55
0
Apache から LiteSpeed に乗り換えてみませんか?
Talk by 高橋邦彦 in Track5 (25 minutes)

Apacheを長らく運用していて秘伝の .htaccess があって、Apacheを離れられないという方いらっしゃいませんか? LiteSpeedを使うと、rewriteルールをそのまま利用することができて、Apache+mod_phpと違って静的コンテンツの処理プロセスとPHPプロセスが分離しつつイベントドリブンな世界に突入できますし、Nginx+php_fpmと違ってそれぞれ別々に管理する必要もありません。 PHPer界隈では、Webサーバーと言えば Nginx か Apache かの2択のことが多いですが、ロリポップ!レンタルサーバーの新プランでも採用した LiteSpeed という第3の選択肢があることを説明したいと思います。

16:30
0
Laravel + Nuxt.js + FirebaseでDXと開発コストを意識したSPA開発
Talk by カンボ@沖縄 in Track1 (5 minutes)

スタートアップ企業が自社サービスを開発するにあたって、 Laravel、Nuxt.js、Firebaseを使用し、開発コストとエンジニアのDX(Development Experience)も意識し、 SPA(Single Page Application)開発を実現した話をします。 技術的な面では、Laravelとどのように組み合わせて、全体のプロダクト設計したのか、 API設計、認証周り(JWT、SNS認証など)の工夫点などをお話します。 開発体制で工夫した点としては、Nuxt.js、Firebase、cypress(e2eテスト)、 GitlabCIなどの技術を採用する事によるDXの向上。 新しい技術を採用する中で、開発コストとのバランスを上手く調整した点。 スクラム開発による開発の効率化、チームの開発スピードの可視化などです。

16:35
0
SwooleとWebpで遅いページを高速化する
Talk by 寺井 諒 in Track1 (5 minutes)

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

16:40
0
PHPでgRPCってどこまでいけるの?
Talk by 株式会社サイバーエージェント 白井 英 in Track1 (5 minutes)

近年、マイクロサービスの流行とともにプロトコルとして gRPCが使われるのをよく目にします PHPでgRPCを使おうと思ったとき、他の言語できるけれど PHPでできないことはあるでしょうか? Swooleを用いて、gRPCサーバを検証してみました

16:45
0
PHP-CS-FixerをIDEに取り込ませてPSRを強制する開発スタイル
Talk by sogaoh in Track1 (5 minutes)

PHPの開発でコーディング規約をどうするかはどの現場でも悩ましい話だと思います。 キャメルケースにする / スネークケースにする、などある程度の選択は個々に必要になるものの、 PHP-CS-Fixerに整形を委ねるのも1つの手ではないかと思います。 現在自分が所属している開発プロジェクトではPHP-CS-Fixerを利用しているので、 利用中の課題点と自分が感じた「クセ」について、簡単にお話しできればと思います。 大規模なカンファレンスでの「初めてのスピーカー」にチャレンジさせていただければ幸いです。

16:50
0
レガシーコードでビジュアルリグレッションテストをやってみた
Talk by 阿波連 智恵 in Track1 (5 minutes)

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

16:55
0
PHP on AWS Lambda!
Talk by 清家史郎 in Track1 (5 minutes)

AWS Lambda Custom Runtimes が利用できる様になって随分たちました。 我々PHPerとしては、張り切ってPHP on AWS Lambda するしかありません。 AWS LambdaにおけるPHPのパフォーマンスと利便性を時間が許す限りトークします。 - お話すること  - PHP on AWS Lambda   - パフォーマンス   - 利便性 - 利用する技術  - AWS Lambda

17:00
0
2年目エンジニアがスキルアップのためにPHPで競プロやってみた
Talk by in Track1 (5 minutes)

社会人になってほぼ初めてPHPを触ることになりました。PHPerになって2年目のエンジニアがPHPをもっと使いこなして、エンジニア力をあげるために、PHPで競プロ(atcoderの過去問)にチャレンジ! 会社でコードを書いていて、まだあまり意識できていない部分、競プロを利用して学べる部分があるのか検証します。 大規模カンファレンスで話すのは初めてですが、よろしくおねがいします!

17:05
0
設計文化のないチームに文化を広めたが冴えない一手で混沌を招いた話を聞いてほしい
Talk by しろぐちゆうま in Track1 (5 minutes)

タイトルどおりですが、中途半端に「設計をする」という文化を浸透するためのやり方に不具合が生じるとチームが思わぬ方向へと向かうこともしばしば。 今回はそんな失敗した一例と解決した方法について、簡単に発表できればと思います。

17:10
0
運用経験ばかりのメンバーと新規開発で初めてしっかりと設計から開発までを経験した話
Talk by 大重智志 in Track1 (5 minutes)

既存サービスの運用を行っていると、本腰をあげてリファクタリングをしない限り根本の設計はずっとそのままです。 運用がメインで、しっかりとした設計(例えばDDDやクリーンアーキテクチャなど)の実務経験がほとんどない中、新規サービスを開発することになりました。 せっかくならより良い設計のサービスにしようと思い立ち、未経験で奥深い「設計」の世界にチームメンバーも巻き込みながら挑戦してみました。

17:15
0
エンジニアがブログや登壇で、アウトプットするとどうなる?
Talk by うゐろう in Track1 (5 minutes)

■対象の人 1. アウトプット続かない 2. アウトプットの良さわからない 3. アウトプットで何かが変わる未来が見えない ■内容 1. アウトプットって本当に意味あるの? 2. 『あなた』はアウトプット『すべきか』 3. 私が本当に起こったこと 4. アウトプットはいいぞ 私はもともと『落ちこぼれ』でした。自分に全く自信がありませんでした。 そんな私が、今Conferenceで登壇したり、勉強会でLTをしたりしています。 『エンジニアがアウトプットしろというの意味わかんない』 『アウトプットとか絶対続かない』 いやいや、エンジニアこそやると良いと思います。 一年間で生活が大きく変わった私から、私の思いを話したいと思います。 一歩先のエンジニアになるために、アウトプットしませんか?(beyondのテーマ回収)

17:20
0
余裕を生み出すコードレビュー
Talk by 高野福晃 in Track1 (5 minutes)

ユーザーに素早く価値を届けること、より良いコードを追求すること、ビジネスに向き合うこと。 仕事としてコーディングをする上でどれも大事なことです。 しかし、精神的・物理的な"余裕"が無いためにそれらを犠牲にせざるを得なかった経験はないでしょうか。 本セッションでは、開発プロセスの中の"コードレビュー"に焦点をあてて、 手戻りをなくしつつ、より本質的な作業に時間を使えるようにするために 私が実務で実践してきた"余裕"を生み出すtipsをご紹介します。 # tips - 未来の読者のためのコメント - "既存コード" の 歴史的経緯を素早く紐解く - コードレビューだけで100点を目指さない - 単純な作業は機械に任せる - コードレビューの内と外でレビュイーと対話する - コードレビューが自分を成長させてくれる ...etc

17:25
0
社内最長老のシステムにPHPUnitで立ち向かう方法
Talk by やなせ たかし in Track1 (5 minutes)

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

17:30
0
開発合宿のススメ!
Talk by Hamee株式会社 田島 裕介 in Track1 (5 minutes)

このトークは、Hamee株式会社の提供でお送りします。 ------ みなさんは開発合宿に参加されたことはありますか? Hameeの開発部では、毎年開発合宿を開いており、はや5年になります。 エンジニアでありながらも、基本的にPCを持ち込みません! 弊社のビジョン「クリエイティブ魂に火をつける」ためにどういう合宿をしているのか?お話したいと思います。 もし、開発合宿に興味を持っている方がいれば、 Hameeは神奈川県の端、開発合宿がよく行われる湯河原や箱根の近くの「小田原」にありますので、是非弊社に立ち寄ってみませんか?

17:35
0
Closing in Track1 (25 minutes)

Closing