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
93
なぜ リアーキテクティング専任チームを作ったのか
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
430
Other Decks in Technology
See All in Technology
クラウドサービス事業者におけるOSS
tagomoris
2
850
デスクトップだけじゃないUbuntu
mtyshibata
0
140
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
200
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
370
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
550
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
3k
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
710
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
120
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
980
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2.1k
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
410
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Code Review Best Practice
trishagee
67
18k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Producing Creativity
orderedlist
PRO
344
39k
The Cult of Friendly URLs
andyhume
78
6.2k
A better future with KSS
kneath
238
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
It's Worth the Effort
3n
184
28k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
KATA
mclloyd
29
14k
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 ͱࣗϧʔλͷ૬ੑ͕ѱ͍ͬΆͯ࣌͘ʑಈ࡞͠ͳ͍… • σόοά࣌ؒऔΕͯͳ͍…
·ͱΊ
·ͱΊ • ҭࣇٳۀ͕औΕͯɺͱͯॿ͔Γ·ͨ͠ʂ • ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ • εϚʔτεϐʔΧʔɺҭࣇάοζͰ͢ʂ • ͬͯΈ͍ͨํ͓͕͚͍ͩ͘͞