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
Software Development
Search
SHIBATA Hiroshi
May 14, 2019
Technology
1
6.6k
Software Development
SHIBATA Hiroshi
May 14, 2019
Tweet
Share
More Decks by SHIBATA Hiroshi
See All by SHIBATA Hiroshi
How to make faster release cycle of Ruby?
hsbt
2
5.8k
Ruby の開発を支えるエコシステム
hsbt
4
2.3k
Why is building the Ruby environment hard?
hsbt
6
7.7k
開発環境へのこだわり
hsbt
16
12k
OSS ことはじめ
hsbt
5
1.4k
GMO DevNight 05 在宅勤務開始から2ヶ月でやったこと
hsbt
2
550
Development Environment 2019
hsbt
1
340
How to become the Psychic
hsbt
0
2k
Social Inclusion for Engineering Organization
hsbt
0
1.1k
Other Decks in Technology
See All in Technology
ゼロコード計装導入後のカスタム計装でさらに可観測性を高めよう
sansantech
PRO
1
650
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
24
16k
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
250
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
260
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
5.3k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
220
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
410
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.6k
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
820
新米エンジニアをTech Leadに任命する ー 成長を支える挑戦的な人と組織のマネジメント
naopr
1
340
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
3
600
LLM APIを2年間本番運用して苦労した話
ivry_presentationmaterials
1
190
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Navigating Team Friction
lara
190
15k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Docker and Python
trallard
46
3.6k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Testing 201, or: Great Expectations
jmmastey
46
7.7k
The World Runs on Bad Software
bkeepers
PRO
72
11k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
220
A designer walks into a library…
pauljervisheath
209
24k
Code Review Best Practice
trishagee
72
19k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
680
Transcript
ιϑτΣΞ৺ͷதʹ ࣲాതࢤ(.01&1"#0JOD ৽ଔݚम࠲ֶ ιϑτΣΞ։ൃ
Hiroshi SHIBATA @hsbt https://www.hsbt.org Executive Officer VP of Engineering Technical
Director at GMO Pepabo, Inc. @pepabo
self.introduce => { name: “SHIBATA Hiroshi”, nickname: “hsbt”, organizations: [“ruby”,
“rubygems”, “asakusarb”, “pepabo”, …], commit_bits: [“ruby”, “rake”, “rubygems”, “bundler”, “rdoc”, “psych”, “ruby-build”, “railsgirls”, “railsgirls-jp”, …], sites: [“hsbt.org”, “ruby-lang.org”, “rubyci.org”, “railsgirls.com”, “railsgirls.jp”], }
ιϑτΣΞͬͯͳΜͰ͔͢ ࣗ༝هड़
ιϑτΣΞͲ͜ʹ͋Δͷ͔ wιϑτΣΞਓʑͷ৺ͷதʹ͋ Δ wιϑτΣΞਓʑͷίϛϡχ έʔγϣϯͷதʹ͋Δ ʰεΫϥϜ࣮ફೖʱٕज़ධࣾɺ2016ɺp.10
lιϑτzΣΞ “ࢲɺιϑτΣΞߏஙʹ͓͍ͯࠔͳ෦ɺ͜ͷ ֓೦ߏମͷ༷࡞ͱσβΠϯ͓Αͼςετʹ͋ͬ ͯɺͦΕΛදݱ͢Δࣄͦͷදݱʹ࣮͔൱͔Λς ετ͢ΔࣄͰͳ͍ͱߟ͍͑ͯΔɻ” ʰਓ݄ͷਆʲ৽൛ʳʱؙળग़൛ɺ2014ɺp.170
͋ΒΏΔιϑτΣΞ͕ਓͱਓͱͷରΛ࣋ͭ w͚ࣗͷιϑτΣΞˠ։ൃऀࣗར༻ऀࣗ wಛఆͷ৫͔ΒͷཁٻΛղܾ͢ΔιϑτΣΞˠ։ൃऀ։ൃνʔϜ·ͨࣗ ݸਓར༻ऀಛఆͷ৫ʹॴଐ͍ͯ͠Δਓʑ wෆಛఆͷ৫ʹ͚ͨιϑτΣΞˠ։ൃऀ։ൃνʔϜ·ͨࣗݸਓར ༻ऀෆಛఆଟ
֓೦ԽͱநԽ wιϑτΣΞ͕ਓͱਓͱΛհͯ͠ଘࡏ͢Δ֓೦্ͷଘࡏͰ͋Δ w֓೦্ͷଘࡏΛίϯϐϡʔλʹΑͬͯݱ࣮ͱͯ͠ಈ͔ͨ͢Ίʹɺෆཁͳ֓೦ Λ͗མͱ͢நԽ͕ඞཁͰ͋Δ w੍ޚͷநԽ wσʔλͷநԽ
੍ޚͷநԽ wίϯϐϡʔλΛಈ͔ͨ͢ΊʹϝϞϦɺ$16ɺσΟεΫɺωοτϫʔΫͳͲΛ ػցޠʹΑͬͯهड़͢Δඞཁ͕͋Δ 8JLJQFEJBͷྫ 10110000 01100001 ! B0 61
! MOV AL, 61h wߴڃݴޠ $ɺ'PSUSBOɺFUDʜ ͰΑΓநԽ͞Ε͍ͯΔ for(i=0; i<10; i++); … wݱͰʜ 10.times{…}
σʔλͷநԽ wྫ࡞ՈNJOOFͷར༻ऀຊࡏॅͷਓਓ wͲͷநϨΠϠʔΛιϑτΣΞͱ࣮ͯ͠ݱ͢Δ͔ʹΑͬͯɺιϑτΣΞͷ ෳࡶ͕ҟͳΔ wநϨΠϠʔΛ্͛Δ΄ͲιϑτΣΞͱͯ͠ߟྀ͖͢ࣄ͕૿͑ΔͨΊɺ ιϑτΣΞͱͯ͠ਓͱਓ͕Πϝʔδ͍ͯ͠ΔࣄʹԊͬͨσʔλΛݕ౼͢Δ ඞཁ͕͋Δ
ιϑτΣΞ։ൃͷࠔ͞ʹཱ͔ͪ͏ wιϑτΣΞύϥμΠϜ ˠߏԽϓϩάϥϛϯάɺΦϒδΣΫτࢦϓϩάϥϛϯάɺ($ɺܕਪʜ wιϑτΣΞΞʔΩςΫνϟ ˠ(P'ͷσβΠϯύλʔϯɺ.7$ɺ.77.ɺ.JDSP4FSWJDFTʜ wιϑτΣΞ։ൃϓϩηε ˠΥʔλϑΥʔϧɺεύΠϥϧϞσϧɺ91ɺ4DSVNʜ
ྑ͍ιϑτΣΞͬͯԿͩͱࢥ͍·͔͢ ࣗ༝هड़
γεςϜֶ wࣄΛΠϯϓοτɺܥ γεςϜ ɺΞτϓοτͷࡾͭͰϞσϧԽ͢Δ wΠϯϓοτͱܥ͔Βੜ·ΕͨΞτϓοτ͕ظ௨ΓͰ͋Δ͔Ͳ͏͔Λ࣭ ͱݺͿ γεςϜ Πϯϓοτ Ξτϓοτ
࣭ͱ͍͏ͷઈରͰͳ͘૬ର
ֶ࣭ͱԿ͔ wl։ൃɾઃܭஈ֊ͷֶ࣭zʹΑΔఆٛ ࣭ ػೳͷΒ͖ͭʹΑΔଛࣦ ༻ίετ ฐ߲ʹΑΔଛࣦ wཧػೳͷΒ͖ͭʹΑΔଛࣦ ਓʹΑΔՁج४ਓʹΑͬͯҟͳΔͨΊɺ࣭ͱ͍͏ͷΛֶͱͯ͠ѻ͏
࣌ʹɺՁج४ʹরΒ͢ͷͰͳ͘ɺ࡞ͷཧػೳͱ࣮ࡍʹ༗͢Δػೳ ͱͷΒ͖ͭΛج४ͱ͢Δ
ֶ࣭ͷجຊతͳߟ͑ํ w։ൃઃܭஈ֊Ͱ࣭Λ࡞ΓࠐΉ ˠஈ֊Ͱ࡞ΓࠐΉ͔ΒػೳͷΒ͖͕ͭൃੜ͢Δ wΑ͋͘Δޡղ ʮςετɾࢼݧͰ্࣭ʯ wςετͰΘ͔Δ͜ͱ࡞ͷ࣭͕Ͳͷఔ͔Ͱ͋Γɺ࡞ͦͷͷͷ ࣭͕มԽ͢ΔΘ͚Ͱͳ͍
اըஈ֊ͷ࣭ཧ l࣭zϢʔβʔͷظ͢Δػೳͱ࣮ࡍʹఏڙ͍ͯ͠ΔػೳͱͷဃͰ͋Δ ߴ࣭ wػೳͱཧػೳͱͷဃͷΒ͖͕ͭখ͍͜͞ͱ wϓϥεͷဃ͕ߴ͍͜ͱ͚͕ͩߴ࣭ͱݺͳ͍ ྫա࣭ ࣭ wػೳͱཧػೳͱͷဃͷΒ͖͕ͭେ͖͍͜ͱ wϚΠφεͷဃ͕େ͖͚ΕϢʔβʔͷຬײΛຬͨ͢͜ͱͰ͖ͳ͍
ͨΓલ࣭ͱັྗత࣭ ङ ັྗత࣭ͱͨΓલ࣭ ʹΑΔఆٛ ͨΓલ࣭ w࣭ج४Λຬͨ͞ͳ͍߹ɺϢʔβʔͷຬΛԼͤ͞ΔཁҼͱͳΔ͕ɺຬ ͍ͨͯͯ͠ຬͷ্ݟࠐΊͳ͍ ັྗత࣭ w࣭ج४Λຬͨͨ͠߹ɺϢʔβʔͷຬΛ্ͤ͞ΔཁҼͱͳΔ͕ɺຬͨ ͯ͠ͳ͍߹ͰຬʹӨڹ͠ͳ͍
εϚʔτϑΥϯͷ ͨΓલ࣭ͱັྗత࣭Λߟ͑Α͏ ࣗ༝هड़
ͨΓલ࣭ͱັྗత࣭ IUUQTTJUFTHPPHMFDPNTJUFUFDIENCBLBOPNPEFM
·ͱΊ wιϑτΣΞΈΜͳͷ৺ͷதʹ͋Δ w࣭ςετʹΑͬͯಘΒΕΔͷͰͳ͕ࣗͨͪ͘࡞ΓࠐΉͷ w͕ࣗ࡞͍ͬͯΔͷͷ࣭Կ͔Λҙࣝ͢Δ ͨΓલ࣭ͱັྗత࣭ wͦͦιϑτΣΞ։ൃ͍͠ w͍͠ͷΛཧղ্ͨ͠ͰΑΓྑ͍ιϑτΣΞΛੜΈग़ͨ͢ΊʹؤுΓ·͠ΐ ͏