PHPerKaigi 2019 トーク一覧

レギュラートーク 30分

大量レコードの処理にORMで詰まった時にMySQLで考えること

yoku0825 yoku0825
- ORMで100万行フェッチしてオブジェクト作って配列にしてループでぐるぐる回していたらレスポンスが死にました
- という時にMySQLの気持ちになってどんな対策でアプリケーション側の処理を軽くするか考えた経験を話します
- 生SQL使おうぜって話になります
- ダーティーハックを含みます
- やりすぎるとSQLおじさんになるので注意
5
採択 2019/03/30 13:30〜 Track A レギュラートーク 30分

MySQLにWEBアプリのログを保存しているケースの8割くらいが幸せになる方法

yoku0825 yoku0825
- あなたがログをINSERTしたのは、この金のMySQLですか? 銀のMySQLですか?
- MySQLというかRDBMSにログを記録するのは絶対悪ではないんですが、それなりのデメリットがあってメリットもあります。
- メリットを残しつつデメリットを克服する方法を考えて幸せになりたい
レギュラートーク 30分

夢見るMySQLの冗長構成

yoku0825 yoku0825
- MySQL 5.7で導入されたGroup Replication (InnoDB Cluster) って実はマルチマスター構成が取れるんです。夢見たいですね。
- MySQL (NDB) Cluster, Percona XtraDB Cluster, MariaDB Galera Cluster, MySQL Fabric(mikasafabric for MySQL), MHA for MySQLとは何が違うのか? どうやって動くのか? その夢は本当に叶うのか?
- マルチマスターが期待した通りに動くケース、注意が必要なケースを整理していきます
1
レギュラートーク 30分

障害対応の勘所 of MySQL

yoku0825 yoku0825
- とある企業のDBAとして6年務めたMySQLerが「何を見て切り分け」「どう対応するのか」をダイジェストでお伝えします
- 「パターン青! MySQLです!」「でもどこから見ればいいのかわからないから取り敢えずメンテ入れて再起動しよう、再発防止策はお祈り」な人にオススメできる内容になるよう努力する所存です
4
LT

「アプリケーションエンジニアだから・・」で済ませないでインフラの監視もしてください

hkinjyo o0h_
昨今では、コンテナの導入やサーバーレスアーキテクチャの普及により、サーバーサイドアプリケーションエンジニアの果たすべき役割は縮小してきていますでしょうか。
それでも、オーソドックスなアーキテクチャでは、サーバーサイドは「クライアントとデータベースの接着剤」として欠かせない役割であると感じていあます。
そんな私たち(PHPer)だからこそできる、「迅速で的確な障害対応」のための貢献があるはず!!
なのに、負荷監視は他人の仕事とか思ったり、インフラ担当者と交流してないのは、損失が大きいのではないでしょうか。

大きい組織やチームのことはわからないのですが、小さいチームであれば「ちょっとわかる」だけで、私達の「できること」「見える範囲」が広がります。
私個人の今の会社でやっている「監視」「障害対応」の話をさせてください
採択 2019/03/31 15:50〜 Track A LT

cakephp/chronosを使って日時の関連するテストを支配する

hkinjyo o0h_
テストコードを書くときに、初心者から玄人まで煩わしく感じるのが「日時の関わるテスト」です。
テストに重要な「readability」の価値を損ないたくない。テストのためにプロダクトコードのロジックを妥協したくない。
そんな我が儘をかなえつつ、「仮想日時」や「固定日時」を扱った処理を実現するには、便利なライブラリが必要です。
CakePHPの内部でも大活躍している「cakphp/chronos」を紹介させてください!
ルーキーズLT

副業としてのオンラインプログラミング講師をおすすめしたい理由

くわこ MasakiKuwako
副業としての見たときのオンラインプログラミング講師業がいかに良いかについて語ります。

副業としてのオンラインプログラミング講師は以下のような社会課題/未来像に一石を投じることができ、非常に魅力的です。
・慢性的なITエンジニア人材の不足
・新しい働き方への挑戦
・マルチインカム

大学時代に何気ない理由からプログラミングのアルバイトを始めた僕がいかにして初心者にプログラミングを教えるようになったのか、その経緯やメリット・デメリット、今後目指したい姿をエンジニア側の視点からお伝えしたいと思います!!
2
採択 2019/03/31 15:45〜 Track A ルーキーズLT

ソースコードリーディングのススメ

大津 和槻 cocoeyes02
自身の学びが定着、転職に役立つ...様々な理由があれど「エンジニアは積極的にアウトプットをすべきだ」という声を1度は聞いた事があると思います。
しかし、実際に何かアウトプットしてみようと思っても、最初のうちは何をアウトプットすればいいかわからないことが多いです。
そこで私がお伝えしたいのは「ライブラリやフレームワークのソースコードリーディングは、アウトプットするチャンスの塊である」ということです。
業務に役立つだけでなく、ブログ・OSS...色々なアウトプットに繋がりやすいと感じます。
どのようにアウトプットへ繋げることができるのか、私自身のアウトプットを例にしてお話しします。
採択 2019/03/31 16:00〜 Track A LT

PHPのいいトコ・求めるモノ怒涛の10選!

Yuta Abe yutaabe200
普段はモバイルエンジニアとしてSwiftやKotlin、WebではECMAScriptやScala、Goなど、割と最近登場したいわゆるモダンと言われる言語を使用している私が、業務上がっつりPHPに入門する機会が最近ありました。
先入観で「PHPはオワコン」、「風前の灯火」みたいな事を巷で聞いていましたが、実際入門して触ってみると「あのモダンな言語仕様PHPにもあるじゃんか!」、「これができるPHPは優秀」、「あの言語のあの仕様欲しい」など古参PHPerとは少し違う観点で感じる事がありましたので、それを「怒涛の10選」としてご紹介します。
採択 2019/03/29 17:55〜 Track A レギュラートーク 30分

「質」の良いユニットテストを書くためのプラクティス

東口和暉 hgsgtk
ユニットテストを書くにあたり、テスト初級者と中級者・上級者ではユニットテストの「質」が異なるでしょう。テスト初級者の書くユニットテストはすぐに破綻し開発体験を良くないものにしてしまいます。
これは、私自身がユニットテスト初心者を脱するために、改めてまとめることを試みた、よりよいであろうと調べ考えた方法と逆のアンチパターンについてです。
採択 2019/03/31 15:15〜 Track A ルーキーズLT

CTFで学ぶPHPセキュリティ

CTF (Capture the Flag) は、情報技術のセキュリティ脆弱性を利用して攻略する様々な問題からflagと呼ばれる文字列をできるだけ多く、そして早く獲得するコンテストです。その中にWebセキュリティのジャンルがあり、PHP製アプリケーションも例外なく出題されます。
その難易度も出題によって幅広く、SQLインジェクションなど基礎的な問題から、PHPの仕様を詳しく知らないと解けないような難問まで存在します。
謎解き感覚で楽しくPHPセキュリティを勉強しましょう!
ルーキーズLT

赤いきつねと緑のたぬき

鈴木セシル suzuki_cecil_
東洋水産が生産しているカップ麺の「赤いきつねと緑のたぬき」をご存知でしょうか?
実は「赤いきつねと緑のたぬき」は私たちWebに携わる人間には切っても切り離せない存在なのです。なぜならばブラウザには「赤いきつね」にあたるFireFoxが存在するからです。しかしどうでしょうか?「赤いきつね」は存在するのに「緑のたぬき」は存在しないのです。これは問題ではないでしょうか?
そこでC#と.NetFrameworkを用いて「緑のたぬき」にあたるブラウザを作ってみましたというネタトークです。
作成したとは言えどコードはほとんど書いていません。またPHPをどう絡めるかも検討中です。
レギュラートーク 15分

一から始めるECS/Fargateでのアプリケーション構築

東口和暉 hgsgtk
Fargateとかそろそろキャッチアップしておきたいという方向けの発表です。AWSサービスにおいてECS/EKS等コンテナベースでのアプリケーション運用の事例が出てきたかと思います。12 factor appsなどの設計アプローチなどがあるようにコンテナでの運用においてログ・設定情報の扱いなど、アプリケーション設計においても影響がありうります。今回、業務でGoをECS/Fargateで運用している知見をベースに、PHPアプリケーションをFargateで使うにあたった基礎知識と検討ポイントについてまとめてみようと思います。
レギュラートーク 30分

一から始めるECS/FargateでのPHPアプリケーション構築

東口和暉 hgsgtk
Fargateとかそろそろキャッチアップしておきたいという方向けの発表です。AWSサービスにおいてECS/EKS等コンテナベースでのアプリケーション運用の事例が出てきたかと思います。12 factor appsなどの設計アプローチなどがあるようにコンテナでの運用においてログ・設定情報の扱いなど、アプリケーション設計においても影響がありうります。今回、業務でGoをECS/Fargateで運用している知見をベースに、PHPアプリケーションをFargateで使うにあたった基礎知識と検討ポイントについてまとめてみようと思います。
レギュラートーク 30分

あえてPHPerに薦めるVue.js(と多分Nuxtの話)

果物リン FruitRiin
Laravelがデフォルトのフロントエンドフレームワークとして採用しているVue.jsってどんなことができるの?ライブコーディングでお見せします!
jQueryに苦しんでいる人、今風リッチなUIを作ってみたいんだけどどうすればいいかわからない人には参考になるかもしれません。
さらに、Vue.jsといえば何かと一緒に名前を聞くNuxtととは何か、使い分け、どちらを選ぶべきかあたりについてお話できたらと思います。
1
オーガニック 申込済 2018スポンサー 2018資料請求
採択 非採択 ルーキー
仮採択 別で採択済 長さ違いアリ 非採択 前夜祭