Slide 1

Slide 1 text

ιϑτ΢ΣΞ͸৺ͷதʹ ࣲాതࢤ(.01&1"#0JOD ৽ଔݚम࠲ֶ ιϑτ΢ΣΞ։ൃ

Slide 2

Slide 2 text

Hiroshi SHIBATA @hsbt https://www.hsbt.org Executive Officer VP of Engineering Technical Director at GMO Pepabo, Inc. @pepabo

Slide 3

Slide 3 text

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”], }

Slide 4

Slide 4 text

ιϑτ΢ΣΞͬͯͳΜͰ͔͢ ࣗ༝هड़෼

Slide 5

Slide 5 text

ιϑτ΢ΣΞ͸Ͳ͜ʹ͋Δͷ͔ wιϑτ΢ΣΞ͸ਓʑͷ৺ͷதʹ͋ Δ wιϑτ΢ΣΞ͸ਓʑͷίϛϡχ έʔγϣϯͷதʹ͋Δ ʰεΫϥϜ࣮ફೖ໳ʱٕज़ධ࿦ࣾɺ2016೥ɺp.10

Slide 6

Slide 6 text

lιϑτz΢ΣΞ “ࢲ͸ɺιϑτ΢ΣΞߏஙʹ͓͍ͯࠔ೉ͳ෦෼͸ɺ͜ͷ ֓೦ߏ଄ମͷ࢓༷࡞੒ͱσβΠϯ͓Αͼςετʹ͋ͬ ͯɺͦΕΛදݱ͢Δ࢓ࣄ΍ͦͷදݱʹ஧࣮͔൱͔Λς ετ͢Δ࢓ࣄͰ͸ͳ͍ͱߟ͍͑ͯΔɻ” ʰਓ݄ͷਆ࿩ʲ৽૷൛ʳʱؙળग़൛ɺ2014೥ɺp.170

Slide 7

Slide 7 text

͋ΒΏΔιϑτ΢ΣΞ͕ਓͱਓͱͷର࿩Λ࣋ͭ wࣗ෼޲͚ͷιϑτ΢ΣΞˠ։ൃऀࣗ෼ར༻ऀࣗ෼ wಛఆͷ૊৫͔ΒͷཁٻΛղܾ͢Διϑτ΢ΣΞˠ։ൃऀ։ൃνʔϜ·ͨ͸ࣗ ෼ݸਓར༻ऀಛఆͷ૊৫ʹॴଐ͍ͯ͠Δਓʑ wෆಛఆͷ૊৫ʹ޲͚ͨιϑτ΢ΣΞˠ։ൃऀ։ൃνʔϜ·ͨ͸ࣗ෼ݸਓར ༻ऀෆಛఆଟ਺

Slide 8

Slide 8 text

֓೦Խͱந৅Խ wιϑτ΢ΣΞ͕ਓͱਓͱΛհͯ͠ଘࡏ͢Δ֓೦্ͷଘࡏͰ͋Δ w֓೦্ͷଘࡏΛίϯϐϡʔλʹΑͬͯݱ࣮ͱͯ͠ಈ͔ͨ͢Ίʹ͸ɺෆཁͳ֓೦ Λ࡟͗མͱ͢ந৅Խ͕ඞཁͰ͋Δ w੍ޚͷந৅Խ wσʔλͷந৅Խ

Slide 9

Slide 9 text

੍ޚͷந৅Խ wίϯϐϡʔλΛಈ͔ͨ͢Ίʹ͸ϝϞϦɺ$16ɺσΟεΫɺωοτϫʔΫͳͲΛ ػցޠʹΑͬͯهड़͢Δඞཁ͕͋Δ 8JLJQFEJBͷྫ 10110000 01100001 ! B0 61 ! MOV AL, 61h wߴڃݴޠ $ɺ'PSUSBOɺFUDʜ Ͱ͸ΑΓந৅Խ͞Ε͍ͯΔ for(i=0; i<10; i++); … w೥ݱ୅Ͱ͸ʜ 10.times{…}

Slide 10

Slide 10 text

σʔλͷந৅Խ wྫ࡞ՈNJOOFͷར༻ऀ೔ຊࡏॅͷਓਓ wͲͷந৅ϨΠϠʔΛιϑτ΢ΣΞͱ࣮ͯ͠ݱ͢Δ͔ʹΑͬͯɺιϑτ΢ΣΞͷ ෳࡶ౓͕ҟͳΔ wந৅ϨΠϠʔΛ্͛Δ΄Ͳιϑτ΢ΣΞͱͯ͠ߟྀ͢΂͖ࣄ৅͕૿͑ΔͨΊɺ ιϑτ΢ΣΞͱͯ͠ਓͱਓ͕Πϝʔδ͍ͯ͠Δࣄ৅ʹԊͬͨσʔλΛݕ౼͢Δ ඞཁ͕͋Δ

Slide 11

Slide 11 text

ιϑτ΢ΣΞ։ൃͷࠔ೉͞ʹཱͪ޲͔͏ wιϑτ΢ΣΞύϥμΠϜ ˠߏ଄ԽϓϩάϥϛϯάɺΦϒδΣΫτࢦ޲ϓϩάϥϛϯάɺ($ɺܕਪ࿦ʜ wιϑτ΢ΣΞΞʔΩςΫνϟ ˠ(P'ͷσβΠϯύλʔϯɺ.7$ɺ.77.ɺ.JDSP4FSWJDFTʜ wιϑτ΢ΣΞ։ൃϓϩηε ˠ΢ΥʔλϑΥʔϧɺεύΠϥϧϞσϧɺ91ɺ4DSVNʜ

Slide 12

Slide 12 text

ྑ͍ιϑτ΢ΣΞͬͯԿͩͱࢥ͍·͔͢ ࣗ༝هड़෼

Slide 13

Slide 13 text

γεςϜ޻ֶ wࣄ৅ΛΠϯϓοτɺܥ γεςϜ ɺΞ΢τϓοτͷࡾͭͰϞσϧԽ͢Δ wΠϯϓοτͱܥ͔Βੜ·ΕͨΞ΢τϓοτ͕ظ଴஋௨ΓͰ͋Δ͔Ͳ͏͔Λ඼࣭ ͱݺͿ γεςϜ Πϯϓοτ Ξ΢τϓοτ

Slide 14

Slide 14 text

඼࣭ͱ͍͏ͷ͸ઈର஋Ͱ͸ͳ͘૬ର஋

Slide 15

Slide 15 text

඼࣭޻ֶͱ͸Կ͔ wl։ൃɾઃܭஈ֊ͷ඼࣭޻ֶzʹΑΔఆٛ ඼࣭ ػೳͷ͹Β͖ͭʹΑΔଛࣦ ࢖༻ίετ ฐ֐߲໨ʹΑΔଛࣦ wཧ૝ػೳͷ͹Β͖ͭʹΑΔଛࣦ ਓʹΑΔՁ஋ج४͸ਓʹΑͬͯҟͳΔͨΊɺ඼࣭ͱ͍͏΋ͷΛ޻ֶͱͯ͠ѻ͏ ࣌ʹ͸ɺՁ஋ج४ʹরΒ͢ͷͰ͸ͳ͘ɺ࡞੒෺ͷཧ૝ػೳͱ࣮ࡍʹ༗͢Δػೳ ͱͷ͹Β͖ͭΛج४ͱ͢Δ

Slide 16

Slide 16 text

඼࣭޻ֶͷجຊతͳߟ͑ํ w։ൃઃܭஈ֊Ͱ඼࣭Λ࡞ΓࠐΉ ˠ੡଄ஈ֊Ͱ࡞ΓࠐΉ͔Βػೳͷ͹Β͖͕ͭൃੜ͢Δ wΑ͋͘Δޡղ ʮςετɾࢼݧͰ඼࣭޲্ʯ wςετͰΘ͔Δ͜ͱ͸࡞੒෺ͷ඼࣭͕Ͳͷఔ౓͔Ͱ͋Γɺ࡞੒෺ͦͷ΋ͷͷ඼ ࣭͕มԽ͢ΔΘ͚Ͱ͸ͳ͍

Slide 17

Slide 17 text

اըஈ֊ͷ඼࣭؅ཧ l඼࣭z͸Ϣʔβʔͷظ଴͢Δػೳͱ࣮ࡍʹఏڙ͍ͯ͠Δػೳͱͷဃ཭Ͱ͋Δ ߴ඼࣭ wػೳͱཧ૝ػೳͱͷဃ཭ͷ͹Β͖͕ͭখ͍͜͞ͱ wϓϥεͷဃ཭͕ߴ͍͜ͱ͚͕ͩߴ඼࣭ͱ͸ݺ͹ͳ͍ ྫա৒඼࣭ ௿඼࣭ wػೳͱཧ૝ػೳͱͷဃ཭ͷ͹Β͖͕ͭେ͖͍͜ͱ wϚΠφεͷဃ཭͕େ͖͚Ε͹Ϣʔβʔͷຬ଍ײΛຬͨ͢͜ͱ͸Ͱ͖ͳ͍

Slide 18

Slide 18 text

౰ͨΓલ඼࣭ͱັྗత඼࣭ ङ໺ ັྗత඼࣭ͱ౰ͨΓલ඼࣭ ʹΑΔఆٛ ౰ͨΓલ඼࣭ w඼࣭ج४Λຬͨ͞ͳ͍৔߹ɺϢʔβʔͷຬ଍౓Λ௿Լͤ͞ΔཁҼͱͳΔ͕ɺຬ ͍ͨͯͯ͠΋ຬ଍౓ͷ޲্͸ݟࠐΊͳ͍ ັྗత඼࣭ w඼࣭ج४Λຬͨͨ͠৔߹ɺϢʔβʔͷຬ଍౓Λ޲্ͤ͞ΔཁҼͱͳΔ͕ɺຬͨ ͯ͠ͳ͍৔߹Ͱ΋ຬ଍౓ʹ͸Өڹ͠ͳ͍

Slide 19

Slide 19 text

εϚʔτϑΥϯͷ ౰ͨΓલ඼࣭ͱັྗత඼࣭Λߟ͑Α͏ ࣗ༝هड़෼

Slide 20

Slide 20 text

౰ͨΓલ඼࣭ͱັྗత඼࣭ IUUQTTJUFTHPPHMFDPNTJUFUFDIENCBLBOPNPEFM

Slide 21

Slide 21 text

·ͱΊ wιϑτ΢ΣΞ͸ΈΜͳͷ৺ͷதʹ͋Δ w඼࣭͸ςετʹΑͬͯಘΒΕΔ΋ͷͰ͸ͳࣗ͘෼͕ͨͪ࡞ΓࠐΉ΋ͷ wࣗ෼͕࡞͍ͬͯΔ΋ͷͷ඼࣭͸Կ͔Λҙࣝ͢Δ ౰ͨΓલ඼࣭ͱັྗత඼࣭ wͦ΋ͦ΋ιϑτ΢ΣΞ։ൃ͸೉͍͠ w೉͍͠ͷΛཧղ্ͨ͠ͰΑΓྑ͍ιϑτ΢ΣΞΛੜΈग़ͨ͢ΊʹؤுΓ·͠ΐ ͏