Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
OSSに新機能を追加するまでの苦労話
Search
Masahiro331
December 01, 2022
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OSSに新機能を追加するまでの苦労話
作成時間2時間の書き殴りパワポです
Masahiro331
December 01, 2022
More Decks by Masahiro331
See All by Masahiro331
Model Context Protocol 勉強会
masahiro331
0
110
Analyze Filesystem in Virtual Machine Image
masahiro331
0
250
SBOMを利用したソフトウェアサプライチェーンの保護
masahiro331
4
3k
Introduction Supply Chain Security
masahiro331
0
200
Container Security with Trivy
masahiro331
0
270
VirtualMachine Image scanning PoC with Molysis
masahiro331
0
210
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
430
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Designing for Performance
lara
611
70k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Docker and Python
trallard
47
4.2k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
780
Transcript
.BTBIJSP'VKJNVSB 044ʹ৽ػೳΛՃ͢Δ·Ͱͷ ۤ࿑
࠷ॳʹ w ͢Έ·ͤΜλΠτϧٗʹͳΓ·ͨ͠ɻ ʢ044ʹ৽ػೳΈ͍ͨͳநతͳͰͳ͘ී௨ʹԾϚγϯͷ੬ऑੑݕ Λ࣮͢Δۤ࿑ʹͳΓ·ͨ͠ɻʣ
֓ཁ w جૅ࣮ΛؚΊͯɺۤઅҎ্͔͚ͨػೳ͕ϦϦʔε͞ΕͨͷͰɺͦͷۤ࿑ ͱֶͼʹ͍ͭͯ͠·͢ɻ w લճͷࢿྉͱ͢͜͠ඃΔ෦͕͋Γ·͕͢ɺٕज़తͳ༨Γ͠·ͤΜ લճͷࢿྉ
͍͑ͨ͜ͱ օ༷ʹͱׂͬͯͱͨΓલͷ͜ͱͰ͕͢ʜ w ະͷϞϊΛ୳ࡧతʹཧղ͍ͯ͘͠ํ๏ w ༷ॻΛಡΈͳ͕Β࣮͢Δ͜ͱͷ͠͞ w طଘίʔυΛௐࠪ͠ཧղ͢Δ͜ͱͷॏཁੑ w ༗ࣝऀʹཔΔ͜ͱ
w ҰੜΘͳ͍ͱࢥ͕ͬͨࣝੜ͖Δࣄ
എܠ w ࡢɺ5SJWZʢ044ͷηΩϡϦςΟπʔϧʣʹ7.ͷ੬ऑੑݕΛՃͨ͠ w Ұࡢ4FD)BDLͱ͍͏औΓΈͰ্هͷجૅݚڀΛ͍ͯͨ͠
࡞ͬͨͷͷσϞ
None
େࣄͳͷͰΞʔΩςΫνϟ͚ͩషΔ ࠷ऴతͳΞʔΩςΫνϟ4FFLͰ࣮
ࠓͷ͓ͷྲྀΕ w ৽ػೳΛ࡞Δมભʹ͍ͭͯɺ͍͔ͭ͘ͷ࣌ظʹׂͯ͠͠·͢ w ͱʹ͔ͬͯ͘ΈΔظ w ఀظ w ໎ظ w
࡞ΓࠐΈظ
ͱʹ͔ͬͯ͘ΈΔظ w 4FD)BDLͱ͍͏ػձΛ࡞Γ࣮ʹྭΉ w ͬͨ͜ͱ w 7.%,ͷղੳ w .#3(15ͷղੳ w
&95ͷղੳ
7.%,ͷղੳ w ࣌ಡΜͩ͜ͱ͋Δ༷ॻͱ͍͑ɺΈΜͳେ͖3'$ w όΠφϦͳΜͯͷɺ΄΅ಡΜͩ͜ͱͳ͍ w ͱʹ͔༷͘ॻΛಡΈͭͭΤεύʔͰ࣮͍ͯͨ͠
7.%,ͷղੳʢֶͼʣ 3'$͔͠ಡΜͩ͜ͱͷͳ͍͕ظ͢Δ༷ॻ ͱʹ͔༷͘ॻʹॻ͍ͯͳ͍͜ͱ͕ଟ͍ ༷ॻ" ༷ॻ# લఏͱͳΔٕज़ લఏͱͳΔٕज़༻ޠʹΞΫηεͰ͖Δࣝͷ πϦʔ͕͋Δ
7.%,ͷղੳʢֶͼʣ 7.%,ͷ༷ॻ ͱʹ͔༷͘ॻʹॻ͍ͯͳ͍͜ͱ͕ଟ͍ ࣮ࡍʹඞཁͳࣝ ެ։͞Ε͍ͯΔ༷ॻ લఏͱͳΔٕज़༻ޠʹΞΫηεͰ͖ͳ͍ͨΊ ೝͰ͖ͳ͍ Ұൠతͳ༷ͷ߹ɺ҉తʹͳΓ͕ͪ
7.%,ͷղੳʢֶͼʣ ΤεύʔΫΠζʢޙ༷ॻΛΑ͘ಡΉͱॻ͍ͯͨলʣ (SBJO%JSFDUPSZͱݺΕΔ͜ͷόΠφϦྻԿΛද͍ͯ͠ΔͰ͠ΐ͏ʂ w(SBJOѹॖ͞Εͨσʔλͷஅย w(5&ͷαΠζݻఆͱ͢Δ Πϝʔδը૾
.#3(15ͷղੳ w 6&'*ͷ༷ॻʹ.#3(15पΓͷ࣮͕ॻ͔Ε͍ͯΔ w .#3ʹ࣮ؔͯ͠ຊޠͷ8JLJQFEJB͕͔ͳΓॆ࣮͍ͯ͠Δ ʢా͞Μຊޠͷํ͕Α͔ͬͨΒ͍͠ʣ w [͕.#3Λղౚ͢ΔίʔυΛ࣮͓ͯ͠ΓɺͦΕΒΛݩʹ࣮ͨ͠
.#3(15ͷղੳʢֶͼʣ w .#3ͷ༷ޙํޓੑΛอ֦ͪͭͭு͞Ε͍ͯΔ ॳظͷ.#3ͷ༷ ޓੑΛอͭ(15ͷ༷ ޙํޓੑΛอͭΑ͏ͳઃܭ͕ଟ͍ɺޓΛࣺͯΔ༐ؾ
&95ͷղੳ w ϑΝΠϧγεςϜԿΘ͔Βͳ͍ w ༷ॻΛಡΜͰ࣮͢Δ͜ͱʹ׳Εͯ͘Δ w όΠφϦσʔλΛಡΉ͜ͱʹ׳Εͯ͘Δ
&95ͷղੳʢֶͼʣ ݻఆͷςʔϒϧʢྻʣΠϯσοΫεʹҙຯΛ͕࣋ͨͤͪ ཧతͳσʔλ ࢀরςʔϒϧ ࢀর༻ͷςʔϒϧ ࢀরςʔϒϧ ࢀরςʔϒϧ Y$ ࢀরςʔϒϧͷςʔϒϧ Y'
Y Y ɾ ɾ ɾ ҙͷσʔλ *OEFYͷσʔλ൪ͷςʔϒϧΛࢀর
4FD)BDLͰͷൃද w ԾϚγϯΛಁաతʹɺετϦʔϜͰղੳͰ͖ΔΑ͏ʹ։ൃͨ͠
ఀظ ͜ͷ࣌ظଞͷػೳΛ࡞Δͷʹͯ͘͠Β͘৮ͬͯͳ͔ͬͨ ͱʹ͔͕࣌ؒ͋͘Δ࣌ʹطଘͷίʔυΛಡΜͰ͍ͨɻ w ͬͨ͜ͱ w 7.%,ͷόάऔΓ w [RFNVͷ࣮ΛಡΉ
w ผͷλεΫͰ31.%#ͷιʔείʔυΛಡΉ IUUQTNBTBIJSPIBUFOBCMPHDPNFOUSZ
໎ظ ͱʹ͔͘ඞཁͳϑΥʔϚοτʹख͋ͨΓ࣍ୈɺύʔαΛ࣮͍ͯͨ͠ w ͬͨ͜ͱ w 9'4ͷղੳ w -7.ͷղੳ w 7)%9ͷղੳ
9'4ͷղੳ w ϑΝΠϧγεςϜ͕͔ͳΓΘ͔͖ͬͯͨ w ༷ॻΛಡΉ͜ͱʹͳΕͯ͘Δ w -JOVYͷιʔείʔυͱ͍͏ϧτϥ$ʹग़ձ͏ w ஏ͔͕ͣ͠Βͣʹ༗ࣝऀʹฉ͖ʹߦ͘
9'4ͷղੳʢֶͼʣ Θ͔Βͳͯ͘طଘͷιʔείʔυΛಡΉ͜ͱ w ίʔυ͕ཧղͰ͖ ͳͯ͘งғؾͰΑ͍
9'4ͷղੳʢֶͼʣ Θ͔Βͳͯ͘طଘͷιʔείʔυΛಡΉ͜ͱ w ίʔυ͕ཧղͰ͖ ͳͯ͘งғؾͰΑ͍ w ༷ॻʹͳ͍࣮ͷ ͕ίϝϯτʹ͋Δ
9'4ͷղੳʢֶͼʣ Θ͔Βͳͯ͘طଘͷιʔείʔυΛಡΉ͜ͱ w ίʔυ͕ཧղͰ͖ͳ ͯ͘งғؾͰΑ͍ w ༷ॻʹͳ͍࣮ͷ͕ ίϝϯτʹ͋Δ w ͱ͍͏͔༷ॻ͕ݹ͍͜ͱ
͋Δ ʢॻ͍ͯͳ͍ߏମ͋Δʣ
9'4ͷղੳʢֶͼʣ ͱΓ͋͑ͣֆΛॻ͍ͯΈΔ
9'4ͷղੳʢֶͼʣ ༗ࣝऀʹͱʹ͔͘ฉ͖ʹߦ͘ w ࣮ฉ͖ʹߦͬͨΒࡶʹͰฦͯ͘͠ΕΔ
-7.ͷղੳ w ༷ॻΛಡΜͰύʔαΛॻ͘ͷே൧લʹͳΔ w ಠࣗDPO fi HͷύʔαΛॻ͘ͷʹۤ࿑͢Δ w (PMBOHͰֶͿΠϯλϓϦϯλͷ͓͔͛ͰͳΜͱ͔ͳͬͨ
-7.ͷղੳʢֶͼʣ ҰੜΘͳ͍ͱࢥͬͨࣝΛ͏ w ษڧ༻ʹಡΜͩ(PMBOHͰ࡞ΔΠϯλϓϦϯλ ͷ͓͔͛ͰߏจղੳثΛ࡞ͬͯύʔεͰ͖ͨ
7)%9ͷղੳ w .4ͷ༷ॻ͔ͬ͠Γॻ͔Ε͍ͯΔͳͱ͍͏ײಈ w ԾσΟεΫͱ͍͏ͷ͕ཧղͰ͖͍ͯͨͷͰͰऴΘͬͨ
ϦϦʔεظ ϦϦʔεʹ͚ͯɺఀظʹ͑ͨࣝͱɺ໎ظʹ͞·͟·ͳυϝΠϯͷ࣮Λ ͨ͠ݟΛݩʹ͜Ε·Ͱ࣮ͨ͠ϥΠϒϥϦͷΞʔΩςΫνϟΛݟ͠ॻ͖ͨ͠ w ͬͨ͜ͱ w ΞʔΩςΫνϟͷશ໘తͳमਖ਼ w આ໌༻ͷυΩϡϝϯτΛ࡞ w
ӡ༻໘Ͱͷ࣮ w ςετͷ࡞ w ".*ͷղੳ
ΞʔΩςΫνϟͷશ໘తͳमਖ਼ w RFNVͰԾϚγϯΠϝʔδΛม͢ΔॲཧͷΞʔΩςΫνϟΛࢀߟʹ࣮
ΞʔΩςΫνϟͷશ໘తͳमਖ਼ w ετϦʔϜͰ࣮ͨ͠ͷΛ4FFLʹมߋ
ΞʔΩςΫνϟͷશ໘తͳमਖ਼ աڈͷࢿ࢈ʹनΘΕࣺͣͯΔ༐ؾ͕ඞཁ
".*ͷղੳ w ా͞Μ͔ΒͷεΩϟϯ͍ͨ͠ͳʔͱ͍͏͕͘Δ w ௐࠪˠؚ࣮Ίͯ࣌ؒͰɺ΄΅΄΅ͨ͠ w ΞʔΩςΫνϟΛݟ͓͔ͨ͛͠ʂ
આ໌༻ͷυΩϡϝϯτΛ࡞ w "RVBͷઆ໌༻ͷࢿྉΛ࡞ ࣮ࡍʹಡ·Ε͔ͨෆ໌ w *TTVFͰٞͰ͖Δೳྗ͕ͳ͍ ͷͰɺͱΓ͋͑ͣॻ͍ͨ
ӡ༻໘Ͱͷ࣮ w ΫϥΠΞϯτΞϓϦͷͨΊϢʔβ͔Βͷ*TTVFͰௐࠪͰ͖ΔΑ͏ʹݕ౼ w 5SJWZͰEFCVHϩάͱͯ͠JOPEFͷใͳͲΛग़ྗ͢Δ༷ʹ࣮ w 5SFOE.JDSPͳͲͰɺݕূ༻ͷπʔϧΛผ్։ൃ͠ఏڙ͍ͯ͠ΔΒ͍͠ ଟͷϨΠϠʔͰΤϥʔ͕ఆ͞ΕΔͨΊɺ*TTVFରԠ͕ࠈͱͳΓ͏Δ
ςετͷ࡞ w ϑΝΠϧγεςϜͷςετͲ͏ॻ͘Μͩͱ͍͏Έ w ԾϚγϯͷςετͲ͏ॻ͘Μͩͱ͍͏Έ
ϑΝΠϧγεςϜͷςετ w ੲձ͔ࣾΒͬͨ࡞ֶͬͯͿ04ຊʹϒϩοΫσόΠεʹ͍ͭͯॻ͍ͯ͋ͬͨ ͜ͱΛࢥ͍ग़͢ w ࠷খͷϒϩοΫσόΠεΛ࡞͠ςετσʔλΛ࡞
ԾϚγϯͷςετ w ԾϚγϯΠϝʔδΛ*B$ͱͯ͠એݴͰ͖Δ1BDLFSΛར༻ w $*্Ͱ࡞ͨ͠*NBHFΛ༻͍ͯςετ͢ΔΑ͏ʹઃܭ
ϦϦʔε
֤࣌ظΛৼΓฦΔͱ w ͱʹ͔ͬͯ͘ΈΔظ ΞʔΩςΫνϟʹनΘΕͣɺະͷϞϊΛཧղ͢Δ͜ͱʹΊͨ w ఀظ खΛࢭΊͯɺಘͨࣝΛͱʹ͞Βʹֶश͢Δ͜ͱͰࣝͷπϦʔΛ࡞ͬͨ w
໎ظ ࣅ༷ͨͳଞͷϞϊʹ৮ΕͯɺநతͳཧղΛৢͤͨ͞ w ࡞ΓࠐΈظ ઓୂγϦʔζ૯ू߹తͳΠϝʔδͰશͯΛ૯ಈһͯ͠࡞Γͨ͠
֤࣌ظΛৼΓฦΔͱ w ͱʹ͔ͬͯ͘ΈΔظ ΞʔΩςΫνϟʹनΘΕͣɺະͷϞϊΛཧղ͢Δ͜ͱʹΊͨ w ఀظ खΛࢭΊͯɺಘͨࣝΛͱʹ͞Βʹֶश͢Δ͜ͱͰࣝͷπϦʔΛ࡞ͬͨ w
໎ظ ࣅ༷ͨͳଞͷϞϊʹ৮ΕͯɺநతͳཧղΛৢͤͨ͞ w ࡞ΓࠐΈظ ઓୂγϦʔζ૯ू߹తͳΠϝʔδͰશͯΛ૯ಈһͯ͠࡞Γͨ͠ ະͷϞϊʹ͔͏ਓ͜͏͍͏ਐΈํͳͷͰͱ͍͏ֶͼ
ͦͷଞͷֶͼ ɾ༷ॻΛಡΈͳ͕Β࣮͢Δ͜ͱ ༷ॻ͢Δ͜ͱ͋Δɺ͋͘·Ͱ֓ཁཧղͷॿ͚ʹͳΔ ɾطଘͷίʔυͷॏཁੑ ࢥΘ͵πʔϧػೳʹӅΕͨػೳ͕ೖ͍ͬͯΔ͜ͱ͋Δɻ ීஈ͔ΒOSSϓϩάϥϜͷίʔυΛಡΉͷΓ͍͍͜ͱͩͳͱࢥ͍·ͨ͠ɻ ɾ༗ࣝऀͷ૬ஊ ͏ຊʹΘ͔Βͳ͔ͬͨΒɺ୭͜ΕߏΘͣ࿈བྷͯ͠ΈΔͷΓ͍͍ ɾҰੜΘͳ͍ͩΖ͏ͳͱ͍͏͕ࣝੜ͖Δࣄ͋Δ ͖ͬΓݴͬͯࠓճͷ࣮ͰಘֶͨͼҰੜΘͳ͍ͩΖ͏ͱࢥͬͯΔ
༷ॻͷ͢͢Ί w J1BE͕͓͢͢ΊͰ͢ɻ1%'ʹͦͷ··ॻ͖ࠐΊͨΓɺϊʔτͬͨΓ