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
google-inside-fintech-2019-06-10
Search
Tomokazu Kozuma
June 10, 2019
Technology
870
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
google-inside-fintech-2019-06-10
Tomokazu Kozuma
June 10, 2019
More Decks by Tomokazu Kozuma
See All by Tomokazu Kozuma
PORT-Firebase × Blockchain-2019-05-21
tomokazukozuma
1
310
ginco-engineer-meetup-2019-04-11
tomokazukozuma
4
3.5k
blockchain.tokyo#18-2019-03-26
tomokazukozuma
3
2.1k
firebase-meetup-#11-2019-02-18
tomokazukozuma
5
2.1k
KyberNetwork-DEX-research2-at-Neutrino-2018-11-12.pdf
tomokazukozuma
0
2k
career-event-by-techbowl-at-mercari-2018-11-07.pdf
tomokazukozuma
0
1.5k
Backend of Cryptocurrency Wallet and Ginco integrated with DEX KyberNetwork
tomokazukozuma
7
8.7k
Other Decks in Technology
See All in Technology
Android skills に学ぶ
kokiko
0
170
Genie Codeハンズオン応用編
taka_aki
0
140
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
520
AWS Blocks が楽しい #ゆるWeb札幌
tacck
PRO
0
140
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
270
【Aiming】共通基盤なのに「共通化しない」課金・認証基盤「LINK」が選び取ったシングルテナント戦略と運用の秘訣
saikeda
0
180
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
120
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
350
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
590
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
400
MIXIで活躍できるエンジニアを 若手社員目線で考えてみる
mixi_engineers
PRO
0
140
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
140
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
260
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
A designer walks into a library…
pauljervisheath
211
24k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
640
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
How to train your dragon (web standard)
notwaldorf
97
6.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Between Models and Reality
mayunak
4
400
Facilitating Awesome Meetings
lara
57
7.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Transcript
Πϯϑϥཧෆཁͷ'JSFCBTFͱ (,&Ͱ࣮ݱ͢ΔϞόΠϧΞϓϦ։ൃ June 10th, 2019 Tomokazu Kozuma
Tomokazu Kozuma @Tomokazu106 ౦ژۀେֶେֶӃଔۀޙɺαΠόʔΤʔδΣϯτͰεϚϗήʔϜͷαʔόɺΠϯϑϥશ ൠΛ୲ɻϒϩοΫνΣʔϯԾ௨՟ʹ͍ٕͭͯज़ϒϩάΛॻ͍ͯΔ͏ͪʹத͠ɺຊ ৬ͱͯ͠ྗ͢ΔͨΊʹ(JODPʹೖࣾɻ(JODPͰૹۚϓϩτίϧͷ࣮ɺϒϩοΫ νΣʔϯϊʔυӡ༻ɺϋʔυϑΥʔΫରԠͳͲ෯͘୲ɻ
։ൃͷͷલʹʜ(JODPʹ͍ͭͯ
U U U Wallet Mining Solution ϞϯΰϧͰͷ Ծ௨՟ϚΠχϯά ϒϩοΫνΣʔϯͷ αʔϏε։ൃˍ࣮ূ࣮ݧ
αϙʔτ ҆৺ɾ҆શͷ Ծ௨՟ΥϨοτ ϒϩοΫνΣʔϯʹಛԽͨ͠ݚڀɾ։ൃΛߦ͍ɺΥϨοτϚΠχϯάͳͲΛࣄۀԽ
U U ϒϩοΫνΣʔϯʹಛԽͨ͠ݚڀɾ։ൃΛߦ͍ɺΥϨοτϚΠχϯάͳͲΛࣄۀԽ U Wallet Mining Solution ϞϯΰϧͰͷ Ծ௨՟ϚΠχϯά ϒϩοΫνΣʔϯͷ
αʔϏε։ൃˍ࣮ূ࣮ݧ αϙʔτ ҆৺ɾ҆શͷ Ծ௨՟ΥϨοτ
Ծ௨՟ΥϨοτͱ [ [ ࢿ࢈Λಈ͔͢͜ͱ͕Ͱ͖Δൿີ伴Λཧ [ [ ൿີ伴͕औΒΕΔʹࢿ࢈͕౪·ΕΔ Ծ௨՟ͷૹडۚɾऔҾཤྺɾߴΛཧ αʔόܕͱΫϥΠΞϯτܕ͕͋Δ
ΫϥΠΞϯτܕΥϨοτΞϓϦ ϢʔβʔͷͰࢿ࢈Λ҆શʹཧ ෳϒϩοΫνΣʔϯʹରԠ ͍͔͘͢Γ͍͢6*69
ϦϦʔε #$)ରԠ -5$ରԠ 931ରԠ ¥10,000,000,00 &5$ରԠ ྦྷܭೖֹۚۚ μϯϩʔυ ԯԁ 100
50,000 DL+ ࠃ།ҰͷϚϧνϒϩοΫνΣʔϯରԠ %&9ػೳϙʔτϑΥϦΦػೳඋ
ࣄۀऀ͚ΥϨοτγεςϜ U ࢿ࢈ϚϧνγάͰཧ U ൿີ伴ϢʔβʔͷͰ҆શʹཧ U ෳϒϩοΫνΣʔϯʹରԠ
ಠࣗͷݎ࿚ͳΠϯϑϥ શͯͷϒϩοΫνΣʔϯ ϊʔυΛࣗΒཧӡ༻ ϒϩοΫνΣʔϯͷσʔλΛ ݕࡧ͢ΔγεςϜΛࣗୡͰߏங ߴ͍εέʔϥϏϦςΟ Node Block Explorer Scalability
(JODPͷઆ໌Ҏ্
ϞόΠϧΞϓϦͷٕज़બఆ
ϦϦʔε·Ͱͷ։ൃνʔϜ [ [ όοΫΤϯυΤϯδχΞਓ J04ΤϯδχΞਓ
݄ ݄ ݄ ݄ ݄ ཁ݅ఆٛ Ќ൛։ൃ Ќ൛ʢ&5)ʣ ϦϦʔε W։ൃ
ਖ਼ࣜ൛ʢ#5$ʣ ϦϦʔε ։ൃεέδϡʔϧ
[ [ [ ൿີ伴ͷ҆શͳཧ௨՟ରԠ ΫϥΠΞϯτͰ࣮ ϒϩοΫνΣʔϯϊʔυӡ༻ ,VCFSOFUFT (,& ɾϚϧνϒϩοΫνΣʔϯ ɾՄ༻ੑ
ϒϩοΫΤΫεϓϩʔϥͷߏங ɾૹडۚͷऔҾཤྺ 'JSFCBTF ɾΞυϨε௨՟ผͷߴཧ ΥϨοτʹඞཁͳͷ
[ [ ྗ͖͢ൿີ伴ͷཧɺ௨՟ରԠɺ6*69 ϊʔυӡ༻ͱϒϩοΫΤΫεϓϩʔϥॏཁ͚ͩͲ ෛ୲ΛݮΒ͍ͨ͠ ͦͷͨΊʹ(,&ͱ'JSFCBTFΛར༻ ॏཁͳ͜ͱʹྗ͍ͨ͠
(,&ΛͬͨϒϩοΫνΣʔϯϊʔυӡ༻
[ [ • "͕#ʹૹͬͨͱ͍͏ཤྺʢτϥϯβΫγϣϯʣΛอ࣋ • ୭ͷڐՄͳ͘ӡ༻Ͱ͖தΛ֬ೝͰ͖Δ • ϊʔυੈքதͰӡ༻͞Ε͍ͯͯɺ૬ޓʹσʔλΛड͚͢͜ͱͰಉ͡σʔλΛಉظ ϒϩοΫνΣʔϯͱ ΥϨοτΛ։ൃ͢Δ্ͰϒϩοΫνΣʔϯ্ͷσʔλʹৗʹΞΫηεͰ͖Δ͜ͱ͕ॏཁ
[ [ [ ϒϩοΫνΣʔϯϊʔυͷӡ༻Ͱେࣄͳ͜ͱ Մ༻ੑ ֤ϊʔυͷόʔδϣϯΞοϓͷ͢͠͞ 3%͕͍͢͠
[ • ঢ়ଶΛίʔυͰઃఆˠએݴతઃఆ • มߋΛՃ͑ΒΕͳ͍৽نͰ࡞Γ͢ˠ*NNVUBCJMJUZ • ࢦఆͨ͠ঢ়ଶʹࣗಈͰम෮ˠηϧϑώʔϦϯά [ • શͯͷΠϯϑϥΛZBNMϑΝΠϧͰཧͰ͖ɺ$*πʔϧΛͬͯσϓϩΠՄೳ
• ߏங͖͢Ϧιʔεଟ͍ͷͰΠϯελϯεΑΓίϯςφͷํ͕։ൃӡ༻ָ͕ • ىಈ͕ૣ͍ͷͰ࡞ͬͯյͯ͠ͷ3%͕Γ͍͢ બఆཧ༝ ,VCFSOFUFTͷಛ
[ (,&ͷಛ • ,VCFSOFUFTͷϑϧϚωʔδυαʔϏε • ΫϥελʔͷΦʔτεέʔϦϯά • ,VCFSOFUFTͷࣗಈΞοϓάϨʔυ • 4UBDLESJWFSʹΑΔϩΪϯάϞχλϦϯά
[ ଞࣾϑϧϚωʔδυ,VCFSOFUFTͱͷҧ͍ • ϩΪϯάϞχλϦϯάͷ༻ʹՃઃఆඞཁͳ͍ • *OHSFTTʹࣗಈͰ-ͷ-#ׂ͕ΓͯΒΕΔ • Φʔτεέʔϧͷઃఆ0/0''ͷΓସ͑ͷΈ • ,VCFSOFUFTͷࣗಈόʔδϣϯΞοϓʢ0/0''ͰΓସ͑Մೳʣ
[ (,&ͳΒઃఆͳ͠ʹ͙͢ʹ͍࢝ΊΒΕΔ
(JODPͰ࣮ࡍʹͲͷ͘Β͍༻͍ͯ͠Δ͔
Engine Kubernetes Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin
XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum ཤྺ༻ Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum ૹۚ༻ ڥ͋ͨΓϊʔυ
%FWFMPQɿ5FTUOFU 4UBHJOHɿ-JWFOFU 1SPEVDUJPO-JWFOFU Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin
Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum Bitcoin Bitcoin Bitcoin Cash Bitcoin Cash Litecoin Litecoin XRP XRP Ethereum Ethereum Classic Ethereum Classic Ethereum [ • શڥͰϊʔυҎ্Λӡ༻ • ϒϩΫνΣʔϯಛԽͷϔϧενΣοΫػೳ • ಠࣗͷϑΣΠϧΦʔόʔػೳ શڥ
[ Bitcoin )FBMUI$IFDL 4FSWJDF #MPDL)FJHIU Bitcoin Bitcoin Engine Kubernetes
[ ࠷৽ϒϩοΫΛಉظͰ͖͍ͯͳ͍߹-#͔Β֎͢ -BUFTU#MPDL ϒϩοΫνΣʔϯಛԽͷϔϧενΣοΫػೳ
[ Bitcoin )FBMUI$IFDL 4FSWJDF /PEF" Bitcoin Bitcoin Engine Kubernetes /PEF#
/PEF$ [ ಉظͰ͖͍ͯͳ͍ϊʔυʹਖ਼ৗͳϊʔυΛڭ͑ଓͤ͞Δ /PEF$ʹ"Λڭ͑Δ ಠࣗͷϑΣΠϧΦʔόʔػೳ
[ CircleCI Engine Container $MPVE #VJME Engine Kubernetes Stackdriver $POUBJOFS
3FHJTUPSZ ᶄϏϧυ5FTU ᶅ*NBHFΛϏϧυ ᶆ*NBHFΛొ ᶇ1PEͷ*NBHFͷߋ৽ GitHub ᶃϚʔδͨ͠ΒΩοΫ (,&ͷσϓϩΠ
,VCFSOFUFTΛͬͯͷར [ [ [ ϚΠΫϩαʔϏεͱͯ͠ಠࣗͷػೳΛՃ͍͢͠ ༷ʑͳछྨͷϦιʔεཧͱσϓϩΠ͕༰қ (,&ͳΒॳظઃఆ͕ॆ࣮͍ͯ͠ΔͷͰ͙͢ʹຊ൪ར༻Ͱ͖Δ
'JSFCBTFΛͬͨϒϩοΫΤΫεϓϩʔϥͷߏங
[ • ϒϩοΫνΣʔϯͷσʔλΛݕࡧ͢ΔγεςϜ • ϒϩοΫνΣʔϯϊʔυࣗମʹॊೈͳݕࡧγεςϜ͕ͳ͍ • ϒϩοΫνΣʔϯϊʔυߴෛՙʹ͑ΒΕͳ͍ • ΥϨοτʹݶΒͣϒϩοΫνΣʔϯΛͬͨαʔϏεΛ࡞ΔʹϚετͳػೳ ϒϩοΫνΣʔϯ
ϒϩοΫΤΫεϓϩʔϥ 5Y ߴ ϒϩοΫΤΫεϓϩʔϥʔͱʁ
ϒϩοΫΤΫεϓϩʔϥʔͰେࣄͳ͜ͱ [ [ [ શͯͷϒϩοΫνΣʔϯͰͷ౷ҰతͳΠϯλʔϑΣʔε σʔλݕࡧͷ͢͠͞ ϦΞϧλΠϜʹมߋΛऔಘͰ͖Δ
[ [ ଞࣾϒϩοΫΤΫεϓϩʔϥ ࣗࣾϒϩοΫΤΫεϓϩʔϥ #JUDPJOͷΤΫεϓϩʔϥ &UIFSFVNͷΤΫεϓϩʔϥ 3JQQMFͷΤΫεϓϩʔϥ ɾ ɾ
(JODPͷϒϩοΫΤΫεϓϩʔϥ ̍ͭͰෳରԠ
ϒϩοΫΤΫεϓϩʔϥʔΛࣗ࡞͢Δཧ༝ ଞࣾ ࣗࣾ ϝϦοτ ͙͍࢝͢ΊΒΕΔ શϒϩοΫνΣʔϯͰ*'Λ౷Ұ ϦΞϧλΠϜʹऔಘ͢Δ߹*'Λ౷Ұ σϝϦοτ ϒϩοΫνΣʔϯຖʹ*'͕มΘΔ ϒϩοΫνΣʔϯͷਂ͍ཧղͱ࣮
ϒϩοΫΤΫεϓϩʔϥͷߏஙͷมભ
[ • ("& $MPVE%BUBTUPSFΛ༻ • "1*࣮ɺΠϯλʔϑΣʔεͷࡲΓ߹Θͤʹ࣌ؒΛফඅ • ϦΞϧλΠϜʹσʔλऔಘ͢Δʹ͞Βʹ͕͔͔Δ • ਓ͕গͳ͍ͨΊྗ͍ͨ͠ΥϨοτͷ։ൃʹूதͰ͖ͳ͍
Cloud Datastore ϒϩοΫΤΫεϓϩʔϥ ։ൃॳظ
[ • N#BB4ɿϞόΠϧόοΫΤϯυαʔϏε • αʔόαΠυͷ։ൃΛݮ͢ΔͨΊʹϓογϡ௨ͳͲ ൚༻ػೳΛΫϥυαʔϏεͱͯ͠ఏڙ • "VUI %BUBTUPSFʢ'JSFTUPSFʣ 4UPSBHF
'VODUJPOT • .FTTBHJOH "OBMZUJDT 3FNPUF$POpH )PTUJOH 'JSFCBTFͱʁ
[ • αʔόϨεͰཧίετແ͠ • άϩʔόϧϨϕϧͷεέʔϦϯάੑ • ϦΞϧλΠϜΞοϓσʔτ • ΦϑϥΠϯαϙʔτ •
$MPVE'VODUJPOTͳͲଞαʔϏεͱͷ࿈ܞ $MPVE'JSFTUPSFಛ
[ Cloud Datastore ϒϩοΫΤΫεϓϩʔϥ 'JSFTUPSFͰͲ͏มΘ͔ͬͨ
[ $MPVE'JSFTUPSFʹͯ͠ಘΒΕͨϝϦοτ • ΞΫηε͢Δ͜ͱͰHFUTFUܥͷ"1*͕ඞཁͳ͍ • XFCTPDLFUͷ࣮ͳ͠ʹϦΞϧλΠϜͳมߋΛऔಘͰ͖Δ • Πϯϑϥͷෳࡶੑ͕ͳ͘ͳΔ • αʔό։ൃཧςετΛݮ
• ͦͷ݁Ռɺൿີ伴ͷཧɺෳ௨՟ରԠɺ6*69ͷ࣮ʹઐ೦
'JSFTUPSFͬͯΈͯͷݟ
'JSFTUPSFΛͬͯΈͯͷݟ [ [ ϥϯχϯάίετӡ༻ίετ ΞΫηείϯτϩʔϧ
ϥϯχϯάίετӡ༻ίετ
[ 'JSFTUPSFͷඅ༻ײ • શڥ߹Θͤͯສԁఔ • ىಈ࣌ؒͰͳ͘ݺͼग़͠ճͱอଘσʔλྔʹ՝ۚ͞ΕΔ • ແྉ͕͋ΔͷͰɺϦϦʔε·ͰίετΛ͑Δ͜ͱ͕Ͱ͖Δ • ແྉσΠϦʔ3FBEສճɺ8SJUF%FMFUFສճ
• ϦϦʔεલ݄ສԁఔͱελʔτΞοϓʹ༏͍͠
[ 'JSFTUPSFͷԽ • σʔλͷԽκʔϯؒͰࣗಈͰෳ͞ΕΔ • ϚϧνϦʔδϣϯͰͷԽઃఆՄೳ • ࡞࣌ʹεϖοΫͷઃఆ͕͍Βͳ͍ • ؆୯ʹ͍࢝ΊΒΕͯͦͷ··ຊ൪ӡ༻͕Ͱ͖Δ
• 'JSFTUPSFͳΒΠϯϑϥઐͷΤϯδχΞඞཁͳ͍
[ 'JSFTUPSFͷεΩʔϚΠϯσοΫε • εΩʔϚϨεͳͷͰϚΠάϨʔγϣϯ͕͍Βͳ͍ • "MUFSจͳ͍ͷͰࣗྗͰόονΛ࣮͢Δඞཁ͕͋Δ • ୯ҰϑΟʔϧυͷΠϯσοΫεࣗಈͰுͬͯ͘ΕΔ • ෳϑΟʔϧυʹର͢ΔΫΤϦෳ߹ΠϯσοΫε͕ඞਢ
[ ӡ༻ϝϯόʔ • ࠷ऴతʹΞϓϦΤϯδχΞͷΈͰӡ༻ • %#ઃܭϊϋ͕ඞཁͳͷͰ૬ஊ͠ͳ͕ΒਐΊΔ • ΞϓϦΤϯδχΞͷൣғ͕͘ͳΔ͕ খ͍͞νʔϜͰεέʔϧ͢ΔαʔϏεΛ࡞Δ͜ͱ͕Ͱ͖Δ
'JSFTUPSFͷΞΫηείϯτϩʔϧ
[ 'JSFTUPSFͷΞΫηείϯτϩʔϧ • ΫϥΠΞϯτ͔Β'JSFTUPSFʹΞΫηεՄೳ • ΞΫηεʹ"1*Ωʔ͕ඞཁ • "1*ΩʔΫϥΠΞϯτʹຒΊࠐΉͷͰ୭Ͱ֬ೝՄೳ • ୭ͰΞΫηεͰ͖ΔͨΊSVMFTͰ੍ޚ
[ "1*ΩʔͰΞΫηε
[ Firestore Cloud Rules "1*ΩʔͰΞΫηε • SFBEXSJUFݖݶ • σʔλͷόϦσʔγϣϯ 'JSFTUPSFSVMFT
[ match /Users/{uid} { allow get: if someCondition(); allow create:
if someCondition(); } function someCondition() { … } SFBE୯ҰEPDΛऔಘ͢ΔHFUͱෳऔಘ͢ΔMJTU XSJUFDSFBUF VQEBUF EFMFUF SFBEXSJUFݖݶ
[ match /Users/{uid} { allow update: if request.resource.data.keys().hasOnly(["name", "age"]) &&
request.resource.data.name is string && request.resource.data.name != "" && request.resource.data.age == resource.data.age } 'JSFTUPSFͷมߋલͷσʔλɿSFTPVSDFEBUB 'JSFTUPSFͷมߋޙͷσʔλɿSFRVFTUSFTPVSDFEBUB ܕɿJOU TUSJOH CPPM UJNFTUBNQͳͲ LFZɿIBT"MM IBT0OMZ IBT"OZ σʔλͷόϦσʔγϣϯ
[ 'JSFCBTF-PDBM&NVMBUPS • ݄ʹ'JSFTUPSF-PDBM&NVMBUPS͕ൃද • SVMFTͷςετϩʔΧϧڥ͚ͩͰ݁ • ଞਓͷ࡞ۀΛҙࣝ͠ͳͯ͘ྑ͘ͳͬͨͷͰSVMFTͷՃɾमਖ਼͕͘͢͠ͳͬͨ • ςετ࣮ߦ࣌ؒʹݮ
'JSFCBTFͷͦͷଞͷػೳʹ͍ͭͯ
[ • ϓογϡ௨ • Ϋϥογϡϩάʢ*TTVFԽ4MBDL௨ʣ • Ϣʔβʔߦಈϩάͷه • ڧ੍Ξοϓσʔτ •
'JSFTUPSFͷόοΫΞοϓͱ#JH2VFSZ࿈ܞ • ϞχλϦϯά ΥϨοτҎ֎ͷػೳ
[ Functions Cloud ᶃσʔλ͕ߋ৽͞ΕͨΒ'VODJUPOTΛىಈ ᶄ.FTTBHJOHʹ௨ ᶅ.FTTBHJOH͔Βʹ௨ Firestore Cloud Messaging Cloud
ϓογϡ௨
[ Ϋϥογϡϩά ᶃΫϥογϡϩάΛ௨ Functions Cloud ᶄ'VODUJPOΛىಈ ᶆ(JU)VCʹJTTVF࡞ Crashlytics GitHub Slack
ᶇ4MBDLʹ௨ ᶅ'VODUJPO͔Β֤छαʔϏεʹ௨
[ ᶃΞΫγϣϯΛ&WFOUʹϓογϡ Analytics Functions Cloud ᶄ&WFOUΛτϦΨʔʹىಈ ֎෦ API ᶅ֎෦"1*Λ࣮ߦʢࠂͷଌఆʣ ΞΫγϣϯͷαϚϦΛݟΕΔ
Ϣʔβʔߦಈϩάͷه
[ ڧ੍Ξοϓσʔτ Config Remote ᶃىಈ࣌ʹ3FNPUF$POpH͔Β࠷όʔδϣϯΛऔಘ 04ผʹ࠷όʔδϣϯΛઃఆ ɾJ04W ɾ"OESPJEW
[ 'JSFTUPSFͷόοΫΞοϓͱ#JH2VFSZ࿈ܞ Scheduler Cloud Functions Cloud ᶃ#BDLVQ"1*Λ࣮ߦ Storage Cloud ᶄ#BDLVQϑΝΠϧ͕࡞͞ΕΔ
BigQuery ᶅ#BDLVQϑΝΠϧͷ࡞͕ྃޙ ɹ#JH2VFSZϩʔυ͢Δ"1*Λ࣮ߦ
[ 4UBDLESJWFS-PHHJOH.POJUPSJOH Engine Kubernetes Stackdriver Functions Cloud Slack ᶅᮢΛ͑ͨΒ௨ ᶄ4UBDLESJWFSͰϞχλϦϯά
ᶃࣗಈͰ4UBDLESJWFSʹूܭ͞ΕΔ
4UBDLESJWFS-PHHJOH
4UBDLESJWFS&SSPS3FQPSUJOH
4UBDLESJWFS.POJUPSJOH
·ͱΊ [ [ [ (,&Λ͏͜ͱͰେͳϦιʔεཧ͕༰қʹͳΔ 'JSFCBTFͳΒখ͍͞νʔϜͰεέʔϥϒϧͳαʔϏε։ൃ͕Ͱ͖Δ ݁Ռͱͯ͠伴ཧɺ௨՟ରԠɺ6*69ͳͲॏཁͳ͜ͱʹ࣌ؒΛ͑Δ