SlideShare a Scribd company logo
1 of 33
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

はじめてのconcrete5 -さくらスタンダード編-
はじめてのconcrete5 -さくらスタンダード編-はじめてのconcrete5 -さくらスタンダード編-
はじめてのconcrete5 -さくらスタンダード編-
BREN
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺
Shogo Kawahara
 
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろうPHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
Taiji INOUE
 
今日から始めるLaravel
今日から始めるLaravel今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
 

What's hot (20)

いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
 
GitHubで見つかるFileMaker関連ソフトウェア
GitHubで見つかるFileMaker関連ソフトウェアGitHubで見つかるFileMaker関連ソフトウェア
GitHubで見つかるFileMaker関連ソフトウェア
 
composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudycomposerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
 
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapyWebフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
 
Vagrant入門以前
Vagrant入門以前Vagrant入門以前
Vagrant入門以前
 
はじめてのconcrete5 -さくらスタンダード編-
はじめてのconcrete5 -さくらスタンダード編-はじめてのconcrete5 -さくらスタンダード編-
はじめてのconcrete5 -さくらスタンダード編-
 
Symfony Dump Server のご紹介
Symfony Dump Server のご紹介Symfony Dump Server のご紹介
Symfony Dump Server のご紹介
 
PHPとJavaScriptの噺
PHPとJavaScriptの噺PHPとJavaScriptの噺
PHPとJavaScriptの噺
 
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMSDrupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
Drupal 8 - モダンなアーキテクチャのPHPベースOSS CMS
 
Laravel5.1 Release
Laravel5.1 ReleaseLaravel5.1 Release
Laravel5.1 Release
 
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろうPHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
 
今日から始めるLaravel
今日から始めるLaravel今日から始めるLaravel
今日から始めるLaravel
 
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
仮想マシンざっくり解説と実践Vagrant | StaticPress × S3 × Vagrant 勉強会
 
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングするAnsibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
 
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
 
apachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin ServerっぽいやつをつくったapachehereというPHPのBuiltin Serverっぽいやつをつくった
apachehereというPHPのBuiltin Serverっぽいやつをつくった
 
Dockerを使ってみよう
Dockerを使ってみようDockerを使ってみよう
Dockerを使ってみよう
 

Viewers also liked

第7回こども病院移転計画調査委員会資料
第7回こども病院移転計画調査委員会資料第7回こども病院移転計画調査委員会資料
第7回こども病院移転計画調査委員会資料
f_kodomo
 
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Masashi Shinbara
 
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
Masashi Shinbara
 

Viewers also liked (19)

新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
第7回こども病院移転計画調査委員会資料
第7回こども病院移転計画調査委員会資料第7回こども病院移転計画調査委員会資料
第7回こども病院移転計画調査委員会資料
 
Laravelのeloquent だけ入れた話
Laravelのeloquent だけ入れた話Laravelのeloquent だけ入れた話
Laravelのeloquent だけ入れた話
 
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
 
【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料
【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料
【ハンズオン】初めてのUnityで作る「3D野球盤」_"8a1"20150204発表資料
 
PSR-1 と PSR-2 を 5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解するPSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を 5分でざっくり理解する
 
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
 
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜
東京から沖縄に移住したからこそわかるクラウドとコミュニティの有り難み 〜人はもっと自由になれる〜
 
traitを使って楽したい話
traitを使って楽したい話traitを使って楽したい話
traitを使って楽したい話
 
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月NetBeans、FuelPHP と過ごしたこの 2 ヶ月
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
 
SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録
 
はじめて作ったアプリが10,000ダウンロード達成したから自慢する
はじめて作ったアプリが10,000ダウンロード達成したから自慢するはじめて作ったアプリが10,000ダウンロード達成したから自慢する
はじめて作ったアプリが10,000ダウンロード達成したから自慢する
 
DMMの闇に触れた話
DMMの闇に触れた話DMMの闇に触れた話
DMMの闇に触れた話
 
Electronで社内ツールを作ったお話
Electronで社内ツールを作ったお話Electronで社内ツールを作ったお話
Electronで社内ツールを作ったお話
 
Trait とは? その使い道を考えてみる
Trait とは? その使い道を考えてみるTrait とは? その使い道を考えてみる
Trait とは? その使い道を考えてみる
 
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
 
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
 
コンテンツ作りの三原則
コンテンツ作りの三原則コンテンツ作りの三原則
コンテンツ作りの三原則
 

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

cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
Takeshi Morikawa
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセス
Makoto Kato
 
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
 
Dot netcore multiplatform 2
Dot netcore multiplatform 2Dot netcore multiplatform 2
Dot netcore multiplatform 2
shozon
 

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

INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけねGitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
 
Grunt入門
Grunt入門Grunt入門
Grunt入門
 
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-
 
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
 
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうけるcf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
 
Firefoxの開発プロセス
Firefoxの開発プロセスFirefoxの開発プロセス
Firefoxの開発プロセス
 
Windows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみたWindows Server 2016でコンテナを動かしてみた
Windows Server 2016でコンテナを動かしてみた
 
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
 
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
マルチクラウド環境でモビンギはどのようにコンテナを動かしているかマルチクラウド環境でモビンギはどのようにコンテナを動かしているか
マルチクラウド環境でモビンギはどのようにコンテナを動かしているか
 
Composer bin plugin / ツールの依存管理から解放される
Composer bin plugin / ツールの依存管理から解放されるComposer bin plugin / ツールの依存管理から解放される
Composer bin plugin / ツールの依存管理から解放される
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
 
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)
 
20090328
2009032820090328
20090328
 
Word bench7月号
Word bench7月号Word bench7月号
Word bench7月号
 
Dot netcore multiplatform 2
Dot netcore multiplatform 2Dot netcore multiplatform 2
Dot netcore multiplatform 2
 

More from Shogo Kawahara (6)

東京から仙台まで歩く方法
東京から仙台まで歩く方法東京から仙台まで歩く方法
東京から仙台まで歩く方法
 
Php非同期の技法
Php非同期の技法Php非同期の技法
Php非同期の技法
 
Phpmatsuri2013
Phpmatsuri2013Phpmatsuri2013
Phpmatsuri2013
 
Sismoをいじくる
SismoをいじくるSismoをいじくる
Sismoをいじくる
 
PHPの普段使わない関数を使う
PHPの普段使わない関数を使うPHPの普段使わない関数を使う
PHPの普段使わない関数を使う
 
OAuth with OpenPNE3
OAuth with OpenPNE3OAuth with OpenPNE3
OAuth with OpenPNE3
 

Recently uploaded

Recently uploaded (10)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

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

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n