Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Composerのstabilityの話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kazuhei Arai
February 22, 2017
Programming
68
0
Share
Composerのstabilityの話
Kazuhei Arai
February 22, 2017
More Decks by Kazuhei Arai
See All by Kazuhei Arai
CTOがプロダクトを管轄して、変わり始めたスクラム開発
kazuhei0108
0
340
Predefined Interfacesを使って便利な独自クラスを作りましょう
kazuhei0108
0
3.1k
LaravelとAWSで_漸進的なプロダクト開発
kazuhei0108
0
170
モックの泥沼から脱却するために、あえてDBにつないでテストしている話
kazuhei0108
4
3.5k
Laravelのエラーハンドリングをカスタマイズする
kazuhei0108
0
510
サービスコンテナの実践的な活用
kazuhei0108
1
1.2k
クラスを使ってLaravelのviewをキレイにする
kazuhei0108
1
1.7k
自分のLaravel アプリケーション設計晒す
kazuhei0108
0
96
Other Decks in Programming
See All in Programming
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.7k
AIと共に生きる技術選定 2026
sgash708
0
140
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
270
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
170
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
380
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
340
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
5
5.1k
Agent Skills を社内で育てる仕組み作り
jackchuka
1
1.9k
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
180
AI時代になぜ書くのか
mutsumix
0
380
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
4
450
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
380
Featured
See All Featured
How to make the Groovebox
asonas
2
2.2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
300
How to Talk to Developers About Accessibility
jct
2
190
Designing for Performance
lara
611
70k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
560
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
170
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
BBQ
matthewcrist
89
10k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Ethics towards AI in product and experience design
skipperchong
2
270
Transcript
!LB[VIFJ !LB[VIFJ@@ $PNQPTFSͷTUBCJMJUZͷ 1)1#-5
!LB[VIFJ ࣗݾհ ߥҪฏ!LB[VIFJ גࣜձࣾ."Ϋϥυ ΤϯδχΞ 1)1+BWBTDSJQU4XJGU
Ͱ$PNQPTFSͷ4UBCJMJUZͷ
!LB[VIFJ ఏى w ࠓ·ͰଞਓͷϥΠϒϥϦΛΠϯετʔϧ͢Δͱ͖ʹ͔͠ ͬͯ͜ͳ͔ͬͨ w $PNQPTFSͰಠࣗͷϥΠϒϥϦʔΛJOTUBMM͍ͨ͠
!LB[VIFJ ఏى 11 "repositories": [ 12 { 13 "type": "vcs",
14 "url": "
[email protected]
:kazuhei/will-composed.git" 15 } 16 ], 17 "require": { 18 "kazuhei/will-composed": "master" 19 }, ΠϯετʔϧͰ͖ͳ͍ʂʂ
!LB[VIFJ ఏى
!LB[VIFJ ఏى 11 "repositories": [ 12 { 13 "type": "vcs",
14 "url": "
[email protected]
:kazuhei/will-composed.git" 15 } 16 ], 17 "require": { 18 "kazuhei/will-composed": "dev-master" 19 }, ΠϯετʔϧͰ͖ͨʂʂ
ͳΜͰEFW͚ͬͯͭͳ͖Ό͍͚ͳ͍ͷʁ
!LB[VIFJ $PNQPTFSͷTUBCJMJUZ w $PNQPTFSʹTUBCJMJUZͱ͍͏ߟ͑ํ͕͋Δ w $PNQPTFSͰઃఆͨ͠TUBCJMJUZΑΓ͍ͷΠϯετʔϧͰ͖ͳ͍ w $PNQPTFSͷTUBCJMJUZσϑΥϧτͰTUBCMF w $PNQPTFSͰHJUͷCSBODI։ൃ༻Ͱ͋ΓɺϦϦʔε൛CSBODIͰͳ͘UBHͳͲΛ
͏͖ w $PNQPTFSͰHJUͷCSBODI։ൃ༻ͱΈͳ͞ΕΔͷͰTUBCJMJUZ͕EFWͰ͋Γɺ TUBCMFEFWͳͷͰΠϯετʔϧͰ͖ͳ͍ w TUBCJMJUZ༷ʑͳํ๏Ͱ؇Ͱ͖Δ
!LB[VIFJ EFWΛ͚ͭΔҙຯͷ༧ w $PNQPTFSͰCSBODI։ൃ༻ͳͷͰɺͦΕ͕Θ͔ΔΑ͏ʹϢʔβʔ ʹΘ͟ͱEFWΛ͚ͭͤ͞ΔΑ͏ʹ͍ͯ͠Δʁ w EFWΛ͚ͭͤ͞Δ͜ͱʹΑΓCSBODIͷTUBCJMJUZΛ؇͍ͯ͠Δ w ͡Ό͋ଞͷํ๏ͰͰ͖ΔΜ͡Όͳ͍ͷʁ
!LB[VIFJ TUBCJMJUZΛ؇͢Δํ๏ w 4UBCJMJUZΛ؇͢Δํ๏ w NJOJNVNTUBCJMJUZΛมߋ͢Δ w NJOJNVNTUBCJMJUZlEFW w $PNQPTFSKTPOશମͰࢦఆ͞ΕΔ
w TUBCJMJUZϑϥάΛ͚ͭΔ w MJCSBSZ/BNFlW!EFW w ϥΠϒϥϦ͝ͱʹࢦఆ͞ΕΔ
ࢼͯ͠Έͨ
!LB[VIFJ NJOJOVNTUBCJMJUZͰ؇͢Δ w NJOJNVNTUBCJMJUZΛEFWʹ؇ͯ͠ɺEFWΛ֎͢ 11 "repositories": [ 12 { 13
"type": "vcs", 14 "url": "
[email protected]
:kazuhei/will-composed.git" 15 } 16 ], 17 "require": { 18 "kazuhei/will-composed": "master" 19 }, 20 "minimum-stability": "dev", ΠϯετʔϧͰ͖ͨʂʂ
!LB[VIFJ TUBCJMJUZϑϥάΛͬͯ؇͢Δ w TUBCJMJUZϑϥάΛEFWʹͯ͠ɺEFWΛ֎͢ 11 "repositories": [ 12 { 13
"type": "vcs", 14 "url": "
[email protected]
:kazuhei/will-composed.git" 15 } 16 ], 17 "require": { 18 "kazuhei/will-composed": “master@dev" 19 }, ΠϯετʔϧͰ͖ͨʂʂ
!LB[VIFJ EFW\CSBODI^ͷಛ w ௨ৗͷϥΠϒϥϦEJTU͔ΒΠϯετʔϧ͞ΕΔ w CSBODI։ൃόʔδϣϯѻ͍ͳͷͰTPVSDF͔ΒΠϯετʔϧ͞ΕΔ w EJTUιʔείʔυͷΈ͕ͩɺTPVSDFWFSTJPOίϯτϩʔϧ༻ͷίʔυ ҰॹʹΠϯετʔϧ͢Δ w
HJUͳΒHJUͱHJUJHOPSF w 0QFOTPVSDFΛݸਓͷϦϙδτϦʹϑΥʔΫͯ͠։ൃ͢Δͷʹศར
!LB[VIFJ 4UBCJMJUZͷղܾͷ͞Εํ w 4UBCJMJUZͷղܾͷ͞Εํ w TUBCJMJUZϧʔτύοέʔδͰͷΈఆٛ͢Δ͜ͱ͕Ͱ͖Δ w ͭ·ΓɺࢠͷύοέʔδͰࢦఆ͞Ε͍ͯΔTUBCJMJUZө͞Εͳ͍ w ྫ
w SPPUͷNJOJNVN@TUBCJMJUZ͕TUBCMFͩͱ#EFWNBTUFS͕ΠϯετʔϧͰ͖ͳ͍ w ղܾ͢Δʹ#ͷTUBCJMJUZSPPUͰࢦఆͯ͋͛͠Δ
!LB[VIFJ μϝͳύλʔϯ rootύοέʔδ 1 { 2 "require": { 3 "A":
"dev-master" 4 } 5 } Aύοέʔδ 1 { 2 "require": { 3 "B": "dev-master" 4 } 5 }
!LB[VIFJ ྑ͍ύλʔϯ rootύοέʔδ 1 { 2 "require": { 3 "A":
"dev-master", 4 "B": "@dev" 5 } 6 } Aύοέʔδ 1 { 2 "require": { 3 "B": "dev-master" 4 } 5 }
!LB[VIFJ ·ͱΊ w $PNQPTFSͰCSBODIࢦఆͰΠϯετʔϧ͢Δ࣌EFWΛͭ ͚Δ w EFWΛ͚ͭΔͷCSBODI։ൃόʔδϣϯͱͯ͠ѻ͏͔Β w EFW͓·͡ͳ͍͡Όͳ͍ w
TUBCJMJUZϧʔτύοέʔδͰ͔͠ࢦఆͰ͖ͳ͍ͷͰҙ
!LB[VIFJ ࢀߟ w IUUQTHFUDPNQPTFSPSH w IUUQXXXTMJEFTIBSFOFUNLLOTT w IUUQLPILJNBLJNPUPIBUFOBCMPHDPNFOUSZ