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
育児休業のご報告と、育児グッズとしてのスマートスピーカー / Parental Leave a...
Search
Kei Shiratsuchi
PRO
May 16, 2018
Technology
0
850
育児休業のご報告と、育児グッズとしてのスマートスピーカー / Parental Leave and SmartSpeaker
レトリバセミナー 2018/05/16
Movie:
https://www.youtube.com/watch?v=sC9Svn8Yc7c
Kei Shiratsuchi
PRO
May 16, 2018
Tweet
Share
More Decks by Kei Shiratsuchi
See All by Kei Shiratsuchi
モノリスとマイクロサービスの橋渡し - ベターからモアベターへ
kei_s
PRO
0
95
なぜ リアーキテクティング専任チームを作ったのか
kei_s
PRO
2
1.4k
実践 Rails アソシエーションリファクタリング / Rails association refactoring in practice
kei_s
PRO
8
8.6k
「Go言語でつくるインタプリタ」を Rust で移植してみた / "Write An Interpreter In Go" In Rust
kei_s
PRO
1
1.9k
Rust言語で作るインタプリタ / Write An Interpreter In Rust
kei_s
PRO
2
630
「深層学習による自然言語処理」読書会 第6章2.7
kei_s
PRO
0
450
「深層学習による自然言語処理」読書会 第5章5.1
kei_s
PRO
0
440
最近個人的に気になるプログラミング言語おさらい Ruby, Python, Go, Rust, Julia
kei_s
PRO
0
1k
「深層学習による自然言語処理」読書会 第2章2.1~2.5
kei_s
PRO
0
440
Other Decks in Technology
See All in Technology
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
170
JavaにおけるNull非許容性
skrb
2
2.7k
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
100
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
Introduction to OpenSearch Project - Search Engineering Tech Talk 2025 Winter
tkykenmt
2
150
OPENLOGI Company Profile
hr01
0
60k
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
2
490
リクルートのエンジニア組織を下支えする 新卒の育成の仕組み
recruitengineers
PRO
1
140
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
780
フォーイット_エンジニア向け会社紹介資料_Forit_Company_Profile.pdf
forit_tech
1
1.7k
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
120
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
4
120
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
44
14k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Music & Morning Musume
bryan
46
6.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Automating Front-end Workflow
addyosmani
1369
200k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Transcript
ҭࣇٳۀͷ͝ใࠂͱɺ ҭࣇάοζͱͯ͠ͷεϚʔτεϐʔΧʔ നܛ, Kei Shiratsuchi, @kei_s ϨτϦόηϛφʔ, 2018.05.16(Wed)
ࣗݾհ • നɹܛʢγϥπνɹέΠʣ • גࣜձࣾϨτϦό • 20164݄ೖࣾ • Ruby on
Rails / JavaScript / Python / Elixir (new!) • ϑϩϯτΤϯυଆͷ։ൃ • େֶ࣌ෳࡶωοτϫʔΫՊֶͷݚڀ
ҭࣇٳۀͷ͝ใࠂ
ࢠͷੜ • 2018/01/25 • ୈҰࢠ(່)͕ੜ • 2018/03/05 • ҭࣇٳۀऔಘ •
2018/05/07 • ҭࣇٳۀ͔Β෮ؼ • ·Δ·Δ2ϲ݄ͷҭࣇٳۀΛऔಘ
ҭࣇٳۀͱ • ҭࣇٳۀ - Wikipedia ‣ ҭࣇٳۀʢ͍͖͘͡Ύ͏͗ΐ͏ʣͱɺࢠΛཆҭ͢Δ ࿑ಇऀ͕๏ʹج͍ͮͯऔಘͰ͖Δٳۀͷ͜ͱͰ͋Δ ‣ औಘ͢ΔऀͷஉঁΘͳ͍ɻ·ͨɺࢠ͕࣮ࢠͰ͋Δ
͔ཆࢠͰ͋Δ͔Θͳ͍ɻ ‣ ՈͳͲͰࣄ্࣮ɺࢠͷੈ͕Մೳͳऀ͕͍ͯɺͦ Εʹؔͳ͘औಘՄೳͰ͋Δɻ
ҭࣇٳۀͷ๏ • ʮҭࣇٳۀɺհޢٳۀҭࣇຢՈհޢΛߦ͏࿑ಇ ऀͷࢱʹؔ͢Δ๏ʯ ‣ ࣄۀओɺ࿑ಇऀ͔Βͷҭࣇٳۀਃग़͕͋ͬͨͱ͖ɺ ֘ҭࣇٳۀਃग़ΛڋΉ͜ͱ͕Ͱ͖ͳ͍ʢୈ6ʣ ‣ ࣄۀओɺ࿑ಇऀ͕ҭࣇٳۀͷਃग़Λ͠ɺຢҭࣇٳ ۀΛͨ͜͠ͱΛཧ༝ͱͯ͠ɺ֘࿑ಇऀʹରͯ͠ղޏ
ͦͷଞෆརӹͳऔѻ͍Λͯ͠ͳΒͳ͍ʢୈ10ʣ
ҭࣇٳۀͷظؒ • ҭࣇٳۀɺࢠ͕1ࡀʹୡ͢Δ·Ͱͷؒʹऔಘ͢Δ͜ͱ ͕Ͱ͖ΔʢݪଇɻԆنఆ͋Δʣ • ҭࣇٳۀݪଇͱͯ͠ಉҰͷࢠʹ͍ͭͯ࿑ಇऀҰਓʹ ͖ͭ1ճݶΓߦ͏͜ͱ͕Ͱ͖Δ
ҭࣇٳۀͱ͓ۚ • ҭࣇٳۀڅ੍ • ޏ༻อݥͷΈͷதͷҰͭ • ݪଇͱͯ͠ٳۀ։ֹ࢝࣌ۚ×ࢧڅͷ67% • ҭࣇٳۀͷ։͔࢝Β180ܦաޙ50% •
(ৄ͍͜͠ͱόοΫΦϑΟεͷํʹ…)
ͳͥҭࣇٳۀͨ͠ͷʁ • Ͱ͖ΔͷͰ… • ༗څٳՋʹཧ༝Λॻ͔ͳ͍ͷͱಉ͡Ͱ… • ͱ͍͑ɺஉੑͰҭٳΛऔΔਓ·ͩগͳ͍ • உੑҭٳͱΔ(ͱΕΔ)ࣾձͷํ͕શମతʹੜ͖ͦ͢ ͏ͳͷͰɺͦ͏ͳͬͯ΄͍͠
ϨτϦόͰͷҭࣇٳۀ • ʮҭࣇٳۀͱΖ͏ͱࢥͬͯΔΜͰ͕͢ʯ ʮ͓ͬɺྃղͰ͢ʂʯ • ΊͬͪΌ͋Γ͕͍ͨ • 1ྫͩͬͨͷͰɺ੍Λඋͯ͠Βͬͨ • ҭٳऔಘલ͔Βɺక͕͖ͭ͘ͳ͍λεΫΛ࣋ͬͨΓɺ
ࣗ࡞ۀΛڐՄͯ͠ΒͬͨΓɺௐͯ͠Βͬͨ
զ͕Ոͷ߹ͷҭࣇٳۀͷ༷ࢠ
લఏ • ҭٳ։࢝࣌Ͱɺ່ੜޙ1ϲ݄ • ࠷ॳͷҰϲ݄ɺ࠺ͷ࣮ՈͰ͓ੈʹͳ͍ͬͯͨ • ࠺ҭٳऔಘத
ಥવٽ͘ • ͕ɺཧ༝ෆ໌ • ͩΜͩΜύλʔϯԽ͞Εͯ͘Δ • ͓ෲ͕ۭ͍ͨɺΦϜπΛସ͑ͯ΄͍͠ɺ͍ • ͲΕμϝͳ࣌ɺແݶ๊ͬ͜
৸ΒΕͳ͍ • ͪΌΜң͕খ͍͞ͷͰɺ͙͢ʹ͓ෲ͕ۭ͘ • ɺ2~3͓͖࣌ؒʹतೕ͢Δඞཁ͕͋Δ • ى͖ͯٽ͘ˠϛϧΫ४උˠҿ·ͤΔˠ͛ͬˠ৸͔ͭ͠ ͚ʢˠᄡೕළચড়ɾফಟʣ • 3͓͖࣌ؒͱݴ͍ͭͭɺ࣮࣭৸ΒΕΔͷ2࣌ؒͪΐͬͱ
• ՖคͷقઅͰɺҰى͖Δͱ৸͚ͳ͍…
࠺ͷμϝʔδ • ग़࢈ͷμϝʔδ͔ͳΓਂࠁ • ී௨ʹಈ͚Δ͜ͱΛલఏʹ͍͚ͯ͠ͳ͍ • ཱͯͳ͍ɺา͚ͳ͍ɺ಄௧ɺශ݂ɺ… • པΕΔͷཔΔ •
ɺδδόόɺපӃɺ๚ॿ࢈ࢣɺγολʔ • ࣏ࣗମͷࢠҭͯࢧԉͰඅ༻ॿ͕͋ͬͨΓ
ਓ͕૿͑Δʹ͕૿͑Δ • ࣮ՈʹཬؼΓग़࢈͕ͩͬͨɺͬͯ͘Δͱ͖ ՙ͕ഒ૿ͨ͠ • ϕουɺΦϜπɺணସ͑ɺͳͲͳͲ… • ݄ྸʹΑͬͯඞཁͳͷ͕มΘ͍ͬͯ͘ • ΦϜπͷαΠζɺقઅʹ߹Θͤͨ…
• ՈͷϦϑΝΫλϦϯά • ཁΒͳ͍ͷΛࣺͯΔɺ֦ு͍͢͠ऩೲάοζΛἧ͑Δ
ॕ͍ɺΠϕϯτ • ͍͍͓ͨͩͨॕ͍ͷֹۚʹ߹Θͤͯɺॕ͍Λ ݕ౼ͯ͠ൃ͢Δ • δδόόɺɺ༑ਓͷདྷ๚ͷఔΛௐͯ͠ɺ͓ ͯͳ͢͠Δ • ͱͯ͋Γ͕͍ͨʢ͕ɺҙ֎ͱ͍͠…!ʣ
ҭࣇٳۀͷ͍͋ͩͷ·ͱΊ • ʮٳۀʯ͚ͩͲʮٳΈʯͳ͍…! • ҭٳऔಘͯ͠Α͔ͬͨ…! • ओʹਭෆΛղফ͠ͳ͍ͱࣄʹͳΒͳ͍ • ͪΌΜΛҭͯΔͷɺ1ਓ݄ͰෆՄೳ •
ɺɺ࣏ࣗମʹཔΔ
ײँ • ҭٳΛͱΕͯɺͱͯॿ͔Γ·ͨ͠ʂ • ձࣾͷօ༷ɺຊʹ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ
ҭࣇάοζͱͯ͠ͷεϚʔτεϐʔΧʔ
ঢ়گ • ੜޙ2ϲ݄Λ͑ͯɺগͣͭ͠༨༟͕Ͱ͖͖ͯͨ • िʹ߹ܭ3࣌ؒ͘Β͍ࡉΕʹ࣌ؒΛׂ͚ΔΑ͏ʹ • ࣗΛͬͱศརʹ͍ͨ͠ • εϚʔτεϐʔΧʔ͕ؾʹͳΔ
Google Home • Google Home Λߪೖ • ϤυόγͰֹΩϟϯϖʔϯதͩͬͨʂ
εϚʔτεϐʔΧʔΛͲ͏͏ʁ • ʮԻʯͱͯ༗༻ • ԻͰૢ࡞͢Δ • ՈిΛίϯτϩʔϧ͢Δ • ԻͰه͢Δ •
͓Ήͭସ͑Λه͢Δ • ԻͰ௨͢Δ • σδΧϝͷࣗಈΞοϓϩʔυΛΒͤΔ
ԻͰՈిΛૢ࡞͢Δ
ՈిΛૢ࡞(1) • εϚʔτ֎ઢϦϞίϯ Nature Remo • Google Home ࿈ܞͯ͠ɺςϨϏɺΤΞίϯΛૢ࡞
ศརͳγνϡΤʔγϣϯ • ʮগ͠৸ͨͬΆ͍͔ΒɺςϨϏ͚ͭͯΈΑʯ ʢͯ͠͠͠ʣ ʮ͋Βɺٽ͖͡Ίͨ…!ʯ ʢ๊ͬ͜ʣ ʢςϨϏফ͍ͨ͠…͕ɺख͕;͕͍ͬͯ͞Δ…!ʣ ʮΦοέʔάʔάϧɺςϨϏফͯ͠ʂʯ
ՈిΛૢ࡞(2) • Ͱૢ࡞Ͱ͖ΔͷΊͬͪΌศར • ֎ઢϦϞίϯ͕ͳ͍Ոిૢ࡞͍ͨ͠ͷͰɺ Switch Bot ಋೖͨ͠ • ཧϘλϯΛԡͤΔ
• Google Home ࿈ܞػೳ͋Γ • ʮΦοέʔάʔάϧɺচஆফͯ͠ʂʯ
ͬͱศརʹ͑ͦ͏ • ͔ͤͬ͘ͳͷͰϦϋϏϦతʹίʔυॻ͖͍ͨ • ॻ͍ͨ • https://github.com/shiratsuchi/home-hack • ໔ࣄ߲ɿREADME.md ͕ͳ͍ɺҰఆঢ়گͰಈ࡞͠ͳ͍ɺ
νҎ֎ͷڥͰࢼͯ͠ͳ͍
ԻͰ͓Ήͭସ͑Λه͢Δ
͓Ήͭସ͑Λه͢Δ • तೕɺ͓ͬ͜͠ɺ͏Μͪͷه Λ͢Δඞཁ͕͋Δ • ࢠͷ݈߁ঢ়ଶͷѲ • ʮϐϤΖ͙ʯͱ͍͏ΞϓϦ • ෳਓͰొɺڞ༗Ͱ͖Δ
͓Ήͭସ͑Λه͢Δ • ه͠ΕΔʂ • ͓Ήͭସ͑ͨ͠Βେମ๊ͬ͜ʹҠߦ • εϚϗ࣋ͯͳ͍ • ๊ͬ͜ऴΘͬͨΒه͠ΕͯΔ •
ʮΦοέʔάʔάϧɺ͓ͬ͜͠هͯ͠ʂʯ
͓Ήͭସ͑Λه͢Δ • ϐϤΖ͙ʹެ։ API ͳ͍ • ΞϓϦͷ௨৴Λ͍ͯɺඇެ։ API Λղੳ •
ͱΓ͋͑ͣ Wireshark • SSL (https) ͳͷͰ ݟΕͳ͍…!
͓Ήͭସ͑Λه͢Δ • BurpSuite • SSL ௨৴ؒʹϓϩΩγͯ͠ɺ҉߸ԽΛղআɺ࠶҉߸Խ ͢Δ͜ͱͰ௨৴ΛΈΔ • ͍ΘΏΔதؒऀ(Man-in-the-middle)߈ܸ •
WEB+DB PRESS Vol.103 Ͱղઆ͞Ε͍ͯΔ
͓Ήͭସ͑Λه͢Δ • PC Ͱ Burp Suite ىಈɺϓϩΩγϙʔτ൪߸ઃఆ • iPhone Ͱ
PC ͷ IP, Port ʹϒϥβΞΫηεɺূ໌ॻΠϯε τʔϧ • iPhone ͷ Wi-fi ઃఆͰɺ PC ͷ IP, Port ΛϓϩΩγઃఆ • ʮઃఆ>Ұൠ>ใ>ূ໌ॻ৴པઃఆʯͰɺΠϯετʔϧ ͨ͠ূ໌ॻΛʮશ໘తʹ৴པ͢ΔʯʹνΣοΫ
͓Ήͭସ͑Λه͢Δ
͓Ήͭସ͑Λه͢Δ • ৭ʑࢼͯ͠ڍಈΛ֬ೝ • PC ͔Β JSON ϦΫΤετΛ͍ͬͯ͡ૹ৴ɺਖ਼ৗʹडཧ͞ ΕΔ·Ͱࢼߦࡨޡ •
(ར༻نΛಡΜͰࣗͷσʔλͳΒͳ͠ͱ֬ೝ) • Node.js ͰεΫϦϓτ࡞
͓Ήͭସ͑Λه͢Δ • IFTTT ͱ Google Home Λ࿈ܞ • ಛఆͷϑϨʔζΛͨ࣌͠ʹΞΫγϣϯ͢Δ •
ऴྃ࣌ʹൃ͢ΔϝοηʔδΛొ͢Δ • Google Cloud Functions ͰɺεΫϦϓτ࣮ߦͰ͖ΔΑ͏ʹ͢Δ • Node.js ͷεΫϦϓτΛ࣮ߦͰ͖Δ • IFTTT ͷ Webhook ΞΫγϣϯͰɺCloud Functions ͷΤϯυϙΠϯτΛ ୟ͘Α͏ʹ͢Δ
͓Ήͭସ͑Λه͢Δ • ʮΦοέʔάʔάϧɺ͓ͬ͜͠هͯ͠ʂʯ ˣ IFTTT ͕ىಈɺCloud Functions ͷΤϯυϙΠϯτΛୟ͘ ˣ Cloud
Functions ͰϐϤΖ͙ API Λୟ͍ͯه ˣ ʮ͓ͬ͜͠Λه͠·ͨ͠ʯ
͓Ήͭସ͑Λه͢Δ • ΊͬͪΌศར • ͓Ήͭସ͑͠ͳ͕ΒΕ͍͍ͷͰϥΫ • ग़ઌͰΦοέʔάʔάϧͬͯݴ͍ͦ͏ʹͳΔ • ׳Ε͖ͯͯɺݴ͍Ε͕ൃੜ͍ͯ͠Δ͕…
σδΧϝͷࣗಈΞοϓϩʔυΛ ԻͰ௨
σδΧϝͷࣗಈΞοϓϩʔυ • ࢠͷࣸਅΛΊͬͪΌࡱΔ • δδόόͷใࠂ݉ͶͯࡱΔ • εϚϗͷΧϝϥ͍͍͚ͲɺσδΧϝΓ៉ྷ • σδΧϝ͔ΒͷऔΓࠐΈ͕໘ •
ΧϝϥপʹΜͰͳ͍ͷͰɺखؒΛ͔͚ͨ͘ͳ͍
σδΧϝͷࣗಈΞοϓϩʔυ • औΓࠐΈΛۃྗϥΫʹ͍ͨ͠ • ͦͷੲ Eye-fi ͱ͍͏͕͕͋ͬͨɺEOL… • FlashAir -
ແઢLANػೳ͖ͭSDΧʔυ • ىಈ or ϑΝΠϧॻ͖ࠐΈͨ͠ࡍʹɺઃఆͨ͠ Wi-fi ʹ ଓͯ͠ HTTP ϦΫΤετΛ͛Δ͜ͱ͕Ͱ͖Δ • Lua εΫϦϓτΛอଘͯ͠ɺ࣮ߦͰ͖Δ
σδΧϝͷࣗಈΞοϓϩʔυ • FlashAir ͷઃఆ֓ཁ • ӈͷΑ͏ͳϑΝΠϧΛ /SD_WLAN/CONFIG ʹஔ͘ • ىಈ࣌ʹ
/bootstrap.lua ͕ ࣮ߦ͞ΕΔ [Vendor] CIPATH=/DCIM/100__TSB/FA000001.JPG APPMODE=5 APPNAME=myflashair APPSSID=FOOSSID APPNETWORKKEY=password0123 VERSION=FA9CAW3AW3.00.00 CID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PRODUCT=FlashAir VENDOR=TOSHIBA LUA_RUN_SCRIPT=/bootstrap.lua
σδΧϝͷࣗಈΞοϓϩʔυ • FlashAir ΛͬͯɺσδΧϝ͔Β Google Photos ࣗಈͰΞο ϓϩʔυ͢Δ • Lua
εΫϦϓτͰඞཁͳࣸਅϑΝΠϧΛࠪɺ ͦΕͧΕҰαʔόʹΞοϓϩʔυɺ αʔό͔Β Google Photos ͷ API ͰࣸਅΛՃ͢Δ • αʔό Sinatra Ͱॻ͍ͨ
σδΧϝͷࣗಈΞοϓϩʔυ • FlashAir ͷ᠘ • Lua εΫϦϓτͰϑΝΠϧΛॻ͖ࠐΈ͢ΔͱɺϗετଆʢσδΧϝʣ͔Β ͷॻ͖ࠐΈͱিಥͯ͠ FAT ෆ߹ͰϘϦϡʔϜ͕յΕΔ
• ΞοϓϩʔυཤྺαʔόαΠυͰ࣋ͭ • ىಈ͙࣌͢ʹ Wi-fi ଓཱ͕֬͞Ε͍ͯͳ͍ • Lua εΫϦϓτͰɺWi-fi ଓཱ͕֬͢Δ·Ͱ sleep ͢Δ • Google Photos ͷ᠘ • Google Photo API ଘࡏͤͣɺʢջ͔͠ͷʣPicasa API ͕·ͩಈ͍͍ͯΔ
σδΧϝͷࣗಈΞοϓϩʔυ • ىಈ࣌ʹɺະΞοϓϩʔυͷࣸਅΛΞοϓϩʔυ͢Δ͜ͱ ͕Ͱ͖ΔΑ͏ʹͳͬͨ • ศར • Ξοϓϩʔυͷਐḿ͕Θ͔Βͳ͍… • ͍ͭిݯΛམͱ͍͍ͯ͠ͷ͔Θ͔Βͳ͍
• Τϥʔ͕ൃੜ͍ͯ͠Δͷ͔Θ͔Βͳ͍
ԻͰ௨ • Google Home ʹΒͤΔ • https://github.com/noelportugal/google-home-notifier • Node.js ͷϓϩάϥϜ
• LAN ͷ Google Home Λࢦఆͯ͠ɺҙͷจࣈྻΛΒͤΔ • Google Text-to-speech API ΛͬͯԻͷ URL ΛऔಘɺChrome Cast ϓϩτίϧͰσόΠεʹ URL Λ࠶ੜ͍ͤͯ͞Δ
ԻͰ௨ • google-home-notifier Λͬͨ௨αʔόΛ४උ • FlashAir ͷ Lua εΫϦϓτͰɺΞοϓϩʔυ։࢝࣌ɺऴྃ ࣌ʹ௨αʔόʹϦΫΤετΛ͛Δ
• ։࢝࣌ʹʮΧϝϥ͔ΒͷΞοϓϩʔυΛ։࢝͠·͢ʯ • ऴྃ࣌ʹʮΧϝϥ͔ΒͷΞοϓϩʔυ͕ऴྃ͠·͠ ͨʯ
ԻͰ௨ • ΊͬͪΌศར • σδΧϝͰࣸਅΛࡱΔͷ͕ۤ͡Όͳ͘ͳͬͨ • Google Photo ͱΧϝϥΛݟൺͯɺશ্͕͔ͯͬͨ֬ೝ͠ͳ͘ ͍͍ͯ
• FlashAir ͱࣗϧʔλͷ૬ੑ͕ѱ͍ͬΆͯ࣌͘ʑಈ࡞͠ͳ͍… • σόοά࣌ؒऔΕͯͳ͍…
·ͱΊ
·ͱΊ • ҭࣇٳۀ͕औΕͯɺͱͯॿ͔Γ·ͨ͠ʂ • ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ • εϚʔτεϐʔΧʔɺҭࣇάοζͰ͢ʂ • ͬͯΈ͍ͨํ͓͕͚͍ͩ͘͞