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
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
テーブルをDELETEした
yuzneri
0
140
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
140
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
230
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
2
330
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
220
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
510
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
110
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
220
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
260
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
270
Featured
See All Featured
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
790
Producing Creativity
orderedlist
PRO
348
40k
Tell your own story through comics
letsgokoyo
1
1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.3k
Building Applications with DynamoDB
mza
96
7.2k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Cult of Friendly URLs
andyhume
79
7k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Rails Girls Zürich Keynote
gr2m
96
14k
The Spectacular Lies of Maps
axbom
PRO
1
910
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)ืू͍ͯ͠·͢ʂ