自己紹介内山雄司 (@y__uti)
◦ http://y-uti.hatenablog.jp/ (phpusers-ja)
仕事◦ 受託開発の会社 (株式会社ピコラボ) でプログラマをしています
興味◦ プログラミング言語処理系
◦ 機械学習
2016-05-25 社内勉強会 2
行ってきましたPHP カンファレンス福岡 (http://phpcon.fukuoka.jp)
◦ 日時 2016-05-21 (土) 10:00 - 18:00
◦ 開催場所 福岡ファッションビル FFB ホール 8 階
◦ 主催 ?
◦ 参加費 1,000 円 (懇親会は不参加)
2016-05-25 社内勉強会 3
発表タイトルFusicホール
制約と上手く付き合う
ドキュメントを支える技術
ロリポップ!で目指す、PHP のためのセキュリティを性能要件を同時に満たすサーバホスティング技術
PHPerの皆様へ!「さくらクラブ」で何か楽しいことしませんか
CakePHP3 で学ぶ API マネジメント
今こそ CakePHP3 に乗り換えよう!
PHPerに知ってほしい RDB の事バージョン 2
クエリビルダのススメ
PHP デベロッパーのための JavaScript セキュリティ入門
PHP から離れて感じる PHP の良さ
WordPress REST API が開くWordPress の未来
CakePHPレポート
ライトニングトーク
D ホールPHP で学ぶコンピュータアーキテクチャ
Docker で社内外向けの環境を整えた話
Guzzle Promise を使った非同期処理による API コールの高速化
Go 言語で実装する Linux Name Server
PHP に型推論を実装する
日本で一番 PHP のシステムをテストしている手動テスターが思うところ
HTTP メッセージ - PHP で扱う場合の再入門
Slim3 と PSR-7
PHP PaaS「Sqale」を支えるコンテナ技術
PHP と mBaaSの美味しい関係
2016-05-25 社内勉強会 4
全体の感想内容: API に関連する発表が多かった◦ SPA の流行との関係?
◦ LT にも swagger に関する発表あり
難易度: 入門的 (というか万人向け) な発表が多かった
2016-05-25 社内勉強会 5
制約と上手く付き合う頑健なコードを書くための指針◦ 適切な visibility の設定
◦ 型宣言
◦ immutable object の利用
◦ interface の利用
公開されているスライドでは case 1 ~ 5 だが発表では 3 つ
2016-05-25 社内勉強会 7
制約と上手く付き合う感想など◦ 発表は至極真っ当な話
◦ その一方で、最近の PHP の方向性自体にちょっと疑問も...
型まわりのことです◦ 型を厳密に指定するための syntax は PHP 7 で相当整備された
◦ とはいえ PHP は Java のような言語とは異なる◦ 静的に型チェックされるわけでもないし
◦ 配列の要素型など、結局書けないことだって多いし
◦ カッチリ型宣言するメリットがあるか検討して導入しよう◦ 失敗時に false を戻す idiom とか便利でしょ。いちいち例外使うの?嫌だよ
◦ 今 RFC 出てるけど callable types とか正気か?俺は書かんぞ!
◦ そういう「複雑な型」は人間が書くものじゃなくて推論してもらうものじゃないかな...
2016-05-25 社内勉強会 8
ロリポップ!で目指す、PHP のためのセキュリティと性能要件を同時に満たすサーバホスティング技術
GMO ペパボさんのスポンサーセッション◦ 衝撃のガチ度
◦ 次の論文 (第一著者が発表者) の内容をロリポップ!で実際に運用している話
◦ 松本亮介, 岡部寿男, スレッド単位で権限分離を行うWeb サーバのアクセス制御アーキテクチャ, 電気情報通信学会論文誌 Vol. J96-B, No. 10, pp. 1122-1130, Oct 2013.
ロリポップ!◦ 個人が趣味で使う用途の安価なレンタルサーバ
◦ スタンダードプランで月額 500 円 ~
◦ 以下の要求をすべて達成するWeb サーバのアーキテクチャ◦ 高集積:サービスを安価に提供可能
◦ 高性能:高集積でも性能のよい環境を。安かろう悪かろうではいけない
◦ セキュリティ:共有ホスティングサービス。ユーザごとの権限分離
2016-05-25 社内勉強会 9
ロリポップ!で目指す、PHP のためのセキュリティと性能要件を同時に満たすサーバホスティング技術
発表内容
◦ mod_process_security
◦ Apache moduleとして実装
◦ 動作の流れは CGI と同じだが子プロセスではなくスレッドを生成
◦ Linux Capability を利用して権限を変更
◦ 結果 (ベンチマークテスト)
◦ 高負荷時 (1,000 同時アクセス) の応答時間が CGI 版の 1/37 に改善
◦ ロードアベレージも低下
◦ スライド後半はさらなる改善の話◦ 途中で時間切れ
◦ 続きを聴きたいというリクエストに応えて懇親会で続きの発表があった模様
感想とか◦ 凄いなぁと思いながらただただ聴き入っていた
2016-05-25 社内勉強会 10
日本で一番 PHP のシステムをテストしている手動テスターが思うところ
発表者のバックグラウンド◦ エンジニア 25 名に対してテスター 1 名
◦ テスト専門。コードは書かない
手動テスターの仕事◦ 自動化できないことに注力 (探索的テスト)
◦ 仕様が不明確な部分のテスト⇒仕様の不備を指摘
◦ デザインの違和感なども指摘
◦ やらないこと◦ パスを確認する目的のテスト (網羅的なテストなど) はしない⇒それは自動化すべき
◦ 進捗率などの形式的な報告資料は作らない
2016-05-25 社内勉強会 11
日本で一番 PHP のシステムをテストしている手動テスターが思うところ
感想など◦ 職人感がある
◦ 職人が裁量を与えられれば「強い」のは分かる
そこに至る過程がポイントかもしれない◦ 発表内容のような体制で回っていく組織作り
◦ 評価制度
◦ 顧客との信頼構築
◦ 手動テスターとしてのスキルの伸ばし方◦ 横展開 (新人テスターに同じ方法は適用できない印象)
◦ などなど
2016-05-25 社内勉強会 12
WordPress REST API が開くWordPress の未来
WP REST API の紹介◦ WP 4.4 からプラグインとして提供されている
◦ WP 4.7 でコアにマージされる予定
現在のWordPress の問題点◦ 全体が一枚岩な巨大なシステム。そのため
◦ フロントエンドエンジニアが PHP を学習しなければならない
◦ スケーリングが困難
WP REST API がもたらすもの◦ バックエンドとしてのWordPress
◦ フロントエンドをWordPress から完全に分離
◦ マイクロサービスの一部としてWordPress を利用
2016-05-25 社内勉強会 13
WordPress REST API が開くWordPress の未来
感想など◦ 発表が分かりやすい
◦ WordPress のことを何も知らなくても言っていることが分かる
◦ バックエンドとしてのWordPress という未来に納得感がある
◦ メジャーな CMS としてのポリシーが感じられて面白い◦ 新機能はまずプラグインとして提供し十分なレビューの後にコアにマージする
◦ カスタムフィールドは API で見せない (出力しない、クエリにも使えない)
ちなみに◦ 他の発表を見ても API を提供して SPA というのが時代の流れ?
◦ 「CakePHP3 で学ぶ API マネジメント」とか
◦ 「swagger でかっこいい API ドキュメントを作ろう」とか
2016-05-25 社内勉強会 14