Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Software Development
SHIBATA Hiroshi
May 14, 2019
Technology
0
4.7k
Software Development
SHIBATA Hiroshi
May 14, 2019
Tweet
Share
More Decks by SHIBATA Hiroshi
See All by SHIBATA Hiroshi
hsbt
1
150
hsbt
1
150
hsbt
0
950
hsbt
0
460
hsbt
0
280
hsbt
0
16
hsbt
0
120
hsbt
0
370
hsbt
35
4.9k
Other Decks in Technology
See All in Technology
line_developers
PRO
0
170
korodroid
0
110
go5paopao
4
450
viva_tweet_x
3
2.8k
viva_tweet_x
1
410
grapecity_dev
0
170
futo23
1
310
miyakemito
1
580
yshr1200
0
170
clustervr
0
140
pakio
0
120
shoichiron
1
120
Featured
See All Featured
jeffersonlam
329
15k
bkeepers
408
58k
searls
205
36k
thoeni
3
610
malarkey
393
61k
3n
163
22k
ddemaree
273
31k
smashingmag
283
47k
afnizarnur
176
14k
garrettdimon
288
110k
kneath
294
39k
dougneiner
55
5.4k
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͍͠ͷΛཧղ্ͨ͠ͰΑΓྑ͍ιϑτΣΞΛੜΈग़ͨ͢ΊʹؤுΓ·͠ΐ ͏