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
re:今更始める Firebase + BigQueryを使った サクサクデータ分析 / We...
Search
hideki kinjyo
PRO
April 20, 2018
Programming
0
660
re:今更始める Firebase + BigQueryを使った サクサクデータ分析 / We love Array in BigQuery
社内発表用資料です。
BigQuery(Firebase Analytics)を利用する際に気をつけたい点を、ARRAYの取扱周りを中心に話しました。
hideki kinjyo
PRO
April 20, 2018
Tweet
Share
More Decks by hideki kinjyo
See All by hideki kinjyo
色んなオートローダーを覗き見る #phpcon_okinawa
o0h
PRO
5
440
ヒューマンエラーの本を読んだ ~報告会~
o0h
PRO
3
230
みんなでワイワイ「テスト駆動開発」の話をやる会 #techramen24conf
o0h
PRO
3
420
SPLから始める「データ構造」入門
o0h
PRO
7
1.6k
PHPUnit11の新しい仲間たち
o0h
PRO
3
290
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
60
19k
パンフ記事 「初めてのリファクタリング!」 の裏側 #phperkaigi
o0h
PRO
2
130
phpunit/php-code-coverageって何をしてるんだ #phperkaigi
o0h
PRO
3
1.1k
Composerを便利に使うために私がやっていること #phperkaigi
o0h
PRO
1
2.3k
Other Decks in Programming
See All in Programming
破壊せよ!データ破壊駆動で考えるドメインモデリング / data-destroy-driven
minodriven
14
3.8k
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
310
のびしろを広げる巻き込まれ力:偶然を活かすキャリアの作り方/oso2024
takahashiikki
1
350
WEBエンジニア向けAI活用入門
sutetotanuki
0
290
VR HMDとしてのVision Pro+ゲーム開発について
yasei_no_otoko
0
100
PagerDuty を軸にした On-Call 構築と運用課題の解決 / PagerDuty Japan Community Meetup 4
horimislime
1
100
Identifying User Idenity
moro
4
6.1k
Sidekiqで実現する 長時間非同期処理の中断と再開 / Pausing and Resuming Long-Running Asynchronous Jobs with Sidekiq
hypermkt
6
2.2k
cXML という電子商取引の トランザクションを支える プロトコルと向きあっている話
phigasui
2
2k
RailsのPull requestsのレビューの時に私が考えていること
yahonda
4
1.5k
The future of development – Are our jobs getting harder or easier?
hollycummins
1
240
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
3
1k
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Designing Experiences People Love
moore
138
23k
Visualization
eitanlees
143
15k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Done Done
chrislema
181
16k
Testing 201, or: Great Expectations
jmmastey
38
7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Code Review Best Practice
trishagee
64
17k
Transcript
SFࠓߋ࢝ΊΔ 'JSFCBTF #JH2VFSZΛͬͨ αΫαΫσʔλੳ
͔ͭͯ ͜͏͍͏هࣄΛॻ͖·ͨ͠ʂ IUUQUFDIDPOOFIJUPDPNFOUSZ
͔͋ͭͬͨ༰ w ྻσʔλͷϑϥοτԽ w $3044+0*/Λ༻͍ͨߜΓࠐΈ w 8*5)۟Λͬͨଟஈूܭ w 'JSFCBTF"OBMZUJDTͷσʔλߏ
None
ײ Α͔ͬͨͱࢥ͏͜ͱ w 8*5)۟ศརʂʂ w ίϨࣾͰྲྀߦ͍ͬͯͦ͏ʂ w ྲྀߦ͍ͬͯΔʮͨΓલʯԽʂ
ײ ͍࣌·͍ͪγοΫϦདྷ͍ͯͳ͔ͬͨ͜ͱɺ ͦͷޙʹཧղ͕ਂ·ͬͨ͜ͱ w ྻͷσʔλͷѻ͍ɺͬͱྑ͘ͳΕΔͱྑ͍ͷ͔ɾɾ
ࠓͷςʔϚ
w 'JSFCBTF"OBMZUJDTʹ͋Δ w FWFOU@EJNͷσʔλΛத৺ʹ w #JH2VFSZͷྻσʔλʹཱ͔ͪ͏
ࠓͷΰʔϧ
ྻා͘ͳ͍ͧʂʂ
"HFOEB #JH2VFSZʹ͓͚Δʮྻʯʹ͍ͭͯ ࠶ೖ'JSFCBTF"OBMZUJDTͷσʔλߏ ֓೦͔ΒΞϓϩʔν͢Δʮ͖ͬ͢Γσʔλऩूʯ
͔͜͜Βαϯϓϧ1+Λར༻ͯ͠આ໌ΛਐΊ·͢ IUUQTCJHRVFSZDMPVEHPPHMFDPNUBCMFpSFCBTFBOBMZUJDT TBNQMFEBUBJPT@EBUBTFUBQQ@FWFOUT@
#JH2VFSZʹ͓͚Δʮྻʯʹ͍ͭͯ
ྻͬͯͳΜ͚ͩͬʁ ςʔϒϧͰΈΔͱʮͭͷߦʯʹʮෳͷʯ͕ೖ͍ͬͯΔͭ
ྻͬͯͳΜ͚ͩͬʁ +40/ͰΈΔͱΘ͔Γ͍͢
ྻͱࢲୡ Πϕϯτʹؚ·Ε͍ͯΔଐੑΩʔΛͱΔͧʂʂ
ྻͱࢲୡ ͍ͭͷΞϨ
ͳΜͯݴͬͯΔͷʁ w ؾʹ͖͢ $BOOPUBDDFTTpFMEQBSBNTPOBWBMVFXJUIUZQF"33": ͷ෦ w AQBSBNTA"33":ͳͷ͔ͩΒɺALFZAͱ͍͏ϑΟʔϧυΞΫ ηεͰ͖ͳ͍
ͳΜͯݴͬͯΔͷʁ ·͊ɺແཧͩΑͶɻɻɻ ͍ͬͯΔ͜ͱίϨɻ
ͪͳΈʹ
ͪͳΈʹ ϦΞϧλΠϜʹόϦσʔγϣϯϋΠϥΠτͯ͘͠ΕΔ
༨ஊFWFOU@EJNͷ4536$5 ͜Μͳײ͡
༨ஊᶄεΩʔϚఆٛͱ"33": ʮྻʯʮߏମʯͱ3&$03%ͱදݱ͞ΕΔɻ ͦͷ͏ͪɺ3&1&"5&%ͱͳ͍ͬͯΔͷ͕ྻɻ
࠶ߟྻͷϝϦοτ
3&$03% 4536$5ͱ"33": w 3&$03%ʮෳͷΛଋͶ ͨͷʯ w 4536$5ʮԣʯɺ"33": ʮॎʯͳΠϝʔδ
3&$03%σʔλͷల։ w "33":ͷల։ʹ6//&45 w 4&-&$5۟ʮߦͷग़ྗΛ͢ Δͷʯɻ w ߦΛग़ྗ͢Δͷ'30.ʹೖ ΕΔɻ
4&-&$5ྻͷσβΠϯ ˠ6//&454&-&$5۟ʹؚΊ ΒΕͳ͍ɻ'30.ʹೖΕΔɻ w 4536$5ͷల։ʹpFME w ԣల։र͏ʮྻΛ૿͢ʯͷ 4&-&$5۟ͷதʹɻ
ྻͷཁૉͷΞΫηε w "33":<0''45 O >Ͱɺ֤ཁ ૉΞΫηεͰ͖Δ w ͕͞ෆ໌ Մม ͷͱ͖
PVUPGCPVOETΤϥʔʹҙ w 4"'&@0''4&5 Λ͏ͱɺ ΤϥʔͰͳ͘/6--Λฦ͢Α͏ ʹ
༨ஊᶃ αϒΫΤϦΛ༻͍ͨྻͷੜ w ʮྻ ෳߦΛฦ͢ΫΤϦʯ Λɺ"33": ͷҾʹ͓͘͜ ͱ͕Ͱ͖Δ w ΫΤϦࣗମʮෳཁૉɾෳ
ଐੑʯΛੜ͢Δ͕ɺ͋͘ ·Ͱʮ୯ҰͷϨίʔυܕʯͱ ݴ͍ுΔ͜ͱ͕Ͱ͖Δʂ
Ͳ͏ͯ͠ศརͳͷʁ w ؔ࿈Λͭͷηοτʹ͓͚ͯ͠Δͷศར͞Ͷɾɾ w ྻΛҾʹऔΔؔͷαϙʔτ͕͋ΔΑخ͍͠Ͷ w 42-తʹʮ(3061#:Λͳͤ͘ΔʯͷͰ͔͍
࠶ೖ'JSFCBTF"OBMZUJDTͷσʔλߏ
ϢʔβʔใͱΠϕϯτใͰߦ w τοϓʹVTFS@EJNͱFWFOU@EJN͕͋Γ w FWFOU@EJN3&1&"5&% w VTFS@EJNͱFWFOU@EJN<>ɺͦΕͧΕVTFS@QSPQFSUJFTɾ QBSBNTͱ͍͏LFZWBMVFͳ3&1&"5&%ϨίʔυΛͭ w ͨͿΜίϨ͚ͩ௫ΜͰ͠·͑ɺେମ0,
WBMVFܕ͝ͱʹରԠͨ͠ଐੑΛͭ w VTFS@QSPQFSUJFT QBSBNTʹWBMVFͱ͍͏4536$5͕͋Δɻ ʹΑͬͯTUSJOH JOU qPBU EPVCMFʹৼΔ͍͚ΒΕΔ w ཧతʹ$0"-&4$&ͰશͯͷଐੑΛݕࠪ͢Δɾɾͱ͍͏ͷ
Մೳ
WBMVFܕ͝ͱʹରԠͨ͠ଐੑΛͭ WBMVFWBMVF ͷ͏ͪʮ/6--͕ͳΕͦͷΛʯฦ͢ྫɻ JOUͱqPBU͕ಉ͡ϑΟʔϧυʹ͞Ε͍ͯΔ
pSFCBTF@FWFOU@PSJHJOʹ͍ͭͯ w 4%,͕ࣗಈతʹه͢ΔͱɺBQQ͕ه͢Δ͕͋Δ w ࣗಈతʹه͞ΕΔɾɾɾ w TFTTJPO@TUBSU w pSTU@PQFO w
VTFS@FOHBHFNFOUͳͲ
֓೦͔ΒΞϓϩʔν͢Δʮ͖ͬ͢Γσʔλऩूʯ
ಛఆͷΠϕϯτΛΩʔʹ4&-&$5 ʮ˓˓ͨ͠ϢʔβʔͷҰཡʯΈ͍ͨͳͭ w 'JSFCBTF"OBMZUJDTతʹɾɾ w ΠϕϯτͷछྨFWFOU@EJN<>LFZΛݟΕྑ͍ w #JH2VFSZతʹ w ॎํͷϕΫτϧ9*/MJTUͰਅِఆ͕Ͱ͖Δ
w ਅِఆ͕Ͱ͖Ε 8)&3&۟ʹೖΕΔ͜ͱͰɺ੍ݶ͕Մೳ
ಛఆͷΠϕϯτΛΩʔʹ4&-&$5 ϕΫτϧΛੜ͢ΔΑ͏ɺ6//&45͔ΒࣹӨ͢Δ ݅ͱͳΔFWFOU@EJN<>LFZͷΛɺ*/ʹͿ੍͚ͭͯݶΛߦ͏
ԋࢉͷରʹΫΤϦΛ͏ w αϒ ΫΤϦ4&-&$5จ w #JH2VFSZͰॊೈʹΫΤϦΛೖΕࢠͰ͖Δ w ಛʹLFZWBMVFܗࣜͷ"33":4536$5Λ ݅ʹҾͬுͬͯ͘Δͱ͖ͳͲʹڧͳΠϯύΫτ
ԋࢉͷରʹΫΤϦΛ͏ w͍ͬͯΔ͜ͱγϯϓϧͳ"WBMVFͷ8)&3&۟ wݕࠪϑΟʔϧυ͕LFZΛ݅ͱͯ͠औͬͨߦͷWBMVFྻͱ͍͏ߏ wूؔ $06/5ͱ͔."9ͱ͔ -*.*5ɺ03%&3ͷར༻Մೳ
ԋࢉͷରʹΫΤϦΛ͏ w LFZΛϑΟʔϧυ໊ʹస༻͢Δྫ w ࠓճϋογϡߏతͳLFZWBMVFදݱ͕ରͳͷͰ͜ΕͰΑ͠ɻ 03%&3-*.*5Λ͏ͱʮཁૉ͚ͩฦ͢ʯͰ͖Δͣɻ
ԋࢉͷରʹΫΤϦΛ͏ w ʮಛఆͷ݅Λຬ͍ͨͯ͠Δ ͔ʯΛ ϑΟʔϧυʹग़ྗ͢Δྫ
͜ΕΒͷॲཧΛ༻͍ͯσʔλΛૢ࡞͠ɺ ۪ʹ8*5)۟Λ͍ͳ͕Βʮεςοϓͣͭूܭʯ͍͚ͯ͠ ലେͳσʔλ͕ๅͷࢁʹͳΔͱࢥ͍·͢ʂʂ
͓ർΕ༷Ͱͨ͠ʂ