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
SendGrid + Googleスプレッドシートによる簡単Webサイト構築
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Atsushi Nakatsugawa
PRO
December 14, 2023
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SendGrid + Googleスプレッドシートによる簡単Webサイト構築
SendGrid Night ~10th Anniversary〜 向けのLT資料です
Atsushi Nakatsugawa
PRO
December 14, 2023
More Decks by Atsushi Nakatsugawa
See All by Atsushi Nakatsugawa
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.6k
コーディングだけ速くとも意味がない。自動レビューによる開発の高速化
moongift
PRO
0
81
AI 支援研究開発におけるコードレビューの役割と限界
moongift
PRO
0
150
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
450
AI活用の格差をなくす:チーム全体のAI開発生産性を底上げする方法
moongift
PRO
1
620
CodeRabbit 2026年04月アップデート
moongift
PRO
0
89
AI時代のIssue駆動開発のススメ
moongift
PRO
0
530
プロダクト開発の品質を守るAIコードレビュー:事例に見る導入ポイント
moongift
PRO
1
9.3k
AIで急増した生産量の荒波をCodeRabbitで乗りこなそう
moongift
PRO
1
97
Other Decks in Technology
See All in Technology
文字起こし基盤の信頼性
abnoumaru
0
130
伝票作成AIエージェントを支える、LLMOpsとインフラの選択肢 / AICon2026_takeda
rakus_dev
0
270
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
270
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
450
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
810
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
320
Aurora MySQL 8.4リリース! Rubyistが備えること / what-rubyist-should-prepare-for-aurora-mysql-8-4
fkmy
0
1.2k
OpenTelemetryにおけるGoのゼロコード・コンパイル時計装について #fukuokago
quiver
0
290
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
140
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
5
640
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
300
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
2
860
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
380
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
740
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
Practical Orchestrator
shlominoach
191
11k
WENDY [Excerpt]
tessaabrams
11
39k
Transcript
PAGE DAY 2017/11/01 # MOONGIFT / 12 SendGrid + GoogleεϓϨου
γʔτʹΑΔ؆୯WebαΠτߏங 1 4FOE(SJE/JHIUʙUI"OOJWFSTBSZʙ THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 ࣗݾհ 2 @goofmint
fb.me/goofmint த ಞ࢘ גࣜձࣾMOONGIFTදऔక https://www.moongift.co.jp ΤόϯδΣϦετɾίϛϡχςΟϚωʔδϟʔ ίϛϡχςΟ ओ࠵ THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 ࠓ͓͢͠Δ͜ͱ DevRelCon Yokohama
2023ͷWebαΠτ Λࢧ͑ͨSendGridͷ͓ 3 THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 DevRelCon is Կʁ
• DevRelʢDeveloper Relationsʣʹؔ͢Δ άϩʔόϧͳΧϯϑΝϨϯε • DevRel = ࣗࣾࣗࣾαʔϏεͱɺ֎෦ͷ ։ൃऀͱͷؒʹྑͳؔੑΛங͘׆ಈ 4 THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 ΧϯϑΝϨϯεެࣜαΠτͷ ίϯηϓτ •
Ͱ͖Δָ͚ͩʹӡӦ͍ͨ͠ • ͳΔ͘खؒΛ͔͚ͨ͘ͳ͍ • ࣗಈԽ͍ͨ͠ 5 ϓϩάϥϚʔͷࡾେඒಙʮଵଦʯʮؾʯʮၗຫʯ THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 ΞʔΩςΫνϟ 6 γʔτͷσʔλΛ
+40/Ͱμϯϩʔυ ੩తαΠτΛ σϓϩΠ THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 ΞʔΩςΫνϟ 7 ϝʔϧͰͷ
͓͍߹Θͤ 8FCIPPLͰ ("4ݺͼग़͠ 4MBDLͰ ӡӦʹ௨ THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 ΞʔΩςΫνϟ 8 ࢀՃऀɾొஃऀͷ
Ұׅϝʔϧ৴ ϝʔϧ THOJHIUUI
PAGE DAY 2017/11/01 # MOONGIFT / 12 SendGrid × GASͷ࣮
9
PAGE # MOONGIFT / 50 DAY 2019/02/14 Inbound Parse 10
THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 Google Apps Script
11 function doPost(e) { const { to, from, subject, text, html, headers } = e.parameter; // লུ } THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 12 const property
= PropertiesService.getScriptProperties(); const body = { "personalizations": [{"to": [{ email }], subject, }], "from": { "email": from, "name" : from_name }, "content": [{"type": "text/plain", "value": body_text}] }; if (body_html) { body.personalizations[0].content.push({ "type": "text/html", "value": body_html }); } const payload = JSON.stringify(body); const res = UrlFetchApp.fetch('https://api.sendgrid.com/v3/mail/send', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${property.getProperty('SENDGRID_API_KEY')}`}, payload: payload }); return res.getResponseCode() === 202; THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 SendGridͷ͓ئ͍ 🙇 •
εύϜϑΟϧλʔ͚ͯɺΊͬͪΌεύϜདྷΔ • ϙετ͢Δ༰ΛUTF-8ʹมͯ͘͠ΕΔͱخ͍͠… • GAS SDK͕͋Δͱྑ͍Μ͡Όͳ͍͔ͳʁ 13 THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 ΞʔΩςΫνϟ αΠτσʔλ αΠτσϓϩΠ
͓͍߹Θͤ ϝʔϧ ௨ Ұ੪ૹ৴ 8FCIPPL ొஃऀɾࢀՃऀ͚ ϝʔϧ THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 αʔϏεબఆʹ͍ͭͯ 15 THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 αʔϏεબఆʹ͍ͭͯ 16 ීஈ͔Β͍ͬͯΔ
ແྉͰӡӦ͍ͯ͠ΔʢίϛϡχςΟʹͯʣ "1*Ͱ௨Λड͚औΕΔʢࣗಈԽͰ͖Δʣ THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 αʔϏεબఆʹ͍ͭͯ 17 ͍׳Ε͍ͯΔ
("4͕ศརʢ1045Λड͚औΕΔͳͲʣ σʔλΛ%#෩ʹɺॊೈʹཧͰ͖Δ THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 αʔϏεબఆʹ͍ͭͯ 18 ແྉ͕͋Δ
σϓϩΠ͕؆୯ʢ(JU)VC࿈ܞɺ$-*ͳͲʣ άϩʔόϧରԠͨ͠$%/ʢதࠃআ͘ʣ THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 αʔϏεબఆʹ͍ͭͯ 19 ීஈ͔Β͍ଓ͚͍ͯΔ৴པײ
ϝʔϧड৴ରԠͷαʔϏεݶΒΕΔ ड৴ɾૹ৴ରԠͷϝʔϧαʔόʔΛ҆ఆɾ ϝϯςφϯεϑϦʔͰӡ༻Ͱ͖Δ THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 ·ͱΊ • SendGrid
10प͓ΊͰͱ͏͍͟͝·͢ʂ 🎊🎊🎊 • DevRelCon YokohamaͷαΠτ΄΅ແྉͰ҆ఆͯ͠ӡ༻ • Google Apps Script + SendGridศརͳͷͰ͓קΊ • ΫϥυαʔϏεͷબఆྉۚɾ҆ఆੑɾ֦ுੑɾ৴པੑ 20 THOJHIUUI
PAGE # MOONGIFT / 50 DAY 2019/02/14 👋 Thanks! @goofmint
fb.me/goofmint ͝ײ͓ͪ͠·͢ʂ