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.4k
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
440
Data Migration on Rails
ohbarye
8
8.8k
Unlocking Potential of Property Based Testing with Ractor
ohbarye
3
15k
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
880
My Favorite Protocol: Idempotency-Key Header
ohbarye
7
6.3k
エンジニア9名でプロポーザル提出8件, 採択3件を支える技術と文化 / Proposal Fight Culture
ohbarye
4
6.6k
管理機能アーキテクチャパターンの考察と実践 / 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.2k
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
250
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
100
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
130
Refactor your code - refactor yourself
xosofox
1
260
fs2-io を試してたらバグを見つけて直した話
chencmd
0
230
Spatial Rendering for Apple Vision Pro
warrenm
0
110
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
7
1.3k
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
220
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
550
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Become a Pro
speakerdeck
PRO
26
5k
Embracing the Ebb and Flow
colly
84
4.5k
Scaling GitHub
holman
458
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Optimising Largest Contentful Paint
csswizardry
33
3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
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