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
インターンから入社してRailsのメール送信をSengGridに移行してみて
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tatsuya
September 08, 2021
Programming
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
インターンから入社してRailsのメール送信をSengGridに移行してみて
https://lancersrecruit.connpass.com/event/221994/
tatsuya
September 08, 2021
Other Decks in Programming
See All in Programming
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
15
3.2k
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.8k
自作OSでスライド発表する
uyuki234
1
3.7k
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
500
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
110
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
220
初めてのKubernetes 本番運用でハマった話
oku053
0
120
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
480
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
300
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
140
Featured
See All Featured
Docker and Python
trallard
47
3.9k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
310
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
490
Producing Creativity
orderedlist
PRO
348
40k
Building AI with AI
inesmontani
PRO
1
1.1k
Transcript
2021/9/8 Πϯλʔϯ͔Βೖࣾͯ͠Railsͷϝʔϧૹ৴ΛSengGridʹҠߦͯ͠Έͯ Πϯλʔϯ͔Βೖࣾͯ͠ Railsͷϝʔϧૹ৴ΛSendGrid ʹҠߦͯ͠Έͯ ϥϯαʔζגࣜձࣾ ։ൃ෦/ฏୡ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ΞδΣϯμ • ࣗݾհ
• ϑϥϯεྉཧਓ͔ΒRailsΛษڧ͠ɺۦ͚ग़͠ΤϯδχΞ • MENTAͱͷग़ձ͍ • ϙʔτϑΥϦΦ࡞ͷϙΠϯτ • ϥϯαʔζΠϯλʔϯೖࣾ • Lancers Assistant/Creativeͷհ • ϝʔϧૹ৴ΛSendGridҠߦ • ·ͱΊ
2021/9/8 Πϯλʔϯ͔Βೖࣾͯ͠Railsͷϝʔϧૹ৴ΛSengGridʹҠߦͯ͠Έͯ ࣗݾհ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ࣗݾհ ฏ ୡ(ͻΒͷ
ͨͭ ) • Lancers৽ଔΤϯδχΞ • ϑϥϯεྉཧਓˠ2020/11ʹΠϯλʔϯ ͱͯ͠δϣΠϯɻ4݄͔Βਖ਼ࣾһʹ • RailsͷLCC(LancersCreativeCloud)Λ։ൃ • झຯ: ஈ͍͚҆Ͳྉཧ͕ඒຯ͍͠ ډञΛ୳͢͜ͱ(࠷ۙࣗॗؾຯɻɻ ) tatuya4451 @44511336tatuya
2021/9/8 Πϯλʔϯ͔Βೖࣾͯ͠Railsͷϝʔϧૹ৴ΛSengGridʹҠߦͯ͠Έͯ ͳͥϑϥϯεྉཧਓ͔Β શҟۀछͷΤϯδχΞΛࢦͨ͠ͷ͔
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ ಇ͍ͯͨళฮ •
ϑϥϯεͷҰͭϨετϥϯʮChartronʯ • େࡕҰͭʮAgneldorʯ • ϋΠΞοτϦʔδΣʔϯγʔେࡕ ߴߍੜͷ࣌ɺͱϑϨϯνΛ৯ʹ͍͖িܸΛड͚Δɻ →⁋ௐཧࢣઐֶߍೖֶ • แஸͷ͍ํ͔Βϑϥϯεޠɺௐཧ࣮शΛ௨ͯ͠ϑϨϯνͷجຊΛֶͿ • ଔۀޙɺϑϥϯεҰཹֶ • ؒϑϥϯεୈೋͷࢢϦϤϯͷ͓Ͱ(ߍࣷ)ͰޠֶɺྉཧΛษڧ • ΓͷݱݚमΛߦ͏ • ؼࠃޙେࡕͷொϗςϧͰݚᮎΛੵΉ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ • ౦ژͰग़ళ͢ΔλΠϛϯάͰίϩφ͕ྲྀߦ
• ͲΜͳڥͰࣗͰίϯτϩʔϧͯ͠ࣄ͕Ͱ͖Δ ৬छʹઓ͍ͨ͠ • ࣌ؒͱॴʹͱΒΘΕͳ͍ಇ͖ํΛ͍ͨ͠ • ҰͭͷεΩϧʹґଘͨ͘͠ͳ͍ స৬Λܾҙ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ • ϓϩάϥϛϯάεΫʔϧͰ2ϲ݄ษڧ
• HTM L • CS S • Rub y • Rail s • Javascrip t • ϝϧΧϦͷΫϩʔϯΞϓϦʮFURIMAʯ ΛνʔϜͰ੍࡞
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ •
ΦϯϥΠϯͰษڧ͕ؒͰ͖ΔʮLIve-StudyʯΛ੍࡞ • ௨ػೳ • DMػೳ • ϑΥϩʔػೳ • ݕࡧػೳ • ܝࣔ൘ػೳ • Slack௨ • Πϕϯτͷ։࠵ɺฤूɺআɺࢀՃɺऴྃ(CRUD ) • ϩʔΧϧͰ։ൃ • ຊ൪ڥECSΛ༧ఆ
2021/9/8 Πϯλʔϯ͔Βೖࣾͯ͠Railsͷϝʔϧૹ৴ΛSengGridʹҠߦͯ͠Έͯ ͔͠͠
2021/9/8 Πϯλʔϯ͔Βೖࣾͯ͠Railsͷϝʔϧૹ৴ΛSengGridʹҠߦͯ͠Έͯ AWSͰϙʔτϑΥϦΦެ։͢Δ ํ๏͕Θ͔ΒΜ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup MENTAͰSREͷ҆ୡ(@adachin0817)͞Μͱग़ձ͍ ΠϯϑϥͷجૅΛڭ͑ͯ͘͜ͱʹ •
LinuxͰͷίϚϯυͷૢ࡞ • DockerͰͷ։ൃڥͷߏங • AWSͰͷαʔόʔߏங • AnsibleΛར༻ͨ͠ΠϯϑϥίʔυԽ • CircleCIͰͷϦϦʔεࣗಈԽ ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ ։ൃڥߏਤ •
։ൃڥDockerΛ࠾༻ • nginxͱunicornΛϦόʔεϓϩΩγ • supervisorͰىಈ͢ΔϓϩηεΛཧ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϑϥϯεྉཧਓ͔Βۦ͚ग़͠ΤϯδχΞ ຊ൪ڥߏਤ •
ຊ൪αʔόʔAWS/EC 2 • ߏཧAnsibleΛ࠾༻ • CircleCIͰࣗಈσϓϩΠ • SSLԽLet`sEncrypt ALBRDSΛ༻͔͕ͨͬͨ͠ ίετݮͷͨΊ࠷খݶͷߏͰӡ༻
2021/9/8 Πϯλʔϯ͔Βೖࣾͯ͠Railsͷϝʔϧૹ৴ΛSengGridʹҠߦͯ͠Έͯ ϙʔτϑΥϦΦ࡞ͷϙΠϯτ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϙʔτϑΥϦΦ࡞ͷϙΠϯτ • όάͷͳ͍ΞϓϦέʔγϣϯΛ࡞Δ
• > ͍͠ػೳɺڽͬͨσβΠϯ • ༻ٕज़ͷબఆཧ༝Λઆ໌Ͱ͖Δ • ࠷৽ͷٕज़ΛऔΓೖΕͯཧ༝͕આ໌Ͱ͖ͳ͍ͱ୯७ʹٕज़͕͍͍ͨਓͳͷ͔ͳͱ ࢥΘΕͯ͠·͏ • ݱͰ՝ʹଇٕͨ͠ज़બఆΛ͢Δඞཁ͕͋Δ • ࢤઌͷٕज़ελοΫʹ߹ΘͤΔ • Πϯϑϥ໘ͰͳΔ͘ίετΛ͑ͨΠϯϑϥઃܭΛ͢Δ͖(݄/2000~3000ԁ ) • ࣌ࣗECS/FargateͰӡ༻ֶ͔͕ͨͬͨ͠शίετ(ӡ༻ίετ)͕ߴ࣮͗ͯ͢Ͱ͖ͳ͔ͬͨ
2021/9/8 Πϯλʔϯ͔Βೖࣾͯ͠Railsͷϝʔϧૹ৴ΛSengGridʹҠߦͯ͠Έͯ ϥϯαʔζΠϯλʔϯͱͯ͠ೖࣾ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϥϯαʔζΠϯλʔϯͱͯ͠ೖࣾ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup LancersCreativeCloud→AWS ECS/Fargate •
Ruby 2.7. 1 • Rails 6.0. 3 • Jque y • AW S • ECS/Fargat e • Docke r • CircleC I • DATADO G • SendGrid ϥϯαʔζΠϯλʔϯͱͯ͠ೖࣾ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup • ෳࡶͳόονॲཧͷ࣮͔Βద༻·Ͱ •
TerraformΛॻ͖͑ͯυϝΠϯΛมߋ • ΫϥΠΞϯτͷϚΠϖʔδ • Docker։ൃڥͷվળ • DBཧ • CircleCiͷϦϑΝΫλϦϯά • ใुཧػೳ • ϝʔϧαʔόʔΛSendGridʹҠߦ • etc. • SREͷ҆ୡ͞Μ͕͍ۙҐஔʹ͍ΔͷͰΞϓϦέʔγϣϯͷ ࣮͚ͩͰͳ͘ΠϯϑϥΒͤͯ͘ػձ͕͋ΔͷͰ ෯͍࣮ܦݧ͕Ͱ͖Δ • ΠϯλʔϯͰࡋྔͷ͋ΔλεΫΛͯ͑͠Δ ϥϯαʔζΠϯλʔϯͱͯ͠ೖࣾ
2021/9/8 Πϯλʔϯ͔Βೖࣾͯ͠Railsͷϝʔϧૹ৴ΛSengGridʹҠߦͯ͠Έͯ ϝʔϧαʔόʔΛSendGridҠߦ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϝʔϧαʔόʔΛSendGridʹҠߦ ՝ (NBJMΞΧϯτݻ༗ͷ
w ଘࡏ͠ͳ͍ϝʔϧΞυϨεʹϝʔϧૹ৴Λ͢ΔͱεύϜೝఆ͞Εϝʔϧૹ৴͕Ұ࣌తʹ ετοϓ͢Δ w Ұͷϝʔϧૹ৴্ݶ͕ݶΒΕ͍ͯΔ LCCΞϓϦͰͷ௨ػೳ͕ແ͍ͷͰ ϝʔϧ͕ૹ৴͞Εͳ͍ͱΫϥΠΞϯτ͔Βͷ ཁΛݟಀͯ͠͠·͏͜ͱɺɺ ݱ͔ΒͷΞϥʔτ্͕͕͍ͬͯͨͷͰ ૣٸʹରԠ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϝʔϧαʔόʔΛSendGridʹҠߦ SMTP API
ϝϦοτ ϝϦοτ σϝϦοτ σϝϦοτ • ػೳʢਖ਼͘͠ૹ৴͞Ε͔ͨ֬ೝͰ͖Δʣ • ੳػೳʢϚʔέςΟϯάʹ׆༻ʣ • ૹ৴ͷվળʢSPFɺDKIMͷᘳͳઃఆʣ • HTTPͰૹ৴͢Δ͜ͱʹΑͬͯrailsΞϓϦଆͷॲཧϦΫΤετΛ ͛Δ͚ͩʹͳΔ • ActionMailer͕defalutͰ༻ҙ͍ͯ͠Δ৴ํ๏ Λ͏͜ͱrails wayʹΔ͜ͱͰ͋ΔͷͰ(rails ͷֶͱͯ͜͠Εॏཁ)ɺ࣮ͷखؒল͚Δ • طଘͷActionMailerͱͷڞଘ • RailsαʔόʔଆͰඇಉظॲཧΛ͠ͳ͍ͱ͍͚ͳ͍ • GmailͰૹ৴͍ͯ͠ΔͷͰ্ड़͕ͨ͠ൃੜ͍ͯ͠Δ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup w 4.51͔Β4FOE(SJE"1*Ҡߦ w
"DUJPO.BJMFSͷ֤ϝʔϥʔͷॲཧͦͷ··ྲྀ༻ w "DUJPO.BJMFSͷ৴ํ๏Λ4FOE(SJE"1*༻ʹ৽ͨʹՃ w طଘͷ֤ϝʔϥʔͰ࡞͞ΕͨϝʔϧΦϒδΣΫτ͕࣮ߦ͞ΕͨλΠϛϯάͰ .BJM4FOE(SJEΫϥεΛݺͼग़͠4FOE(SJE༻ͷΦϒδΣΫτʹஔ͖͑ w ϝʔϧૹ৴ςετϞοΫίϯςφΛ༻͍ͯςετ ࣮ํ SMTP SendGrid API
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ࣮ํ ࣮ͷৄࡉϥϯαʔζͷΤϯδχΞϒϩάʹॻ͍ͯ·͢ͷͰࢀߟʹʂ
2021/9/8 Πϯλʔϯ͔Βೖࣾͯ͠Railsͷϝʔϧૹ৴ΛSengGridʹҠߦͯ͠Έͯ ϝʔϧૹ৴ςετʹ͍ͭͯ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ϝʔϧૹ৴ςετʹ͍ͭͯ • SREۚᖒ͞Μ͕࡞ͬͯ͘ΕͨϞοΫίϯςφͰ
ϝʔϧૹ৴Λςετ • ϞοΫίϯςφͰ༻ҙͨ͠ϞοΫAPIʹϦΫΤετ Λૹ৴(ӈਤͷHTTP3030 ) • sendgrid-devܦ༝ͰmaildevSMTPͰϝʔϧ৴ • http://xxx.xxx.xxx.xxx:1080/ɹʹΞΫηε͢Δ͜ͱͰ maildevϝʔϧ͕ૹ৴͞Ε͍ͯΔ͜ͱ͕ϒϥβ্Ͱ ֬ೝͰ͖Δ • ΞϓϦଆͷ࣮Mail:SendGridΫϥεͰڥຖʹ APIଓઌͷϗετΛऔಘ
2021/9/8 Πϯλʔϯ͔Βೖࣾͯ͠Railsͷϝʔϧૹ৴ΛSengGridʹҠߦͯ͠Έͯ Ҡߦͯ͠Ͳ͏ͳ͔ͬͨ
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup Ҡߦͯ͠Ͳ͏ͳ͔ͬͨ • ϝʔϧͷૹ৴্ݶ͕ͳ͘ͳͬͨͷͰΞϓϦέʔγϣϯͷ֦ுʹ͚ͯҰาલਐ
• ϥϯαʔζຊՈͰSendGridAPIͰૹ৴͍ͯ͠ΔͷͰݟΛ׆༻Ͱ͖Δ • ػೳ(ϝʔϧͷ৴ঢ়گΛݟ͑ΔԽ ) • ϝʔϧͷΧςΰϦʔઃఆ͕Ͱ͖ΔͷͰϚʔέςΟϯάʹ׆༻ • ૹ৴ͷվળ(SPFɺDIKMͷᘳͳઃఆ ) • APIʹΑΔૹ৴(SMTPͰͳ͘HTTPͰૹ৴Ͱ͖Δ)
2021/9/8 ʲLancers x SUPER STUDIOʳEngineer Meetup ࠷ޙʹ ϥϯαʔζͰҰॹʹಇ͍ͯ͘ΕΔΤϯδχΞɺ ςοΫϦʔυ(RubyɺPHP)ืू͍ͯ͠·͢ʂ