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
Enter the OSS world [RuboCop] I. presage comment
Search
Koichi ITO
December 04, 2017
Programming
1
2.3k
Enter the OSS world [RuboCop] I. presage comment
福岡Ruby会議02 前夜祭
Koichi ITO
December 04, 2017
Tweet
Share
More Decks by Koichi ITO
See All by Koichi ITO
Bliki (ja), and the Cathedral, and the Bazaar
koic
8
2.2k
Welcome to the LLM Club
koic
0
310
RuboCop: Modularity and AST Insights
koic
3
4.7k
Carving the Way to Ruby Engineering
koic
3
1.1k
Beyond the RuboCop Defaults
koic
3
4.5k
Minify Ruby Code
koic
2
2.4k
Permanent Agility
koic
38
9.2k
RuboCop: LSP and Prism
koic
3
5.3k
Organizational Pattern Hatching
koic
0
1.5k
Other Decks in Programming
See All in Programming
Google I/O recap web編 大分Web祭り2025
kponda
0
2.9k
Nuances on Kubernetes - RubyConf Taiwan 2025
envek
0
200
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
750
個人軟體時代
ethanhuang13
0
110
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
300
RDoc meets YARD
okuramasafumi
3
140
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
rvirus0817
1
2.3k
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
280
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
13
2.9k
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
3
1.4k
A Gopher's Guide to Vibe Coding
danicat
0
180
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
140
Featured
See All Featured
Fireside Chat
paigeccino
39
3.6k
Gamification - CAS2011
davidbonilla
81
5.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
A Modern Web Designer's Workflow
chriscoyier
695
190k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
The World Runs on Bad Software
bkeepers
PRO
70
11k
The Cult of Friendly URLs
andyhume
79
6.6k
Done Done
chrislema
185
16k
KATA
mclloyd
32
14k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Designing for Performance
lara
610
69k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
5IF$PNQBOZ ,PJDIJ*50FTN 'SJ Ԭ3VCZձٞલࡇ &OUFSUIF044XPSME <3VCP$PQ> *QSFTBHFDPNNFOU
None
None
None
None
0DUPCFS 3VCP$PQSFMFBTFE
None
CCBUTPWSVCPDPQ "EEOFXA4UZMF.JYJO6TBHFADPQ
None
Enter the OSS world RuboCop I. presage comment
1SFNPOJUJPO
"3BJMTBQQMJDBUJPO EFWFMPQNFOU
3FWJFXDPNNFOU
ࣗͨͪͷࢦఠͨ͜͠ͱ ଞͷػձͰࢦఠ͞Ε͏Δ
None
044 ใԽٕज़Λ௨ͯ͡ʜ 3JEFPO044
IUUQTUXJUUFSDPNPOLTUBUVT
)PXUPNBLF4UZMF.JYJO6TFHFDPQ
SBLFOFX@DPQ CFSBLFOFX@DPQ<3BJMT5PQ-FWFM*ODMVEF>
SBLFOFX@DPQ CFSBLFOFX@DPQ<3BJMT5PQ-FWFM*ODMVEF> 'JMFTDSFBUFE MJCSVCPDPQDPQSBJMTUPQ@MFWFM@JODMVEFSC TQFDSVCPDPQDPQSBJMTUPQ@MFWFM@JODMVEF@TQFDSC 'JMFNPEJpFE ASFRVJSF@SFMBUJWFSVCPDPQDPQSBJMTUPQ@MFWFM@JODMVEFABEEFE JOUPMJCSVCPDPQSC ! %PTUFQT
"EEBOFOUSZUPUIF/FXGFBUVSFTTFDUJPOJO $)"/(&-0(NE FH"EEOFXA5PQ-FWFM*ODMVEFADPQ <!ZPVS@JE><> "EEBOFOUSZJOUPDPOpHFOBCMFEZNMPSDPOpHEJTBCMFEZNM *NQMFNFOUZPVSOFXDPQJOUIFHFOFSBUFEpMF
8SJUFFYBNQMFT 50%0XIFOpOJTIFE SVOASBLFHFOFSBUF@DPQT@EPDVNFOUBUJPOA UPVQEBUFUIFEPDT NPEVMF3VCP$PQ NPEVMF$PQ NPEVMF3BJMT 50%08SJUFDPQEFTDSJQUJPOBOEFYBNQMFPGCBEHPPE DPEF
!FYBNQMF CBE CBE@NFUIPE HPPE CBE@NFUIPE BSHT 8SJUFDPQEFTDSJQUJPOBOE FYBNQMFPGCBEHPPE
8SJUFTQFDT EFTDSJCF3VCP$PQ$PQ3BJMT5PQ-FWFM*ODMVEFEP JUSFHJTUFSTBOP⒎FOTFXIFOVTJOHACBE@NFUIPEAEP FYQFDU@P⒎FOTF 36#:TUSJQ@JOEFOU CBE@NFUIPE ??????????6TFAHPPE@NFUIPEAJOTUFBEPGACBE@NFUIPEA 36#: FOE
! JUEPFTOPUSFHJTUFSBOP⒎FOTFXIFOVTJOHAHPPE@NFUIPEAEP FYQFDU@OP@P⒎FOTFT 36#:TUSJQ@JOEFOU HPPE@NFUIPE 36#: FOE FOE 8SJUFBCBEDBTFPOUIFAFYQFDU@P⒎FOTFA NFUIPE 8SJUFBHPPEDBTFPOUIFAFYQFDU@OP@P⒎FOTFTA NFUIPE
SVCZQBSTF SVCZQBSTFFJODMVEF.` TFOEOJMJODMVEF DPOTUOJM. ! SVCZQBSTFFFYUFOE.` TFOEOJMFYUFOE
DPOTUOJM. ! SVCZQBSTFFQSFQFOE.` TFOEOJMQSFQFOE DPOTUOJM. (FU4FYQSFTTJPOGSPNSVCZQBSTFDPNNBOE
EFG@OPEF@NBUDIFS EFG@OPEF@NBUDIFSJODMVEF@TUBUFNFOU 1"55&3/ TFOEOJM \JODMVEFFYUFOEQSFQFOE^ DPOTUOJM @
1"55&3/ 3FXSJUFBTOPEFQBUUFSOCBTFEPO4FYQSFTTJPO 'VSUIFSSFBEJOH IUUQTHJUIVCDPNCCBUTPWSVCPDPQCMPCNBTUFSMJCSVCPDPQOPEF@QBUUFSOSC
PO@YYYBEE@PGGFOTF .4(ATUBUFNFOUTAJTVTFEBUUIFUPQMFWFM6TFJOTJEFa ADMBTTAPSANPEVMFAGSFF[F ! EFGPO@TFOE OPEF SFUVSOVOMFTT TUBUFNFOUJODMVEF@TUBUFNFOU OPEF
SFUVSOVOMFTTUPQ@MFWFM@OPEF OPEF ! BEE@P⒎FOTF OPEF NFTTBHFGPSNBU .4( TUBUFNFOUTUBUFNFOU FOE 8SJUFFWFOUIBOEMFSAPO@OPEF@OBNFA PSAJOWFTUJHBUFA NFUIPE
*NQMFNFOUBUJPO 3FE (SFFO 3FGBDUPS 5FTUDPEFJTNPSFPCWJPVTBOEFBTJFSUP VOEFSTUBOEUIBOUIFPQFSBUJPOPG"45
8SJUFDPOpHpMFT 3BJMT5PQ-FWFM*ODMVEF %FTDSJQUJPO$IFDLTUIBUAJODMVEFA AFYUFOEABOEAQSFQFOEAFYJTUT BUUIFUPQMFWFM &OBCMFEUSVF ! ! *OUIJT13 UIFGPMMPXJOHTFUUJOHXJMMCFSFNPWFEMBUFS
3BJMT5PQ-FWFM*ODMVEF *ODMVEF BQQ SC "EEBOFOUSZJOUPDPOpHFOBCMFEZNM PSDPOpHEJTBCMFEZNM "EEBOFOUSZJOUPDPOpHEFGBVMUZNM *GEFGBVMUTFUUJOHJTSFRVJSFE
SBLFHFOFSBUF@DPQT@EPDVNFOUBUJPO 8SJUFUIF$)"/(&-0(NE CFSBLFHFOFSBUF@DPQT@EPDVNFOUBUJPO ! ! ! CFSBLF CFSBLFQBSBMMFMTQFD 'JOJTIFEJOTFDPOET pMFTUPPLTFDPOETUPMPBE
FYBNQMFT GBJMVSFT QFOEJOH CFSBLFQBSBMMFMBTDJJ@TQFD 'JOJTIFEJOTFDPOET pMFTUPPLTFDPOETUPMPBE FYBNQMFT GBJMVSFT QFOEJOH CFSBLFJOUFSOBM@JOWFTUJHBUJPO pMFTJOTQFDUFE OPP⒎FOTFTEFUFDUFE 8IFOpOJTIFE SVOASBLF HFOFSBUF@DPQT@EPDVNFOUBUJPOAUPVQEBUFUIFEPDT
0QFOB13
$POWFSTBUJPO
$POWFSTBUJPO
$POWFSTBUJPO
$POWFSTBUJPO
None
$POWFSTBUJPO
CCBUTPWSVCPDPQ "EEOFXA4UZMF.JYJO6TBHFADPQ
None
None
3VCP$PQIBTOPQSFSFMFBTF
None
'FFECBDL
GBMTFQPTJUJWF
GBMTFQPTJUJWF
GBMTFQPTJUJWF
GBMTFQPTJUJWF
GBMTFQPTJUJWF
GBMTFQPTJUJWF
*ODMVEFNBUDIFS
1SPQPTFlGBMTFOFHBUJWFz
1SPQPTFlGBMTFOFHBUJWFz
GBMTFQPTJUJWF ˣ GBMTFOFHBUJWF
044ʹόά͕͋Δͱ͍͏ ͳ͠ฉ͕͘ɺͱΓ͋͑ ͣ͋ͷόάϫγ͕ҭͯͨ
3BJMT͔Β4UZMFʹείʔϓ ΛͻΖ͕࣮͛ͨڱ͍·· ল
8PSLBSPVOEGPS 4UZMF.JYJO6TBHF *ODMVEF BQQ SC "EEUIJTTFUUJOHJOUPSVCPDPQZNM
3VCP$PQͷ࣍ճϦϦʔε Λ͓ͪԼ͍͞ ຊରԠ
l աͪΛؾʹපΉ͜ͱͳ͍ɻ ͨͩೝΊͯɺ࣍ͷྐͱ͢Ε ͍͍ɻͦΕ͕େਓͷಛݖͩɻ 'VMM'SPOUBM
w ϓϩδΣΫτͰͷ(JU)VCϨϏϡʔ 3VCP$PQͷϑΟʔυόοΫ ͷๅݿ &OUFSUIF044XPSME w ίʔυΛॻ͚ΔͳΒVQTUSFBN ίʔυΛॻ͜͏ w
*TTVFVQTUSFBNʹϨϙʔτ͠Α ͏ 1BSU**ʹͭͮ͘ ·ͱΊ
࣍ճ༧ࠂ
&OUFSUIF044XPSME <3VCP$PQ> **MPTUCPVOEBSZ &OUFSUIF044XPSME <3VCP$PQ> **MPTUCPVOEBSZ &OUFSUIF044XPSME <3VCP$PQ> **MPTUCPVOEBSZ &OUFSUIF044XPSME
<3VCP$PQ> **MPTUCPVOEBSZ &OUFSUIF044XPSME <3VCP$PQ> **MPTUCPVOEBSZ
݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄
݄ ݄ ݄ ݄
FOE