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
GASで始めるサーバーレス 頑張らない社内アプリケーション開発
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
t-yng
August 31, 2019
Technology
1
320
GASで始めるサーバーレス 頑張らない社内アプリケーション開発
builderscon tokyo 2019 LT 登壇資料
https://builderscon.io/tokyo/2019
t-yng
August 31, 2019
Tweet
Share
More Decks by t-yng
See All by t-yng
ChatGPTを活用した英文添削アプリケーション個人開発.pdf
tyng
0
77
型からモックデータ生成コードを自動生成する
tyng
0
51
WebAssemblyでオセロを作ってみた
tyng
0
420
Other Decks in Technology
See All in Technology
ブラックボックス観測に基づくAI支援のプロトコルのリバースエンジニアリングと再現~AIを用いたリバースエンジニアリング~ @ SECCON 14 電脳会議 / Reverse Engineering and Reproduction of an AI-Assisted Protocol Based on Black-Box Observation @ SECCON 14 DENNO-KAIGI
chibiegg
0
160
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4k
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
100
型を書かないRuby開発への挑戦
riseshia
0
200
SaaSからAIへの過渡期の中で現在、組織内で起こっている変化 / SaaS to AI Paradigm Shift
aeonpeople
0
110
IBM Bobを使って、PostgreSQLのToDoアプリをDb2へ変換してみよう/202603_Dojo_Bob
mayumihirano
1
290
Serverless Agent Architecture on Azure / serverless-agent-on-azure
miyake
1
170
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
350
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
450
マルチロールEMが実践する「組織のレジリエンス」を高めるための組織構造と人材配置戦略
coconala_engineer
3
650
Kaggleの経験が実務にどう活きているか / kaggle_findy
sansan_randd
7
1.3k
組織全体で実現する標準監視設計
yuobayashi
2
330
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
240
WENDY [Excerpt]
tessaabrams
9
36k
Google's AI Overviews - The New Search
badams
0
930
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
100
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
89
Odyssey Design
rkendrick25
PRO
2
540
Optimizing for Happiness
mojombo
378
71k
Transcript
GASͰ࢝ΊΔαʔόʔϨε ؤுΒͳ͍ࣾΞϓϦέʔγϣϯ։ൃ Builderscon Tokyo 2019 LT
ࣗݾհ • ༄ ྙߒʢͳ͗ ͱͻΖʣ • @TGreenmonkey (t-yng) • Hamee
גࣜձࣾ ɾϑϩϯτΤϯυ͕͖ ɾझຯͰ Flutter Λษڧத
ձࣾͰͷͱ͋ΔͰ͖͝ͱ...
͓ޓ͍ͷ͜ͱΛΔͨΊʹ ࣾ༻ͷࣾһͷϓϩϑΟʔϧ ϖʔδΛ࡞ͬͯ΄͍͠Ͱ͢ ͍͍Ͱ͢Α
͓ޓ͍ͷ͜ͱΛΔͨΊʹࣾһ ͷϓϩϑΟʔϧϖʔδΛ࡞ͬͯ ΄͍͠Ͱ͢ ͍͍Ͱ͢Α ࣾͷϓϩϑΟʔϧϖʔδΛ ։ൃ͢Δ͜ͱʹͳͬͨ
ϓϩϑΟʔϧϖʔδͷཁ݅ ɾࣾͷϓϩϑΟʔϧϖʔδ͕ཉ͍͠ ɾϓϩϑΟʔϧใࣾһ͕ࣗ༝ʹฤूՄೳ ɾमਖ਼݁ՌϦΞϧλΠϜʹө
None
࠷ॳͷΠϝʔδ ϓϩϑΟʔϧΛฤू Ͱ͖Δը໘ ૢ࡞ ߋ৽ ϓϩϑΟʔϧҰཡ ϓϩϑΟʔϧϖʔδ Ӿཡ ϓϩϑΟʔϧ HTML
ੜ ΞϓϦέʔγϣϯαʔόʔ
ͪΐͬͱͬͯʂʂ
ϓϩϑΟʔϧϖʔδΛϖʔδ ࡞Δ͚ͩͩΑͶʁ
࠷ॳͷΠϝʔδ ϓϩϑΟʔϧΛฤू Ͱ͖Δը໘ ૢ࡞ ߋ৽ ϓϩϑΟʔϧҰཡ ϝϯόʔհϖʔδ Ӿཡ ϓϩϑΟʔϧ HTML
ੜ ΞϓϦέʔγϣϯαʔόʔ
࠷ॳͷΠϝʔδ ϓϩϑΟʔϧΛฤू Ͱ͖Δը໘ ૢ࡞ ߋ৽ ϓϩϑΟʔϧҰཡ ϝϯόʔհϖʔδ Ӿཡ ϓϩϑΟʔϧ HTML
ੜ ΞϓϦέʔγϣϯαʔόʔ ͗͢ͳ͍ʁʁ
ແବʹ͔͔࣌ؒΓͦ͏ %#ͱ͔αʔόʔͷཧΓͨ͘ͳ͍
ಇ͖ͨ͘ͳ͍ʂʂ
GASΛͬͯ ؆୯ʹղܾͰ͖ΔΜ͡Όͳ͍ʁ
GASͱʁ ɾGoogle͕։ൃͨ͠εΫϦϓτϓϥοτϑΥʔϜ ɾεϓϨουγʔτͳͲͷυΩϡϝϯτͱ࿈ܞ͕Մೳ ɾdoPost, doGet ؔͰPOSTɺGETϦΫΤετ ɹΛॲཧͰ͖Δ ɾHTMLService Λར༻ͯ͠ɺHTMLฦ͢͜ͱ͕Ͱ͖Δ
=> ؆қతͳWebαʔόʔɺAPIαʔόʔͱͯ͑͠Δ
ϓϩϑΟʔϧΛฤू Ͱ͖Δը໘ ૢ࡞ ߋ৽ ϓϩϑΟʔϧҰཡ ϓϩϑΟʔϧϖʔδ Ӿཡ ϓϩϑΟʔϧ HTML ΞϓϦέʔγϣϯαʔόʔ
ฤूը໘ΛͲ͏ʹ͔͢Δ
ૢ࡞ ߋ৽ ϓϩϑΟʔϧҰཡ ϓϩϑΟʔϧϖʔδ Ӿཡ ϓϩϑΟʔϧ HTML ΞϓϦέʔγϣϯαʔόʔ Google Sheets
Λར༻
ૢ࡞ ߋ৽ ϓϩϑΟʔϧҰཡ ϓϩϑΟʔϧϖʔδ Ӿཡ ϓϩϑΟʔϧ HTML ΞϓϦέʔγϣϯαʔόʔ DBΛͲ͏ʹ͔͢Δ
ૢ࡞ ϓϩϑΟʔϧϖʔδ Ӿཡ ϓϩϑΟʔϧ HTML ΞϓϦέʔγϣϯαʔόʔ ɾDBͱͯ͠ར༻ ɾdoPost ؔͰAPIαʔόʔͱͯ͠ಈ࡞ APIαʔόʔ
ૢ࡞ ϓϩϑΟʔϧϖʔδ Ӿཡ ϓϩϑΟʔϧ HTML ΞϓϦέʔγϣϯαʔόʔ ϓϩϑΟʔϧҰཡ ΞϓϦέʔγϣϯαʔόʔ ΛͲ͏ʹ͔͢Δ
ૢ࡞ ϓϩϑΟʔϧϖʔδ Ӿཡ ϓϩϑΟʔϧ HTML Webαʔόʔ ϓϩϑΟʔϧҰཡ ɾdoGetؔ + HTMLService
ɹͰHTMLΛฦ͢ ɾಈతͳHTMLͷੜ͕͍͠ ɾը໘ߏஙΛͲ͏͢Δ͔ʁ
ૢ࡞ ϓϩϑΟʔϧϖʔδ ʢSPAʣ Ӿཡ ੩తHTML Webαʔόʔ APIαʔόʔ ϓϩϑΟʔϧ ʢfetchͰऔಘʣ SPAʢγϯάϧϖʔδΞϓϦέʔγϣϯʣͰ࣮ͯ͠ϑϩϯτͰը໘Λߏங
SPAͰ࣮͢ΔͳΒ React ͍͍ͨ
ਓͱͯ͠ͷ͕͞ʢஊͰ͢ʣ
ૢ࡞ ϓϩϑΟʔϧϖʔδ ʢSPAʣ Ӿཡ ੩తHTML Webαʔόʔ APIαʔόʔ ϓϩϑΟʔϧ ʢajaxͰऔಘʣ ɹ੩తͳHTML͔͠ฦͤͳ͍
React Ͳ͏Έ͜͏ʁ SPAʢγϯάϧϖʔδΞϓϦέʔγϣϯʣͰ࣮ͯ͠ϑϩϯτͰը໘Λߏங
ϏϧυࡁΈ js, css શ෦ೖΓͷ ੩తHTML Λੜ 1. js, css ΛϏϧυɺόϯυϧ
ͯ͠ bunlde.js Λੜ 2. bundle.js Λ jantimon/html-webpack-pluginΛͬͯ HTMLʹΠϯϥΠϯల։ ΠϯϥΠϯల։ Ϗϧυ Ϗϧυ bundle.js
webpack.common.js
ΠϯϥΠϯʹల։
GASͷσϓϩΠ google/clasp Ͱ GAS ʹ ੩తHTML ΛσϓϩΠ What is clasp?
Google͕ެࣜͰఏڙ͍ͯ͠ΔCLIͰGASϓϩδΣΫτΛཧͰ͖Δπʔϧ GASͷө͜Ε͚ͩͰྃ
ૢ࡞ ϓϩϑΟʔϧϖʔδ ʢSPAʣ Ӿཡ ϓϩϑΟʔϧ ʢajaxͰऔಘʣ ੩తHTML Webαʔόʔ ϓϩϑΟʔϧҰཡ ࠷ऴߏ
ϩʔΧϧϏϧυ HTMLΛσϓϩΠ/clasp ͬͨͶʂ ʌ(ˏʈ˜ʈˏ)ů
·ͱΊ ɾGAS + SPA + Clasp ɹͰ͓खܰʹαʔόʔϨεͳ։ൃΛ࣮ݱͰ͖Δ ɾ؆୯ͳ͚ࣾͷΞϓϦέʔγϣϯͳΒίϨͰे ʢͨͩ૾Ҏ্ʹ͍ =>
ରࡦ͢Εૣ͘ͳΔ͔ʣ
͓ΘΓ