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
1.5k
2
Share
今日で分かる!カスタムコップの作り方
Reject on Rails 2024 (
https://gotanda-rb.connpass.com/event/330965/
)で発表した内容です。
Terai Shogo
October 17, 2024
More Decks by Terai Shogo
See All by Terai Shogo
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
7
610
PRODUCT HISTORY CONFERENCE 2024の裏側
krpk1900
0
120
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
1.7k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
1.1k
SNS特有のタイムライン機能におけるYOUTRUSTの工夫点
krpk1900
0
79
技術的負債に対してカスタムコップでできること
krpk1900
0
760
サービスを軌道に乗せるまで一人でやったすべてのこと
krpk1900
21
8k
RailsアプリでのCQSの運用を支える仕組みと文化
krpk1900
0
160
Kaigi on Rails 2023 〜運営の裏側〜
krpk1900
0
1k
Other Decks in Programming
See All in Programming
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
140
バックエンドにElysiaJSを採用して気付いた、良い点・悪い点
wanko_it
1
170
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
200
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
210
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
520
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
240
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
120
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
340
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
470
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
190
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
3
270
AI Agent と正しく分析するための環境作り
yoshyum
2
600
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
310
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Music & Morning Musume
bryan
47
7.2k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
140
GitHub's CSS Performance
jonrohan
1033
470k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Technical Leadership for Architectural Decision Making
baasie
3
380
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ʹͳͬͨ
·ͱΊ ੩తղੳͰղܾͰ͖ΔΑ͏ͳಛ༗ͷϧʔϧ ΧελϜίοϓͰղܾ͠Α͏ʂ