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
インターンから入社してRailsのメール送信をSengGridに移行してみて
Search
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
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
180
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
510
Intent as Code
shoppingjaws
4
610
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
660
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
140
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
420
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
110
Family mrubyの進捗
kishima
1
100
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
420
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
130
AIと壁打ちしながら進めるコスト管理
fufuhu
2
2k
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
340
First, design no harm
axbom
PRO
2
1.3k
The Invisible Side of Design
smashingmag
301
52k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Google's AI Overviews - The New Search
badams
0
1.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Building Adaptive Systems
keathley
44
3.2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
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)ืू͍ͯ͠·͢ʂ