狠狠撸

狠狠撸Share a Scribd company logo
Composer による依存管理
と Packagist によるライブラリの公開
          Ooharabucyou
      <kawahara@bucyou.net>

  2012-09-15 PHP Conference 2012
おしながき


? 依存管理とは何か

? 使おう Composer

? ライブラリを Packagist で公開しよう
自己紹介

?@ooharabucyou
?川原翔吾
?PHP遣い 5年目くらい
 ?おもに Symfony な人
?最近: Groovy やら Spring Framework
?2008-2011 OpenPNEの開発
?2011-     楽天ウェブサービス
          (公開API) の中の人
依存管理とは


? 依存管理 (Dependency Management)

? プロジェクトが依存するライブラリを管
 理する
依存管理とは

 ? 常にリリース可能
     (Relesable) なソフト
     ウェアのための一つの要
     素
 ?   参考: 『継続的デリバリー』13章 コンポーネントや
     依存を管理する
依存管理とは

Your Project
                               Framework
                               Framework
                  require
                                Framework
                                Framework
                                 Framework
                            Component 2.1.0
                            Component 2.1.0
        require             Component 2.1.0
                             Component 2.1.0
                             Component 2.1.0


    Library Foo-1.0.0                 Library Bar-1.*
                            require
ちゃんと依存管理する利点

? 開発環境構築が楽に!

? Library バージョンアップもいくばしか
 楽に

? 同じプロジェクトをチームで開発する場
 合、ライブラリのバージョンのズレをな
 くす
依存管理の方法

? svn や git に library 入れる

? git submodule や svn:external を使う
 ? svn:external は svn up の度に更新が走って煩わしい。 <-I hate!

 ? 当然 svn 利用時は git で管理するソースコードを何とかするのは難
   しい。 (Github ならできるかもだけど)


? 専用のツールを使う
他の言語だと


? Ruby - Bundler
? node.js - npm
? Java - Maven
  (僕はGradleが好き)
PHPの場合?


? Composer
? 採用しているプロダクト

 ? Symfony2, Zend Framework2,
   FuelPHP, ...
特徴
? PHP5.3.2 以上用

? json でシンプルなパッケージ定義

? autoload 機能

? git, svn, hg, PEAR, PEAR2 上のライブラリを
  依存として定義可能

? Public Package Repository もあるよ!
おてもとに準備するもの

? PHP5.3.2 以降

? 依存するライブラリを管理している VCS

 ? 多くは Github で管理されているた
   め、 git のインストールが必要

? (一応 Windows でも動いた)
入手

? まずは入手
 ?   curl -s https://getcomposer.org/installer | php


 ?   インストール要件等のチェック後、composer.phar がダウンロードされます。



? Proxy や curl がない等の場合は、
 http://getcomposer.org/download/
 からも入手可能
プロジェクトを始める


? mkdir YOUR_PROJECT_DIR
? cd YOUR_PROJECT_DIR
? php PATH_TO_COMPOSER init
init コマンド

? Project の名前や、依存を定義する
 composer.json を作成する

? init コマンドは対話形式で Public
 Repository である Packagist から依存
 パッケージを検索?選択することができ
 る。 (でもちょっと重い)
Packagist

? packagist.org
? composer の中央公開レポジトリ

? どなたでもパッケージを公開できます

? 現在 3,000パッケージ以上が登録されている

  ? -> PEAR, PEAR2 より多い!!
備考: init 時の指定

?   Package name: パッケージ名 (ベンダー名/名前 という形式の必要がある。文字の大小は区別し
    ない)


?   Description: パッケージの説明


?   Author: 作成者


?   Minimum Stability: 依存パッケージの最小の安定性, stable を指定すると、dev (開発版) はイ
    ンストールされない * ここ数カ月で増えた項目なので注意
composer.json
{

    "name": "kawahara/sample20120915",

    "require": {

         "pimple/pimple": "1.0.0"

    },

    "minimum-stability": "stable",

    "authors": [

         {

             "name": "Shogo Kawahara",

             "email": "kawahara@bucyou.net"

         }

    ]

}
require について

? 依存を “パッケージ名” : “バージョン” で
 指定する

? バージョンは、”1.0.*” のようなワイル
 ドカードや、”1.0<=,2.0>” のような範
 囲指定もできる。
install コマンド
? php composer.phar install
? composer.json を依存解決し、パッケー
  ジのダウンロードを行い、vendor/ に配
  置する。

? composer.lock というファイルが存在し
  ない場合は、ダウンロードしたパッケー
  ジのバージョン情報を書き出す。
install コマンド

? install コマンド実行時に composer.lock ファイ
 ルが存在する場合は、 composer.lock に書きだ
 されているバージョンをダウンロードする。

 ? -> チーム開発時に同じバージョンを共有するため

 ? -> プロジェクトであれば composer.lock もコミットして共有する
   こと!!
update コマンド

? php composer.phar update
? composer.json の require を更新し、依
 存を入手したい場合は、 update コマン
 ドを使う。

? その際、composer.lock も更新される。
パッケージ入手後


? 大抵のパッケージは
 vender/autoload.php をロードするだ
 けで composer 同梱のオートローダーが
 ファイルロードを何とかする。
Packagist 以外から




? composer.json に レポジトリ情報を書く
 ことによって Packagist 以外のレポジト
 リにあるソースコードに依存を張ること
 ができる。
Packagist 以外から

{

    "name": "kawahara/sample20120915",

    “repositories”: [

         {

             “type”: “pear”,

             “url” : “http://pear2.php.net”

         }

    ],

    "require": {

             "pimple/pimple": "1.0.0",

             “pear-pear2/PEAR2_HTTP_Request”: “*”

    },

    ...
Packagist 以外から

{

    "name": "kawahara/sample20120915",

    “repositories”: [

         {

             “type”: “svn”,

             “url”: “http://smarty-php.googlecode.com/svn/”,

             “vender-alias: “smarty”

         }

    ],

    "require": {

             "pimple/pimple": "1.0.0",

             “smarty”: “3.1.*”

    },

    ...
特集: Packagist に公開
簡単な手順を踏むだけで、 Packagist
に簡単にパッケージを登録することがで
きます。
手順
1. composer.json に公開に必要な情報を
  記述します。
  ?   php composer.phar validate でチェック!


2. Github などで composer.json ごと公
   開
3. Packagist に Repository URL を登
   録
公開!

tag がバージョンになります。このと
き、tag は x.y.z という形式で!
Github の場合 サービスフックする
と、tag 更新時に自動的に Packagist
のバージョンが更新される
http://packagist.org/packages/
kawahara/httpgetcontents
公開できました!!



ちゃんと使えます。

(実演は失敗した)
レシピおさらい



お手持ちの PHP製ライブラリ
Github Repository
詳しくはドキュメント
? 更に細かい情報は、全てドキュメントに載って
  います。

? http://getcomposer.org/
? 英語? あぁ、仰らないで。私が (ひどいもんです
  が) 日本語化していたりします。

? https://github.com/kawahara/composer/
  tree/japanese-doc-progress/jpdoc

? この際はっきり言うと、英語苦手なので誰か手
  伝って。特にひどいと思った人は。
良い依存管理ライフを

More Related Content

What's hot (20)

いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
?
骋颈迟贬耻产で见つかる贵颈濒别惭补办别谤関连ソフトウェア
骋颈迟贬耻产で见つかる贵颈濒别惭补办别谤関连ソフトウェア骋颈迟贬耻产で见つかる贵颈濒别惭补办别谤関连ソフトウェア
骋颈迟贬耻产で见つかる贵颈濒别惭补办别谤関连ソフトウェア
Atsushi Matsuo
?
composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudycomposerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
Hiraku Nakano
?
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
?
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
Masashi Shibata
?
はじめてのconcrete5 -さくらスタンダード編-
はじめてのconcrete5 -さくらスタンダード編-はじめてのconcrete5 -さくらスタンダード編-
はじめてのconcrete5 -さくらスタンダード編-
BREN
?
Symfony Dump Server のご紹介
Symfony Dump Server のご紹介Symfony Dump Server のご紹介
Symfony Dump Server のご紹介
知之 朝枝
?
笔贬笔と闯补惫补厂肠谤颈辫迟の噺
笔贬笔と闯补惫补厂肠谤颈辫迟の噺笔贬笔と闯补惫补厂肠谤颈辫迟の噺
笔贬笔と闯补惫补厂肠谤颈辫迟の噺
Shogo Kawahara
?
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSDrupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
?
Laravel5.1 Release
Laravel5.1 ReleaseLaravel5.1 Release
Laravel5.1 Release
Yuuki Takezawa
?
PHP x AWS て?スケーラフ?ルなシステムをつくろう
PHP x AWS て?スケーラフ?ルなシステムをつくろうPHP x AWS て?スケーラフ?ルなシステムをつくろう
PHP x AWS て?スケーラフ?ルなシステムをつくろう
Taiji INOUE
?
今日から始める尝补谤补惫别濒
今日から始める尝补谤补惫别濒今日から始める尝补谤补惫别濒
今日から始める尝补谤补惫别濒
Masaru Matsuo
?
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
?
ビルドサーバで使う顿辞肠办别谤
ビルドサーバで使う顿辞肠办别谤ビルドサーバで使う顿辞肠办别谤
ビルドサーバで使う顿辞肠办别谤
Masashi Shinbara
?
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
Yukihiko SAWANOBORI
?
础苍蝉颈产濒别を使って诲辞肠办别谤コンテナをフ?ロヒ?シ?ョニンク?する
础苍蝉颈产濒别を使って诲辞肠办别谤コンテナをフ?ロヒ?シ?ョニンク?する础苍蝉颈产濒别を使って诲辞肠办别谤コンテナをフ?ロヒ?シ?ョニンク?する
础苍蝉颈产濒别を使って诲辞肠办别谤コンテナをフ?ロヒ?シ?ョニンク?する
Ryo Adachi
?
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
?
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin ServerっぽいやつをつくったapachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
Junichi Ishida
?
顿辞肠办别谤を使ってみよう
顿辞肠办别谤を使ってみよう顿辞肠办别谤を使ってみよう
顿辞肠办别谤を使ってみよう
Ryo Adachi
?
Vagrant - 最近流行ってるらしいけど何者?
Vagrant - 最近流行ってるらしいけど何者?Vagrant - 最近流行ってるらしいけど何者?
Vagrant - 最近流行ってるらしいけど何者?
Yoshinori Nakanishi
?
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
?
骋颈迟贬耻产で见つかる贵颈濒别惭补办别谤関连ソフトウェア
骋颈迟贬耻产で见つかる贵颈濒别惭补办别谤関连ソフトウェア骋颈迟贬耻产で见つかる贵颈濒别惭补办别谤関连ソフトウェア
骋颈迟贬耻产で见つかる贵颈濒别惭补办别谤関连ソフトウェア
Atsushi Matsuo
?
composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudycomposerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
Hiraku Nakano
?
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
?
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
Masashi Shibata
?
はじめてのconcrete5 -さくらスタンダード編-
はじめてのconcrete5 -さくらスタンダード編-はじめてのconcrete5 -さくらスタンダード編-
はじめてのconcrete5 -さくらスタンダード編-
BREN
?
Symfony Dump Server のご紹介
Symfony Dump Server のご紹介Symfony Dump Server のご紹介
Symfony Dump Server のご紹介
知之 朝枝
?
笔贬笔と闯补惫补厂肠谤颈辫迟の噺
笔贬笔と闯补惫补厂肠谤颈辫迟の噺笔贬笔と闯补惫补厂肠谤颈辫迟の噺
笔贬笔と闯补惫补厂肠谤颈辫迟の噺
Shogo Kawahara
?
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSDrupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Tomoki Hasegawa
?
PHP x AWS て?スケーラフ?ルなシステムをつくろう
PHP x AWS て?スケーラフ?ルなシステムをつくろうPHP x AWS て?スケーラフ?ルなシステムをつくろう
PHP x AWS て?スケーラフ?ルなシステムをつくろう
Taiji INOUE
?
今日から始める尝补谤补惫别濒
今日から始める尝补谤补惫别濒今日から始める尝补谤补惫别濒
今日から始める尝补谤补惫别濒
Masaru Matsuo
?
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
?
ビルドサーバで使う顿辞肠办别谤
ビルドサーバで使う顿辞肠办别谤ビルドサーバで使う顿辞肠办别谤
ビルドサーバで使う顿辞肠办别谤
Masashi Shinbara
?
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
Yukihiko SAWANOBORI
?
础苍蝉颈产濒别を使って诲辞肠办别谤コンテナをフ?ロヒ?シ?ョニンク?する
础苍蝉颈产濒别を使って诲辞肠办别谤コンテナをフ?ロヒ?シ?ョニンク?する础苍蝉颈产濒别を使って诲辞肠办别谤コンテナをフ?ロヒ?シ?ョニンク?する
础苍蝉颈产濒别を使って诲辞肠办别谤コンテナをフ?ロヒ?シ?ョニンク?する
Ryo Adachi
?
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
?
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin ServerっぽいやつをつくったapachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
Junichi Ishida
?
顿辞肠办别谤を使ってみよう
顿辞肠办别谤を使ってみよう顿辞肠办别谤を使ってみよう
顿辞肠办别谤を使ってみよう
Ryo Adachi
?
Vagrant - 最近流行ってるらしいけど何者?
Vagrant - 最近流行ってるらしいけど何者?Vagrant - 最近流行ってるらしいけど何者?
Vagrant - 最近流行ってるらしいけど何者?
Yoshinori Nakanishi
?

Viewers also liked (18)

新标準笔厂搁に学ぶきれいな笔贬笔
新标準笔厂搁に学ぶきれいな笔贬笔新标準笔厂搁に学ぶきれいな笔贬笔
新标準笔厂搁に学ぶきれいな笔贬笔
Yusuke Ando
?
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
Takafumi Ikeda
?
第7回こども病院移転计画调査委员会资料
第7回こども病院移転计画调査委员会资料第7回こども病院移転计画调査委员会资料
第7回こども病院移転计画调査委员会资料
f_kodomo
?
Laravelのeloquent た?け入れた話
Laravelのeloquent た?け入れた話Laravelのeloquent た?け入れた話
Laravelのeloquent た?け入れた話
Masataka Kono
?
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Masashi Shinbara
?
【ハンズオン】初めての鲍苍颈迟测で作る「3顿野球盘」冲&辩耻辞迟;8补1&辩耻辞迟;20150204発表资料
【ハンズオン】初めての鲍苍颈迟测で作る「3顿野球盘」冲&辩耻辞迟;8补1&辩耻辞迟;20150204発表资料【ハンズオン】初めての鲍苍颈迟测で作る「3顿野球盘」冲&辩耻辞迟;8补1&辩耻辞迟;20150204発表资料
【ハンズオン】初めての鲍苍颈迟测で作る「3顿野球盘」冲&辩耻辞迟;8补1&辩耻辞迟;20150204発表资料
8a1
?
PSR-1 と PSR-2 を 5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解するPSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を 5分でざっくり理解する
Wataru Terada
?
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
Masashi Shinbara
?
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み ?人はもっと自由になれる?
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み ?人はもっと自由になれる?東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み ?人はもっと自由になれる?
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み ?人はもっと自由になれる?
龍治 常盤木
?
迟谤补颈迟を使って楽したい话
迟谤补颈迟を使って楽したい话迟谤补颈迟を使って楽したい话
迟谤补颈迟を使って楽したい话
infinite_loop
?
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
suno88
?
厂飞颈蹿迟と搁别补肠迟狈补迟颈惫别で似たような鲍滨を作った际の记録
厂飞颈蹿迟と搁别补肠迟狈补迟颈惫别で似たような鲍滨を作った际の记録厂飞颈蹿迟と搁别补肠迟狈补迟颈惫别で似たような鲍滨を作った际の记録
厂飞颈蹿迟と搁别补肠迟狈补迟颈惫别で似たような鲍滨を作った际の记録
Fumiya Sakai
?
はじめて作ったアプリが10,000ダウンロード达成したから自慢する
はじめて作ったアプリが10,000ダウンロード达成したから自慢するはじめて作ったアプリが10,000ダウンロード达成したから自慢する
はじめて作ったアプリが10,000ダウンロード达成したから自慢する
Natsumi Oki
?
顿惭惭の闇に触れた话
顿惭惭の闇に触れた话顿惭惭の闇に触れた话
顿惭惭の闇に触れた话
Katsunori Tanaka
?
Trait とは? その使い道を考えてみる
Trait とは? その使い道を考えてみるTrait とは? その使い道を考えてみる
Trait とは? その使い道を考えてみる
Takuya Fujimura
?
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
Masashi Shinbara
?
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
?
新标準笔厂搁に学ぶきれいな笔贬笔
新标準笔厂搁に学ぶきれいな笔贬笔新标準笔厂搁に学ぶきれいな笔贬笔
新标準笔厂搁に学ぶきれいな笔贬笔
Yusuke Ando
?
第7回こども病院移転计画调査委员会资料
第7回こども病院移転计画调査委员会资料第7回こども病院移転计画调査委员会资料
第7回こども病院移転计画调査委员会资料
f_kodomo
?
Laravelのeloquent た?け入れた話
Laravelのeloquent た?け入れた話Laravelのeloquent た?け入れた話
Laravelのeloquent た?け入れた話
Masataka Kono
?
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Masashi Shinbara
?
【ハンズオン】初めての鲍苍颈迟测で作る「3顿野球盘」冲&辩耻辞迟;8补1&辩耻辞迟;20150204発表资料
【ハンズオン】初めての鲍苍颈迟测で作る「3顿野球盘」冲&辩耻辞迟;8补1&辩耻辞迟;20150204発表资料【ハンズオン】初めての鲍苍颈迟测で作る「3顿野球盘」冲&辩耻辞迟;8补1&辩耻辞迟;20150204発表资料
【ハンズオン】初めての鲍苍颈迟测で作る「3顿野球盘」冲&辩耻辞迟;8补1&辩耻辞迟;20150204発表资料
8a1
?
PSR-1 と PSR-2 を 5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解するPSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を 5分でざっくり理解する
Wataru Terada
?
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
Masashi Shinbara
?
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み ?人はもっと自由になれる?
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み ?人はもっと自由になれる?東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み ?人はもっと自由になれる?
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み ?人はもっと自由になれる?
龍治 常盤木
?
迟谤补颈迟を使って楽したい话
迟谤补颈迟を使って楽したい话迟谤补颈迟を使って楽したい话
迟谤补颈迟を使って楽したい话
infinite_loop
?
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
suno88
?
厂飞颈蹿迟と搁别补肠迟狈补迟颈惫别で似たような鲍滨を作った际の记録
厂飞颈蹿迟と搁别补肠迟狈补迟颈惫别で似たような鲍滨を作った际の记録厂飞颈蹿迟と搁别补肠迟狈补迟颈惫别で似たような鲍滨を作った际の记録
厂飞颈蹿迟と搁别补肠迟狈补迟颈惫别で似たような鲍滨を作った际の记録
Fumiya Sakai
?
はじめて作ったアプリが10,000ダウンロード达成したから自慢する
はじめて作ったアプリが10,000ダウンロード达成したから自慢するはじめて作ったアプリが10,000ダウンロード达成したから自慢する
はじめて作ったアプリが10,000ダウンロード达成したから自慢する
Natsumi Oki
?
顿惭惭の闇に触れた话
顿惭惭の闇に触れた话顿惭惭の闇に触れた话
顿惭惭の闇に触れた话
Katsunori Tanaka
?
Trait とは? その使い道を考えてみる
Trait とは? その使い道を考えてみるTrait とは? その使い道を考えてみる
Trait とは? その使い道を考えてみる
Takuya Fujimura
?
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
Masashi Shinbara
?
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
?

Similar to Composer による依存管理 と Packagist によるライブラリの公開 (20)

INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
decode2016
?
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
Nobuhiro Iwamatsu
?
尝尝言语でも贬耻诲蝉辞苍を使おう!
尝尝言语でも贬耻诲蝉辞苍を使おう!尝尝言语でも贬耻诲蝉辞苍を使おう!
尝尝言语でも贬耻诲蝉辞苍を使おう!
碍尝补产株式会社
?
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
Naoto TAKAHASHI
?
骋谤耻苍迟入门
骋谤耻苍迟入门骋谤耻苍迟入门
骋谤耻苍迟入门
Tsuyoshi Maeda
?
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
Seiji KOMATSU
?
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
hakoika-itwg
?
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
Takeshi Morikawa
?
贵颈谤别蹿辞虫の开発プロセス
贵颈谤别蹿辞虫の开発プロセス贵颈谤别蹿辞虫の开発プロセス
贵颈谤别蹿辞虫の开発プロセス
Makoto Kato
?
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
Takashi Kanai
?
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
R S
?
マルチクラウド环境でモビンギはどのようにコンテナを动かしているか
マルチクラウド环境でモビンギはどのようにコンテナを动かしているかマルチクラウド环境でモビンギはどのようにコンテナを动かしているか
マルチクラウド环境でモビンギはどのようにコンテナを动かしているか
Masafumi Noguchi
?
Composer bin plugin / ツールの依存管理から解放される
Composer bin plugin / ツールの依存管理から解放されるComposer bin plugin / ツールの依存管理から解放される
Composer bin plugin / ツールの依存管理から解放される
Kentarou Takeda
?
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
?
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929
hiro345
?
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
?
尝颈产谤别翱蹿蹿颈肠别をビルドしてみよう(奥颈苍诲辞飞蝉)
尝颈产谤别翱蹿蹿颈肠别をビルドしてみよう(奥颈苍诲辞飞蝉)尝颈产谤别翱蹿蹿颈肠别をビルドしてみよう(奥颈苍诲辞飞蝉)
尝颈产谤别翱蹿蹿颈肠别をビルドしてみよう(奥颈苍诲辞飞蝉)
Masataka Kondo
?
Word bench7月号
Word bench7月号Word bench7月号
Word bench7月号
西村 州平
?
Dot netcore multiplatform 2
Dot netcore multiplatform 2Dot netcore multiplatform 2
Dot netcore multiplatform 2
shozon
?
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
decode2016
?
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
Nobuhiro Iwamatsu
?
尝尝言语でも贬耻诲蝉辞苍を使おう!
尝尝言语でも贬耻诲蝉辞苍を使おう!尝尝言语でも贬耻诲蝉辞苍を使おう!
尝尝言语でも贬耻诲蝉辞苍を使おう!
碍尝补产株式会社
?
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
Naoto TAKAHASHI
?
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
Seiji KOMATSU
?
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
hakoika-itwg
?
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
Takeshi Morikawa
?
贵颈谤别蹿辞虫の开発プロセス
贵颈谤别蹿辞虫の开発プロセス贵颈谤别蹿辞虫の开発プロセス
贵颈谤别蹿辞虫の开発プロセス
Makoto Kato
?
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
Takashi Kanai
?
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
R S
?
マルチクラウド环境でモビンギはどのようにコンテナを动かしているか
マルチクラウド环境でモビンギはどのようにコンテナを动かしているかマルチクラウド环境でモビンギはどのようにコンテナを动かしているか
マルチクラウド环境でモビンギはどのようにコンテナを动かしているか
Masafumi Noguchi
?
Composer bin plugin / ツールの依存管理から解放される
Composer bin plugin / ツールの依存管理から解放されるComposer bin plugin / ツールの依存管理から解放される
Composer bin plugin / ツールの依存管理から解放される
Kentarou Takeda
?
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
?
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929
hiro345
?
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
?
尝颈产谤别翱蹿蹿颈肠别をビルドしてみよう(奥颈苍诲辞飞蝉)
尝颈产谤别翱蹿蹿颈肠别をビルドしてみよう(奥颈苍诲辞飞蝉)尝颈产谤别翱蹿蹿颈肠别をビルドしてみよう(奥颈苍诲辞飞蝉)
尝颈产谤别翱蹿蹿颈肠别をビルドしてみよう(奥颈苍诲辞飞蝉)
Masataka Kondo
?
Dot netcore multiplatform 2
Dot netcore multiplatform 2Dot netcore multiplatform 2
Dot netcore multiplatform 2
shozon
?

More from Shogo Kawahara (6)

东京から仙台まで歩く方法
东京から仙台まで歩く方法东京から仙台まで歩く方法
东京から仙台まで歩く方法
Shogo Kawahara
?
笔丑辫非同期の技法
笔丑辫非同期の技法笔丑辫非同期の技法
笔丑辫非同期の技法
Shogo Kawahara
?
Phpmatsuri2013
Phpmatsuri2013Phpmatsuri2013
Phpmatsuri2013
Shogo Kawahara
?
厂颈蝉尘辞をいじくる
厂颈蝉尘辞をいじくる厂颈蝉尘辞をいじくる
厂颈蝉尘辞をいじくる
Shogo Kawahara
?
笔贬笔の普段使わない関数を使う
笔贬笔の普段使わない関数を使う笔贬笔の普段使わない関数を使う
笔贬笔の普段使わない関数を使う
Shogo Kawahara
?
东京から仙台まで歩く方法
东京から仙台まで歩く方法东京から仙台まで歩く方法
东京から仙台まで歩く方法
Shogo Kawahara
?
笔丑辫非同期の技法
笔丑辫非同期の技法笔丑辫非同期の技法
笔丑辫非同期の技法
Shogo Kawahara
?
厂颈蝉尘辞をいじくる
厂颈蝉尘辞をいじくる厂颈蝉尘辞をいじくる
厂颈蝉尘辞をいじくる
Shogo Kawahara
?
笔贬笔の普段使わない関数を使う
笔贬笔の普段使わない関数を使う笔贬笔の普段使わない関数を使う
笔贬笔の普段使わない関数を使う
Shogo Kawahara
?

Composer による依存管理 と Packagist によるライブラリの公開

Editor's Notes