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
RuboCop Custom Formatter for Reviewdog Diagnost...
Search
Masato Ohba
June 21, 2023
Programming
2
2.3k
RuboCop Custom Formatter for Reviewdog Diagnostic Format
gotanda.rb#53 "RuboCop Custom Formatter for Reviewdog Diagnostic Format"
Masato Ohba
June 21, 2023
Tweet
Share
More Decks by Masato Ohba
See All by Masato Ohba
プロポーザルのつくり方 〜個人技編〜 / How to come up with proposals
ohbarye
5
380
Data Migration on Rails
ohbarye
7
7.3k
Unlocking Potential of Property Based Testing with Ractor
ohbarye
3
15k
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
840
My Favorite Protocol: Idempotency-Key Header
ohbarye
7
6.2k
エンジニア9名でプロポーザル提出8件, 採択3件を支える技術と文化 / Proposal Fight Culture
ohbarye
4
5.7k
管理機能アーキテクチャパターンの考察と実践 / Learn Architecture through Admin
ohbarye
33
18k
サブスクリプションサービスをつくる時にエンジニアが考えること / Behind the Scenes: Engineering a Subscription Service
ohbarye
15
18k
DB外の副作用をトランザクションから分離しよう / Isolate out-of-DB side effects from transactions
ohbarye
8
4.1k
Other Decks in Programming
See All in Programming
初めてDefinitelyTypedにPRを出した話
syumai
0
400
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
170
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
330
Better Code Design in PHP
afilina
PRO
0
120
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
250
Jakarta Concurrencyによる並行処理プログラミングの始め方 (JJUG CCC 2024 Fall)
tnagao7
1
290
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
100
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
受け取る人から提供する人になるということ
little_rubyist
0
230
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Why Our Code Smells
bkeepers
PRO
334
57k
Side Projects
sachag
452
42k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Navigating Team Friction
lara
183
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Faster Mobile Websites
deanohume
305
30k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Agile that works and the tools we love
rasmusluckow
327
21k
Happy Clients
brianwarren
98
6.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Transcript
3VCP$PQ$VTUPN'PSNBUUFS GPS3FWJFXEPH%JBHOPTUJD'PSNBU !HPUBOEBSC PICBSZF
3VCP$PQ ͍ͬͯ·͔͢ʁ
SFWJFXEPHBDUJPOSVCPDPQ ͍ͬͯ·͔͢ʁ
SFWJFXEPHBDUJPOSVCPDPQ (JU)VCͳͲͷίʔυϗεςΟϯά αʔϏεʹϨϏϡʔίϝϯτΛߘ ͢ΔͨΊͷπʔϧ $-*ͱ࣮ͯ͠ߦՄೳ ಛఆͷπʔϧʹґଘͤͣɺҙͷ MJOUFSͱ౷߹Ͱ͖Δ SFWJFXEPHͱʁ IUUQTHJUIVCDPNSFWJFXEPHSFWJFXEPH
༷ʑͳπʔϧ͚ (JU)VC"DUJPOT͕ ଘࡏ͢Δ
SFWJFXEPHBDUJPOSVCPDPQ 3VCP$PQͱSFWJFXEPHΛ౷߹͢Δ (JU)VCDVTUPNBDUJPO 3VCP$PQͷࢦఠ༰Λίϝϯτͯ͠ ͘ΕΔͷͰɺ࣮ߦͨ͠δϣϒͷϩά Λݟʹߦ͔ͳͯ͘Α͍ EJ ff ʹର͚ͯͩ͠ίϝϯτͤ͞Δ͜ͱ
͕Ͱ͖Δ SFWJFXEPHBDUJPOSVCPDPQ ͱʁ SVCPDPQίϚϯυશମʹର࣮ͯ͠ߦ͞Εɺ݁ՌΛSFWJFXEPHଆͰ fi MUFS͍ͯ͠Δ DPNNFOUͰ͖ΔͷͰ EJTDVTTJPOՄೳ
SFWJFXEPHBDUJPOSVCPDPQDPOGJHFYBNQMF ৄࡉIUUQTHJUIVCDPNSFWJFXEPHBDUJPOSVCPDPQࢀর
SFWJFXEPHBDUJPOSVCPDPQTVHHFTUJPOGFBUVSF SFWJFXEPHBDUJPOSVCPDPQWͰՃ ͞Εͨػೳ 3VCP$PQʹBVUPDPSSFDUػೳ͕͋ Γɺݕग़ͨ͠ҧΛࣗಈิਖ਼Ͱ͖Δ ಉػೳ͕ఏҊ͢Δิਖ਼͕TVHHFTUFE DIBOHFͱͯ͠ίϝϯτ͞ΕΔΑ͏ʹ ͳͬͨ TVHHFTUJPOGFBUVSF
W͕ϦϦʔε͞Εͨͷ ࡉ͔͍มߋͰ͋Ε (6*͔ΒDPNNJU͢Δ ͚ͩͰΑ͍
ࢲ͕Γ·ͨ͠ IUUQTHJUIVCDPNSFWJFXEPHBDUJPOSVCPDPQQVMM
Ͳ͏࣮ͬͯݱ͔ͨ͠
Ξϓϩʔν w SFWJFXEPH$-*3VCP$PQͷϝδϟʔͳMJOUFSͷग़ྗΛQBSTFͰ ͖Δ͏͑ɺ3FWJFXEPH%JBHOPTUJD'PSNBU 3%'PSNBU ͱ͍͏ಠ ࣗͷೖྗܗࣜ༻ҙ͍ͯ͠Δ w ˠͲΜͳMJOUFSͰग़ྗΛGPSNBU͢ΕSFWJFXEPHରԠͰ͖Δ
w MJOUFSͷσϑΥϧτग़ྗΑΓ3%'PSNBUͷ΄͏͕දݱྗ͕ߴ͘ɺ TVHHFTUJPOޙऀͰͳ͍ͱදݱͰ͖ͳ͍ w ˠ3VCP$PQͷग़ྗ͕3%'PSNBUʹͳΔΑ͏ܗ͢Ε͍͚Δ IUUQTHJUIVCDPNSFWJFXEPHSFWJFXEPHUSFFNBTUFSQSPUPSEG
3%'PSNBU +40/ &YBNQMF 3VCP$PQͷ A$4UZMF 'SP[FO4USJOH-JUFSBM$PNNFOU .JTTJOHGSP[FOTUSJOHMJUFSBM DPNNFOUA Έ͍ͨͳग़ྗ͕ˠͷΑ͏ʹͳ͍ͬͯ
ΕΑ͍ P ff FOTFTΛEJBHOPTUJDTͷྻʹม ͢ΔΠϝʔδ
3VCP$PQʹGPSNBUUFSΛબ͢Δػߏ͕͋Δ $*Ͱ͍ͬͯΔ ϓϩδΣΫτ͋Δ $-*ΦϓγϣϯͰ ࢦఆՄೳ IUUQTEPDTSVCPDPQPSHSVCPDPQGPSNBUUFSTIUNM IUUQTXXXSVCZEPDJOGPHFNTSVCPDPQ3VCP$PQ'PSNBUUFS#BTF'PSNBUUFS ࣗ࡞ͷDVTUPNGPSNBUUFS
ར༻Ͱ͖Δ
DVTUPNGPSNBUUFS࣮ ։࢝࣌ͷTUBSUFEͰ)BTIΛੜ ϑΝΠϧ୯ҐͷJOTQFDUऴྃ࣌ͷ fi MF@ fi OJTIFEͰP ff FOTFTΛ
EJBHOPTUJDTʹมͯ͠٧Ί͍ͯ͘ ऴྃ࣌ͷ fi OJTIFEͰTUEPVUʹग़ྗ IUUQTXXXSVCZEPDJOGPHFNTSVCPDPQ3VCP$PQ'PSNBUUFS#BTF'PSNBUUFS 3VCP$PQ'PSNBUUFS#BTF'PSNBUUFSΛܧঝͨ͠ΫϥεʹϑοΫϝιουΛ࣮͢Δ
DVTUPNGPSNBUUFS࣮ 3VCP$PQ$PQ0GGFOTF͔Β ίʔυҐஔDPSSFDUJPOใ͕औΕΔ
Ռ SVCPDPQ$-*͔ΒGPSNBUUFSΛࢦఆ࣮ͯ͠ߦ͢Δ͜ͱ Ͱ3%'PSNBUͷ+40/͕ग़ྗ͞ΕΔΑ͏ʹͳͬͨ ͜ͷ+40/ΛSFWJFXEPH$-*ʹͤ(JU)VC DPNNFOUʹTVHHFTUJPO͕ͭ͘
ศར
·ͱΊ 🤝 3VCP$PQͷDVTUPNGPSNBUUFSΛॻ͘͜ͱͰSFWJFXEPHBDUJPOSVCPDPQʹ TVHHFTUJPOGFBUVSFΛ࣮͢Δ͜ͱ͕Ͱ͖ͨ ⚽ SFWJFXEPH3%'PSNBUͷ͓͔͛Ͱ͋ΒΏΔMJOUFSͱ౷߹Մೳʹͳ͓ͬͯΓɺ SVCPDPQDVTUPNGPSNBUUFSͷ͓͔͛Ͱ݁ՌΛNBDIJOFSFBEBCMFʹͰ͖Δ 👁 SFWJFXEPHBDUJPOCSBLFNBO͋Δ͠ɺಉ͡ΓํͰ͍Ζ͍ΖͰ͖Δ
ܕݕࠪπʔϧ TPSCFU TUFFQ ͷDVTUPNBDUJPOଘࡏ͠ͳ͍Ά͍ͷͰνϟϯε͔
4NBSU#BOL *OD 4PGUXBSF&OHJOFFS .BTBUP0ICB !PICBSZF 8IP*BN !PICBSZF