Submit Search
Upload
Composer並列化プラグイン #phpblt
•
10 likes
•
36,360 views
Hiraku Nakano
Follow
composerのzipダウンロードを並列化するプラグインを作りました。
Read less
Read more
Software
Report
Share
Report
Share
1 of 25
Download now
Download to read offline
Recommended
第98回PHP勉強会の発表内容です。
composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
Hiraku Nakano
phpblt #2 での slide SensioLabs の Security Advisories Checker で CI をまわすはなし
Security Advisories Checker on Travis/Circle CI
Security Advisories Checker on Travis/Circle CI
Ryo Shibayama
第99回PHP勉強会@東京 のLT枠で話した内容です。
composer-scriptsについて
composer-scriptsについて
Hiraku Nakano
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
Shogo Kawahara
第67回PHP勉強会@東京で発表した資料です。
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
Hiraku Nakano
「ICSをビルドしてみた」 横浜PF部 2011/11/19資料
ICSをビルドしてみた
ICSをビルドしてみた
kinneko
Laravel Meetup Tokyo Vol.6で利用したスライドです 5.1リリースでの変更点などのまとめ
Laravel5.1 Release
Laravel5.1 Release
Yuuki Takezawa
Composer
いまさらComposer
いまさらComposer
Mika Kane
Recommended
第98回PHP勉強会の発表内容です。
composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
Hiraku Nakano
phpblt #2 での slide SensioLabs の Security Advisories Checker で CI をまわすはなし
Security Advisories Checker on Travis/Circle CI
Security Advisories Checker on Travis/Circle CI
Ryo Shibayama
第99回PHP勉強会@東京 のLT枠で話した内容です。
composer-scriptsについて
composer-scriptsについて
Hiraku Nakano
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
Shogo Kawahara
第67回PHP勉強会@東京で発表した資料です。
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
Hiraku Nakano
「ICSをビルドしてみた」 横浜PF部 2011/11/19資料
ICSをビルドしてみた
ICSをビルドしてみた
kinneko
Laravel Meetup Tokyo Vol.6で利用したスライドです 5.1リリースでの変更点などのまとめ
Laravel5.1 Release
Laravel5.1 Release
Yuuki Takezawa
Composer
いまさらComposer
いまさらComposer
Mika Kane
PHPデプロイツールがどういう動作でタスクを処理するのか、 それぞれのデプロイツールがどんな並列処理を行うかにフォーカスを当てたスライドです。
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
Laravel 5.1 LTS の機能と比較をプレゼン資料としてひとまとめにしてみました。Laravel はいいぞ。
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
infinite_loop
PHPフレームワークであるLaravelの紹介
Laravelを使ってみた
Laravelを使ってみた
Jaeseop Jeong
Laravel Meetup Tokyo Vol.7
LaravelとMVCの先へ
LaravelとMVCの先へ
Yuuki Takezawa
vimプラグインでよりよい(ry
vimプラグインでよりよい(ry
soh335
laravel.osaka のお話
〜laravel で学ぶ MVC
〜laravel で学ぶ MVC
mikakane
2015-01-26(月)第86回 PHP勉強会 フロントエンドだけではなく、phpなどの開発にも取り込んで効率化をはかりましょう!
php開発で使うタスクランナー gulp
php開発で使うタスクランナー gulp
Yuuki Takezawa
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
ll event 2018
最近のPerlバイナリマネージャー Perl 編
最近のPerlバイナリマネージャー Perl 編
Tokuhiro Matsuno
Symfony勉強会#9で発表したスライド公開しました。余分なスライドを削除したなど一部改変もありますがなるべくそのままの状態でアップしました。
Symfony勉強会#9 form
Symfony勉強会#9 form
Yuichi Okada
V6インタプリタなどのLTです。
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
7shi
HLSについて私が知っていることを話します
HLSについて知っていることを話します
HLSについて知っていることを話します
Moriyoshi Koizumi
redmine.tokyo 第12回勉強会
UnofficialCookingの紹介とRedmine本家への貢献
UnofficialCookingの紹介とRedmine本家への貢献
Yuuki Nara
Make
Make
lnial
2012/10/20 カスタムWeb勉強会 LT発表資料
GitHubで見つかるFileMaker関連ソフトウェア
GitHubで見つかるFileMaker関連ソフトウェア
Atsushi Matsuo
2015年10月23日にピクシブ株式会社で行った、ぐるなびさんとの合同勉強会で発表
Real World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI
Railsガイド解説セミナーのスライド資料です Railsガイド: http://railsguides.jp/ Railsガイド解説セミナー: http://railsguides.jp/options.html#seminar 【関連リンク】 Railsチュートリアル: http://railstutorial.jp/ Railsチュートリアル解説セミナー: http://railstutorial.jp/seminars Railsスクリーンキャスト: http://railstutorial.jp/screencasts Railsビギナーズ倶楽部: http://coedo-rails.doorkeeper.jp/
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編
Yohei Yasukawa
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識
kumaryu
Railsガイド解説セミナーのスライド資料です Railsガイド: http://railsguides.jp/ Railsガイド解説セミナー: http://railsguides.jp/options.html#seminar 【関連リンク】 Railsチュートリアル: http://railstutorial.jp/ Railsチュートリアル解説セミナー: http://railstutorial.jp/seminars Railsスクリーンキャスト: http://railstutorial.jp/screencasts Railsビギナーズ倶楽部: http://coedo-rails.doorkeeper.jp/
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
Yohei Yasukawa
Composer
Composer
Shogo Kawahara
PHP と一緒にクラウドの世界へ飛び込もう。 JAWS FESTA Kansai 2013 でのスライドです。
Dive into the Cloud with our buddy, lovely PHP!
Dive into the Cloud with our buddy, lovely PHP!
Sotaro Omura
More Related Content
What's hot
PHPデプロイツールがどういう動作でタスクを処理するのか、 それぞれのデプロイツールがどんな並列処理を行うかにフォーカスを当てたスライドです。
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
Laravel 5.1 LTS の機能と比較をプレゼン資料としてひとまとめにしてみました。Laravel はいいぞ。
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
infinite_loop
PHPフレームワークであるLaravelの紹介
Laravelを使ってみた
Laravelを使ってみた
Jaeseop Jeong
Laravel Meetup Tokyo Vol.7
LaravelとMVCの先へ
LaravelとMVCの先へ
Yuuki Takezawa
vimプラグインでよりよい(ry
vimプラグインでよりよい(ry
soh335
laravel.osaka のお話
〜laravel で学ぶ MVC
〜laravel で学ぶ MVC
mikakane
2015-01-26(月)第86回 PHP勉強会 フロントエンドだけではなく、phpなどの開発にも取り込んで効率化をはかりましょう!
php開発で使うタスクランナー gulp
php開発で使うタスクランナー gulp
Yuuki Takezawa
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
ll event 2018
最近のPerlバイナリマネージャー Perl 編
最近のPerlバイナリマネージャー Perl 編
Tokuhiro Matsuno
Symfony勉強会#9で発表したスライド公開しました。余分なスライドを削除したなど一部改変もありますがなるべくそのままの状態でアップしました。
Symfony勉強会#9 form
Symfony勉強会#9 form
Yuichi Okada
V6インタプリタなどのLTです。
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
7shi
HLSについて私が知っていることを話します
HLSについて知っていることを話します
HLSについて知っていることを話します
Moriyoshi Koizumi
redmine.tokyo 第12回勉強会
UnofficialCookingの紹介とRedmine本家への貢献
UnofficialCookingの紹介とRedmine本家への貢献
Yuuki Nara
Make
Make
lnial
2012/10/20 カスタムWeb勉強会 LT発表資料
GitHubで見つかるFileMaker関連ソフトウェア
GitHubで見つかるFileMaker関連ソフトウェア
Atsushi Matsuo
2015年10月23日にピクシブ株式会社で行った、ぐるなびさんとの合同勉強会で発表
Real World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI
Railsガイド解説セミナーのスライド資料です Railsガイド: http://railsguides.jp/ Railsガイド解説セミナー: http://railsguides.jp/options.html#seminar 【関連リンク】 Railsチュートリアル: http://railstutorial.jp/ Railsチュートリアル解説セミナー: http://railstutorial.jp/seminars Railsスクリーンキャスト: http://railstutorial.jp/screencasts Railsビギナーズ倶楽部: http://coedo-rails.doorkeeper.jp/
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編
Yohei Yasukawa
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識
kumaryu
Railsガイド解説セミナーのスライド資料です Railsガイド: http://railsguides.jp/ Railsガイド解説セミナー: http://railsguides.jp/options.html#seminar 【関連リンク】 Railsチュートリアル: http://railstutorial.jp/ Railsチュートリアル解説セミナー: http://railstutorial.jp/seminars Railsスクリーンキャスト: http://railstutorial.jp/screencasts Railsビギナーズ倶楽部: http://coedo-rails.doorkeeper.jp/
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
Yohei Yasukawa
What's hot
(20)
PHPデプロイツールの世界
PHPデプロイツールの世界
今日から始めるLaravel
今日から始めるLaravel
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
Laravelを使ってみた
Laravelを使ってみた
LaravelとMVCの先へ
LaravelとMVCの先へ
vimプラグインでよりよい(ry
vimプラグインでよりよい(ry
〜laravel で学ぶ MVC
〜laravel で学ぶ MVC
php開発で使うタスクランナー gulp
php開発で使うタスクランナー gulp
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
最近のPerlバイナリマネージャー Perl 編
最近のPerlバイナリマネージャー Perl 編
Symfony勉強会#9 form
Symfony勉強会#9 form
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
V6 Interpreter (Nagoya Geek Bar 2011-05-02)
HLSについて知っていることを話します
HLSについて知っていることを話します
UnofficialCookingの紹介とRedmine本家への貢献
UnofficialCookingの紹介とRedmine本家への貢献
Make
Make
GitHubで見つかるFileMaker関連ソフトウェア
GitHubで見つかるFileMaker関連ソフトウェア
Real World PHP in pixiv
Real World PHP in pixiv
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
Similar to Composer並列化プラグイン #phpblt
Composer
Composer
Shogo Kawahara
PHP と一緒にクラウドの世界へ飛び込もう。 JAWS FESTA Kansai 2013 でのスライドです。
Dive into the Cloud with our buddy, lovely PHP!
Dive into the Cloud with our buddy, lovely PHP!
Sotaro Omura
WebRTC SFUの mediasoup を Raspberry pi 3 で動かしてみた話です。WebRTC Meetup Tokyo #16, WebRTC Meetup Osaka #1 向けの資料です
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
mganeko
FirefoxOS勉強会資料
20150317 firefox os勉強会
20150317 firefox os勉強会
Naoki Sekiguchi
WordPressでサイトを制作するとき、2人以上のチームで取り組むことも多いと思います。例えば「構築担当者」と「デザイン担当者」で1つのサイトを構築するような場合です。 同じ会社内で一緒に作業するときと違って、ノマドワーカーのようにそれぞれが別の場所で作業する場合は、直接ファイルを手渡しするようなことはできません。 そんなとき、メールにファイルを添付してやりとりしていますか? Webサーバーに直接アップロードして更新していますか? どちらにせよファイルの管理と意思疎通をしっかりやらないと、せっかく更新したファイルがまた元に戻っちゃいますよね。 そんなコラボレーションワークでのファイル管理に、Git(ギット)を使ってみましょう。ファイル管理の煩わしさから開放され開発がスムーズにできます。 WordPressの構築を経験したことあるけど、Gitはまだ使ったことがない、という方向けにGitの使い方を伝授します。 GitサーバーはBacklogで、GitクライアントはMac(SourceTree)、Windows(TortoiseGit)両方解説します。黒い画面(ターミナル)は使わないやり方を紹介するので怖くないよ!
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版
VirtualTech Japan Inc./Begi.net Inc.
第8回 HoloLens参考書読書会@アカツキでの発表資料です https://hololens.connpass.com/event/83694/
第8回 HoloLens 参考書 読書会
第8回 HoloLens 参考書 読書会
Masashi Eguchi
Similar to Composer並列化プラグイン #phpblt
(7)
Composer
Composer
Dive into the Cloud with our buddy, lovely PHP!
Dive into the Cloud with our buddy, lovely PHP!
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
20150317 firefox os勉強会
20150317 firefox os勉強会
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版
第8回 HoloLens 参考書 読書会
第8回 HoloLens 参考書 読書会
More from Hiraku Nakano
第78回 PHP勉強会 - PHP勉強会@東京 | Doorkeeper http://phpstudy.doorkeeper.jp/events/11523 で話した内容です。
Scrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudy
Hiraku Nakano
第72回 PHP勉強会@Engine Yard で発表した資料です。
JSON SchemaとPHP
JSON SchemaとPHP
Hiraku Nakano
ゆるかわPHP #2で話しました
こわくない同時実行制御
こわくない同時実行制御
Hiraku Nakano
PHP勉強会で発表した内容です
pecl-AOPの紹介
pecl-AOPの紹介
Hiraku Nakano
第62回PHP勉強会で発表した内容です
URLで遊ぼう
URLで遊ぼう
Hiraku Nakano
Xml builderの紹介
Xml builderの紹介
Hiraku Nakano
More from Hiraku Nakano
(6)
Scrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudy
JSON SchemaとPHP
JSON SchemaとPHP
こわくない同時実行制御
こわくない同時実行制御
pecl-AOPの紹介
pecl-AOPの紹介
URLで遊ぼう
URLで遊ぼう
Xml builderの紹介
Xml builderの紹介
Composer並列化プラグイン #phpblt
1.
composer並列化 プラグイン @Hiraku
2.
自己紹介 • 中野 拓
(@Hiraku) • 口癖「composerが遅い」 packagistのミラー作った https://packagist.jp • 2015/12からメルカリで働いています。
3.
俺 俺
4.
使ってね!
5.
composerは どこが遅いのか?
6.
composer update で 実行される処理 1.
パッケージ情報取得 2. 依存関係の解析 3. zipダウンロード
7.
1. パッケージ情報取得が遅い • packagist.orgが日本から遠いことが原因 •
解決策: • ミラーを作る (https://packagist.jp ) 本家に許可取ったので合法になった • composer.lockをコミットしておき、 composer installだけ行う
8.
2. 依存解決が遅い • (実はそれほど遅くない) •
解決策: • PHPを速くする(PHP7、HHVMを使う) • 良いCPUを使う
9.
3. zipダウンロードが遅い • github.com
からzipをダウンロードする作業 • github.comが遠いのと、file_get_contentsが アホの子(コネクション毎回捨てる) • zipごとミラーするのは大変、良い解決策がな かった
10.
packagist遅い 依存解決 ダウンロードが 遅い composer update ミラーを参照する PHP7を使う
遅い composer.lock + composer install (処理スキップ) (処理スキップ) 遅い
11.
本体にパッチを当てるか… • curlを使えってP-Rは何個か出てる • https://github.com/composer/composer/issues/ 704 •
https://github.com/composer/composer/pull/3636 • https://github.com/composer/composer/pull/2696 • 後方互換性の担保でいつも頓挫する
12.
黒歴史
13.
composer本体改善の壁 • 通信周りの 機能が多い上、分割されていなくて再実装するしか ない •
proxy, github, gitlabの認証対応 • ダウンロード進 の表示 • ユーザー名パスワードを入力させてリトライ • degradedMode (IPv4強制?) • これで互換性保つのは確かに面倒くさい
14.
と思ってたらこんな話が
15.
composerプラグインで curl化できるらしい…
16.
プラグインなら本体に マージされなくても 試してもらえる 実績も積める
17.
どうせなら 並列ダウンロードも できるんじゃね?
18.
(できた)
19.
hirak/prestissimo
20.
21.
インストール簡単 • composer global
require hirak/prestissimo って打つと組み込まれる • composer global remove hirak/prestissimo って打つとアンインストールできる • 有効になってればcomposer update, composer installなどで勝手に効力を発揮する
22.
prestissimoとは • composerプラグイン。globalインストールすることで以下の機能を付与する • curl_multiでの並列zipダウンロード。並列数はカスタマイズ可能 プラグイン側で先に並列ダウンロードしてキャッシュを暖める •
GitHub API制限緩和(api.github.comを極力叩かない) • Keep-Alive有効化(HTTPSでも遅くならないよ) • 互換性担保、速くなること以外はcomposerの動作に影響を与えない • 「超速く演奏しろ」の意味でプレスティッシモと命名
23.
デモ
24.
人柱募集 • 認証の再実装部分が不安 • 使ってバグ出ししてくれ!! •
プラグインで実績積んで、安定性が認められ たら本体にマージを提案する計画です • https://github.com/hirak/prestissimo
25.
参考文献 • http://qiita.com/ngyuki/items/ 03f9c6ce0f0db18ace94 • https://github.com/ngyuki/composer-curl- plugin •
https://getcomposer.org/doc/articles/ plugins.md#event-handler
Download now