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
怠惰・短気・傲慢な家庭を築く / How to Build a Peaceful Family
Search
Kentaro Kuribayashi
June 12, 2019
Technology
0
690
怠惰・短気・傲慢な家庭を築く / How to Build a Peaceful Family
K-Ruby #23
Kentaro Kuribayashi
June 12, 2019
Tweet
Share
More Decks by Kentaro Kuribayashi
See All by Kentaro Kuribayashi
あとはAIに任せて人間は自由に生きる
kentaro
4
1.8k
社会人力と研究力ー博士号をキャリアの武器にするー
kentaro
3
250
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
2
2.1k
Bidirectional Quadratic Voting Leveraging Issue-Based Matching
kentaro
2
640
大高生へのメッセージ(令和6年度「大高未来塾」) / Messages to Current Students
kentaro
0
320
「始め方」の始め方 / How to Start Starting Things
kentaro
5
970
Dynamic IoT Applications and Isomorphic IoT Systems Using WebAssembly
kentaro
1
1.6k
わたしがこのところハマっている「ライセンスフリー無線」のご紹介 / An Invitation to License-Free Radio
kentaro
1
700
先行きの見えなさを楽しさに変える ーVUCA時代のキャリア論と絶対他力主義ー / How to develop your career in the VUCA era
kentaro
8
6.5k
Other Decks in Technology
See All in Technology
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
2
260
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
1
500
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
260
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
1.7k
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
Identity Management for Agentic AI 解説
fujie
0
490
Amazon Bedrock Knowledge Bases × メタデータ活用で実現する検証可能な RAG 設計
tomoaki25
6
2.4k
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
180
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
120
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
190
ESXi のAIOps だ!2025冬
unnowataru
0
390
LayerX QA Night#1
koyaman2
0
270
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
38
Paper Plane
katiecoart
PRO
0
44k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
36
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
32
Scaling GitHub
holman
464
140k
Odyssey Design
rkendrick25
PRO
0
440
Thoughts on Productivity
jonyablonski
73
5k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
200
Writing Fast Ruby
sferik
630
62k
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Transcript
ʙϓϩάϥϚͷࡾେඒಙͷԠ༻ྫͱͯ͠ʙ ܀ྛ݈ଠ(.0ϖύϘגࣜձࣾ ,3VCZ ଵଦɾؾɾၗຫͳՈఉΛங͘
(.0ϖύϘגࣜձࣾ ܀ྛ݈ଠ!LFOUBSP औక$50 IUUQTLFOUBSPLPSH
͍·ࣛࣇౡʢݝग़ʣͰ ͬͱ͍ͷ͋ΔΤϯδχΞ
՝ͱղܾํͷఏࣔ
Α͋͘Γ͕ͪͳՈఉͷ͢Εҧ͍ ‣ ʮ͋ͷɺͨ͠ΑͶɻ͖͍ͯͳ͔ͬͨͷʁʯ ‣ ʮ͘ͳΔͳΒɺ༦৯ͷྔΛௐ͢Δ͔Βલ͍ͬͯͬͯΑʂʯ ‣ ʮ·ͨిؾ͚ͭͬͺͳ͠ʂʯ ‣ ʮ͝൧Ͱ͖Δ͔Βɺ෦͔Βग़͖ͯͯ४උͯ͠΄͍͠ʂʯ
͢Εҧ͍ΛݮΒ͢ʹʁʢϚΠϯυฤʣ ‣ ͓ޓ͍ɺ૬खʹظ͠ա͗Δͷ͕ʮ͢Εҧ͍ʯͷͦͦͷݪҼ ‣ ૬ख͕Ͳ͏ೝࣝ͠;Δ·͏͔ɺ͕ࣗίϯτϩʔϧͰ͖Δ͜ͱͰͳ͍ ‣ Ξυϥʔ৺ཧֶ෩ʹ͍͏ͱɺʮ૬खͷ՝Λࣗͷ՝ͱࠞಉ͍ͯ͠Δʯͱ͍ ͏͜ͱ ‣ ʮ૬खʹظ͠ͳ͍͚ͲɺࣗՄೳͳݶΓ࣮ߦ͢ΔʯʢNBTVJESJWFʣ
‣ ʮʮ૬खͷ՝ʯͷղܾڠྗ͢ΔࣄେࣄʯʢNBTVJESJWFʣ ग़ॴ: ʮଞਓʹظ͠ͳ͍ʯʮ՝ͷʯ
͢Εҧ͍ΛݮΒ͢ʹʁʢΤϯδχΞϦϯάฤʣ ᶃ ฉ͍ͯΕͯ͠·͏ɻͦͦฉ͍ͯͳ͍ ˠใڞ༗Λ؆୯ʹͰ͖ΔΑ͏ʹ͠Α͏ ˠڞ༗͍ͯ͠ΔใΛఆظతʹϓογϡ͠Α͏ ᶄ Δ͖ϧʔςΟϯΛΕͯ͠·͏ ˠͦͦΕͯͳ͘͠Α͏ ᶅ ख͕ͤͳ͍࣌ʹखͬͯ΄͍͚͠Ͳۙ͘ʹ͍ͳ͍
ˠ؆୯ʹݺΔΑ͏ʹ͠Α͏
ϓϩάϥϚΒ͍͠ղܾΛਤΔ ग़ॴ: Wikipedia: ϓϩάϥϚ#ϓϩάϥϚͷࡾେඒಙ ࡾେඒಙΛ͓͓͍ʹൃشͯ͠ϓϩάϥϚΒ͘͠՝Λղܾ͠Α͏
ᶃ ฉ͍ͯΕͯ͠·͏͠ɺ ͦͦฉ͍ͯͳ͍
ڞ༗ΧϨϯμʔͷ༧ఆՃ ڞ༗ΧϨϯμʔ ύλʔϯᶃ (PPHMFΧϨϯμʔΞϓϦͰ ڞ༗͍ͨ͠༧ఆΛొ Ͷ͑ɺ(PPHMF ࠓͷ༧ఆʹ˓˓ΛՃͯ͠ ύλʔϯᶄ (PPHMF)PNFܦ༝Ͱ ڞ༗͍ͨ͠༧ఆΛొ
ڞ༗ΧϨϯμʔͷ༧ఆࢀর ڞ༗ΧϨϯμʔ ύλʔϯᶃ ("4Λͬͨ-*/&ϘοτͰ ༧ఆΛఆظతʹ௨ Ͷ͑ɺ(PPHMF ࠓͷ༧ఆΛڭ͑ͯ ύλʔϯᶄ (PPHMF)PNFܦ༝Ͱࢀর ʢڞ༗ΧϨϯμʔઃఆʣ
ᶄ Δ͖ϧʔςΟϯΛ Εͯ͠·͏
͓ۚΛͬͯղܾ͍ͯ͘͠ ‣ ఱؾ༧ใΛฉ͖ΕͯɺӍʹ߱ΒΕΔ ˠ(PPHMF)PNFͷʮ͍͖ͬͯ·͢ʯͷϧʔςΟϯʹΈࠐΉ ‣ ΤΞίϯΛফ͠ΕΔ ˠ/BUVSF3FNPΛಋೖ͠ɺ(PPHMF)PNFͷʢུʣ ‣ র໌Λফ͠ΕΔ ˠ࿓ԼτΠϨͳͲҰ࣌తʹ౮͢Ε͍͍͚ͩͷॴͷর໌ɺਓײηϯ
αʔ͖-&%ిٿʹೖΕସ͑Δɻͦͷଞͷॴ)VFΛಋೖͯ͠ɺ(PPʢུʣ
ᶅ ख͕ͤͳ͍࣌ʹखͬͯ΄͍͠ ͚Ͳۙ͘ʹ͍ͳ͍
લఏզ͕ՈͷؒऔΓ ͜͜ͰྉཧΛ͍ͯ͠Δɻ Ωονϯ͔ΒɺେΛͩ ͢͜ͱͳ͘ݺͼ͍ͨ
.4UBDLܦ༝Ͱ(PPHMF)PNFʹΒͤΔσϞಈը ग़ॴ: ίʔυ: kentaro/m5stack-daily-call,σϞಈը: https://twitter.com/kentaro/status/1138126301552754688
͍͍ͷ͕Ͱ͖ͨͱࢥ͍͖ʜʜ
(PPHMF)PNFͰී௨ʹͰ͖Μ͡ΌΜʜʢ݄ʙʣ ग़ॴ: Google Home σόΠεʹԻϝοηʔδΛϒϩʔυΩϟετ͢Δ - Google Home ϔϧϓ ͜ͷൃදʹ͓͚Δख๏
ʮϘλϯΛϙνοͱʯͰ ϝοηʔδͰ͖Δར͋ Δɺͱࢥ͏ʜʜ
ར༻͍ͯ͠Δٕज़ཁૉͷհ
.4UBDLܦ༝Ͱ(PPHMF)PNFͰԻΛྲྀ͢·Ͱ ᶃ .4UBDL্Ͱԡ͞ΕͨϘλϯʹͻͮ͘ςΩετΛɺ(PPHMFͷ$MPVE5FYU UP4QFFDI"1*Λ༻͍ͯɺಡΈ্͛Իͷ.1ʹม ᶄ N%/4ϓϩτίϧΛ༻͍ͯɺ-"/ʹ͋ΔԻΛྲྀ͍ͨ͠(PPHMF)PNFσ όΠεΛ୳͢ ᶅ $BTU7ϓϩτίϧͰɺᶃͷ.1ϑΝΠϧͷ63-ΛᶄͰݟ͚ͭͨ(PPHMF )PNFσόΠεʹૹ৴
ˠ(PPHMF)PNFσόΠε͕ɺԻϑΝΠϧΛ࠶ੜ
ᶃ(PPHMFͷ $MPVE5FYUUP4QFFDI"1*
$MPVE5FYUUP4QFFDI"1*Λ͏ ग़ॴ: Cloud Text-to-Speech - Ի߹ | Cloud Text-to-Speech API
·ͣ͜ͷϑΥʔϜͰ ࢼͯ͠ΈΔ ೖྗςΩετΛ ಡΈ্͛Իʹม͢Δ
ௐͨ͠ύϥϝλΛϓϩάϥϜ͔Βར༻ʢ3VCZͷྫʣ ग़ॴ: googleapis/google-cloud-ruby 3VCZͩͱ͜Μͳײ͡
ࢼͯ͠ΈΔʹࡍͯ͠ͷҙ ‣ άάΔͱग़ͯ͘Δ࣮ྫɺ(PPHMF༁ͷ༻͍͍ͯΔඇެࣜ"1*ΛϋοΫͯ͠ ͍Δͷ͕ଟ͍ ‣ ࠓճɺ.4UBDLͰςΩετ͔ΒಡΈ্͛ԻϑΝΠϧΛ࡞ΔͨΊʹར༻ͨ͠ϥΠϒϥϦIPSJIJSP FTQHPPHMFUUTಉ༷ ‣ αεςφϒϧͳίʔυʹ͢ΔͳΒɺલϖʔδͷྫͰ༻͍͍ͯΔ$MPVE5FYUUP 4QFFDI"1*Λ͏ํ͕Αͦ͞͏ʢʁʣ
ᶄN%/4Ͱ (PPHMF)PNFσόΠεΛ୳͢
N%/4ͱʁ ‣ .VMUJDBTU%/4ͷུ ‣ "QQMFͷ#POKPVSͷͨΊʹࡦఆ͞Ε༷ͨͰɺ3'$Ͱఆٛ͞Ε͍ͯΔ ‣ ϚϧνΩϟετΞυϨεͷɺ6%1ϙʔτʹ%/4ΫΤϦΛ ͛Δ͜ͱͰɺωοτϫʔΫͷσόΠεʹϚϧνΩϟετసૹ͢Δ ‣ ͍߹Θͤʹରͯ͠ɺN%/4ʹରԠ͍ͯ͠ΔσόΠε͕Ԡͯ͘͠Δ
‣ (PPHMF)PNFσόΠεରԠ͍ͯ͠Δ ‣ ಛผͳઃఆɺ%/4αʔόΛඞཁͱͤͣʹ໊લղܾ͕Ͱ͖Δͷ͕ར ग़ॴ: Multicast DNS
N%/4Ͱ(PPHMF)PNFσόΠεΛ୳ࡧʢdns-sd(1)ʣ ৸ࣨͱϦϏϯάͷͷ σόΠε͕ݟ͔ͭͬͨ ग़ॴ: Google Homeͷ໊લͱIPΞυϨεΛݕग़͢Δํ๏
dns-ds(1)ʹ͍ͭͯͷิ ‣ type_app-proto._tcp͔_app-proto._udpͱ͍͏ܗΛऔΔ ‣ app-protoɺ*"/"ͷ4FSWJDF/BNFBOE5SBOTQPSU1SPUPDPM1PSU /VNCFS3FHJTUSZͱ͍͏ϖʔδͰొɾཧ͞Ε͍ͯΔʢݹ͍ϚχϡΞϧͩ ͱ%/4437 3'$ 4FSWJDF5ZQFT͕ग़ͯ͘Δʣ ‣
্هϖʔδͰɺgooglecastͱ͍͏αʔϏε໊ͷొΛ֬ೝͰ͖Δ ग़ॴ: man 1 dns-sd
N%/4Ͱ(PPHMF)PNFσόΠεΛ୳ࡧʢ/PEFKTͷྫʣ ৸ࣨͱϦϏϯάͷͷ σόΠε͕ݟ͔ͭͬͨ ग़ॴ: Google Homeͷ໊લͱIPΞυϨεΛݕग़͢Δํ๏
ᶅ$BTU7ϓϩτίϧͰ ԻϑΝΠϧΛΘͨ͢
$BTU7ͱʁ ‣ ݩʑɺ$ISPNFDBTUͱ௨৴͢ΔͨΊͷϓϩτίϧ ‣ (PPHMF)PNFͰར༻͞Ε͍ͯΔͨΊɺ(PPHMF)PNFσόΠεͱ௨৴͢Δ ࡍʹɺ$BTU7ϓϩτίϧΛ༻͍Δඞཁ͕͋Δ ‣ ΫϥΠΞϯτ5-4ܦ༝ͰσόΠεͷ൪ϙʔτʹଓ͠ɺ1SPUPDPM #V⒎FSTͰΤϯίʔυ͞ΕͨϝοηʔδΛΓͱΓ͢Δ͜ͱͰ௨৴͢Δ ‣
ৄ͘͠ɺUIJCBVUTOPEFDBTUW࡞ऀʹΑΔղઆͱɺ$ISPNJVNͷιʔεʹ ؚ·ΕΔϓϩτίϧఆٛΛࢀরͷ͜ͱ ࢀߟ: thibauts/node-castv2 - Protocol description
ϓϩάϥϜ͔ΒԻϑΝΠϧΛૹΔʢ/PEFKTͷྫʣ ग़ॴ: thibauts/node-castv2-client /PEFͩͱ͜Μͳײ͡
͓ΘΓʹ
·ͱΊ ‣ Ոؒͷʮ͢Εҧ͍ʯɺ૬खʹظ͗͢͠Δ͍ͤͰى͜Δ ‣ ϚΠϯυ໘Ͱͷ͢Εҧ͍ͷղܾࡦʮ՝ͷʯʢΞυϥʔ৺ཧֶʣ ‣ ͓ޓ͍ͷ՝ղܾΛɺΤϯδχΞϦϯάʹΑͬͯࢧԉ͢Δ͜ͱେࣄ ‣ .4UBDLͱ(PPHMF)PNFͷΈ߹ΘͤʹΑΓɺҙͷಡΈ্͛ԻΛྲྀͤΔ Α͏ʹͨ͠
‣ $MPVE554"1*ɺN%/4ɺ$BTU7ͳͲɺٕज़ཁૉͷΈ߹Θ͕ͤ໘ന͍ ‣ (PPHMF)PNFɺ͋Ε͜ΕͰ͖·͘ΔɻϚδศརʂങ͏͔͠ͳ͍ʂʂ