PHP Conference Japan 2019 プロポーザル一覧

他イベントOK 60分枠

I just became team-lead, now what

Frederick Vanbrabant maybeFrederick
In this talk, we will take a look at how you can keep the team motivated and inspired, see if we can apply the same mindset to job interviews and dive into some do's and don't of talking to customers. You're going to do great, but a little guidance never hurt anyone.
他イベントOK 60分枠

PHPアプリケーションのユニットテストの育て方

東口和暉 hgsgtk
PHPアプリケーション開発現場において、ユニットテストを書くという行為についてはある種当たり前であるといった雰囲気があります。ただし、5年・10年動いているシステムにおいてテストが潤沢に整備されていたという話を聞いたことは少なく、多くの現場でテストがないコードに対してテストを書く事から始めているのではないでしょうか。テストに関する課題・問題はテスト量に応じて変わってきます。少ない時期は、そもそもユニットテストの知見が少なく迷い、多くなってくるとユニットテスト自体がコストになってくることもあります。今回は所属企業にて実践・観察してきた景色をもとに、PHPアプリケーションでのユニットテストの育て方についてお伝えしてみたいと思います。
1
60分枠

思想と理想の果てに -- クリーンアーキテクチャのWEBフレームワークを作ろう

成瀬 允宣 nrslib
設計やアーキテクチャにはある種の理想という側面があります。
残念ながら現実では理想を実現する際に妥協を求められることもあります。
クリーンアーキテクチャもその類のひとつで、その理想を実現しようとするといくつもの問題にぶつかります。

たとえば定義するファイルが多すぎる問題、たとえばプレゼンターという考えがHTTPという技術にマッチしない問題……。これらの問題は致命的です。
こういった理想と現実の狭間に揺れながら現実的な解を見出すことこそアーキテクトの腕の見せ所です。
しからば致し方ない犠牲として理想を妥協するしかない――とは割り切れないのが人情です。

このトークではクリーンアーキテクチャの解説とその問題点の解説を行い、理想を追い求めてクリーンアーキテクチャの思想を元にPHP WEBフレームワークを作るというお話をいたします。
2
他イベントOK 60分枠

ゼロから作るポートフォリオ ~ 趣味と実益は紙一重 ~

柚口ましろう yu_mashirou
エンジニアとして開発を続けていると、たまに要件に縛られず自分の好きなものを創りたいと考えることも割とあると思います。
今回、ご紹介するのは自分で作ったポートフォリオ兼、実用をかけたツールの開発の裏をお話させていただければと思います。
ゼロから開発するにあたり、どこから手を入れてどうやって解決をしていったのか、発生した問題にはどのように解消へと導いたのか、その結果と反省をソースコードの一部とともに説明していきます。
Laravel + vue.jsのお話です。
※ぶっちゃけこの日のために開発しています。いわゆる締切駆動開発というやつです。

過去にセミナー等でLT登壇経験はありますが、今回のような大規模カンファレンスには初挑戦となります。
他イベントOK 60分枠

失敗したVue ComponentワールドをAtomic Designを用いて解決する話

柚口ましろう yu_mashirou
新規開発で突然採用されたVueを使ってなんとか開発をしたが、かなり見にくい状態になってしまいそのまま運用が続いてしまいました。
しばらく間をおいて追加開発の依頼が来たので、この荒れ狂う大海原と化したComponentを治水するために、我々は原子の力を借り、混沌を解決するための戦いをはじめた。

これはその戦いの記録と反省の記録となります。
Atomic Designを浸透させたい方や整備されていないフロントエンドを整地したいという方にぜひ共有できれば非常に嬉しいと考えています。
実益と趣味を兼ねたソースコードも当日公開する予定です。


過去にセミナー等でLT登壇経験はありますが、今回のような大規模カンファレンスには初挑戦となります。
他イベントOK 25分枠

PHP における並列処理と非同期処理入門

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

PHPer のための PHPUnit と Selenium を使ったブラウザテストのすゝめ

めもり〜 m3m0r7
みなさんはブラウザテストをする際に、どのようにテストしていますか?
ブラウザテストをする際に有名なソフトウェアとして Selenium があります。
また、 PHP では Selenium と繋ぐための OSS として Facebook WebDriver があります。
Selenium を使うことにより、リンク切れが発生していないかの確認をしたり、動的に生成される DOM の検証を行ったりなど、様々なテストを行うことができます。
さらに、 Selenium は JavaScript をその場で実行できたり、 Firefox など Chrome 以外のブラウザでテストを行うことも可能です。
Selenium と Facebook WebDriver と PHPUnit を使ったテストの方法や、導入するにあたってどのような苦労があったのかをトークできたらと思います。
1
他イベントOK 25分枠

ハムスター監視システムを噂の PHP の拡張機能の Swoole と Raspberry Pi でつくってみた

めもり〜 m3m0r7
ペット、かわいいですよね。私はハムスターを二匹飼っています。それぞれキンクマとジャンガリアンです。
可愛すぎて「常時見ていたい…」そのような気持ちになることはありませんか?
ありますよね。更に、ストリーミングで常に見れたらうれしいですよね。
そんなニーズに答えるため、 PHP の拡張の Swoole と Raspberry Pi を使用して、ストリーミング再生で常に最新の情報が送られるようなハムスター監視システムをつくってみました。
実装までの過程で、Swoole や Raspberry Pi で乗り越えた壁や、どのような形で開発をしたのか一つのドラマとしてトークします。
他イベントOK 25分枠

PHP でソケット通信入門

めもり〜 m3m0r7
みなさんは、PHP をどのような用途に使っていますか?ウェブサイトなどのウェブサービスを作成する目的でしょうか?
PHP ではウェブサービス以外の用途にも使用できます。例えば、Laravelをご利用の方は arisan コマンド、 CakePHP をご利用の方は bake コマンドなど、用途は多岐にわたるかと思います。
それ以外にも、PHPではソケット通信を行うことができます。ソケット通信でできることといえば、例えば PHP を HTTP サーバーそのものにする、PHPで WebSocket を実装する、サーバーへ SSH ログインするなどができたりします。他には ルーターと接続して、 UPnP の設定を行い、いわゆるポート開放を行ったり、ストリーミングで動画配信などもできます。
私がこれらを創ってきた経験から PHP でソケット通信に関するトークをできればと思います。
1
他イベントOK 25分枠

PHP で非同期処理で動く WebSocket サーバーをつくる

めもり〜 m3m0r7
みなさんは、PHP をどのような用途に使っていますか?ウェブサービスを作成する目的でしょうか?
PHP ではいくつかのソケットに関する関数が提供されています。 PHP ではそれらのソケット関数を使うことによって
WebSocket に限らず HTTP サーバーなども比較的容易につくることができます。また、関数を一つ呼ぶだけで、SSL や TLS として通信することも可能です。
また、少し前までは並列処理や非同期処理はできるが、あまり実用的ではなかったのかなと感じています。
昨今では Swoole のような非同期処理を扱う拡張機能が話題になっています。この Swoole が本当に実用的なのかどうかも含めて、非同期処理で動く
WebSocket サーバーを SSL/TLS に対応するのも含めて自作し、プライベート環境で実際に運用してみた過程をトークさせていただければと思います。
他イベントOK 25分枠

PHP でバイナリファイルを読み込んでデータを表示したり書き換えてみる

めもり〜 m3m0r7
みなさんは PHP にどのようなイメージをお持ちでしょうか。Web のイメージが強いのではないかと思います。
PHP はそれ以外の用途としてバイナリを読み込んで何かしらを行うことも可能だったりします。
例えば mp3 の ID3 タグを取得する, zip を解凍する, jpg のメタデータを取得する、などなど。
本セッションでは jpg のメタデータを PHP で取得して実際に表示したり、書き換えたりするまでのトークを行えたらと思います。
他イベントOK 60分枠

PHP で JVM を実装して、 HelloWorld を出力してみる

めもり〜 m3m0r7
みなさんは PHP にどのようなイメージをお持ちでしょうか。Web のイメージが強いのではないかと思います。
しかし、PHP は Web 系以外、例えばそう、 JVM などを実装することも可能なのです。
JVM とは、 Java Virtual Machine の略で、 中間コードにコンパイルされた class ファイルを動かすための仮想マシンのことです。
JVM は JVM Spec と呼ばれる Oracle が公開しているドキュメントがあるため実は PHP でも開発することは可能です。
30 億のデバイスで PHP が走ると思うとワクワクしますよね。
本セッションは PHP という言語の枠組みの中でどのようにして JVM のようなスタックマシンを実装したのかをトークさせていただきつつ
実際に Hello World を出力するところまでをお話できればと思っております。
他イベントOK 60分枠

PHP で バイトコードにコンパイルされた Python を動かす

めもり〜 m3m0r7
みなさんは PHP にどのようなイメージをお持ちでしょうか。Web のイメージが強いのではないかと思います。
PHP はそれ以外の用途としてバイナリを読み込んで何かしらを行うことも可能だったりします。
例えば mp3 の ID3 タグを取得する, zip を解凍する, jpg のメタデータを取得する、などなど。
しかし、これらは一般的にはライブラリや拡張機能が提供されていて、刺激が少ないかと思います。
そんな中で、今まで誰もやったことがなさそうなこととして PHP でバイトコードにコンパイルされた Python を動かしてみたいとは思いませんでしょうか。
私は動かしてみたいと思います。本セッションでは PHP でどのようにしてバイトコードにコンパイルされた Python を動かすのかをトークできればと思います。
他イベントOK Lightning Talks

設計文化のないチームに文化を広めたが冴えない一手で混沌を招いた話を聞いてほしい

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

Chatworkのシステムから学ぶレガシーなPHPの限界とレガシーからの脱却

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

Hands-On: Creating a fast CRUD app by Phalcon Framework

Piti Champeethong ninefyi
I will demonstrate how fast to create a CRUD (Create, Read, Update and Delete Form) app using Phalcon Framework. It is a C-extension framework. It is build in to PHP library extension. It will high performance because of it is already compiled. The session is suitable for beginner level and I hope you to enjoy the hands-on.
1
他イベントOK 25分枠

25分でわかる Eloquent の内部構造

02 / 大津 和槻 cocoeyes02
Laravel を使う上で、Eloquent にお世話になっている人は多いのではないでしょうか。
ドキュメントを読んでみると、モデル定義、ソフトデリート、クエリスコープ、イベントオブサーバーなど便利な機能がいくつも提供されています。
そんな Eloqunet が内部ではどのような作りになっているのか、実際のソースコードを見ながら解説します。

更なる Laravel の理解や OSS コントリビュートなど "単なる Laravel 使用者のその先" へ進む一歩として、本セッションが少しでもお役に立てればと存じています。

なお 2019/08/03 現在、Laravel 6.0 がリリースされるアナウンスがあったため、当セッションでは Laravel/framework 6.0 を用いて解説する予定です。
他イベントOK 25分枠

20年後もPHPerが技術力をお金に変えるためのノウハウを解説

吉政忠志 _yoshimasa
コーディングすることで稼げると思います。しかし今後の20年間で何が起こるかわかりません。結婚、子育て、起業、介護、などなど必要なお金は増えるかもしれません。技術力をより稼げる形で表現したり、良い循環で稼げるようねなるためには、ビジネスモデルに得意な方がいいです。成功するビジネスモデルのセオリーと企画力の高め方を説明します。
他イベントOK 25分枠

サーバサイドがクラウドインフラ(AWS)を触ることで変わる視野と手法について

柚口ましろう yu_mashirou
ことサーバサイドの業務をしていると、どうしてもフロントエンドと平行して仕事することが多く、インフラチームが存在する会社や案件の場合、インフラ業務に携わることは少ないと思います。
今回はそんなサーバサイドの経験しかなかったエンジニアが突然インフラを触ることになり、悪戦苦闘した話をお話できればと思います。

以降は話す内容のアジェンダです。
・インフラ(AWS)を触ることになった経緯(1分)
・えっ、AWSってそんなにサービスあるの???(4分)
・インフラって設計が大事ってそれ、一番言われてるから(10分)
・CloudFrontのおしごと!(5分)
・インフラを触ることで見えたもの(5分)

過去にセミナー等でLT登壇経験はありますが、今回のような大規模カンファレンスには初挑戦となります。
  • 1
  • 2 (current)
phpcon-2018-sponsors
2018 2017 スペシャル プラチナ ゴールド シルバー ブロンズ ランチ ネットワーク サンクス
初心者向け 初めてのスピーカー インフラ