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.1k
今日で分かる!カスタムコップの作り方
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
6
480
PRODUCT HISTORY CONFERENCE 2024の裏側
krpk1900
0
51
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
1.1k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
750
SNS特有のタイムライン機能におけるYOUTRUSTの工夫点
krpk1900
0
44
技術的負債に対してカスタムコップでできること
krpk1900
0
580
サービスを軌道に乗せるまで一人でやったすべてのこと
krpk1900
20
7.9k
RailsアプリでのCQSの運用を支える仕組みと文化
krpk1900
0
93
Kaigi on Rails 2023 〜運営の裏側〜
krpk1900
0
970
Other Decks in Programming
See All in Programming
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
190
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
370
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
610
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
760
eBPFを用いたAIネットワーク監視システム論文の実装 / eBPF Japan Meetup #4
yuukit
3
750
Parallel::Pipesの紹介
skaji
2
910
業務自動化をJavaとSeleniumとAWS Lambdaで実現した方法
greenflagproject
1
100
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
500
単体テストの始め方/作り方
toms74209200
0
430
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
350
Practical Tips and Tricks for Working with Compose Multiplatform Previews (mDevCamp 2025)
stewemetal
0
120
イベントストーミングから始めるドメイン駆動設計
jgeem
4
810
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.1k
Designing for humans not robots
tammielis
253
25k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
How STYLIGHT went responsive
nonsquared
100
5.6k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Building Applications with DynamoDB
mza
95
6.4k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
The Invisible Side of Design
smashingmag
299
51k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
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ʹͳͬͨ
·ͱΊ ੩తղੳͰղܾͰ͖ΔΑ͏ͳಛ༗ͷϧʔϧ ΧελϜίοϓͰղܾ͠Α͏ʂ