Slide 1

Slide 1 text

ʙϓϩάϥϚͷࡾେඒಙͷԠ༻ྫͱͯ͠ʙ ܀ྛ݈ଠ࿠(.0ϖύϘגࣜձࣾ ,3VCZ ଵଦɾ୹ؾɾၗຫͳՈఉΛங͘

Slide 2

Slide 2 text

(.0ϖύϘגࣜձࣾ ܀ྛ݈ଠ࿠!LFOUBSP औక໾$50 IUUQTLFOUBSPLPSH

Slide 3

Slide 3 text

͍·ࣛࣇౡʢݝग़਎ʣͰ ΋ͬͱ΋੎͍ͷ͋Δ୅ΤϯδχΞ

Slide 4

Slide 4 text

՝୊ͱղܾํ਑ͷఏࣔ

Slide 5

Slide 5 text

Α͋͘Γ͕ͪͳՈఉ಺ͷ͢Εҧ͍ ‣ ʮ͋ͷ࿩ɺͨ͠ΑͶɻ͖͍ͯͳ͔ͬͨͷʁʯ ‣ ʮ஗͘ͳΔͳΒɺ༦৯ͷྔΛௐ੔͢Δ͔Βલ΋͍ͬͯͬͯΑʂʯ ‣ ʮ·ͨిؾ͚ͭͬͺͳ͠ʂʯ ‣ ʮ͝൧Ͱ͖Δ͔Βɺ෦԰͔Βग़͖ͯͯ४උͯ͠΄͍͠ʂʯ

Slide 6

Slide 6 text

͢Εҧ͍ΛݮΒ͢ʹ͸ʁʢϚΠϯυฤʣ ‣ ͓ޓ͍ɺ૬खʹظ଴͠ա͗Δͷ͕ʮ͢Εҧ͍ʯͷͦ΋ͦ΋ͷݪҼ ‣ ૬ख͕Ͳ͏ೝࣝ͠;Δ·͏͔͸ɺࣗ෼͕ίϯτϩʔϧͰ͖Δ͜ͱͰ͸ͳ͍ ‣ Ξυϥʔ৺ཧֶ෩ʹ͍͏ͱɺʮ૬खͷ՝୊Λࣗ෼ͷ՝୊ͱࠞಉ͍ͯ͠Δʯͱ͍ ͏͜ͱ ‣ ʮ૬खʹظ଴͠ͳ͍͚Ͳɺࣗ෼͸ՄೳͳݶΓ࣮ߦ͢Δʯʢ˜NBTVJESJWFʣ ‣ ʮʮ૬खͷ՝୊ʯͷղܾ΁ڠྗ͢Δࣄ͸େࣄʯʢ˜NBTVJESJWFʣ ग़ॴ: ʮଞਓʹظ଴͠ͳ͍ʯ͸ʮ՝୊ͷ෼཭ʯ

Slide 7

Slide 7 text

͢Εҧ͍ΛݮΒ͢ʹ͸ʁʢΤϯδχΞϦϯάฤʣ ᶃ ฉ͍ͯ΋๨Εͯ͠·͏ɻͦ΋ͦ΋ฉ͍ͯͳ͍ ˠ৘ใڞ༗Λ؆୯ʹͰ͖ΔΑ͏ʹ͠Α͏ ˠڞ༗͍ͯ͠Δ৘ใΛఆظతʹϓογϡ͠Α͏ ᶄ ΍Δ΂͖ϧʔςΟϯΛ๨Εͯ͠·͏ ˠͦ΋ͦ΋๨Εͯ΋໰୊ͳ͘͠Α͏ ᶅ ख͕཭ͤͳ͍࣌ʹख఻ͬͯ΄͍͚͠Ͳۙ͘ʹ͍ͳ͍ ˠ؆୯ʹݺ΂ΔΑ͏ʹ͠Α͏

Slide 8

Slide 8 text

ϓϩάϥϚΒ͍͠ղܾΛਤΔ ग़ॴ: Wikipedia: ϓϩάϥϚ#ϓϩάϥϚͷࡾେඒಙ ࡾେඒಙΛ͓͓͍ʹൃشͯ͠ϓϩάϥϚΒ͘͠՝୊Λղܾ͠Α͏

Slide 9

Slide 9 text

ᶃ ฉ͍ͯ΋๨Εͯ͠·͏͠ɺ ͦ΋ͦ΋ฉ͍ͯͳ͍໰୊

Slide 10

Slide 10 text

ڞ༗ΧϨϯμʔ΁ͷ༧ఆ௥Ճ ڞ༗ΧϨϯμʔ ύλʔϯᶃ (PPHMFΧϨϯμʔΞϓϦͰ ڞ༗͍ͨ͠༧ఆΛొ࿥ Ͷ͑ɺ(PPHMF ࠓ೔ͷ༧ఆʹ˓˓Λ௥Ճͯ͠ ύλʔϯᶄ (PPHMF)PNFܦ༝Ͱ ڞ༗͍ͨ͠༧ఆΛొ࿥

Slide 11

Slide 11 text

ڞ༗ΧϨϯμʔͷ༧ఆࢀর ڞ༗ΧϨϯμʔ ύλʔϯᶃ ("4Λ࢖ͬͨ-*/&ϘοτͰ ༧ఆΛఆظతʹ௨஌ Ͷ͑ɺ(PPHMF ࠓ೔ͷ༧ఆΛڭ͑ͯ ύλʔϯᶄ (PPHMF)PNFܦ༝Ͱࢀর ʢڞ༗ΧϨϯμʔઃఆʣ

Slide 12

Slide 12 text

ᶄ ΍Δ΂͖ϧʔςΟϯΛ ๨Εͯ͠·͏໰୊

Slide 13

Slide 13 text

͓ۚΛ࢖ͬͯղܾ͍ͯ͘͠ ‣ ఱؾ༧ใΛฉ͖๨ΕͯɺӍʹ߱ΒΕΔ ˠ(PPHMF)PNFͷʮ͍͖ͬͯ·͢ʯͷϧʔςΟϯʹ૊ΈࠐΉ ‣ ΤΞίϯΛফ͠๨ΕΔ ˠ/BUVSF3FNPΛಋೖ͠ɺ(PPHMF)PNFͷʢུʣ ‣ র໌Λফ͠๨ΕΔ ˠ࿓Լ΍τΠϨͳͲҰ࣌తʹ఺౮͢Ε͹͍͍͚ͩͷ৔ॴͷর໌͸ɺਓײηϯ αʔ෇͖-&%ిٿʹೖΕସ͑Δɻͦͷଞͷ৔ॴ͸)VFΛಋೖͯ͠ɺ(PPʢུʣ

Slide 14

Slide 14 text

ᶅ ख͕཭ͤͳ͍࣌ʹख఻ͬͯ΄͍͠ ͚Ͳۙ͘ʹ͍ͳ͍໰୊

Slide 15

Slide 15 text

લఏզ͕ՈͷؒऔΓ ͜͜ͰྉཧΛ͍ͯ͠Δɻ Ωονϯ͔Βɺେ੠Λͩ ͢͜ͱͳ͘ݺͼ͍ͨ

Slide 16

Slide 16 text

.4UBDLܦ༝Ͱ(PPHMF)PNFʹ஻ΒͤΔσϞಈը ग़ॴ: ίʔυ: kentaro/m5stack-daily-call,σϞಈը: https://twitter.com/kentaro/status/1138126301552754688

Slide 17

Slide 17 text

͍͍ͷ͕Ͱ͖ͨͱࢥ͍͖΍ʜʜ

Slide 18

Slide 18 text

(PPHMF)PNFͰී௨ʹͰ͖Μ͡ΌΜʜʢ೥݄ʙʣ ग़ॴ: Google Home σόΠεʹԻ੠ϝοηʔδΛϒϩʔυΩϟετ͢Δ - Google Home ϔϧϓ ͜ͷൃදʹ͓͚Δख๏΋ ʮϘλϯΛϙνοͱʯͰ ϝοηʔδͰ͖Δར఺͸͋ Δɺͱ͸ࢥ͏ʜʜ

Slide 19

Slide 19 text

ར༻͍ͯ͠Δٕज़ཁૉͷ঺հ

Slide 20

Slide 20 text

.4UBDLܦ༝Ͱ(PPHMF)PNFͰԻ੠Λྲྀ͢·Ͱ ᶃ .4UBDL্Ͱԡ͞ΕͨϘλϯʹͻ΋ͮ͘ςΩετΛɺ(PPHMFͷ$MPVE5FYU UP4QFFDI"1*Λ༻͍ͯɺಡΈ্͛Ի੠ͷ.1ʹม׵ ᶄ N%/4ϓϩτίϧΛ༻͍ͯɺ-"/಺ʹ͋ΔԻ੠Λྲྀ͍ͨ͠(PPHMF)PNFσ όΠεΛ୳͢ ᶅ $BTU7ϓϩτίϧͰɺᶃͷ.1ϑΝΠϧͷ63-ΛᶄͰݟ͚ͭͨ(PPHMF )PNFσόΠεʹૹ৴ ˠ(PPHMF)PNFσόΠε͕ɺԻ੠ϑΝΠϧΛ࠶ੜ

Slide 21

Slide 21 text

ᶃ(PPHMFͷ $MPVE5FYUUP4QFFDI"1*

Slide 22

Slide 22 text

$MPVE5FYUUP4QFFDI"1*Λ࢖͏ ग़ॴ: Cloud Text-to-Speech - Ի੠߹੒ | Cloud Text-to-Speech API ·ͣ͸͜ͷϑΥʔϜͰ ࢼͯ͠ΈΔ ೖྗςΩετΛ ಡΈ্͛Ի੠ʹม׵͢Δ

Slide 23

Slide 23 text

ௐ੔ͨ͠ύϥϝλΛϓϩάϥϜ͔Βར༻ʢ3VCZͷྫʣ ग़ॴ: googleapis/google-cloud-ruby 3VCZͩͱ͜Μͳײ͡

Slide 24

Slide 24 text

ࢼͯ͠ΈΔʹࡍͯ͠ͷ஫ҙ఺ ‣ άάΔͱग़ͯ͘Δ࣮૷ྫ͸ɺ(PPHMF຋༁ͷ༻͍͍ͯΔඇެࣜ"1*ΛϋοΫͯ͠ ͍Δ΋ͷ͕ଟ͍ ‣ ࠓճɺ.4UBDLͰςΩετ͔ΒಡΈ্͛Ի੠ϑΝΠϧΛ࡞ΔͨΊʹར༻ͨ͠ϥΠϒϥϦIPSJIJSP FTQHPPHMFUUT΋ಉ༷ ‣ αεςφϒϧͳίʔυʹ͢ΔͳΒɺલϖʔδͷྫͰ༻͍͍ͯΔ$MPVE5FYUUP 4QFFDI"1*Λ࢖͏ํ͕Αͦ͞͏ʢʁʣ

Slide 25

Slide 25 text

ᶄN%/4Ͱ (PPHMF)PNFσόΠεΛ୳͢

Slide 26

Slide 26 text

N%/4ͱ͸ʁ ‣ .VMUJDBTU%/4ͷུ ‣ "QQMFͷ#POKPVSͷͨΊʹࡦఆ͞Εͨ࢓༷Ͱɺ3'$Ͱఆٛ͞Ε͍ͯΔ ‣ ϚϧνΩϟετΞυϨεͷɺ6%1ϙʔτʹ%/4ΫΤϦΛ ౤͛Δ͜ͱͰɺωοτϫʔΫ಺ͷσόΠεʹϚϧνΩϟετసૹ͢Δ ‣ ໰͍߹Θͤʹରͯ͠ɺN%/4ʹରԠ͍ͯ͠ΔσόΠε͕Ԡ౴ͯ͘͠Δ ‣ (PPHMF)PNFσόΠε΋ରԠ͍ͯ͠Δ ‣ ಛผͳઃఆ΍ɺ%/4αʔόΛඞཁͱͤͣʹ໊લղܾ͕Ͱ͖Δͷ͕ར఺ ग़ॴ: Multicast DNS

Slide 27

Slide 27 text

N%/4Ͱ(PPHMF)PNFσόΠεΛ୳ࡧʢdns-sd(1)ʣ ৸ࣨͱϦϏϯάͷ୆ͷ σόΠε͕ݟ͔ͭͬͨ ग़ॴ: Google Homeͷ໊લͱIPΞυϨεΛݕग़͢Δํ๏

Slide 28

Slide 28 text

dns-ds(1)ʹ͍ͭͯͷิ଍ ‣ type͸_app-proto._tcp͔_app-proto._udpͱ͍͏ܗΛऔΔ ‣ app-proto͸ɺ*"/"ͷ4FSWJDF/BNFBOE5SBOTQPSU1SPUPDPM1PSU /VNCFS3FHJTUSZͱ͍͏ϖʔδͰొ࿥ɾ؅ཧ͞Ε͍ͯΔʢݹ͍ϚχϡΞϧͩ ͱ%/4437 3'$ 4FSWJDF5ZQFT͕ग़ͯ͘Δʣ ‣ ্هϖʔδͰɺgooglecastͱ͍͏αʔϏε໊ͷొ࿥Λ֬ೝͰ͖Δ ग़ॴ: man 1 dns-sd

Slide 29

Slide 29 text

N%/4Ͱ(PPHMF)PNFσόΠεΛ୳ࡧʢ/PEFKTͷྫʣ ৸ࣨͱϦϏϯάͷ୆ͷ σόΠε͕ݟ͔ͭͬͨ ग़ॴ: Google Homeͷ໊લͱIPΞυϨεΛݕग़͢Δํ๏

Slide 30

Slide 30 text

ᶅ$BTU7ϓϩτίϧͰ Ի੠ϑΝΠϧΛΘͨ͢

Slide 31

Slide 31 text

$BTU7ͱ͸ʁ ‣ ݩʑ͸ɺ$ISPNFDBTUͱ௨৴͢ΔͨΊͷϓϩτίϧ ‣ (PPHMF)PNFͰ΋ར༻͞Ε͍ͯΔͨΊɺ(PPHMF)PNFσόΠεͱ௨৴͢Δ ࡍʹ͸ɺ$BTU7ϓϩτίϧΛ༻͍Δඞཁ͕͋Δ ‣ ΫϥΠΞϯτ͸5-4ܦ༝ͰσόΠεͷ൪ϙʔτʹ઀ଓ͠ɺ1SPUPDPM #V⒎FSTͰΤϯίʔυ͞ΕͨϝοηʔδΛ΍ΓͱΓ͢Δ͜ͱͰ௨৴͢Δ ‣ ৄ͘͠͸ɺUIJCBVUTOPEFDBTUW࡞ऀʹΑΔղઆͱɺ$ISPNJVNͷιʔεʹ ؚ·ΕΔϓϩτίϧఆٛΛࢀরͷ͜ͱ ࢀߟ: thibauts/node-castv2 - Protocol description

Slide 32

Slide 32 text

ϓϩάϥϜ͔ΒԻ੠ϑΝΠϧΛૹΔʢ/PEFKTͷྫʣ ग़ॴ: thibauts/node-castv2-client /PEFͩͱ͜Μͳײ͡

Slide 33

Slide 33 text

͓ΘΓʹ

Slide 34

Slide 34 text

·ͱΊ ‣ Ո଒ؒͷʮ͢Εҧ͍ʯ͸ɺ૬खʹظ଴͗͢͠Δ͍ͤͰى͜Δ ‣ ϚΠϯυ໘Ͱͷ͢Εҧ͍ͷղܾࡦ͸ʮ՝୊ͷ෼཭ʯʢΞυϥʔ৺ཧֶʣ ‣ ͓ޓ͍ͷ՝୊ղܾΛɺΤϯδχΞϦϯάʹΑͬͯࢧԉ͢Δ͜ͱ΋େࣄ ‣ .4UBDLͱ(PPHMF)PNFͷ૊Έ߹ΘͤʹΑΓɺ೚ҙͷಡΈ্͛Ի੠ΛྲྀͤΔ Α͏ʹͨ͠ ‣ $MPVE554"1*ɺN%/4ɺ$BTU7ͳͲɺٕज़ཁૉͷ૊Έ߹Θ͕ͤ໘ന͍ ‣ (PPHMF)PNFɺ͋Ε͜ΕͰ͖·͘ΔɻϚδศརʂങ͏͔͠ͳ͍ʂʂ