SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
いまどきのPHP開発現場 -2015年秋-
Report
Masashi Shinbara
Follow
代表取締役 at 1x1株式会社
Oct. 3, 2015
•
0 likes
•
59,684 views
1
of
42
いまどきのPHP開発現場 -2015年秋-
Oct. 3, 2015
•
0 likes
•
59,684 views
Download Now
Download to read offline
Report
Technology
2015/10/03 PHPカンファレンス2015
Masashi Shinbara
Follow
代表取締役 at 1x1株式会社
Recommended
Behat Driven Development
Ryo Tomidokoro
13.8K views
•
57 slides
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
18K views
•
34 slides
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
39.8K views
•
63 slides
PHPデプロイツールの世界
Yuuki Takezawa
32.2K views
•
42 slides
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
17.9K views
•
39 slides
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
81.7K views
•
47 slides
More Related Content
What's hot
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
15.3K views
•
50 slides
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
49.3K views
•
197 slides
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
3.2K views
•
33 slides
PHPとJavaScriptの噺
Shogo Kawahara
17K views
•
34 slides
PHP5.6からPHP7.0への移行
Yasuo Ohgaki
17.5K views
•
89 slides
Laravel5.1 Release
Yuuki Takezawa
4.9K views
•
36 slides
What's hot
(20)
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
•
15.3K views
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
•
49.3K views
PHPカンファレンス2014の懇親会飛び込みLT資料
Junichi Ishida
•
3.2K views
PHPとJavaScriptの噺
Shogo Kawahara
•
17K views
PHP5.6からPHP7.0への移行
Yasuo Ohgaki
•
17.5K views
Laravel5.1 Release
Yuuki Takezawa
•
4.9K views
最強のPHP統合開発環境 PHPStorm
晃 遠山
•
12.3K views
恋に落ちるデプロイツール
totty jp
•
5.1K views
Laravel5を使って開発してみた
Takeo Noda
•
13.5K views
今日から始めるLaravel
Masaru Matsuo
•
11.7K views
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
Masayuki Ishikawa
•
21.5K views
フレームワークを使うべき 3 つの理由
Kenichi Mukai
•
15.5K views
Composer による依存管理 と Packagist によるライブラリの公開
Shogo Kawahara
•
18.8K views
HHVM/Hackを本番投入した話
Kenjiro Kubota
•
308 views
ビルドサーバで使うDocker
Masashi Shinbara
•
23.4K views
FuelPHP活用事例
Yusuke Naka
•
3.3K views
Laravel 5.1 LTSでサービスを作る
infinite_loop
•
11.6K views
anyenv + phpenv + php-build が便利すぎる件
y-uti
•
11.8K views
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
Yuta Matsumura
•
4.6K views
LaravelでAPI定義を管理する
Kenjiro Kubota
•
4.1K views
Viewers also liked
LaravelとMVCの先へ
Yuuki Takezawa
8.9K views
•
28 slides
みんなそろそろ707やめようぜ (;´Д`)
Yasutaka Hamada
3.4K views
•
42 slides
営業・運用を支える "気付ける" 管理画面
Masao Maeda
34.7K views
•
55 slides
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
Hiroshi Tokumaru
74.2K views
•
49 slides
知ってるようで意外と知らないPHPの便利関数
Wataru Terada
9.7K views
•
57 slides
PHP の GC の話
y-uti
18.3K views
•
156 slides
Viewers also liked
(11)
LaravelとMVCの先へ
Yuuki Takezawa
•
8.9K views
みんなそろそろ707やめようぜ (;´Д`)
Yasutaka Hamada
•
3.4K views
営業・運用を支える "気付ける" 管理画面
Masao Maeda
•
34.7K views
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
Hiroshi Tokumaru
•
74.2K views
知ってるようで意外と知らないPHPの便利関数
Wataru Terada
•
9.7K views
PHP の GC の話
y-uti
•
18.3K views
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
•
9.8K views
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
•
7.6K views
Phpcon2015
Hiroshi Tokumaru
•
42.2K views
PHPとシグナル、その裏側
do_aki
•
9.5K views
〜laravel で学ぶ MVC
mikakane
•
8.3K views
Similar to いまどきのPHP開発現場 -2015年秋-
Power shell で DSL
urasandesu
5K views
•
37 slides
Web制作のアレコレ
regret raym
1.2K views
•
75 slides
Windows で PHP をビルドしてみた
y-uti
2.2K views
•
19 slides
今、最もイケてるPHPフレームワークLaravel4
アシアル株式会社
12.8K views
•
38 slides
AzureでLaravel動かしてみた
Keiji Kamebuchi
4.9K views
•
17 slides
Webシステム脆弱性LT資料
Tomohito Adachi
1.1K views
•
23 slides
Similar to いまどきのPHP開発現場 -2015年秋-
(20)
Power shell で DSL
urasandesu
•
5K views
Web制作のアレコレ
regret raym
•
1.2K views
Windows で PHP をビルドしてみた
y-uti
•
2.2K views
今、最もイケてるPHPフレームワークLaravel4
アシアル株式会社
•
12.8K views
AzureでLaravel動かしてみた
Keiji Kamebuchi
•
4.9K views
Webシステム脆弱性LT資料
Tomohito Adachi
•
1.1K views
ASP.NET 新時代に向けて ~ ASP.NET 5 / Visual Studio 2015 基礎解説
Akira Inoue
•
14.8K views
第21回Creators MeetUp
Kenichi Mukai
•
2.4K views
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
Amazon Web Services Japan
•
3.6K views
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
•
32.8K views
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
•
15.3K views
How to run P4 BMv2
Kentaro Ebisawa
•
8.7K views
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
拓将 平林
•
1.3K views
PHPにおけるI/O多重化とyield
Yahoo!デベロッパーネットワーク
•
21.7K views
FukuokaPHP 3
ichikaway
•
5.3K views
はてなのサービスの開発環境
ast_j
•
1.1K views
OSC2013@FUKUOKA
Ryuji Egashira
•
1.5K views
JavaScript on GitHub (#kyotojs)
y_uuki
•
923 views
PHP で実行中のスクリプトの動作を下から覗き見る
shinjiigarashi
•
543 views
fastlane x iOSアプリのCI
Toshiyuki Hirata
•
1.8K views
More from Masashi Shinbara
日本語消えたスライド
Masashi Shinbara
1.9K views
•
31 slides
Twilio入門 -Web アプリ編-
Masashi Shinbara
4.8K views
•
45 slides
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
Masashi Shinbara
14.8K views
•
41 slides
先取り!PHP 7 と WordPress
Masashi Shinbara
31.5K views
•
29 slides
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Masashi Shinbara
12.1K views
•
31 slides
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Masashi Shinbara
20.2K views
•
34 slides
More from Masashi Shinbara
(20)
日本語消えたスライド
Masashi Shinbara
•
1.9K views
Twilio入門 -Web アプリ編-
Masashi Shinbara
•
4.8K views
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
Masashi Shinbara
•
14.8K views
先取り!PHP 7 と WordPress
Masashi Shinbara
•
31.5K views
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Masashi Shinbara
•
12.1K views
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Masashi Shinbara
•
20.2K views
How to learn Laravel5 application from Authentication
Masashi Shinbara
•
2.3K views
わかってるフレームワーク Laravel
Masashi Shinbara
•
14.1K views
開発現場で活用するVagrant
Masashi Shinbara
•
31.2K views
PHPコードではなく PHPコードの「書き方」を知る
Masashi Shinbara
•
29.3K views
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
•
25.4K views
Vagrant体験入門
Masashi Shinbara
•
21.5K views
VagrantユーザのためのDocker入門
Masashi Shinbara
•
57.7K views
Laravel ユーザなら知っておくべきAuthオートログイン
Masashi Shinbara
•
40.9K views
キャラ立ちしたエンジニアになる!
Masashi Shinbara
•
5.7K views
Composer 再入門
Masashi Shinbara
•
20.6K views
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
•
2.7K views
Twilio API を PHP で触ってみよう
Masashi Shinbara
•
17.1K views
いまどきのPHP
Masashi Shinbara
•
9.8K views
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
•
31.8K views
Recently uploaded
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
250 views
•
31 slides
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
83 views
•
1 slide
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
NTT DATA Technology & Innovation
442 views
•
44 slides
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
93 views
•
24 slides
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
NTT DATA Technology & Innovation
39 views
•
44 slides
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB - 強化された時系列データ管理・検索機能について -
griddb
7 views
•
46 slides
Recently uploaded
(11)
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
•
250 views
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
•
83 views
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
NTT DATA Technology & Innovation
•
442 views
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
•
93 views
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
NTT DATA Technology & Innovation
•
39 views
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB - 強化された時系列データ管理・検索機能について -
griddb
•
7 views
画像生成AIの問題点
iPride Co., Ltd.
•
127 views
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
•
226 views
指側面を入力インタフェース化するリング型デバイス
sugiuralab
•
5 views
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
•
93 views
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
•
73 views
いまどきのPHP開発現場 -2015年秋-
1.
@shin1x1 2015/10/03 PHPカンファレンス いまどきのPHP開発現場 -2015年秋-
2.
開発現場で利用する ツール、サービスの話です
3.
(c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア PHP開発の現場
4.
PHP開発の現場 (c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア PhpStorm
5.
PhpStorm (c) 2015 Masashi
Shinbara @shin1x1 • JetBrains社のIDE(有償) • 動作が軽快、静的解析、オールインワン • Vimmerも納得のIdeaVIM
6.
Demo (c) 2015 Masashi
Shinbara @shin1x1
7.
(c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア PHP開発の現場
8.
PHP開発の現場 (c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア Vagrant
9.
Vagrant (c) 2015 Masashi
Shinbara @shin1x1 • プロジェクト毎に独立した環境 • 自動構築 • チームで同じ環境を利用 • 運用環境と同じ環境
10.
導入ポイント (c) 2015 Masashi
Shinbara @shin1x1 • PHP コードと一緒に管理 • とことん自動化(vagrant upで完了) • プロビジョニングは VM の中で実行 • Shell Script -> Ansible が楽
11.
(c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア PHP開発の現場
12.
PHP開発の現場 (c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア フレームワーク
13.
フレームワーク (c) 2015 Masashi
Shinbara @shin1x1 • コンポーネント指向が主流 • Symfony / Zend Framework / Aura CakePHP 3 / Laravel / BEAR.Sunday • コンポーネントを分離して利用できる • 他のフレームワークのコンポーネントを利用
14.
Laravel (c) 2015 Masashi
Shinbara @shin1x1 • Symfony コンポーネントを多数利用 (独自解釈した Symfony とも言える) • いいとこ取り • Laravel もコンポーネントとして利用可能
15.
フレームワークの付き合い方 (c) 2015 Masashi
Shinbara @shin1x1 • フレームワークに従うのではなく アプリケーションの部品として使う • フレームワーク on フレームワーク • インハウスフレームワーク
16.
(c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア PHP開発の現場
17.
PHP開発の現場 (c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア CI (継続的インテグレーション)
18.
CIサーバ、サービス (c) 2015 Masashi
Shinbara @shin1x1 • git push / PR を検知してタスクを自動実行 • テスト実行、フォーマットチェック、静的解析 • 自前なら、Jenkins • SaaSなら、Travis CI / Circle CI
19.
Travis CI (c) 2015
Masashi Shinbara @shin1x1 https://travis-ci.org/
20.
Travis CI (c) 2015
Masashi Shinbara @shin1x1 https://travis-ci.org/ • GitHub と連携 • git push / PR を検知して実行 • .travis.yml に実行内容を指定 • sudo が実行できる(何でもできる)
21.
.travis.yml language: php sudo: false php: -
5.6 before_script: - composer self-update - cp .env.example .env - mysql -uroot -e "CREATE DATABASE app_test;" - mysql -uroot -e "GRANT ALL PRIVILEGES ON app_test.* TO vagrant@localhost IDENTIFIED BY 'pass';" script: - composer install --prefer-source --no-interaction --dev - php artisan key:generate - ./vendor/bin/phpunit
22.
.travis.yml language: php sudo: false php: -
5.6 before_script: - composer self-update - cp .env.example .env - mysql -uroot -e "CREATE DATABASE app_test;" - mysql -uroot -e "GRANT ALL PRIVILEGES ON app_test.* TO vagrant@localhost IDENTIFIED BY 'pass';" script: - composer install --prefer-source --no-interaction --dev - php artisan key:generate - ./vendor/bin/phpunit
23.
.travis.yml language: php sudo: false php: -
5.6 before_script: - composer self-update - cp .env.example .env - mysql -uroot -e "CREATE DATABASE app_test;" - mysql -uroot -e "GRANT ALL PRIVILEGES ON app_test.* TO vagrant@localhost IDENTIFIED BY 'pass';" script: - composer install --prefer-source --no-interaction --dev - php artisan key:generate - ./vendor/bin/phpunit
24.
.travis.yml language: php sudo: false php: -
5.6 before_script: - composer self-update - cp .env.example .env - mysql -uroot -e "CREATE DATABASE app_test;" - mysql -uroot -e "GRANT ALL PRIVILEGES ON app_test.* TO vagrant@localhost IDENTIFIED BY 'pass';" script: - composer install --prefer-source --no-interaction --dev - php artisan key:generate - ./vendor/bin/phpunit
25.
Scrutinizer (c) 2015 Masashi
Shinbara @shin1x1 https://scrutinizer-ci.com/
26.
Scrutinizer (c) 2015 Masashi
Shinbara @shin1x1 https://scrutinizer-ci.com/ • コードフォーマットや静的解析のSaaS • 指摘表示 • 有償ならテスト実行も可 • Travis CI などと組み合わせる
27.
Scrutinizer (c) 2015 Masashi
Shinbara @shin1x1 指摘事項 GitHub issue に登録
28.
Scrutinizer (c) 2015 Masashi
Shinbara @shin1x1
29.
(c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア PHP開発の現場
30.
PHP開発の現場 (c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア PaaS (Heroku)
31.
PaaS (c) 2015 Masashi
Shinbara @shin1x1 • Platform as a Service • Herokuが、PHP を正式サポート(2014) • Azure WebApps(国内リージョンあり)
32.
PaaS (c) 2015 Masashi
Shinbara @shin1x1 • サーバセットアップは自動 (あらかじめ決まったセットを利用) • Git でデプロイして、すぐに使える • サーバメンテナンスが不要
33.
Heroku (c) 2015 Masashi
Shinbara @shin1x1 https://www.heroku.com/
34.
Heroku (c) 2015 Masashi
Shinbara @shin1x1 https://www.heroku.com/ • PHP 5.5 / 5.6 / 7(RC4) / HHVM • PHP 拡張や httpd サーバ、設定が可能 • 無料枠あり(検証環境にも便利) • アドオンが豊富
35.
(c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア PHP開発の現場
36.
PHP開発の現場 (c) 2015 Masashi
Shinbara @shin1x1 git push / PR 図図 - エンジニアエンジニア SaaS (Rollbar)
37.
SaaS (c) 2015 Masashi
Shinbara @shin1x1 • エラートラッカー: Rollbar • DNS: Amazon Route53 • メール: Amazon SES / SendGrid • DB: Amazon RDS / Heroku Postgres • 電話/SMS: Twilio
38.
Rollbar (c) 2015 Masashi
Shinbara @shin1x1 • 発生した例外やエラーを蓄積 • アラート、サマリー • 例外が発生したリクエスト、 スタックトレースを記録 • 無料枠あり
39.
まとめ
40.
ツールやサービスに任せる やるべきことに集中
41.
ツールに導かれる
42.
@shin1x1 (c) 2015 Masashi
Shinbara @shin1x1 Q?