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
1.3k
今日で分かる!カスタムコップの作り方
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
7
530
PRODUCT HISTORY CONFERENCE 2024の裏側
krpk1900
0
83
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
1.3k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
920
SNS特有のタイムライン機能におけるYOUTRUSTの工夫点
krpk1900
0
57
技術的負債に対してカスタムコップでできること
krpk1900
0
650
サービスを軌道に乗せるまで一人でやったすべてのこと
krpk1900
21
7.9k
RailsアプリでのCQSの運用を支える仕組みと文化
krpk1900
0
120
Kaigi on Rails 2023 〜運営の裏側〜
krpk1900
0
990
Other Decks in Programming
See All in Programming
CSC509 Lecture 10
javiergs
PRO
0
170
AI 時代だからこそ抑えたい「価値のある」PHP ユニットテストを書く技術 #phpconfuk / phpcon-fukuoka-2025
shogogg
1
380
ドメイン駆動設計のエッセンス
masuda220
PRO
15
7.6k
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
250
Eloquentを使ってどこまでコードの治安を保てるのか?を新人が考察してみた
itokoh0405
0
3.1k
Node-REDのノードの開発・活用事例とコミュニティとの関わり(Node-RED Con Nagoya 2025)
404background
0
130
ビルドプロセスをデバッグしよう!
yt8492
0
270
自動テストを活かすためのテスト分析・テスト設計の進め方/JaSST25 Shikoku
goyoki
1
440
例外処理を理解して、設計段階からエラーを見つけやすく、起こりにくく #phpconfuk
kajitack
12
5.6k
contribution to astral-sh/uv
shunsock
0
590
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
140
CSC509 Lecture 08
javiergs
PRO
0
280
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Fireside Chat
paigeccino
41
3.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Bash Introduction
62gerente
615
210k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Automating Front-end Workflow
addyosmani
1371
200k
Balancing Empowerment & Direction
lara
5
730
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ʹͳͬͨ
·ͱΊ ੩తղੳͰղܾͰ͖ΔΑ͏ͳಛ༗ͷϧʔϧ ΧελϜίοϓͰղܾ͠Α͏ʂ