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.8k
開発環境へのこだわり
hsbt
16
12k
OSS ことはじめ
hsbt
5
1.4k
GMO DevNight 05 在宅勤務開始から2ヶ月でやったこと
hsbt
2
560
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
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
3
180
CDKの魔法を少し解いてみる ― synth・build・diffで覗くIaCの裏側 ―
takahumi27
1
140
“それなりに”安全なWebアプリケーションの作り方
xryuseix
0
290
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
450
ubuntu-latest から ubuntu-slim へ移行しよう!コスト削減うれしい~!
asumikam
0
470
これからアウトプットする人たちへ - アウトプットを支える技術 / that support output
soudai
PRO
17
5.3k
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
140
メタプログラミングRuby問題集の活用
willnet
2
780
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
2
800
プログラミング言語を書く前に日本語を書く── AI 時代に求められる「言葉で考える」力/登壇資料(井田 献一朗)
hacobu
PRO
0
150
仕様駆動 x Codex で 超効率開発
ismk
2
1.4k
ググるより、AIに聞こう - Don’t Google it, ask AI
oikon48
0
840
Featured
See All Featured
Music & Morning Musume
bryan
46
6.9k
Designing Experiences People Love
moore
142
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Site-Speed That Sticks
csswizardry
13
960
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Embracing the Ebb and Flow
colly
88
4.9k
Producing Creativity
orderedlist
PRO
348
40k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
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͍͠ͷΛཧղ্ͨ͠ͰΑΓྑ͍ιϑτΣΞΛੜΈग़ͨ͢ΊʹؤுΓ·͠ΐ ͏