Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
育児休業のご報告と、育児グッズとしてのスマートスピーカー / Parental Leave and SmartSpeaker
Kei Shiratsuchi
May 16, 2018
Technology
0
790
育児休業のご報告と、育児グッズとしてのスマートスピーカー / Parental Leave and SmartSpeaker
レトリバセミナー 2018/05/16
Movie:
https://www.youtube.com/watch?v=sC9Svn8Yc7c
Kei Shiratsuchi
May 16, 2018
Tweet
Share
More Decks by Kei Shiratsuchi
See All by Kei Shiratsuchi
「Go言語でつくるインタプリタ」を Rust で移植してみた / "Write An Interpreter In Go" In Rust
kei_s
1
1.2k
Rust言語で作るインタプリタ / Write An Interpreter In Rust
kei_s
2
280
「深層学習による自然言語処理」読書会 第6章2.7
kei_s
0
340
「深層学習による自然言語処理」読書会 第5章5.1
kei_s
0
260
最近個人的に気になるプログラミング言語おさらい Ruby, Python, Go, Rust, Julia
kei_s
0
780
「深層学習による自然言語処理」読書会 第2章2.1~2.5
kei_s
0
340
「深層学習による自然言語処理」読書会 第4章4.3
kei_s
1
380
Chainer の Trainer 解説と NStepLSTM について
kei_s
0
750
カンバン入門
kei_s
5
2.3k
Other Decks in Technology
See All in Technology
ひとりでも安定して 組織を変える活動を続けていくための ストレスマネジメント
pastelinc
0
860
OPENLOGI Company Profile
hr01
0
500
oakのミドルウェアを書くときの技のらしきもの
toranoana
0
130
Custom GitHub Actions by Java
kazamori
0
290
サーバレスECにおける Step Functions の使い方 〜ステートマシン全部見せます!〜
miu_crescent
0
190
HoloLens2とMetaQuest2どちらも動くWebXRアプリをBabylon.jsで作る
iwaken71
0
200
開発組織の生産性を可視化する State of DevOpsとFour Keysとは / deep dive into State of DevOps
yfcgpsebp
0
240
Azure Arc Virtual MachineとAzure Arc Resource Bridge / VM provisioning through Azure portal on Azure Stack HCI (preview)
sashizaki
0
130
ソフトウェアライセンス 2022 / Software License 2022
cybozuinsideout
PRO
1
1.1k
誰が正解を知っているのか / Who knows the right answer
takaking22
1
240
Meet passkeys
satotakeshi
1
120
JAWS-UG re:Habilitaion 報告 / JAWS-UG OITA rehabilitation
hiranofumio
0
130
Featured
See All Featured
Teambox: Starting and Learning
jrom
123
7.7k
Ruby is Unlike a Banana
tanoku
91
9.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
498
130k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
181
15k
Happy Clients
brianwarren
89
5.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
10
3.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
15k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.3k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
What's new in Ruby 2.0
geeforr
336
30k
Art, The Web, and Tiny UX
lynnandtonic
280
17k
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 ͱࣗϧʔλͷ૬ੑ͕ѱ͍ͬΆͯ࣌͘ʑಈ࡞͠ͳ͍… • σόοά࣌ؒऔΕͯͳ͍…
·ͱΊ
·ͱΊ • ҭࣇٳۀ͕औΕͯɺͱͯॿ͔Γ·ͨ͠ʂ • ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ • εϚʔτεϐʔΧʔɺҭࣇάοζͰ͢ʂ • ͬͯΈ͍ͨํ͓͕͚͍ͩ͘͞