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
3.1k
2
Share
RuboCop Custom Formatter for Reviewdog Diagnostic Format
gotanda.rb#53 "RuboCop Custom Formatter for Reviewdog Diagnostic Format"
Masato Ohba
June 21, 2023
More Decks by Masato Ohba
See All by Masato Ohba
From Formal Specification to Property Based Test
ohbarye
0
2.5k
5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム / 5 Years Fintech Rails Retrospective
ohbarye
9
12k
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
3
12k
組織のスケールを見据えたプロジェクトリードエンジニア制度の実践 / Project Lead Engineer for Scaling Engineering Organization
ohbarye
14
3.9k
Two Blades, One Journey: Engineering While Managing
ohbarye
9
13k
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
3k
プロポーザルのつくり方 〜個人技編〜 / How to come up with proposals
ohbarye
7
2.6k
Data Migration on Rails
ohbarye
8
16k
Unlocking Potential of Property Based Testing with Ractor
ohbarye
3
22k
Other Decks in Programming
See All in Programming
Explore CoroutineScope
tomoeng11
0
190
2026-04-15 Spring IO - I Can See Clearly Now
jonatan_ivanov
1
200
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
350
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1.1k
GoogleCloudとterraform完全に理解した
terisuke
1
190
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
4
460
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
23
12k
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.5k
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
770
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
170
AI時代になぜ書くのか
mutsumix
0
390
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
350
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
Paper Plane
katiecoart
PRO
1
50k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
820
Balancing Empowerment & Direction
lara
6
1.1k
A better future with KSS
kneath
240
18k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Designing for Performance
lara
611
70k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
400
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Deep Space Network (abreviated)
tonyrice
0
130
Unsuck your backbone
ammeep
672
58k
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