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
98
なぜ リアーキテクティング専任チームを作ったのか
kei_s
PRO
2
1.5k
実践 Rails アソシエーションリファクタリング / Rails association refactoring in practice
kei_s
PRO
8
8.7k
「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
640
「深層学習による自然言語処理」読書会 第6章2.7
kei_s
PRO
0
450
「深層学習による自然言語処理」読書会 第5章5.1
kei_s
PRO
0
450
最近個人的に気になるプログラミング言語おさらい Ruby, Python, Go, Rust, Julia
kei_s
PRO
0
1k
「深層学習による自然言語処理」読書会 第2章2.1~2.5
kei_s
PRO
0
450
Other Decks in Technology
See All in Technology
各所に分散しがちなRubyのバージョンを上手に管理する / use-dot-ruby-version
toshimaru
3
290
VISITS_20250311_こねくとあいとりおす.pdf
iotcomjpadmin
0
200
OCI Oracle Database Services新機能アップデート(2024/12-2025/02)
oracle4engineer
PRO
2
170
RubyKaigi で得た課題解決法・美意識・モチベーション
morihirok
0
180
DIってなんだか難しい? 依存という概念を「使う・使われる」 という言葉で整理しよう
akinoriakatsuka
1
710
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
4
860
Agent Mode とは?GitHub Copilot の新機能を探る
lescoggi
1
180
グループポリシー再確認
murachiakira
0
110
MLflowの現在と未来 / MLflow Present and Future
databricksjapan
1
240
View Transition API
shirakaba
1
650
技術を育てる組織・組織を育てる技術 / technology and organization
motemen
11
4.2k
Cline を知ると世界が広がった(だが、俺は Claude for Desktop で行く)
nassy20
3
190
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
The Pragmatic Product Professional
lauravandoore
33
6.5k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Side Projects
sachag
452
42k
Navigating Team Friction
lara
183
15k
Code Review Best Practice
trishagee
67
18k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Visualization
eitanlees
146
15k
Adopting Sorbet at Scale
ufuk
75
9.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
12
1.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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 ͱࣗϧʔλͷ૬ੑ͕ѱ͍ͬΆͯ࣌͘ʑಈ࡞͠ͳ͍… • σόοά࣌ؒऔΕͯͳ͍…
·ͱΊ
·ͱΊ • ҭࣇٳۀ͕औΕͯɺͱͯॿ͔Γ·ͨ͠ʂ • ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ • εϚʔτεϐʔΧʔɺҭࣇάοζͰ͢ʂ • ͬͯΈ͍ͨํ͓͕͚͍ͩ͘͞