PHP Conference Japan 2019 トーク一覧

採択 他イベントOK 2019/12/01 14:45〜 Track 5 (1F AB会議室 - サテライト: 6F C/E会議室) 25分枠

Zend VMにおける例外の実装

hnw hnw
PHPスクリプトの実行時には「コンパイル」と呼ばれる処理が行われ、スクリプトはZend VM(PHPの仮想的なCPU)の命令列に変換されてから実行されます。このZend VMは本物のCPUと似た命令も持っていますが、本物のCPUではあり得ない命令も持っています。その一つが例外処理に関わるものでしょう。

本講演では、例外処理をZend VMはどのように実現しているのか、Zend VMと本物のCPUとの違いは何か、といった実装の詳細をPHPのCソースコードを交えて紹介します。
他イベントOK Lightning Talks

社内基幹システムをLaravelでリプレイスしようとしています

つぼ AkogareSe
・大規模なカンファレンスでのスピーカーは初めてです。普段は名古屋にいます。
・今年から社内基幹システムのリプレイスを開始しており、12/1時点でもPJ進行中の予定です。
・バックエンドFWとしてLaravelを採用するに至った経緯とPJの現状や取り組み、意気込みなどをお話する予定です。
採択 他イベントOK 2019/12/01 11:35〜 Track 3 (4F コンベンションホール 鶯) 25分枠

PHPからgoへの移行で分かったこと

樋口雅拓 mahiguch1
弊社バックエンドは、PHPエンジニアのみで開発を行なっていました。
PHPからgoへの移行を行ったところ、トレーニング、開発環境構築、障害対応など想定外の問題が発生しました。
時代の流れとともに、goへの移行が選択肢に上がるケースが増えて来ているかと思います。
これらの知見を共有することで、goに移行した方が良いケースと悪いケースを明らかにしたいと思います。

【アジェンダ】
* 移行前後のシステム構成
* PHPエンジニアがgolangを学ぶ時にハマりがちなこと
* golangに移行して良かった点
* 改めて分かったPHPの良さ

【登壇暦】
* PHP勉強会でのLT (この時の懇親会で移行の課題に付いて聞いてみたいとのご意見をいただきました。)
* 大規模なカンファレンスでの登壇は初めてです。
他イベントOK 25分枠

6年かけてこうなった!我々の開発環境の変遷と現在

大橋佑太 blue_goheimochi
みなさんの開発環境は現在どんな感じでしょうか?
今風だとDockerなどを駆使して開発環境を構築するのがモダン?Vagrantもまだまだ健在!漢は黙ってXAMPP!!など皆様の開発環境は様々ではないかと思っています。

我々は6年前の2つのバージョンのXAMPPを使った開発環境の時代から現在はDockerを使った開発環境のように大きく開発環境を変化させてきました。

カイゼンをするのは正直とても大変でしたが、トライ&エラーを繰り返しながらチーム全体に取り入れられたことで、そのメリットもたくさん得られたと思っています。

我々がどんな方法で開発環境の改善を進めてチームに浸透させてきたか?最終的にどんな環境になったのか?といった私やチーム全体で取り組み、変化を起こしてきたことをお伝えすることで、お聞きいただいたみなさまの現場における開発環境改善のヒントになれば幸いです。
14
他イベントOK Lightning Talks

Laravel ViewComposerで共通のデータを簡単に表示

カンボ@沖縄 kanbo0605
Laravel ViewComposerを使って、ユーザ情報などのViewに共通で表示したい情報の
管理が煩雑になっていた箇所をまとめて、表示できるようにした話をします。
採択 他イベントOK 2019/12/01 16:30〜 Track 1 (1F 大展示ホール) Lightning Talks

Laravel + Nuxt.js + FirebaseでDXと開発コストを意識したSPA開発

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

Laravel + Auth0で複数のSNS認証を簡単に実現

カンボ@沖縄 kanbo0605
総合認証プラットフォームAuth0を用いて、Laravel で簡単に複数のSNS認証機能を実装した話をします。 Auth0はWebアプリやモバイル、APIなどに対して認証・認可のサービスをクラウドで提供している、いわゆるIDaaS (Identity as a Service)ベンダーです。
7
他イベントOK Lightning Talks

Laravel Job Queueで バッチ運用した話

カンボ@沖縄 kanbo0605
LaravelのJob Queueを用いて、処理の負荷を軽減させた話をさせて頂きます!
具体的にはバッチ処理で毎日、大量にスクレイピングの処理が走る中で、
PHPメモリエラーになる可能性が高い箇所があり、その部分をJob Queue化しました。
実装する中で工夫した点やノウハウ、難しかった部分などを細かくお話できればと思います。
4
他イベントOK 60分枠

Web crawlers, web bots, scrapping and PHP

Peter peter279k
Back to 2014, I create my first web bot via PHP/cURL to login WiFi automatically.
Nowadays, I create lots of the web bots and crawlers to complete my side projects and services.
In this session, I will present how to use the existing/correct PHP packages to accomplish a web bot and crawler.
And present some approaches/tips about fetching current contents on specific website.
3
他イベントOK 60分枠

大規模ゲームアプリを "ノーメンテ" で PHP 5.6 から 7.2 に移行するまで

株式会社コロプラ 工藤 剛
5.x の公式サポートが終了し、 7.x への移行が求められて久しい PHP。
メモリ管理手法の抜本的改善や Zend Engine の最適化によりパフォーマンスも大きく向上し、今風の文法も数多く取り入れられました。
しかし当然ながら互換性のない変更も多く、運用中のシステムにおいてバージョンアップを行うのは大きなリスクとコストを伴います。

今回は "大規模チームで運用中のゲームアプリの移行" というコードだけでない様々な困難を伴う実例を元に
コロプラがどのようにしてメンテナンスなしで PHP 7.2 へ移行を行ったのかについてのお話をさせていただきたいと思います。
3
他イベントOK 25分枠

I make security mistakes, but you don't have to

Peter peter279k
When I use PHP to do development, I also don't care about the security issues.
It makes the security mistakes frequently and I try to fix them a lot.
In this session, I want to talk about the OWASP top 10 and try to reproduce issues to let audiences know how they happen and how to solve them.
BTW, this session level is beginner.
5
他イベントOK 60分枠

Image, PHP, and me

Peter peter279k
In PHP, developers will know about the GD and ImageMagick extensions can help us to do image manipulations.
What about the image detection? The exif_imagetype function already have done this, but it's not good enough.
In this session, I'm going to tell about how to detect and manipulate images with right way.
The session level is beginner to intermediate.
1
採択 他イベントOK 2019/12/01 11:00〜 Track 6 (3F 特別会議室 - サテライト: 6F D会議室) 60分枠

Hash, Cryptography, and PHP

Peter peter279k
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.
1
他イベントOK 60分枠

Open source contributions, PHP and me

Peter peter279k
In 2016, I've known about the open source projects/contributions, and I also submitted my first pull requests from then on.
I contribute more codes, and learn more things about PHP development. I also connect with communities gradually on GitHub.
In this session, I'm going to tell some advantages of open source contributions, and how to contribute open source project with right way.
2
採択 他イベントOK 2019/12/01 11:00〜 Track 5 (1F AB会議室 - サテライト: 6F C/E会議室) 60分枠

PHP初心者セッション

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

CakePHP2→3の段階的バージョンアップ

金澤 裕毅 yakitori009
※CakeFestのセッション「Consider a smooth upgrade to CakePHP 3」の日本語版です。
https://cakefest.org/schedule

CakePHP4のリリースが間近になってきましたが、未だに多くのCakePHP2で運用されています。
CakePHP3からはORMの返り値がオブジェクトになることをはじめ、大きな変更が行われているため、バージョンアップには困難が伴います。

ランサーズでは、CakePHP2のバージョンアップに着手しました。
CakePHP1.3→2.8へのバージョンアップはコントローラー単位で1年以上かけて徐々に移行しました。
これを応用したCakePHP2→3の段階的バージョンアップの取り組みを紹介いたします。
18
他イベントOK 25分枠

CakePHP2→3の段階的バージョンアップ

金澤 裕毅 yakitori009
※CakeFestのセッション「Consider a smooth upgrade to CakePHP 3」の日本語版です。
https://cakefest.org/schedule

CakePHP4のリリースが間近になってきましたが、未だに多くのCakePHP2で運用されています。
CakePHP3からはORMの返り値がオブジェクトになることをはじめ、大きな変更が行われているため、バージョンアップには困難が伴います。

ランサーズでは、CakePHP2のバージョンアップに着手しました。
CakePHP1.3→2.8へのバージョンアップはコントローラー単位で1年以上かけて徐々に移行しました。
これを応用したCakePHP2→3の段階的バージョンアップの取り組みを紹介いたします。
13
採択 他イベントOK 2019/12/01 14:45〜 Track 3 (4F コンベンションホール 鶯) 25分枠

脆弱性から学ぶWebセキュリティ

バーチー hypermkt
Webアプリケーションの脆弱性は、どこに潜んでいて、いつ狙われるのか分かりません。ひとたびサイト改ざん・情報漏えいが発生したらビジネスに及ぼす影響は甚大です。

未然防止策として外部脆弱性診断・検査ツールなどがあり、脆弱性の発見・事前検知ができます。WAFを導入することで、外部からの不正な攻撃からWebアプリケーションを守ることも出来ます。

しかし、それで本当に万全でしょうか? いえ、そうは思いません。根底として大切なのは、エンジニア自身がWebセキュリティの正しい知識を持ち、安全なアプリケーション開発を行うことであると考えます。

Webアプリケーションエンジニアの皆さん、今改めてWebセキュリティを一緒に見直しませんか。本セッションでは、Webアプリケーションエンジニアが遭遇しやすい脆弱性の概要と危険性、そして対策方法についてお話します。
他イベントOK Lightning Talks

Laravel で独自定義した例外を活用するための tips

岡田 正平/おかしょい okashoi
Laravel において例外をハンドリングする処理は App\Exceptions\Handler に書きます。
本トークではその基底クラスで行われている処理を説明したり、カスタマイズする際の tips などを紹介します。
4
他イベントOK 25分枠

Docker / Docker Compose を使って Laravel が動く環境構築

岡田 正平/おかしょい okashoi
Docker を用いて Laravel を動作させるには Laradock を使う、という方法が挙げられます。
しかし Laradock にはありとあらゆるものが含まれているため、Docker についての理解が浅いと全体で何が起きているのかを把握しにくいという問題があります。
本トークでは 1 から Laravel が動く最低限の構成(php/apache/MySQL)の環境構築手順を説明します。
最終的には Docker の基本概念を理解し、Laradock の後ろにある仕組みを理解できるようになることを目指します。
7
phpcon-2018-sponsors
2018 2017 スペシャル プラチナ ゴールド シルバー ブロンズ ランチ ネットワーク サンクス スポンサーセッション
初めてのスピーカー International CfPあり 来日意思あり ビデオ通話希望 採択あり LT採択あり スピーカーディナー参加 スピーカーディナー不参加 スポンサースピーカー Tシャツ情報募集中
初心者向け 初めてのスピーカー インフラ 20回記念 設計 Test/CI/CD Security データベース レガシーコード フレームワーク