PHPerKaigi 2019 トーク一覧

採択 2019/03/31 13:30〜 Track A レギュラートーク 30分

帰ってきた!平成最後のオレオレフレームワークの作り方

うずら uzulla
唐突ですがフレームワーク(以後FW)は古代存在しませんでした、よって昭和の人間は自分でFWを書いていたと伝えられています(諸説ある)。

とはいえ今は<?= $php_fw_list; ?>といった素晴らしいFWがありますよね。平成も終わる今、タイトルのようにオレオレフレームワークを書く意味があるのか?その疑問は一理あります。

所でFWとは枠組みで、枠組みは内を支えるものです。つまりFWを書く事で自分の内面を知ることに繋がります。そう、自分を知るためにFWを書くべきです!(?)

平成の終わり、オレオレフレームワークを書き、自分を知りましょう!そして…!

*

- 空のファイルから全部書いたことがない人へ
- FWとはスタイル・ベストプラクティスである
- 最大公約数とパラダイム、時代の移り変わり
- 模倣にはじまり、オリジナルを見出し、はしかにかかり、「大人」になっていく
9
採択 2019/03/31 15:10〜 Track A ルーキーズLT

エンジニアインターンが1年間でソースコードレビューの指摘が365回を超えた話

小川将輝 gawa2101
プログラミング未経験の大学生がとあるスタートアップでエンジニアを志し、時に挫折し、時に成長を実感しながら歩んだ1年間の物語です。
現在のインターン先では、ソースコードレビューを行う文化があり、インターンを始めてソースコードレビューを知り、経験しました。
インターンを通してレビューには意義のあるレビューと意義のないレビューがあると気づきました。意義のあるレビューはより良いソースコードにしていくために議論を重ねる場、意義のないレビューは本来レビューで指摘されるべきではないつまらないミスだと思います。
ある時、レビューワーが自分のつまらないミスのためにレビュワーの時間を奪っていることに気づきました。そこで、ソースコードレビューで指摘を受ける回数をカウントをして、指摘を減らすために思考錯誤をしていきました。
今回はそんな話をしていきたいと思います。
5
採択 2019/03/30 16:45〜 Track A レギュラートーク 15分

ネットワークのことを知るためソフトウェアルータを自作した話

kobatako kobatako_
日ごろからお世話になっているインターネット。
そのインターネットはネットワーク同士を接続した巨大なネットワークです。
そのネットワーク内でルータがどう動いているのか、ネットワークをつなげるためルータがどれだけ頑張っているのかを少しでも理解したいと思い、ソフトウェアルータを自作しました。
コアな部分はErlangで実装し、追加のモジュール部分はElixirで実装しました。
内容はL2、L3の実装、ルーティングの実装を行い、さらにL4以上をコントロールするためのモジュール実装をどのように行ったのかを話せればと思います。

ネットワークはアプリケーションにない面白いところが沢山あります。
あまり意識することのないネットワークに焦点を当ててみてはどうですか。

少しでもネットワークのことに興味を持ってもらえると嬉しいです。
3
採択 2019/03/31 14:50〜 Track A ルーキーズLT

みんなが愛したvar_dump()の実装を探しに旅に出た

くわこ MasakiKuwako
僕たちが幾度となくお世話になったvar_dump()
ちょっとまって、この関数すごくない?
var_dump()半端ないって。どんなオブジェクト入れても表示するもん。そんなんできひんやん、普通。

ということでvar_dump()のルーツ(実装)を探りにgithub/php-srcに向かった僕だった
10
採択 2019/03/31 16:10〜 Track A LT

LT/登壇でマサカリに備えるたった一つの心得

果物リン FruitRiin
LTも登壇もめっちゃ面白いよ!さあレッツぽちっとな。え?マサカリが怖い?
今から教えるたった一つの心得があればきっと大丈夫さ
(お酒が入ってるノリ推奨)
1
採択 2019/03/31 15:55〜 Track A LT

どんと来い!オフライン

anzawatta
お気に入りのOSがサポート切れになって早x年、OSを変えるのも面倒…もとい気に入っているのでオフラインで使いたい…!
ネットワークに繋げないオフラインのマシンでPython、PHP、Docker等の開発環境を整える・開発をする辛みや面白みについて語ります。
1
採択 2019/03/30 10:40〜 Track A レギュラートーク 30分

PhpStorm30分集中超絶技巧

山本ユースケ yusuke
リファクタリング、ナビゲーション、ファイルの移動、PhpStormをマウスを使って操作していませんか?
マウス、トラックパッドは窓から投げ捨ててしまいましょう。

マウスフリーになるPhpStormの知ってトクするショートカット、並びに便利技100選を紹介します。
このセッションを受講すれば明日から開発速度が100倍くらいになる!かもしれません。
4
採択 2019/03/31 10:55〜 Track A レギュラートーク 15分

PHPでURLルーティングをつくる

bmf_san bmf_san
PHPでURLルーティングをつくってみた話をします。
普段フレームワークを活用していると、ルーティングの実装はフレームワークが用意したパッケージや外部ライブラリ依存であることが多く、自作するモチベーションやメリットはあまり浮かばないかもしれません。
今回、実用性のあるものを作り上げるのは難しかったですが、敢えて車輪の再発明に挑戦することで
様々なライブラリの実装パターンや実行速度のパフォーマンスの懸念点を知る機会になったり、
アルゴリズムの実装力(エンジニアの基礎体力)を鍛える良い練習にもなりました。
15分の時間内でURLルーティングを自作するメリットと楽しさについてお話できればと思います。
3
採択 2019/03/30 16:15〜 Track B レギュラートーク 15分

サーバーレスPHP

角田 一平 ippey_s
去年の11月にAWS LambdaでCustom Runtimeがサポートされることが発表されました。
PHPでは "PHP Layer for AWS Lambda" を利用して、サーバーレスなPHP実行環境を構築することができるようになりました。
そんなサーバーレスPHPの概要や環境構築手順、Symfonyなどのフレームワークを利用する際のTipsなどをご紹介したいと思います。
採択 2019/03/30 14:45〜 Track A レギュラートーク 30分

モバイルアプリ向けAPI開発を通じて学んだこと

バーチー hypermkt
モバイルアプリ向けのAPI開発、今となっては当たり前の開発要件です。しかし、一般的なWebアプリケーション開発しか経験が無かった我々にとっては難しい課題でした。

プロジェクト開始から1年、ホームページ作成サービスグーペのiOSアプリは、2019年1月中旬にリリースする運びとなりました。初めてのRESTful API, 技術選定, 既存サービス向けのモバイルアプリ開発ゆえの課題, クラス設計, セキュリティ対策, プッシュ通知, 認証, チームコミュニケーションなど様々な課題がありました。

本セッションでは我々が経験した課題をどのように解決し何を学んだのか、プロジェクト全体を通じてご紹介したいと思います。特に今後新規でモバイルアプリを開発されるAPI開発者におすすめです。
4
採択 2019/03/31 14:15〜 Track A レギュラートーク 15分

PHP監視、サービスを守る為に行う不測の事態への努力

清家史郎 seike460
みなさん試行錯誤してPHPサービスを止めないように努力されていると思いますが、
現実世界上でSLA100%を完全保証することは不可能です

では最速で復帰させる為にどの様な努力を行えば宜しいのでしょうか?

僕が行っている最速で「気付く」方法を赤裸々に語ります

- サーバの中からのアプローチ
- サーバの外からのアプローチ
- 各種のアプローチを行う金の弾丸と努力の結晶

PHPのエラーが発生して何が起きたかを慌てるのではなくて、
発生した瞬間に認識する方法を思考します
3
採択 2019/03/30 14:15〜 Track A レギュラートーク 15分

設計力を上げるバリエーションの見極め術

77web 77web
昨年のベストトーク賞「SOLIDの原則ってどういうふうに使うの?」でも話題になったとおり、設計の難度を上げるのは「バリエーション」です。
そのバリエーションの発生パターンの見極め・予測法こそがプログラマーとしての経験値と言っても過言ではないと思います。
いざバリエーションが発生してから「しまった…!」とならないように、発生しうるバリエーションの予測精度を上げるには設計時にどこに注目・注意すればいいか?のコツをお伝えします。
9
採択 2019/03/31 11:25〜 Track A レギュラートーク 30分

Hack HTTP Request and Response Interfaces

ytake ex_takezawa
Hackには、HTTPの処理に関してPSR-7のように相互運用を可能にするためのインターフェースが存在します。
PSR-7と異なるインターフェースはなぜ用意されたのか、
PSR-7とHackのインターフェースの違いはなにか、
Hackでの実装例と他言語のHTTP処理を比べながら、リクエストレスポンスの表現について理解を深めるセッションです。
6
採択 2019/03/30 15:30〜 Track A レギュラートーク 30分

3ヶ月でphp5.5から7.2にバージョンアップした現在と今後の向き合い方

kosa3 kosachan3
3ヶ月でphp5.5のサイトを7.2へバージョンアップリリースした過程の記録と現在のサイトの変化、そこから得た今後の対策についての3つの点からお話しします。

・phpバージョンアップでのプロジェクト体制や取り決めたルールと開発過程での数々のハマった課題を掘り下げリリースまでこぎつけた記録についての紹介。

・リリース後のサイトの品質やパフォーマンスの変化、当時同様にphpバージョンアップをしていた姉妹サイトとの比較や事例紹介。

・php7.3や今後のphpバージョンアップを見据えてやったこと、事前にやりたかったことの共有。
3
採択 2019/03/30 17:15〜 Track A レギュラートーク 15分

コンパイラ作りの魅力を語る

DQNEO DQNEO
長年PHPをやってきた普通のウェブエンジニアが、ある日突然コンパイラの魅力にとりこまれ、寝ても覚めてもコンパイラのことしか考えられなくなりました。
こんなに面白いものがあったのかと。

まずC言語コンパイラをCで書き(写経)、つぎにC言語コンパイラをGoで書き(移植)、気がついたらGo言語コンパイラをGo言語で書いている自分がいました。
そこで見えてきたものは、それまでWeb開発で見ていた景色とは全然違う世界でした。

値とは何か。式とは何か。解釈とは何か。
コンパイラを作る者は、それらの問に対して自分なりの答えを見つけなければなりません。

Goコンパイラに挑戦して1日目Hello wordがで動いたとき、ソフトウェアエンジニアとして非連続的な成長をしつつあるのを実感しました。

コンパイラが書きたい。もっと書きたい。
コンパイラ作りの魅力について語ります。
10
採択 2019/03/29 17:25〜 Track A レギュラートーク 15分

PHP でも Raspberry Pi がしたい!

東雲 H_Shinonome
Raspberry Pi でLEDを光らせたりするのは、Python / C だけだと思っていませんか。
このトークでは電子工作の基礎から、PHP から Raspberry Pi の GPIO を制御する方法や、OSS のライブラリを紹介します。

- Python / C をあまり良くわからないけど Raspberry Pi 触ってみたいPHPer
- Webから制御できる電子工作を気軽にやりたいPHPer

そんな方の背中を少しでも押せたらいいなと思います。
1
採択 2019/03/31 13:30〜 Track B レギュラートーク 30分

アンチパターンから学ぶ、RDBの正しい設計

曽根 壮大 soudai1025
データベースの寿命はアプリケーションより長い。
皆さんも感覚的に理解していても、では実際にどのように付き合っていけばいいのでしょうか。
そこで誰もが経験のあるアンチパターンを題材に正しい設計について紐解いていきます。

- あの時どうすればよかったのか
- アンチパターンを防ぐためには
- 今あるアンチパターンとどのよに戦っていくか

そんなヒントを散りばめた濃厚なデータベースのノウハウをお届けします。
今回のアンチパターンは

- キャッシュ中毒
- ORM依存症
- 知らないロック

の3点をお届けします!
10
採択 2019/03/30 13:30〜 Track A レギュラートーク 30分

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

yoku0825 yoku0825
- あなたがログをINSERTしたのは、この金のMySQLですか? 銀のMySQLですか?
- MySQLというかRDBMSにログを記録するのは絶対悪ではないんですが、それなりのデメリットがあってメリットもあります。
- メリットを残しつつデメリットを克服する方法を考えて幸せになりたい
7
採択 2019/03/31 15:50〜 Track A LT

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

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

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

大津 和槻 cocoeyes02
自身の学びが定着、転職に役立つ...様々な理由があれど「エンジニアは積極的にアウトプットをすべきだ」という声を1度は聞いた事があると思います。
しかし、実際に何かアウトプットしてみようと思っても、最初のうちは何をアウトプットすればいいかわからないことが多いです。
そこで私がお伝えしたいのは「ライブラリやフレームワークのソースコードリーディングは、アウトプットするチャンスの塊である」ということです。
業務に役立つだけでなく、ブログ・OSS...色々なアウトプットに繋がりやすいと感じます。
どのようにアウトプットへ繋げることができるのか、私自身のアウトプットを例にしてお話しします。
7
  • 1
  • 2 (current)
  • 3
オーガニック 申込済 2018スポンサー 2018資料請求
採択 非採択 ルーキー
仮採択 別で採択済 長さ違いアリ 非採択 前夜祭
オーガニック 申込済 2018スポンサー 2018資料請求
採択 非採択 ルーキー
仮採択 別で採択済 長さ違いアリ 非採択 前夜祭