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
今日で分かる!カスタムコップの作り方
Search
Terai Shogo
October 17, 2024
Programming
2
920
今日で分かる!カスタムコップの作り方
Reject on Rails 2024 (
https://gotanda-rb.connpass.com/event/330965/
)で発表した内容です。
Terai Shogo
October 17, 2024
Tweet
Share
More Decks by Terai Shogo
See All by Terai Shogo
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
380
PRODUCT HISTORY CONFERENCE 2024の裏側
krpk1900
0
27
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
850
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
600
SNS特有のタイムライン機能におけるYOUTRUSTの工夫点
krpk1900
0
30
技術的負債に対してカスタムコップでできること
krpk1900
0
520
サービスを軌道に乗せるまで一人でやったすべてのこと
krpk1900
20
7.8k
RailsアプリでのCQSの運用を支える仕組みと文化
krpk1900
0
72
Kaigi on Rails 2023 〜運営の裏側〜
krpk1900
0
960
Other Decks in Programming
See All in Programming
時計仕掛けのCompose
mkeeda
1
290
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
210
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
560
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
550
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
120
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
8
2.8k
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
46
17k
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
もう僕は OpenAPI を書きたくない
sgash708
4
1.5k
Software Architecture
hschwentner
6
2.1k
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.2k
Honoとフロントエンドの 型安全性について
yodaka
7
1.1k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
How to Think Like a Performance Engineer
csswizardry
22
1.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
Building Adaptive Systems
keathley
40
2.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
GraphQLとの向き合い方2022年版
quramy
44
13k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Building an army of robots
kneath
303
45k
Bash Introduction
62gerente
611
210k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Transcript
גࣜձࣾ:0653645 ࣉҪলޗ ࠓͰ͔Δʂ ΧελϜίοϓͷ࡞Γํ
ࣗݾհ w ࣉҪলޗ !LSQL@EFW w גࣜձࣾ:0653645 w 43& ύϑΥʔϚϯεվળͳͲ
w ,BJHJPO3BJMT0SHBOJ[FS w ݸਓ։ൃ w ੮ସ͑ϝʔΧʔ w େ୩ϝʔλʔ w ੈքҰηΩϡϦςΟ͕ݎ࿚ͳΞϓϦ !LSQL@EFW
$'1ͷ༰ ΧελϜίοϓಋೖͷϞνϕʔγϣϯͱϝϦοτ <σϞ>؆୯ͳΧελϜίοϓ࡞ͷྫ
"45OPEFͱ͍ͬͨ༻ޠͷઆ໌ ύλʔϯϚονͷํ๏ ΧελϜίοϓͷܗ ςετͷॻ͖ํ BVUPDPSSFDUͷ࣮ <࣮ྫ>ࢀরܥΞΫγϣϯΛϦʔυϨϓϦΧʹ͚ΔΧελϜίοϓ ಋೖͷϞνϕʔγϣϯͱϝϦοτ ࣮ͷաఔ ಋೖͷํ๏ɺSVCPDPQ@UPEPZNMͷهड़ ޮՌ <࣮ྫ>Ϋϥε܈"͔ΒΫϥε܈#ͷݺͼग़͠Λېࢭ͢ΔΧελϜίοϓ ಋೖͷϞνϕʔγϣϯͱϝϦοτ ࣮ͷաఔ ಋೖͷํ๏ɺSVCPDPQ@UPEPZNMͷهड़ ޮՌ ·ͱΊ
ࠓͷ༰ ˠ ΧελϜίοϓಋೖͷϞνϕʔγϣϯͱϝϦοτ <σϞ>؆୯ͳΧελϜίοϓ࡞ͷྫ
"45OPEFͱ͍ͬͨ༻ޠͷઆ໌ ύλʔϯϚονͷํ๏ ΧελϜίοϓͷܗ ςετͷॻ͖ํ BVUPDPSSFDUͷ࣮ <࣮ྫ>ࢀরܥΞΫγϣϯΛϦʔυϨϓϦΧʹ͚ΔΧελϜίοϓ ಋೖͷϞνϕʔγϣϯͱϝϦοτ ࣮ͷաఔ ಋೖͷํ๏ɺSVCPDPQ@UPEPZNMͷهड़ ޮՌ <࣮ྫ>Ϋϥε܈"͔ΒΫϥε܈#ͷݺͼग़͠Λېࢭ͢ΔΧελϜίοϓ ಋೖͷϞνϕʔγϣϯͱϝϦοτ ࣮ͷաఔ ಋೖͷํ๏ɺSVCPDPQ@UPEPZNMͷهड़ ޮՌ ·ͱΊ
࡞Γ͍ͨΧελϜίοϓ w ࢀরܥͷΞΫγϣϯʹରͯ͠ɺଓઌΛϦʔυϨϓϦΧʹมߋ͢Δ ίʔϧόοΫͷॻ͖ΕΛܯࠂ͢ΔΧελϜίοϓ XJUI@SFBEFSͷఆٛ $POUSPMMFSͷྫ
ΧελϜίοϓ࡞ͷྲྀΕ ϑΝΠϧΛ࡞͢Δ ࣮͢Δ ςετΛॻ͘ ༗ޮԽ͢Δ
࣮ߦͯ͠ΈΔ BVUPDPSSFDUΛ࣮͢Δ
ᶃϑΝΠϧΛ࡞͢Δ w MJCSVCPDPQDPQMJOU࡞͢ΔΧελϜίοϓ໊SC
ᶄ࣮͢Δ w ΞϧΰϦζϜΛߟ͑Δ $POUSPMMFSͰ͋Δ͔Λ֬ೝ JOEFY͔TIPX͕ఆٛ͞Ε͍ͯΔ͔Λ֬ೝ BSPVOE@BDUJPOXJUI@SFBEFS POMZJ
ͷҾΛऔಘ औಘͨ͠J ͷҾʹJOEFY͔TIPX͕ͳ͚Εܯࠂ
ᶄ࣮͢Δ w ΞϧΰϦζϜΛߟ͑Δ $POUSPMMFSͰ͋Δ͔Λ֬ೝ JOEFY͔TIPX͕ఆٛ͞Ε͍ͯΔ͔Λ֬ೝ BSPVOE@BDUJPOXJUI@SFBEFS POMZJ
ͷҾΛऔಘ औಘͨ͠J ͷҾʹJOEFY͔TIPX͕ͳ͚Εܯࠂ
ᶄ$POUSPMMFSͰ͋Δ͔Λ֬ೝ w 3VCP$PQͰɺಛఆͷϊʔυʹରԠͨ͠ίʔϧόοΫ͕༻ҙ͞Ε͍ͯΔ w PO@TFOE OPEF w ϝιουݺͼग़͠ͷϊʔυʹରͯ͠ॲཧΛߦ͏ w
PO@DMBTT OPEF w Ϋϥεͷϊʔυʹରͯ͠ॲཧΛߦ͏
ᶄ$POUSPMMFSͰ͋Δ͔Λ֬ೝ w PO@DMBTT OPEF w Ϋϥεͷϊʔυʹରͯ͠ॲཧΛߦ͏
ᶄ࣮͢Δ w ΞϧΰϦζϜΛߟ͑Δ $POUSPMMFSͰ͋Δ͔Λ֬ೝ JOEFY͔TIPX͕ఆٛ͞Ε͍ͯΔ͔Λ֬ೝ BSPVOE@BDUJPOXJUI@SFBEFS POMZJ
ͷҾΛऔಘ औಘͨ͠J ͷҾʹJOEFY͔TIPX͕ͳ͚Εܯࠂ
ᶄJOEFY͔TIPX͕ఆٛ͞Ε͍ͯΔ͔Λ֬ೝ w ϊʔυύλʔϯ w "45ʹର͢Δਖ਼نදݱͷΑ͏ͳͷͰɺಛఆͷίʔυύλʔϯʹ Ϛον͢Δίʔυͷ୳ࡧऔಘ͕Ͱ͖Δ l3VCZzɹɹɹɹɹɹ TUSl3VCZz ɹɹˢɹɹɹɹɹɹɹˢɹˢ
3VCZͷίʔυɹϊʔυͷछྨɹ l3VCZzSFWFSTFɹɹ TFOE TUSlIPHFz SFWFSTF ɹɹˢɹɹɹɹɹɹɹɹɹɹɹˢ 3VCZͷίʔυɹɹɹɹɹɹɹ"45
ᶄJOEFY͔TIPX͕ఆٛ͞Ε͍ͯΔ͔Λ֬ೝ EFG@OPEF@TFBSDI ɹɹ୳ࡧϝιουΛఆ͍ٛͯ͠Δɻ ɹɹύλʔϯʹϚον͢ΔϊʔυΛ୳ࡧ͠ɺ ɹɹϚονͨ͠ϊʔυΛฦ͢
ᶄ࣮͢Δ w ΞϧΰϦζϜΛߟ͑Δ $POUSPMMFSͰ͋Δ͔Λ֬ೝ JOEFY͔TIPX͕ఆٛ͞Ε͍ͯΔ͔Λ֬ೝ BSPVOE@BDUJPOXJUI@SFBEFS POMZJ
ͷҾΛऔಘ औಘͨ͠J ͷҾʹJOEFY͔TIPX͕ͳ͚Εܯࠂ
ᶄXJUI@SFBEFS POMZJ ͷҾΛऔಘ w ϊʔυύλʔϯͰऔಘ OJM Ϩγʔό͕ଘࡏ͠ͳ͍ BSPVOE@BDUJPOϝιου໊͕BSPVOE@BDUJPO BSSBZʜҙͷཁૉͷྻ
Ұக͢ΔϊʔυΛΩϟϓνϟ
ᶄ࣮͢Δ w ΞϧΰϦζϜΛߟ͑Δ $POUSPMMFSͰ͋Δ͔Λ֬ೝ JOEFY͔TIPX͕ఆٛ͞Ε͍ͯΔ͔Λ֬ೝ BSPVOE@BDUJPOXJUI@SFBEFS POMZJ
ͷҾΛऔಘ औಘͨ͠J ͷҾʹJOEFY͔TIPX͕ͳ͚Εܯࠂ
w BEE@PGGFODFͰܯࠂΛग़͢ ᶄҾʹJOEFY͔TIPX͕ͳ͚Εܯࠂ
w ࠷ऴతͳܗ ᶄҾʹJOEFY͔TIPX͕ͳ͚Εܯࠂ
ᶅςετΛॻ͘ w ܯࠂΛग़͞ͳ͍ͱ͖
ᶅςετΛॻ͘ w ܯࠂΛग़͢ͱ͖
ᶅςετΛॻ͘ w ςετҰཡ
ᶆ༗ޮԽͯ͠ΈΔ w SVCPDPQZNMΛमਖ਼
ᶇ࣮ߦͯ͠ΈΔ 3VCZ-41Λಋೖ͍ͯ͠ΔͨΊɺ ΤσΟλ্Ͱܯࠂ͕ग़Δ λʔϛφϧ্Ͱ࣮ߦ
ᶈBVUPDPSSFDUΛ࣮͢Δ w BEE@PGGFODFʹϒϩοΫΛ༩͑Δ͜ͱʹΑͬͯBVUPDPSSFDUΛ࣮ݱͰ͖Δ $PSSFDUBCMFʹͳͬͨ
·ͱΊ ੩తղੳͰղܾͰ͖ΔΑ͏ͳಛ༗ͷϧʔϧ ΧελϜίοϓͰղܾ͠Α͏ʂ