Slide 1

Slide 1 text

ϒϥ΢βͰʮࠓ͙͢ʯ HFNΛಡΈࠐΉํ๏ େࡕ3VCZձٞ !MOJ@5ϧχ

Slide 2

Slide 2 text

ࣗݾ঺հ w5XJUUFS 9 *%!MOJ@5 wډॅ஍౦ژ wग़਎஍࿨Վࢁ wࠓ೔͸ͻ͞ͼ͞ʹؔ੢ʹؼ͖͍ͬͯͯ·͢

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

͓͠͝ͱ .FE1FFSαʔόʔαΠυϦʔυΤϯδχΞ ۀ຿಺༰ SBJMTOFX͔ΒσϓϩΠอक·ͰରԠ ୂ௕͕ෆ଍͍ͯ͠Δࣄۀʹೖͬͯ 
 ͳΜ͔ྑ͍ײ͡ʹՐফ͠Λͯ͠ϦϦʔε ศར԰͞Μঢ়ଶʂ

Slide 8

Slide 8 text

ͭͬͨ͘΋ͷ ϒϥ΢βͰ3VCZΛ࢖͏ͱʜͨͷ͍͠ʂʂʂ SVCZXBTN੡ήʔϜΛެ։ͨ͠Γ͍ͯ͠·͢

Slide 9

Slide 9 text

SVCZXBTN͓͞Β͍

Slide 10

Slide 10 text

SVCZXBTNͱ͸ ϒϥ΢β্Ͱ3VCZ͕ಈ͘ ͦͷଞ8FC"TTFNCMZϥϯλΠϜͰ΋3VCZ͕ಈ͘

Slide 11

Slide 11 text

3VCZ,BJHJ͓͞Β͍ IUUQTTQFBLFSEFDLDPNMFETVOMPBEHFNGSPNCSPXTS

Slide 12

Slide 12 text

8BTNͰHFN͸࢖͑Δ͔ $47΍:".-ͳͲͷHFN͸࢖͑Δ ಉࠝ͞ΕͨGVMMCVJME൛͕ެ։͞Ε͍ͯΔ SEQBSUZHFN͸࢖͑ͳ͍ ˞ࣗྗͰϏϧυ͢Ε͹࢖͑Δ΋ͷ΋༗ Ͱ΋HFN࢖͍͍ͨΑͶʂʂʂ

Slide 13

Slide 13 text

+BWB4DSJQUͷྺ࢙ʹֶͿ +BWB4DSJQU΋ಉ͡໰୊Λ๊͍͑ͯͨ OQNͷύοέʔδΛ 
 OPEFKTϒϥ΢βͲͪΒͰ΋࢖͍͍ͨ

Slide 14

Slide 14 text

+BWB4DSJQUͷྺ࢙ʹֶͿ /PEFKT +BWB4DSJQUʹNPEVMF͕࣋ͪࠐ·Εͨ #SPXTFSJGZ શͯͷґଘ+4ΛϑΝΠϧʹ·ͱΊΔ *NQPSUNBQT ໊લͱύε 63- Λඥ͚ͮͯϩʔυͰ͖ΔΑ͏ʹ

Slide 15

Slide 15 text

Ξϓϩʔνํ๏ " #VOEMJOHͯ͠εΫϦϓτΛϑΝΠϧʹ·ͱΊΔ # ࣮ߦ࣌ʹύεͷඥ෇͚Λ༻͍ͯ୳͠ʹߦ͘

Slide 16

Slide 16 text

Ξϓϩʔνํ๏ " #VOEMJOHͯ͠εΫϦϓτΛϑΝΠϧʹ·ͱΊΔ # ࣮ߦ࣌ʹύεͷඥ෇͚Λ༻͍ͯ୳͠ʹߦ͘ w #Λ࠾༻ͯ͠SFRVJSF@SFMBUJWF SFRVJSFͳͲͷ 
 ࣮૷ΛਐΊ͍ͯ͘ʜ w ͱ͍͏ͷ͕3VCZ,BJHJͷ͓࿩Ͱͨ͠ɻ

Slide 17

Slide 17 text

ͦͷޙͷ࿩ 3VCZ,BJHJGPMMPXVQ SFRVJSF@SFMBUJWF͕ಈ͘Α͏ʹͳͬͨͱͷ͜ͱ IUUQTTQFBLFSEFDLDPNMFETVOSVCZEPUXBTNOJHVBOTVSVKJOCVCBPHBP

Slide 18

Slide 18 text

ͦͷޙͷ࿩ ࠓޙଓใ͕དྷΔʜ͔΋ʜʁ

Slide 19

Slide 19 text

͓͞Β͍ɹ͓ΘΓ

Slide 20

Slide 20 text

ࠓ೔ͷ͓୊

Slide 21

Slide 21 text

ϒϥ΢βͰʮࠓ͙͢ʯ HFNΛಡΈࠐΉํ๏

Slide 22

Slide 22 text

Ξϓϩʔνํ๏ " #VOEMJOHͯ͠εΫϦϓτΛϑΝΠϧʹ·ͱΊΔ # ࣮ߦ࣌ʹύεͷඥ෇͚Λ༻͍ͯ୳͠ʹߦ͘

Slide 23

Slide 23 text

Ξϓϩʔνํ๏ " #VOEMJOHͯ͠εΫϦϓτΛϑΝΠϧʹ·ͱΊΔ # ࣮ߦ࣌ʹύεͷඥ෇͚Λ༻͍ͯ୳͠ʹߦ͘ w ʮࠓ͙͢ʯಡΈࠐΉͳΒʲϓϥϯ"ʳͳͷͰ͸ʁ

Slide 24

Slide 24 text

3VCZίʔυΛ #VOEMJOH͍ͨ͠

Slide 25

Slide 25 text

SCϑΝΠϧΛ·ͱΊ͍ͨ NBJOSC MJCSC MJCSC CVOEMFESC

Slide 26

Slide 26 text

ૄ݁߹ͳ؀ڥʹͳΔͷͰ͸ CVOEMFESC SVCZXBTN ϒϥ΢β ެࣜఏڙ 
 Ϗϧυ൛ ඞཁͳ HFN

Slide 27

Slide 27 text

Ұॹʹ΍ͬͯΈΑ͏ʂ

Slide 28

Slide 28 text

ґଘؔ܎͕෼͔Ε͹ʜ NBJOSC ʘSFRVJSFʗ MJCSC

Slide 29

Slide 29 text

,FSOFMDBMMFS@MPDBUJPOT όοΫτϨʔεΛऔಘͰ͖Δϝιου

Slide 30

Slide 30 text

,FSOFMDBMMFS@MPDBUJPOT SFRVJSF࣌ʹDBMMFS@MPDBUJPOTΛऔಘ͢Ε͹ 
 ґଘؔ܎͕Θ͔ΔͷͰ͸ʁ

Slide 31

Slide 31 text

,FSOFMDBMMFS@MPDBUJPOT SFRVJSF࣌ʹDBMMFS@MPDBUJPOTΛऔಘ͢Ε͹ 
 ґଘؔ܎͕Θ͔ΔͷͰ͸ʁ SFRVJSFΛվ଄ͯ͠ॲཧΛ௥Ճ͠Α͏ʂʂ BMJBT@NFUIPE QSFQFOE

Slide 32

Slide 32 text

BMJBT@NFUIPE SFRVJSFϝιουʹผ໊Λ͚͓ͭͯ͘ ৽SFRVJSF͔ΒچSFRVJSFΛݺͿ͜ͱͰSFRVJSFΛ֦ு

Slide 33

Slide 33 text

QSFQFOE SFRVJSFΛ্ॻ͖ͭͭ͠TVQFSͰݩͷڍಈΛݺͼग़͠

Slide 34

Slide 34 text

SFRVJSFͷґଘ͕ḷΕΔ SFRVJSFKTPOͷྫ

Slide 35

Slide 35 text

/&95SFRVJSF@SFMBUJWF

Slide 36

Slide 36 text

SFRVJSF@SFMBUJWFͷ໰୊఺ MJC CBTFSC NPEVMFTSC SFRVJSF@SFMBUJWF ݱࡏͷϑΝΠϧ͔Βͷ૬ରύεͰSFRVJSF͢Δ SFRVJSF@SFMBUJWFNPEVMFTSC

Slide 37

Slide 37 text

SFRVJSF@SFMBUJWFͷ໰୊఺ MJC CBTFSC NPEVMFTSC QBUDISC QBUDISCͰSFRVJSF@SFMBUJWFΛॻ͖׵͑Δͱʁ SFRVJSF@SFMBUJWFNPEVMFTSC

Slide 38

Slide 38 text

SFRVJSF@SFMBUJWFͷ໰୊఺ MJC CBTFSC NPEVMFTSC QBUDISC SFRVJSF@SFMBUJWFNPEVMFTSC

Slide 39

Slide 39 text

SFRVJSF@SFMBUJWFͷ໰୊఺ MJC CBTFSC NPEVMFTSC QBUDISC SFRVJSF@SFMBUJWFNPEVMFTSC DBOOPUMPBETVDI fi MF

Slide 40

Slide 40 text

SFRVJSF@SFMBUJWFͷ໰୊఺ SFRVJSF@SFMBUJWF ݱࡏͷϑΝΠϧ͔Βͷ૬ରύεͰSFRVJSF͢Δ ୯७ͳΦʔόʔϥΠυͩͱڍಈ͕มΘͬͯ͠·͏ʂ ͜·ͬͨ🤔

Slide 41

Slide 41 text

ઌਓʹֶͿ SVCZMJCTZOUBY@TVHHFTUDPSF@FYUSC SFRVJSFछʹBMJBT@NFUIPE͍ͯ͠Δ

Slide 42

Slide 42 text

ઌਓʹֶͿ SFRVJSF@SFMBUJWF͸ʜʁ ݺͼग़͠ݩͷઈରύεର৅ύεΛ૊Έཱͯ

Slide 43

Slide 43 text

SFRVJSF@SFMBUJWF΋ḷΕΔʂ

Slide 44

Slide 44 text

͜ΕͰ3VCZϑΝΠϧͷ ґଘؔ܎͕ྻڍͰ͖Δʂ

Slide 45

Slide 45 text

࣮ࡏͷHFNͰࢼ͢

Slide 46

Slide 46 text

࣮ࡏͷHFN ͓୊͸WJDUPSHFN

Slide 47

Slide 47 text

SFRVJSFΛḷΔ

Slide 48

Slide 48 text

SFRVJSFΛḷΔ

Slide 49

Slide 49 text

ඪ४ϥΠϒϥϦ͸ল͘ GPSXBSEBCMF͸ඪ४ఴ෇ͳͷͰCVOEMFෆཁ

Slide 50

Slide 50 text

ґଘݩͱґଘઌͷ ه࿥͕׬ྃ

Slide 51

Slide 51 text

ιʔείʔυΛల։ ϑΝΠϧʹCVOEMF׬ྃʂ

Slide 52

Slide 52 text

ϒϥ΢β͔Βϩʔυ )5.-ʹߦॻ͚ͩ͘ʂ

Slide 53

Slide 53 text

🎉ಈ͍ͨʂ🎉

Slide 54

Slide 54 text

3VCZͷ#VOEMF׬ʁ

Slide 55

Slide 55 text

ͱ͍͏༁ʹ΋͍͔ͳ͍

Slide 56

Slide 56 text

ఢ͸SFRVJSF͚ͩʹඇͣ

Slide 57

Slide 57 text

'JMFSFBEಈ͔ͳ͍ ಺෦Ͱ3VCZεΫϦϓτҎ֎Λࢀর͍ͯ͠Δ ύε͕ಈతʹมΘΔͷͰల։΋Ͱ͖ͳ͍

Slide 58

Slide 58 text

ղܾ๏ +4Ͱ'FUDIͯ͠ɺXBTNͷϑΝΠϧγεςϜ಺ʹ 
 อ͓࣋ͯ͘͠ͱಈ͘ʂ

Slide 59

Slide 59 text

🎉ࠓ౓ͦ͜ಈ͍ͨʂ🎉

Slide 60

Slide 60 text

%FNP

Slide 61

Slide 61 text

SVCZXBTNTZOUIFTJ[FS

Slide 62

Slide 62 text

% FN P %FNP IUUQTMOJUHJUIVCJPSVCZXBTNTZOUIFTJ[FSXBWF

Slide 63

Slide 63 text

SVCZXBTNTZOUIFTJ[FS ಺෦ղઆ

Slide 64

Slide 64 text

3VCZͰԻΛ໐Β͢

Slide 65

Slide 65 text

8FC"VEJP"1* 8FC"VEJP"1* ΢Σϒ্ͰԻ੠Λѻ͏ͨΊͷڧྗͳγεςϜΛఏ ڙ Ի੠ͷ߹੒ɺಛघޮՌ ΤίʔͳͲ ͳͲ͕Ͱ͖Δ BVEJPλάΑΓߴػೳ

Slide 66

Slide 66 text

8FC"VEJP"1* +BWB4DSJQUͰ࢖͏৔߹ɺ 
 "VEJP$POUFYUͷΠϯελϯε͕ඞཁʹͳΔ ͔͠͠ɺ3VCZ্Ͱ͸OFX͕Ͱ͖ͳ͍ʂ const ctx = new AudioContext();

Slide 67

Slide 67 text

3VCZͰAOFXA͢Δ +4FWBMΛ࢖͏͜ͱͰ+4ͷΠϯελϯεΛऔಘՄೳ OFXແ͍໰୊͸͜ΕͰճආՄೳ @ctx = JS.eval('return new AudioContext')

Slide 68

Slide 68 text

3VCZͰAOFXA͢Δ ͜ͷ໰୊͸SVCZXBTNWͰղফ͞Εͯ 
 FWBMͳ͠Ͱ΋OFXͰ͖ΔΑ͏ʹͳΓ·ͨ͠ʂ @ctx = JS.global[:AudioContext].new

Slide 69

Slide 69 text

3VCZͰ೾ܗΛੜ੒͢Δ

Slide 70

Slide 70 text

ϧʔϓΛճͯ͠ पظͷ൒෼͸΋͏൒෼͸ ͱͳΔ഑ྻΛੜ੒

Slide 71

Slide 71 text

3VCZͰ೾ܗΛੜ੒͢Δ "VEJP$POUFYU͔ΒԻ੠όοϑΝΛੜ੒ͯ͠ʜ ೾ܗσʔλΛॻ͖ࠐΊ͹׬ྃ

Slide 72

Slide 72 text

೾ͷߴ͞Λඳը ઌఔల։ͨ͠7JDUPSͷίʔυͰ೾ܗΛՄࢹԽ

Slide 73

Slide 73 text

ԻݯΛ࠶ੜ "VEJP$POUFYU͔ΒԻݯΛ࡞੒ ग़ྗʹͭͳ͛Δ ࠶ੜ͢Ε͹Ի͕໐Δʂ

Slide 74

Slide 74 text

LFZEPXOΛर͏ LFZEPXOΠϕϯτΛरͬͯ ΩʔʹԠͨ͡ԻΛ໐Β͢ʂ

Slide 75

Slide 75 text

Ի֊Λͭ͘Δ

Slide 76

Slide 76 text

8FC"VEJPͰԻ֊ EFUVOFϓϩύςΟΛࢦఆ͢Ε͹Մೳ ൒Ի্ͷԻΛग़͢ʮʯΛࢦఆ PDU্ͷԻΛग़͢ʮʯΛࢦఆ ୯Ґ͸ʮηϯτʯ ηϯτˠ൒Իҧ͍ υˠυ

Slide 77

Slide 77 text

8FC"VEJPͰԻ֊ ͔ΜͨΜʂ LFZ͝ͱͷԻ֊Λه࿥͓͍ͯͯ͠ 
 EFUVOFʹઃఆ͢Δ͚ͩʂ

Slide 78

Slide 78 text

,FZೖྗ,FZCPBSE׬੒ ΩʔϘʔυ 1$ ͰΩʔϘʔυ ָث Λ࣮૷ʂ ͜ͷ伴൫΋WJDUPS੡

Slide 79

Slide 79 text

ϑϧ3VCZͰ ͍Ζ͍ΖͰ͖Δʂ

Slide 80

Slide 80 text

͓ΘΓʹ

Slide 81

Slide 81 text

͓ΘΓʹ ґଘؔ܎Λల։ͯ͠HFNͷίʔυΛ·ͱΊͯΈͨ ϒϥ΢βͰHFN͕͏͘͝ʂʂ ͔͠͠ɺ׬ᘳʹ·ͱΊΔͨΊʹ͸՝୊͕ଟ͍ ಈతʹGFUDIͰ͖ͨํ͕خ͍͜͠ͱ͕ଟͦ͏

Slide 82

Slide 82 text

ະରԠͷ՝୊ BVUPMPBE DPOTU@OBNF GFBUVSF ఆ਺DPOTU@OBNFΛ࠷ॳʹࢀরͨ࣌͠ʹ 
 GFBUVSFΛ,FSOFMSFRVJSF ͪ͜Β΋௥੻͢Δඞཁ͕͋Γͦ͏

Slide 83

Slide 83 text

ະରԠͷ՝୊ ͜͏͍͏΍΍͍͜͠SFRVJSF ['Alice', 'Bob', 'Eve'].each do |klass_name| k_down = klass_name.downcase.intern require "modules/#{k_down}" end

Slide 84

Slide 84 text

ϒϥ΢βͰ3VCZΛ࢖͏ͱ ͨͷ͍͠ʂ

Slide 85

Slide 85 text

એ఻ʂ ࠓޙͷొஃ༧ఆ দߐ3VCZձٞʢ౔ʣ SVCZXBTNͰ࡞ͬͨ΋ͷͨ͘͞Μ ,BJHJPO3BJMT ۚ ౔ 5VSCPͰਝ଎ʹαʔϏεΛ্ཱͪ͛Δ࿩

Slide 86

Slide 86 text

No content

Slide 87

Slide 87 text

ΤϯδχΞ৬ͷํɹੵۃ࠾༻தʂ ҰॹʹϝυϐΞͷࣄۀΛ৳͹͍͖͍ͯͨ͠ΤϯδχΞͷํɺ͓଴͓ͪͯ͠Γ·͢ʂ ςοΫϒϩά IUUQTISNPTDPQBHFTNFEQFFSKPCT ϦʔυΤϯδχΞʢαʔόʔαΠυʣ ΤϯδχΞ঺հ IUUQTFOHJOFFSNFEQFFSDPKQ IUUQTUFDINFEQFFSDPKQ ٻਓ ϒϩά