SlideShare a Scribd company logo
PHP カンファレンス福岡
参加報告
内山 雄司 (@y__uti)
2016-05-25 社内勉強会
自己紹介
内山 雄司 (@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
いくつかの発表の感想
内山の解釈や感想を書いたものです
発表内容や話者の意見とは違う可能性があります
2016-05-25 社内勉強会 6
制約と上手く付き合う
頑健なコードを書くための指針
◦ 適切な 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
今後のイベント
PHP Conference Kansai 2016
◦ URL http://conference.kphpug.jp/2016/
◦ 開催日 2016 年 7 月 16 日 (土)
◦ 開催場所 ブリーゼプラザ (梅田)
PHP Conference 2016
◦ URL https://www.facebook.com/pcon.japan/ (Facebook)
◦ 開催日 2016 年 11 月 3 日 (木・祝)
◦ 開催場所 大田区産業プラザ PiO (蒲田)
2016-05-25 社内勉強会 15

More Related Content

What's hot (20)

PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
Yoshio Hanawa
 
PHPの今とこれから2015
PHPの今とこれから2015PHPの今とこれから2015
PHPの今とこれから2015
Rui Hirokawa
 
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックPHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
 
Zend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探るZend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探る
Yoshio Hanawa
 
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情PHP7の拡張モジュール事情
PHP7の拡張モジュール事情
Yoshio Hanawa
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
 
PHP7はなぜ速いのか
PHP7はなぜ速いのかPHP7はなぜ速いのか
PHP7はなぜ速いのか
Yoshio Hanawa
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
 
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントPHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
 
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSDrupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
 
Phpstudy44 Zend Frameworkが抱えている問題は多い。
Phpstudy44 Zend Frameworkが抱えている問題は多い。Phpstudy44 Zend Frameworkが抱えている問題は多い。
Phpstudy44 Zend Frameworkが抱えている問題は多い。
sasezaki
 
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッションPHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
 
HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?
sasezaki
 
Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門
晃 遠山
 
安全なテーマ作成のためのPHPの知識
安全なテーマ作成のためのPHPの知識安全なテーマ作成のためのPHPの知識
安全なテーマ作成のためのPHPの知識
Fumito Mizuno
 
PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くPHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩く
shinjiigarashi
 
デザイナーのためのはじめてPHP ~Codex、どう使いこなす?~
デザイナーのためのはじめてPHP ~Codex、どう使いこなす?~デザイナーのためのはじめてPHP ~Codex、どう使いこなす?~
デザイナーのためのはじめてPHP ~Codex、どう使いこなす?~
takenao
 
phpspecで始めるBDD
phpspecで始めるBDDphpspecで始めるBDD
phpspecで始めるBDD
Yuuki Takezawa
 
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
Yoshio Hanawa
 
PHPの今とこれから2015
PHPの今とこれから2015PHPの今とこれから2015
PHPの今とこれから2015
Rui Hirokawa
 
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックPHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
 
Zend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探るZend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探る
Yoshio Hanawa
 
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情PHP7の拡張モジュール事情
PHP7の拡張モジュール事情
Yoshio Hanawa
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
 
PHP7はなぜ速いのか
PHP7はなぜ速いのかPHP7はなぜ速いのか
PHP7はなぜ速いのか
Yoshio Hanawa
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
 
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
 
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントPHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
 
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSDrupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
 
Phpstudy44 Zend Frameworkが抱えている問題は多い。
Phpstudy44 Zend Frameworkが抱えている問題は多い。Phpstudy44 Zend Frameworkが抱えている問題は多い。
Phpstudy44 Zend Frameworkが抱えている問題は多い。
sasezaki
 
PHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッションPHPカンファレンス2016 初心者セッション
PHPカンファレンス2016 初心者セッション
Hideo Kashioka
 
HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?HTTPメッセージ、PHPの 事情ば分かっとっと?
HTTPメッセージ、PHPの 事情ば分かっとっと?
sasezaki
 
Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門
晃 遠山
 
安全なテーマ作成のためのPHPの知識
安全なテーマ作成のためのPHPの知識安全なテーマ作成のためのPHPの知識
安全なテーマ作成のためのPHPの知識
Fumito Mizuno
 
PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くPHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩く
shinjiigarashi
 
デザイナーのためのはじめてPHP ~Codex、どう使いこなす?~
デザイナーのためのはじめてPHP ~Codex、どう使いこなす?~デザイナーのためのはじめてPHP ~Codex、どう使いこなす?~
デザイナーのためのはじめてPHP ~Codex、どう使いこなす?~
takenao
 
phpspecで始めるBDD
phpspecで始めるBDDphpspecで始めるBDD
phpspecで始めるBDD
Yuuki Takezawa
 

Viewers also liked (15)

COOLMEAT_Campden Seminar_Presentation
COOLMEAT_Campden Seminar_PresentationCOOLMEAT_Campden Seminar_Presentation
COOLMEAT_Campden Seminar_Presentation
Lee Gapper
 
Thai startup eco_20130609
Thai startup eco_20130609Thai startup eco_20130609
Thai startup eco_20130609
Oranuch (mimee) Lerdsuwankij
 
Bacteriophage and its Applications in Food
Bacteriophage and its Applications in FoodBacteriophage and its Applications in Food
Bacteriophage and its Applications in Food
rasha mohamed
 
N対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer HintN対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer Hint
do_aki
 
พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)
พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)
พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)
Settapong Malisuwan
 
เศรษฐพงค์ มะลิสุวรรณ
เศรษฐพงค์ มะลิสุวรรณ เศรษฐพงค์ มะลิสุวรรณ
เศรษฐพงค์ มะลิสุวรรณ
www.nbtc.go.th
 
Bacteriophages of LAB control measures and significance
Bacteriophages of LAB control measures and significance  Bacteriophages of LAB control measures and significance
Bacteriophages of LAB control measures and significance
pkchoudhury
 
settapong
settapongsettapong
settapong
www.nbtc.go.th
 
Ankur ppt
Ankur pptAnkur ppt
Ankur ppt
Akanksha Dixit
 
Improving Enterprise Findability: Presented by Jayesh Govindarajan, Salesforce
Improving Enterprise Findability: Presented by Jayesh Govindarajan, SalesforceImproving Enterprise Findability: Presented by Jayesh Govindarajan, Salesforce
Improving Enterprise Findability: Presented by Jayesh Govindarajan, Salesforce
Lucidworks
 
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Lucidworks
 
Your Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
Your Big Data Stack is Too Big!: Presented by Timothy Potter, LucidworksYour Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
Your Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
Lucidworks
 
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Lucidworks
 
Gerilla Pazarlama Özet Sunum
Gerilla Pazarlama Özet SunumGerilla Pazarlama Özet Sunum
Gerilla Pazarlama Özet Sunum
Rıdvan YAKA
 
Tedarik Zinciri Performans Ölçümü
Tedarik Zinciri Performans ÖlçümüTedarik Zinciri Performans Ölçümü
Tedarik Zinciri Performans Ölçümü
Duran Güler
 
COOLMEAT_Campden Seminar_Presentation
COOLMEAT_Campden Seminar_PresentationCOOLMEAT_Campden Seminar_Presentation
COOLMEAT_Campden Seminar_Presentation
Lee Gapper
 
Bacteriophage and its Applications in Food
Bacteriophage and its Applications in FoodBacteriophage and its Applications in Food
Bacteriophage and its Applications in Food
rasha mohamed
 
N対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer HintN対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer Hint
do_aki
 
พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)
พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)
พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)
Settapong Malisuwan
 
เศรษฐพงค์ มะลิสุวรรณ
เศรษฐพงค์ มะลิสุวรรณ เศรษฐพงค์ มะลิสุวรรณ
เศรษฐพงค์ มะลิสุวรรณ
www.nbtc.go.th
 
Bacteriophages of LAB control measures and significance
Bacteriophages of LAB control measures and significance  Bacteriophages of LAB control measures and significance
Bacteriophages of LAB control measures and significance
pkchoudhury
 
Improving Enterprise Findability: Presented by Jayesh Govindarajan, Salesforce
Improving Enterprise Findability: Presented by Jayesh Govindarajan, SalesforceImproving Enterprise Findability: Presented by Jayesh Govindarajan, Salesforce
Improving Enterprise Findability: Presented by Jayesh Govindarajan, Salesforce
Lucidworks
 
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Lucidworks
 
Your Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
Your Big Data Stack is Too Big!: Presented by Timothy Potter, LucidworksYour Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
Your Big Data Stack is Too Big!: Presented by Timothy Potter, Lucidworks
Lucidworks
 
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Solr Highlighting at Full Speed: Presented by Timothy Rodriguez, Bloomberg & ...
Lucidworks
 
Gerilla Pazarlama Özet Sunum
Gerilla Pazarlama Özet SunumGerilla Pazarlama Özet Sunum
Gerilla Pazarlama Özet Sunum
Rıdvan YAKA
 
Tedarik Zinciri Performans Ölçümü
Tedarik Zinciri Performans ÖlçümüTedarik Zinciri Performans Ölçümü
Tedarik Zinciri Performans Ölçümü
Duran Güler
 

Similar to PHP カンファレンス福岡 参加報告 (20)

How Would You Like Component Management System
How Would You Like Component Management SystemHow Would You Like Component Management System
How Would You Like Component Management System
Hidetaka Okamoto
 
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
Yusuke Ando
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
Yusuke Naka
 
パンダの会 Html5概説
パンダの会 Html5概説パンダの会 Html5概説
パンダの会 Html5概説
Masakazu Muraoka
 
スクリプト言語PHP攻略法
スクリプト言語PHP攻略法スクリプト言語PHP攻略法
スクリプト言語PHP攻略法
Rui Hirokawa
 
20151114 _html5無料セミナー(OSC2015徳島)
20151114 _html5無料セミナー(OSC2015徳島)20151114 _html5無料セミナー(OSC2015徳島)
20151114 _html5無料セミナー(OSC2015徳島)
Takahiro Kujirai
 
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
Yoichi Kawasaki
 
より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化
Yusuke Goto
 
5分でわかるphalcon php
5分でわかるphalcon php5分でわかるphalcon php
5分でわかるphalcon php
Yusaku Kinoshita
 
5分でわかるPhalconPHP
5分でわかるPhalconPHP5分でわかるPhalconPHP
5分でわかるPhalconPHP
Shohei Tai
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
Microsoft Tech Summit 2017
 
PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~
Rui Hirokawa
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
 
OSC2013@FUKUOKA
OSC2013@FUKUOKAOSC2013@FUKUOKA
OSC2013@FUKUOKA
Ryuji Egashira
 
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016 20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
Takahiro Kujirai
 
Azure Stack Hybrid DevOpsデモンストレーション
Azure Stack Hybrid DevOpsデモンストレーションAzure Stack Hybrid DevOpsデモンストレーション
Azure Stack Hybrid DevOpsデモンストレーション
Masahiko Ebisuda
 
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
Yuki Kanazawa
 
HTML5でOpen Dataをやってみた
HTML5でOpen DataをやってみたHTML5でOpen Dataをやってみた
HTML5でOpen Dataをやってみた
Masakazu Muraoka
 
開発スタイルのこれから for Backbone (powerd by Yeoman)
開発スタイルのこれから for Backbone (powerd by Yeoman)開発スタイルのこれから for Backbone (powerd by Yeoman)
開発スタイルのこれから for Backbone (powerd by Yeoman)
Fumio SAGAWA
 
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー 20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
Takahiro Kujirai
 
How Would You Like Component Management System
How Would You Like Component Management SystemHow Would You Like Component Management System
How Would You Like Component Management System
Hidetaka Okamoto
 
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
Yusuke Ando
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
Yusuke Naka
 
パンダの会 Html5概説
パンダの会 Html5概説パンダの会 Html5概説
パンダの会 Html5概説
Masakazu Muraoka
 
スクリプト言語PHP攻略法
スクリプト言語PHP攻略法スクリプト言語PHP攻略法
スクリプト言語PHP攻略法
Rui Hirokawa
 
20151114 _html5無料セミナー(OSC2015徳島)
20151114 _html5無料セミナー(OSC2015徳島)20151114 _html5無料セミナー(OSC2015徳島)
20151114 _html5無料セミナー(OSC2015徳島)
Takahiro Kujirai
 
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
Yoichi Kawasaki
 
より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化
Yusuke Goto
 
5分でわかるphalcon php
5分でわかるphalcon php5分でわかるphalcon php
5分でわかるphalcon php
Yusaku Kinoshita
 
5分でわかるPhalconPHP
5分でわかるPhalconPHP5分でわかるPhalconPHP
5分でわかるPhalconPHP
Shohei Tai
 
PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~
Rui Hirokawa
 
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
 
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016 20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
Takahiro Kujirai
 
Azure Stack Hybrid DevOpsデモンストレーション
Azure Stack Hybrid DevOpsデモンストレーションAzure Stack Hybrid DevOpsデモンストレーション
Azure Stack Hybrid DevOpsデモンストレーション
Masahiko Ebisuda
 
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
Yuki Kanazawa
 
HTML5でOpen Dataをやってみた
HTML5でOpen DataをやってみたHTML5でOpen Dataをやってみた
HTML5でOpen Dataをやってみた
Masakazu Muraoka
 
開発スタイルのこれから for Backbone (powerd by Yeoman)
開発スタイルのこれから for Backbone (powerd by Yeoman)開発スタイルのこれから for Backbone (powerd by Yeoman)
開発スタイルのこれから for Backbone (powerd by Yeoman)
Fumio SAGAWA
 
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー 20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
Takahiro Kujirai
 

More from y-uti (20)

潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法
y-uti
 
Active Object
Active ObjectActive Object
Active Object
y-uti
 
目で見る過学習と正則化
目で見る過学習と正則化目で見る過学習と正則化
目で見る過学習と正則化
y-uti
 
ロジスティック回帰入門
ロジスティック回帰入門ロジスティック回帰入門
ロジスティック回帰入門
y-uti
 
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
y-uti
 
PECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードPECL operator で演算子オーバーロード
PECL operator で演算子オーバーロード
y-uti
 
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
y-uti
 
OPcache の最適化器の今
OPcache の最適化器の今OPcache の最適化器の今
OPcache の最適化器の今
y-uti
 
スパース推定
スパース推定スパース推定
スパース推定
y-uti
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
y-uti
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
y-uti
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試した
y-uti
 
最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話
y-uti
 
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみたWindows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみた
y-uti
 
PECL を数えてみた
PECL を数えてみたPECL を数えてみた
PECL を数えてみた
y-uti
 
逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -
y-uti
 
各言語の k-means 比較
各言語の k-means 比較各言語の k-means 比較
各言語の k-means 比較
y-uti
 
PHP の GC の話
PHP の GC の話PHP の GC の話
PHP の GC の話
y-uti
 
Git 入門
Git 入門Git 入門
Git 入門
y-uti
 
潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法
y-uti
 
Active Object
Active ObjectActive Object
Active Object
y-uti
 
目で見る過学習と正則化
目で見る過学習と正則化目で見る過学習と正則化
目で見る過学習と正則化
y-uti
 
ロジスティック回帰入門
ロジスティック回帰入門ロジスティック回帰入門
ロジスティック回帰入門
y-uti
 
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
y-uti
 
PECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードPECL operator で演算子オーバーロード
PECL operator で演算子オーバーロード
y-uti
 
PHP-ML で手書き数字認識
PHP-ML で手書き数字認識PHP-ML で手書き数字認識
PHP-ML で手書き数字認識
y-uti
 
OPcache の最適化器の今
OPcache の最適化器の今OPcache の最適化器の今
OPcache の最適化器の今
y-uti
 
スパース推定
スパース推定スパース推定
スパース推定
y-uti
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
y-uti
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
y-uti
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試した
y-uti
 
最近の PHP の話
最近の PHP の話最近の PHP の話
最近の PHP の話
y-uti
 
Windows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみたWindows で拡張モジュールをビルドしてみた
Windows で拡張モジュールをビルドしてみた
y-uti
 
PECL を数えてみた
PECL を数えてみたPECL を数えてみた
PECL を数えてみた
y-uti
 
逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -逐次ベイズ学習 - サンプリング近似法の場合 -
逐次ベイズ学習 - サンプリング近似法の場合 -
y-uti
 
各言語の k-means 比較
各言語の k-means 比較各言語の k-means 比較
各言語の k-means 比較
y-uti
 
PHP の GC の話
PHP の GC の話PHP の GC の話
PHP の GC の話
y-uti
 
Git 入門
Git 入門Git 入門
Git 入門
y-uti
 

PHP カンファレンス福岡 参加報告

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