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.5k
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
Two Blades, One Journey: Engineering While Managing
ohbarye
2
460
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
1.1k
プロポーザルのつくり方 〜個人技編〜 / How to come up with proposals
ohbarye
6
740
Data Migration on Rails
ohbarye
8
10k
Unlocking Potential of Property Based Testing with Ractor
ohbarye
3
16k
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
1.2k
My Favorite Protocol: Idempotency-Key Header
ohbarye
7
6.8k
エンジニア9名でプロポーザル提出8件, 採択3件を支える技術と文化 / Proposal Fight Culture
ohbarye
4
6.8k
管理機能アーキテクチャパターンの考察と実践 / Learn Architecture through Admin
ohbarye
33
18k
Other Decks in Programming
See All in Programming
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
1.8k
Ruby on cygwin 2025-02
fd0
0
150
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
180
Domain-Driven Transformation
hschwentner
2
1.9k
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
810
CI改善もDatadogとともに
taumu
0
180
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
890
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
550
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.4k
Code smarter, not harder - How AI Coding Tools Boost Your Productivity | Angular Meetup Berlin
danielsogl
0
100
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
140
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Six Lessons from altMBA
skipperchong
27
3.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Practical Orchestrator
shlominoach
186
10k
Writing Fast Ruby
sferik
628
61k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
250
What's in a price? How to price your products and services
michaelherold
244
12k
Automating Front-end Workflow
addyosmani
1368
200k
The Invisible Side of Design
smashingmag
299
50k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Music & Morning Musume
bryan
46
6.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
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