PHPerKaigi 2019 トーク一覧

採択 2019/03/29 17:55〜 Track B レギュラートーク 30分

PHPでJVMに入門する

めもりー m3m0r7
Java Virtual Machine Specificationを読み解きながら、PHPでJavaのバイトコードを解釈し実際にJVMがどのようにして動いているのかを感じてもらいつつ、30億のデバイスで走るJavaの気持ちになれるようなトークをします。
PHPでJavaを動かすことによってPHPもまた、30億のデバイスで走る言語の一つとなります。
2
採択 2019/03/30 16:15〜 Track A レギュラートーク 15分

ゼロから始める自作ファミコンエミュレータ生活

市川 cakephper
この数ヶ月、Rust版、PHP版ファミコンエミュレータを読み、Go言語に移植しています。
PHP版を元に、PHPでどのようにファミコンエミュレータを実装しているのか、Goで再実装した時に見えた違いなどを解説。
そもそも2019年にもなって何でファコミンエミュレータなのか、何が楽しいのか、魅惑のエミュレータワールドを通して体験できたコンピュータの世界をご紹介。
4
採択 2019/03/30 11:25〜 Track B レギュラートーク 30分

PHPゆるふわCI入門

うさみけんた tadsan
PHPアプリケーションを持続的にメンテナンスし成長させるためには人手によるテストには限界があり、機械的な自動検査をすることが有効です。テスト機能を提供するフレームワークを利用していないコードベースであってもテスト可能にするための基本的な考えかたについて業務での事例を交えて紹介します。PHPUnitなどを使ったユニットテストの導入やPHPStan・Phanを使った静的解析、プロジェクト固有のローカルルールを検査するための正規表現ベースのチェッカーなどを扱います。
8
採択 2019/03/30 10:40〜 Track B レギュラートーク 30分

フレームワークを作りながらLaravelのアーキテクチャを学ぶ

endu Fendo181
PHP界隈で最も普及したフルスタックフレームワークであるLaravel。
便利なフレームワークが持つ豊富な機能に”甘い”魅力を感じる一方で「なぜLaravelではファサードパターンを採用しているのか?」、「なぜEloquent を採用しているのか?」と言った疑問を考えた事はあるでしょうか?
「“How” ages faster than “Why”(手段は本質よりも早く廃れる)」と言う言葉があるように、Laravelでのメソッドの呼び出し方は他のPHPのFWでは通用しませんし、他の言語でも意味をなさないもしれません。しかし、Laravelで採用されている技術やアーキテクチャは言語の壁を超えて流用ができると考えています。

この発表では0からフレームワークを作りながらLaravelで採用されているアーキテクチャが「なぜ良いのか?」っと言った視点で発表をしたいと思います。
4
採択 2019/03/31 11:25〜 Track B レギュラートーク 15分

PhpStormでコードを理解する技術

田中孝治 tenkoma
PhpStormを知っていますか?
PHPStormはプラグインのインストールや設定カスタマイズをしなくても様々な便利な機能がついている統合開発環境です。
しかし、自分のプロジェクトに合わせて多少の設定を行うと、コードリーディングがさらに楽になります。
このトークではPHPユーザー向けに読みたいコードを探し出すための検索機能から、静的解析連携、テスト・デバッグを使ってコードを理解する方法などを説明して、PhpStormがプログラマのコードを理解する能力をどう拡張してくれるか紹介します。
2
採択 2019/03/31 14:55〜 Track A ルーキーズLT

はじめまして!Webアクセシビリティ -PHPer編-

古賀詩織 shiori_pk
PHPerの皆さんは普段Webアクセシビリティについて何か取り組んでいますか?
皆さんが作っているWebサイト、Webサービスは本当に、すべてのユーザーに使ってもらえるものですか?

今回のLTでは
- Webアクセシビリティの概要
- よくあるWebアクセシビリティのアンチパターン
- PHPerとして考えるべきWebアクセシビリティについて

を紹介したいと思います。
7
採択 2019/03/31 10:25〜 Track B レギュラートーク 15分

255文字のドメインはツラみがある!

Jun Watanabe rela1470
皆さんの日常生活には欠かせない、ドメインという仕組み。
なんとなく使っていませんか!?

例えば、何文字まで長く出来るかわかりますか?
(タイトルでネタバレ)

ドメインを最長にした際、
・メールアドレスはどうなる?
・Nginxの設定は?
・サーバーレスは?
・SSL証明書は?

今回は仕様最長のドメインで実際にサイト運営した経験を題材に、
RFCの仕様からFirebase検討までの奮闘記をお話します。
3
採択 2019/03/31 10:55〜 Track B レギュラートーク 15分

PHPerKaigi2019のサイトができるまで

yasui risa cotolier_risa
PHPerKaigi2019にてデザインスポンサーとしてWebサイトの制作をさせていただきました!PHPerKaigi2019のサイトができるまでの過程において、デザインに込めた想いやワークフロー、Nuxt.jsでの実装の内容でお話したいと思います。
7
採択 2019/03/31 15:00〜 Track A ルーキーズLT

レガシーコードに最低限の秩序をもたせる

ユーベ juve534
仕様書もないレガシーモジュールに最低限の秩序をもたせる為に何ができるかを考え、対応した話をします。
主にCI環境を構築した話になると思います。

テストコードを書いて、カバレッジ100%とかは非現実的な話はしません。
採択 2019/03/31 14:15〜 Track B レギュラートーク 15分

Swooleのフレームワークをくらべてみた

白井 英 goodoo
uzullaさんのPHPerKaigi2018「大統一PHP」(https://speakerdeck.com/uzulla/da-tong-php)で紹介されているSwooleという非同期かつ、Coroutineの仕組みをもったPHPのextensionがあります。
Swooleを用いたフレームワークはいくつかあります。
今回、EasySwoole(v2,v3)、Swoft、Laravel-Swooleの4つを比べてみた結果をお話しします。
それぞれのフレームワークのISUCON8予選のベンチマークの結果をお伝えします(恒例)
No.1 Swooleフレームワークはどれだ!
4
採択 2019/03/31 16:05〜 Track A LT

単方向依存を実現する静的解析ライブラリのご紹介

川島慧 nazonohito51
設計への意識の高まりとともに、クラスの依存関係をコントロールすることに関心を持つエンジニアが増えてきましたが、現状依存ルールを順守するには人間の目で確認せざるを得ません。
クラスの依存関係を人間の目で一瞥するのは基本的に難しく、うっかり循環依存になってしまってないかレビューするのも手間です。

そこでPHPStanをベースに依存関係を解析するライブラリを作成しました。
これによりルールの順守を機械的にチェックすることが可能になるほか、そのリポジトリの依存ルールを設定ファイルとして管理し、ルールを明示することができるようになります。

また全クラスの依存関係を解析してグラフ化することも可能(予定)ですので、初めて見るリポジトリを解析する時にその依存関係から大まかな構造を把握できるような使い道もあります。

今回はこのライブラリの紹介をさせていただければと思います。
2
採択 2019/03/30 16:45〜 Track B レギュラートーク 15分

Swooleでフレームワークを高速化 - もう動作が遅いなんて言わせない!

新倉涼太 niisantokyo
今話題のSwooleはPHPにイベント形式の非同期処理をエクステンションという形で導入することができます。これを利用することで、PHPのフレームワークを高速化してみようと試みます。一般に、フレームワークや外部ライブラリを利用していると、それらのソースファイルを読み込むために多くの時間がかかるようで、Swooleを使ってイベント形式のサーバを建てることで、この読み込みコストをほぼゼロにできると期待できます。今回はLaravelを例に取り、Swooleによる高速化の導入、及び、Swooleによってどれだけ高速化できたかを、apacheやfpmなどの別の形式のサーバと比較します。また、Swooleの導入によって発生する問題についても言及します。
5
採択 2019/03/31 10:25〜 Track A レギュラートーク 15分

マニュアルにない引数を与えるとどうなる?php-srcへのバグ報告をした時の話

てきめん youkidearitai
とある日に、いつものようにPHP 5.6でmbstringの関数へ引数をarray()にして挙動を楽しんでいました。
同じように当時の PHP 7.3.0 RC5 に対して、挙動を楽しんでいると、
mb_check_encodingのときに、Segfaultになりました。

報告したところ、修正いただきました。

今回は、そのバグをどう見つけて、どう報告したのかということと、
php-src上での問題か、スクリプト上の問題かを切り分ける方法、

そもそもPHPのビルトイン関数へ(わざと|誤って|たまたま)マニュアルにない引数を加えるとどうなるのか、
7.2からmb_check_encodingとmb_convert_encodingにはarrayが使えるようになっていること

などの発見したこと、報告した後の心境を共有させていただきたいなと思います。
1
採択 2019/03/31 15:05〜 Track A ルーキーズLT

Laravel の開発環境構築、何が良いかを比較検証してみた!

k_yoshikawa hunhunyosshy
laravelを触ってみたいと思っても、環境構築が面倒くさいと思って挫折した人いませんか?
また本に書いてあるやり方だと実践的ではないと思ってやる気がなくなっちゃった人いませんか?
これ2つとも2018年までの私です。

でもそんな自分でも作ってみて、Laravelの使いやすさ、楽しさが最近ようやくわかってきました。
ぜひ皆様にもLaravelのよさをわかっていただけたらと思います。
そのために環境構築を試してみて、どのやり方がどんな感じでオススメかを紹介できたらと思います。
以下の3つを紹介できたらと思います。

・Laravel 内蔵サーバ
・MAMP(XAMPP)
・Docker
2
採択 2019/03/30 15:30〜 Track B レギュラートーク 30分

RESTの力

郡山 昭仁 koriym
HTTPはRPCではなく、RESTはHTTP上のCRUDシステムではありません。RESTはハイパーメディアアフォーダンスという発見性を持ち、進化可能性(evolvability)、スケーラビリティ、自己記述性、といったアプリケーションをパワフルにする力を持ちます。このトークでは、RESTの本来の力がアプリケーションにどのようにパワーとパフォーマンスを与え、アプリケーションアーキテクチャとどう作用できるのかフレームワーク製作者の視点を交えてお話します。
14
採択 2019/03/30 17:15〜 Track B レギュラートーク 15分

PHPerのための計算量入門

富所 亮 hanhan1978
プログラムを書くときに計算量を意識していますか?計算量の基本を理解することで、サービスが成長したときに問題を起こしにくいプログラムを作成することができます。簡単なプログラムを例にして、まず計算量という概念に慣れてみましょう。
2
採択 2019/03/29 16:55〜 Track A レギュラートーク 15分

15分で分かった気になるGraphQL

市川 慎吾 ichikawa_0829
Facebookが公開し、GitHubのAPI v4にも採用されたことでも知られるGraphQL。旧来のRESTfulな形式のAPIを爆発的に置き換えていっている!とは言えませんが最近少しずつ国内でも採用事例を聞くようになりました。
このトークではGraphQLの魅力について話し懇親会で話のネタに出来るくらいに分かった気になるトークをしたいと思います。
2
採択 2019/03/30 14:45〜 Track B レギュラートーク 30分

たった1人のAPI開発 BEAR.Sundayで解決した課題たち

斉藤裕気 gamu1012
社内ベンチャーやスタートアップでは少ない人的リソースで高速にプロダクトを開発していくのが重要です

しかしながら、大きなピボットや急な仕様変更の可能性も高く、こういった状況でのAPI開発は様々な課題があらわれます


- 大きなピボットや急な仕様変更の可能性を踏まえて、どういう設計にするべきか
- アプリエンジニアとスムーズに連携するにはどうすればいいのか
- なにを大事にして、なにを後回しにするのか

このセッションでは上記の課題にどういう解決策を考え、BEAR.Sundayでどういったかたちで解決していったのか

そして、少し珍しいフレームワークであるBEAR.Sundayでの実務例をご紹介いたします
6
採択 2019/03/31 15:40〜 Track A ルーキーズLT

TikTokでプログラミング勉強コンテンツを作ってみた

Kaoru firirice
文字をシェアするtwitterから画像をシェアするインスタグラムへとSNS市場は変化し続けています。そして、動画をシェアするSNS TikTok。
そのTikTokを利用してプログラミングを勉強するコンテンツがあると面白いんじゃないかと思っています。
LTではなぜTikTokなのか、ネタ作りの観点などを共有できればと思います。
7
採択 2019/03/30 11:25〜 Track A レギュラートーク 30分

抽象化って何?

後藤 秀宣 hidenorigoto
「抽象」という言葉に抵抗を感じるプログラマは多くいると思います。抽象的=フワっとしていて理解しづらいという抵抗や、抽象化=プログラムを分かりづらくするという抵抗など。では、プログラムを書く上で、抽象化は不要なのでしょうか?
この講演では、私達人間にとっての抽象化と、プログラミングにおける抽象化について掘り下げ、プログラミングにおいて役立つ抽象化がどのようなものなのかをお話します。
8
  • 1 (current)
  • 2
  • 3
オーガニック 申込済 2018スポンサー 2018資料請求
採択 非採択 ルーキー
仮採択 別で採択済 長さ違いアリ 非採択 前夜祭
オーガニック 申込済 2018スポンサー 2018資料請求
採択 非採択 ルーキー
仮採択 別で採択済 長さ違いアリ 非採択 前夜祭