Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレー...
Search
kikunantoka
October 04, 2019
Technology
2.5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / gotanda_js_13
kikunantoka
October 04, 2019
More Decks by kikunantoka
See All by kikunantoka
個人開発しているサービスのインフラをAWSからGCPに載せ替えた話 💪 / kojin_kaihatsu_night_3
kikunantoka
0
1.3k
Gatsby.jsとCloud Functionsで毎週自動でコンテンツが更新され続けるフレームワーク比較サイトを作った話 / frontend_night_1
kikunantoka
3
1.8k
サービスがゼロからN億円規模になるまに実践した7つのやっていき / 7_yatteiki_battle_conference_u30_2019
kikunantoka
1
1.4k
Gatsby.jsとNetlifyとの付き合い方 / gatsby-js-and-netlify
kikunantoka
3
660
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
2
750
Gatsby.jsで導入事例をバシバシ読めるSPAなLPを作った話 / gatsby-js-for-biz-lp
kikunantoka
1
1.9k
今日から始める Flood.io / fuka-taisaku-night-01
kikunantoka
0
370
20万RPMを捌くRailsアプリケーションの作り方
kikunantoka
0
860
MVPに絞ったら個人開発でもちゃんとリリースできた話
kikunantoka
1
580
Other Decks in Technology
See All in Technology
サボる子はいねぇがー!AgentCoreハーネスの脆弱性に学ぶ、エージェントの入力バリデーション
iwamot
PRO
5
300
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
140
Lint の層を組み直した話
bengo4com
3
330
コードレビューをなくして見えたもの
henteko
0
140
業務でAWSをあまり使っていない私が、AWSへのモチベを保つ方法
smt7174
0
180
続・ソフトウェアアーキテクトのための意思決定術: Decision Readiness, Revisited — When AI Changes the Economics of Software Architecture
snoozer05
PRO
9
2.7k
攻撃 3 時間 vs 復旧 10 時間。アクセスキー流出の非対称性を体感するために CTF を作った話
kazzpapa3
1
160
少ない人手 限られた予算 それでも守る 消せない・見つける・戻れる オールハザード型BCP on AWS / 20261107 Mitsutoshi Matsuo
shift_evolve
PRO
0
250
顧客合意を取りながら進めるAWSコスト削減の実践
optim
0
130
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
5
1.1k
IoTとは〜? 数字で見るSORACOM UG【SORACOM UG Explorer 2026】
soracom
PRO
0
320
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
160
Featured
See All Featured
Scaling GitHub
holman
464
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
450
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
740
The Curse of the Amulet
leimatthew05
3
17k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.9k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
370
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
48k
Side Projects
sachag
456
43k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
660
Transcript
Gatsby.jsͱCloud FunctionsͰ ຖिࣗಈͰίϯςϯπ͕ߋ৽͞Εଓ͚Δ ϑϨʔϜϫʔΫൺֱαΠτΛ࡞ͬͨ Gotanda.js #13on 2019/10/04 @kikunantoka
ࣗݾհ about: name: Fumitaka Kikukawa work_at: giftee Inc. twitter: @kikunantoka
job: software engineer // ීஈRailsΛ৮͍ͬͯ·͢ // ॊΒ͔ΊͳΦϊΛ͓ئ͍͠·͢ //ʢࢦఠ͍͖͍ͯͨͩͨ͠Ͱ͢ ʣ
giftee Inc, in Gotanda
ʮGatsby.jsʯ ͬͯͬͯ·͔͢ʁ ?
• ੩తαΠτδΣωϨʔλ • React Ͱॻ͚Δ • SPAͳ੩తαΠτΛੜͰ͖Δ • StaticGen ΛݟΔݶΓɺ࠷ۙϗοτͳٕज़
None
None
ϗεςΟϯά • NetlifyΛ͏ͱGatsby.jsͰ࡞ͨ͠੩తαΠτΛ؆୯ʹϗεςΟϯάͰ͖Δ
Gatsby.jsͰݸਓͷϒϩάΛ࡞ͬͨ https://kikunantoka.com
Gatsby.jsͰۀͰ๏ਓ͚LPΛ࡞ͬͨ https://giftee.biz
Gatsby.jsͰۀͰ๏ਓ͚LPΛ࡞ͬͨ https://speakerdeck.com/kikunantoka/
Gatsby.js x Netlify ศར !
͜ͷΈ߹ΘͤͰԿ͔໘ന͍͜ͱ͕Ͱ͖ͳ͍͔ • GitHubͷϦϙδτϦʹPush͢ΔͱɺNetlifyͰBuild͕ΓɺσϓϩΠͯ͘͠Εͯί ϯςϯπ͕ߋ৽͞ΕΔ • GitHubͷAPIΛୟ͍ͯɺίϛοτͤ͞Εɺߋ৽ΛࣗಈԽͰ͖ΔͷͰ
͜ͷΈ߹ΘͤͰԿ͔໘ന͍͜ͱ͕Ͱ͖ͳ͍͔
͜Εͩ !
Gatsby.jsͱCloud FunctionsͰ ຖिࣗಈͰίϯςϯπ͕ߋ৽͞Εଓ͚Δ ϑϨʔϜϫʔΫൺֱαΠτΛ࡞ͬͨ ϑϩϯτΤϯυ Night #1on 2019/09/04 @kikunantoka
͜Μͳײ͡ͷϓϩτλΠϓΛ࡞ͬͨ
γεςϜߏ 0 10 * * 1 ᶃ ϑϨʔϜϫʔΫͷ ϦϙδτϦҰཡΛऔಘ ᶄ
GitHub APIΛୟ͍֤ͯϦϙδτϦͷ ελʔͳͲͷσʔλΛऩू ᶅ σʔλΛYamlϑΝΠϧʹ·ͱΊͯ kikunantoka/framework-mania ʹPush ᶆ PushΛhookͯ͠ɺbuild & deploy ᶇίϯςϯπ͕ߋ৽͞ΕΔ
Cloud Functions for Firebase • αʔόϨεͰJSͷؔΛ࣮ߦͰ͖ΔαʔϏε • JSͰTSͰॻ͚Δ • FunctionΛੜ͢Δ࣌ʹࢦఆͰ͖Δ
Cloud Functions for Firebase • ఆظ࣮ߦ͕Ͱ͖Δ • CronܗࣜͰࢦఆ͢Δ͚ͩʢຖि݄༵10࣌ʣ exports.scheduledFunctionCrontab =
functions.pubsub .schedule("0 10 * * 1”) .timeZone("Asia/Tokyo") .onRun(() => { return 0 })
σϞ
γεςϜߏ 0 10 * * 1 ᶃ ϑϨʔϜϫʔΫͷ ϦϙδτϦҰཡΛऔಘ ᶄ
GitHub APIΛୟ͍֤ͯϦϙδτϦͷ ελʔͳͲͷσʔλΛऩू ᶅ σʔλΛYamlϑΝΠϧʹ·ͱΊͯ kikunantoka/framework-mania ʹPush ᶆ PushΛhookͯ͠ɺbuild & deploy ᶇίϯςϯπ͕ߋ৽͞ΕΔ
σϞ
γεςϜߏ 0 10 * * 1 ᶃ ϑϨʔϜϫʔΫͷ ϦϙδτϦҰཡΛऔಘ ᶄ
GitHub APIΛୟ͍֤ͯϦϙδτϦͷ ελʔͳͲͷσʔλΛऩू ᶅ σʔλΛYamlϑΝΠϧʹ·ͱΊͯ kikunantoka/framework-mania ʹPush ᶆ PushΛhookͯ͠ɺbuild & deploy ᶇίϯςϯπ͕ߋ৽͞ΕΔ
σϞ
γεςϜߏ 0 10 * * 1 ᶃ ϑϨʔϜϫʔΫͷ ϦϙδτϦҰཡΛऔಘ ᶄ
GitHub APIΛୟ͍֤ͯϦϙδτϦͷ ελʔͳͲͷσʔλΛऩू ᶅ σʔλΛYamlϑΝΠϧʹ·ͱΊͯ kikunantoka/framework-mania ʹPush ᶆ PushΛhookͯ͠ɺbuild & deploy ᶇίϯςϯπ͕ߋ৽͞ΕΔ
σϞ
σϞ
γεςϜߏ 0 10 * * 1 ᶃ ϑϨʔϜϫʔΫͷ ϦϙδτϦҰཡΛऔಘ ᶄ
GitHub APIΛୟ͍֤ͯϦϙδτϦͷ ελʔͳͲͷσʔλΛऩू ᶅ σʔλΛYamlϑΝΠϧʹ·ͱΊͯ kikunantoka/framework-mania ʹPush ᶆ PushΛhookͯ͠ɺbuild & deploy ᶇίϯςϯπ͕ߋ৽͞ΕΔ
σϞ
γεςϜߏ 0 10 * * 1 ᶃ ϑϨʔϜϫʔΫͷ ϦϙδτϦҰཡΛऔಘ ᶄ
GitHub APIΛୟ͍֤ͯϦϙδτϦͷ ελʔͳͲͷσʔλΛऩू ᶅ σʔλΛYamlϑΝΠϧʹ·ͱΊͯ kikunantoka/framework-mania ʹPush ᶆ PushΛhookͯ͠ɺbuild & deploy ᶇίϯςϯπ͕ߋ৽͞ΕΔ
σϞ
͜ͷγεςϜߏʹର͢Δ͍ • ͍ͬͯΔͷJS͚ͩ • ͷΓସ͑ίετ͕গͳ͍
͜ͷγεςϜߏʹର͢Δ͍ • ϝσΟΞͱͯ͠ɺߋ৽ස͕1िؒʹ1ճఔͰྑ͍ • ຖճAPIΛୟ͘ඞཁ͕ͳ͍ • APIͷ݁ՌΛΩϟογϡ͢Δʁ • ιʔεΛॻ͖͑Δํ๏Ͱྑ͍ͷͰ •
APIΛୟ͔ͳ͍ͷͰɺඳը͕ૣ͍
͜ͷγεςϜߏʹର͢Δ͍ • ΄΅ແྉͰӡ༻Ͱ͖Δ • ์ஔ͍ͯͯ͠େৎ • Ϟνϕʔγϣϯ͕อͯΔ • ݸਓ։ൃͱͯ͠ɺ͚ͬ͜͏େࣄ
։ൃͷ͋Ε͜Ε
GitHub APIʹ͍ͭͯ • JSΫϥΠΞϯτެࣜͷͷΛ͏ͱྑ͍ • https://github.com/octokit/rest.js • υΩϡϝϯτ͕গ͠ݕࡧͮ͠Β͍
ࠓޙͷల • ʮLatest commit XX daysʯग़͍ͨ͠ • 1िؒͷࠩΛऔΓ͍ͨ • Starͷ৳ͼͳͲ
• FireStoreʹຖिͷஅ໘σʔλΛੵ͍ͯͬͯ͠ɺࠩΛग़͢
ࠓޙͷల • ଞͷϑϨʔϜϫʔΫ/ϥΠϒϥϦͷςʔϚ·ͱΊ͍ͨ • React UI Component Framework • Vue
UI Component Framework • ϥΠϒϥϦʢmoment.js, day.jsʣͷൺֱ • ͜ΜͳςʔϚ͕ྑ͍ͷͰɺͱ͍͏Ҋ͕͋Εɺͥͻ࠙ձͰ
None
ίϚʔγϟϧ - We are hiring !!!