さっそくですが、先日PHPカンファレンス2019に参加してきたので、超簡単にダイジェストをお送りします。
今年のPHPカンファレンスは、どこの地方も参加できてなかったので、久々のカンファレンスで高まりました!!!
今年も、会場は大田区産業プラザ PiOでした。毎年同じ場所だと東京の土地勘がないわたしにはとてもありがたいです!
毎回思いますが、人多いですね!
PHP Conference Japan 2019 来場者数1400人を突破しました!
— PHPカンファレンス2019 (@phpcon) December 1, 2019
セッション「PHPの今とこれから2019」
PHP8.0
- 2021.9くらいにでる予定らしい
- JIT(Just-in-time)
- multiple(union) typeの型指定を
int|string
って書けるようになる
今までは、PHPDocのアノテーションでいい感じにしてた。
class Hoge { /** * @param int|string */ public function foo($value): void { var_dump($value); } } $hoge = new Hoge; $hoge->foo(1); //int(1) $hoge->foo('one'); //string(3)
PHP8から、こうやってかけるようになるらしい
class Hoge { public function foo(int|string $value): void { var_dump($value); } }
PHP7.4
- 2019.11.28にリリースされましたよー
https://github.com/php/php-src/releases/tag/php-7.4.0 - プロパティも型指定ができる
- アロー関数
参考:https://www.amitmerchant.com/union-types-php/
参考:https://qiita.com/rana_kualu/items/ba312d2789bd228f887a
参考:https://kinsta.com/jp/blog/php-7-4/
セッション「コミュニティアップデート powered by GMOインターネット 」
PHPの地方コミュニティのいろいろを聞けました。
- 勉強会やイベントでの自己紹介って結構大事らしい
- 山陰ぺちぱーずという、地元に割と近いコミュニティがあるのを知った
セッション「思想と理想の果てに — クリーンアーキテクチャのWEBフレームワークを作ろう」
https://nrslib.com/phpcon-2019-proposal/
- ヘキサゴナルアーキテクチャ(初耳)
- スキャフォールディング機能(初耳)
セッション「PHPUnit: Past, Present and Future 」
PHPUnitの生みの親、セバスチャンさんの登壇でした!
全部英語です。こういう時に毎回英語頑張っておけばよかったと思います😂
心から言いたいことは「PHPUnitを作ってくれて、ありがとうございます🙏」
セッション「脆弱性から学ぶ Webセキュリティ Part2」
https://speakerdeck.com/hypermkt/study-web-security-from-vulnerability2
- 脆弱性の怪しい匂いに気付こう
- 根本的解決>保険的対策
- ディレクトリトラバーサル対策
- ファイルパスで判定してるやつとかは怪しい臭い
- OSコマンドインジェクションの対策
- シェル呼び出し機能関数を使わない
- escape shell art
- セッション管理の不備
- 攻撃例
- セッションハイジャック
- セッションIDの固定化
- 対策法
- XXS対策
- セッションIDを推測困難なものにする
- セッションIDはクッキーのみで保持する
- php.iniの確認(デフォルトで🙆♂️)
- session.use_trans_sid = 0 [URLにセッションIDを保持しない]
- session.use_only_cookies = 1
- session.use_cookies = 1
- 認証が成功したら新しいセッションを開始する
- 攻撃例
セッション「REST 6+4の制約」
https://speakerdeck.com/koriym/rest-6-plus-4falsezhi-yue
- RESTにとって、URIは重要ではない
- v1とか、バージョニングは含めたらrestではない
- REST =Hypermedia API
- クライアントはサーバーが何の言語かしらなくていい
- キャッシュ スケールのため、🙅♀️パフォーマンス
- RFC7234に対応:Kevinrob/guzzle-cache-middleware
質問の時に、おっしゃられてた「技術に対しての背景を理解しよう」というのが、印象的でした。
自分が使っている言語やフレームワークを作ってくれた人って、相当尊敬してるのに名前知らないなーって痛感したので、もっと歴史とか人物とか関係性とかってスルーしてたので、興味持とうって思いました。(偉人紹介ブログ描こうかな😎)
入手品
- elePHPant(買ってもらった😆)
- 電子メモパット(アンケート答えてもらった)
- メルカリノート、SIMケース、ステッカー(無条件のもらった)
- スマホスタンド(ちょー便利)、チョコ
- 粗品タオル
- 食べログの人になれるやつ(ガチャはずれたけどくれた😆)
(新幹線で読むように買ったけど、疲れて10ページくらいしか読めんかった・・・。通勤の肥やしにしよう。)
郡山さんのセッションを聞く前に、この本で予習しておけばもっと理解できたなあって思いました😭
いろんな方のセッションが聞けたのと、お話もできたのでいい機会でしたー!
これからももっと勉強して、いいコードかけるようになりたいという気持ちになりました^^
\スタッフの皆さん、ありがとうございました🙇♂️/