SlideShare a Scribd company logo
1 of 15
Download to read offline
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

PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るYoshio Hanawa
 
PHPの今とこれから2015
PHPの今とこれから2015PHPの今とこれから2015
PHPの今とこれから2015Rui 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 CMSTomoki 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で始めるBDDYuuki Takezawa
 

What's hot (20)

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

Viewers also liked

COOLMEAT_Campden Seminar_Presentation
COOLMEAT_Campden Seminar_PresentationCOOLMEAT_Campden Seminar_Presentation
COOLMEAT_Campden Seminar_PresentationLee Gapper
 
Bacteriophage and its Applications in Food
Bacteriophage and its Applications in FoodBacteriophage and its Applications in Food
Bacteriophage and its Applications in Foodrasha mohamed
 
N対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer HintN対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer Hintdo_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, SalesforceLucidworks
 
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, LucidworksLucidworks
 
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 SunumRı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
 

Viewers also liked (15)

COOLMEAT_Campden Seminar_Presentation
COOLMEAT_Campden Seminar_PresentationCOOLMEAT_Campden Seminar_Presentation
COOLMEAT_Campden Seminar_Presentation
 
Thai startup eco_20130609
Thai startup eco_20130609Thai startup eco_20130609
Thai startup eco_20130609
 
Bacteriophage and its Applications in Food
Bacteriophage and its Applications in FoodBacteriophage and its Applications in Food
Bacteriophage and its Applications in Food
 
N対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer HintN対1 レプリケーション + Optimizer Hint
N対1 レプリケーション + Optimizer Hint
 
พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)
พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)
พ.อ.ดร.เศรษฐพงค์ Cyber defense electronic warfare (ew)
 
เศรษฐพงค์ มะลิสุวรรณ
เศรษฐพงค์ มะลิสุวรรณ เศรษฐพงค์ มะลิสุวรรณ
เศรษฐพงค์ มะลิสุวรรณ
 
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
 
settapong
settapongsettapong
settapong
 
Ankur ppt
Ankur pptAnkur ppt
Ankur ppt
 
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
 
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...
 
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
 
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 & ...
 
Gerilla Pazarlama Özet Sunum
Gerilla Pazarlama Özet SunumGerilla Pazarlama Özet Sunum
Gerilla Pazarlama Özet Sunum
 
Tedarik Zinciri Performans Ölçümü
Tedarik Zinciri Performans ÖlçümüTedarik Zinciri Performans Ölçümü
Tedarik Zinciri Performans Ölçümü
 

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

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 SystemHidetaka 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 phpYusaku Kinoshita
 
5分でわかるPhalconPHP
5分でわかるPhalconPHP5分でわかるPhalconPHP
5分でわかるPhalconPHPShohei 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
 

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
 
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
 
パンダの会 Html5概説
パンダの会 Html5概説パンダの会 Html5概説
パンダの会 Html5概説
 
スクリプト言語PHP攻略法
スクリプト言語PHP攻略法スクリプト言語PHP攻略法
スクリプト言語PHP攻略法
 
20151114 _html5無料セミナー(OSC2015徳島)
20151114 _html5無料セミナー(OSC2015徳島)20151114 _html5無料セミナー(OSC2015徳島)
20151114 _html5無料セミナー(OSC2015徳島)
 
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
 
より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化より高品質なメディアサービスを目指す ABEMA の技術進化
より高品質なメディアサービスを目指す ABEMA の技術進化
 
5分でわかるphalcon php
5分でわかるphalcon php5分でわかるphalcon php
5分でわかるphalcon php
 
5分でわかるPhalconPHP
5分でわかるPhalconPHP5分でわかるPhalconPHP
5分でわかるPhalconPHP
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~PHP4の今 ~日本語対応と最近のトピックス~
PHP4の今 ~日本語対応と最近のトピックス~
 
[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
 
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016 20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
 
Azure Stack Hybrid DevOpsデモンストレーション
Azure Stack Hybrid DevOpsデモンストレーションAzure Stack Hybrid DevOpsデモンストレーション
Azure Stack Hybrid DevOpsデモンストレーション
 
【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 移行を決めた話
 
HTML5でOpen Dataをやってみた
HTML5でOpen DataをやってみたHTML5でOpen Dataをやってみた
HTML5でOpen Dataをやってみた
 
開発スタイルのこれから for Backbone (powerd by Yeoman)
開発スタイルのこれから for Backbone (powerd by Yeoman)開発スタイルのこれから for Backbone (powerd by Yeoman)
開発スタイルのこれから for Backbone (powerd by Yeoman)
 
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー 20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
20150613 html5プロフェッショナル認定試験 レベル1技術解説セミナー
 

More from y-uti

潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法y-uti
 
Active Object
Active ObjectActive Object
Active Objecty-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
 

More from y-uti (20)

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

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