Slide 1

Slide 1 text

@koic Contribution Hatching By RuboCop

Slide 2

Slide 2 text

,PJDIJ*50 !LPJD w 044QSPHSBNNFS w 3VCP$PQDPSFUFBN w )FBENBJOUBJOFSPG3VCP$PQ3BJMT  3VCP$PQ1FSGPSNBODF BOE 3VCP$PQ.JOJUFTU w &OHJOFFSJOH.BOBHFSBOE %JTUJOHVJTIFE&OHJOFFSPG&4. *OD

Slide 3

Slide 3 text

&4. *OD

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

w +BWB4DSJQU1SFUUJFS &4-JOU w (P(PGNU w 3VTU3VTUGNU $MJQQZ w 3VCZ3VCP$PQ 4UBOEBSE BOE PUIFST -JOUFS'PSNBUUFS

Slide 6

Slide 6 text

#VOEMFS 1SZ 34QFD 3VCP$PQ CZFCVH 3VCZ,BJHJ %3&$0.CPPUI

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

3VCP$PQDPSFEFWFMPQFST +0900 UTC+0200 +0300 +0800 -0400 .PSFUIBODPOUSJCVUPSTJOZFBST

Slide 9

Slide 9 text

3VCP$PQDPSFEFWFMPQFST +0900 UTC+0200 +0300 +0800 -0400 .PSFUIBODPOUSJCVUPSTJOZFBST "VUIPS

Slide 10

Slide 10 text

5IFpSTUDPNNJU % git log -p --reverse commit afbead34db54506c12a21dbd4ce04fada0f8b9a4 Author: Bozhidar Batsov Date: Sat Apr 21 13:06:42 2012 +0300 Initial commit to rubocop. --- .document | 5 +++++ .gitignore | 49 +++++++++++++++++++++++++++++++++++++++ ++++++++++ .rspec | 1 + Gemfile | 16 ++++++++++++++++ LICENSE.txt | 20 ++++++++++++++++++++ README.rdoc | 19 +++++++++++++++++++ Rakefile | 45 +++++++++++++++++++++++++++++++++++++++ ++++++ features/rubocop.feature | 9 +++++++++ features/step_definitions/rubocop_steps.rb | 0 features/support/env.rb | 13 +++++++++++++

Slide 11

Slide 11 text

5IFpSTUDPNNJU % git log -p --reverse commit afbead34db54506c12a21dbd4ce04fada0f8b9a4 Author: Bozhidar Batsov Date: Sat Apr 21 13:06:42 2012 +0300 Initial commit to rubocop. --- .document | 5 +++++ .gitignore | 49 +++++++++++++++++++++++++++++++++++++++ ++++++++++ .rspec | 1 + Gemfile | 16 ++++++++++++++++ LICENSE.txt | 20 ++++++++++++++++++++ README.rdoc | 19 +++++++++++++++++++ Rakefile | 45 +++++++++++++++++++++++++++++++++++++++ ++++++ features/rubocop.feature | 9 +++++++++ features/step_definitions/rubocop_steps.rb | 0 features/support/env.rb | 13 +++++++++++++ ๐Ÿ‘ˆ

Slide 12

Slide 12 text

UI"OOJWFSTBSZ๐ŸŽ‰

Slide 13

Slide 13 text

3VCP$PQDPSFEFWFMPQFST +0900 UTC+0200 +0300 +0800 -0400 .PSFUIBODPOUSJCVUPSTJOZFBST .F

Slide 14

Slide 14 text

.BJOUBJO3VCP$PQ)2&WFSZ%BZ

Slide 15

Slide 15 text

.F

Slide 16

Slide 16 text

@koic Contribution Hatching By RuboCop

Slide 17

Slide 17 text

8IBUJT$POUSJCVUJPO)BUDIJOH

Slide 18

Slide 18 text

$POUSJCVUJPOJT/05TFMGTBDSJpDF $POUSJCVUJPO What is life all about?

Slide 19

Slide 19 text

w +PIO.BUUIFX7MJTTJEFT w 0OFPGUIF(BOHPG'PVS w 1BUUFSOTBSFEJTDPWFSFE  OPUJOWFOUFE )BUDIJOH

Slide 20

Slide 20 text

#Z3VCP$PQ

Slide 21

Slide 21 text

w"OZQSPHSBNNBZIBWFBCVH w3VCP$PQEPFTOPULOPXNPSF BCPVUUIFTFNBOUJDTPGZPVS QSPHSBNUIBOZPVEP w-JOUFSJTOPUPNOJQPUFOU -JOUFSWT1SPHSBNNFS

Slide 22

Slide 22 text

w 3VCP$PQTJTTVFT w 4UBOEBSETJTTVFT w 1SPQSJFUBSZDPEFEFWFMPQFEBUXPSL w .ZMPDBMSFQPTJUPSZ w 044GSJFOET )PXUPHFUGFFECBDL

Slide 23

Slide 23 text

w 3VCP$PQTJTTVFT w 4UBOEBSETJTTVFT w 1SPQSJFUBSZDPEFEFWFMPQFEBUXPSL w .ZMPDBMSFQPTJUPSZ w 044GSJFOET )PXUPHFUGFFECBDL 1JDLVQ

Slide 24

Slide 24 text

"CPVUNZEFWFMPQNFOU FOWJSPONFOUUIBUNBLFT 3VCP$PQNPSFTUBCMF

Slide 25

Slide 25 text

w$IFDL044 FHSBJMTSBJMT  SFQPBOEQSPQSJFUBSZ BQQMJDBUJPOSFQPGPS OPXBSOTBOEOPFSSPST 5SZXJUIQSBDUJDBMSFBMXPSMEDPEF

Slide 26

Slide 26 text

HIRYHFNTSD Basic equipment 

Slide 27

Slide 27 text

YNPUFNFNHIR

Slide 28

Slide 28 text

YNPUFNFNHIR ๐Ÿ‘ˆ 6TFghq getJOTUFBEPGgit clone

Slide 29

Slide 29 text

/VNCFSPGNZMPDBMSFQPTJUPSJFT % ghq list (snip) github.com/rails/spring github.com/rails/actionmailbox github.com/rails/rails (snip) github.com/rust-lang/rust (snip) % ghq list | wc -l 1586

Slide 30

Slide 30 text

BNBUTVEBHFNTSD

Slide 31

Slide 31 text

w "SCFOWQMVHJO w (FUTPVSDFDPEFXJUIgit cloneBMPOH XJUIUIFSVOUJNFHFNXJUIgem install  bundle install w (FUEFQFOEFODZDPEF BTWBSJFUZDPEF  w #ZMJOLJOHXJUIghq SFQPTJUPSZ NBOBHFNFOUDBOCFDFOUSBMJ[FE HFNTSD

Slide 32

Slide 32 text

%FNP % gem install solargraph Fetching solargraph-0.43.0.gem Fetching reverse_markdown-2.0.0.gem Fetching kramdown-parser-gfm-1.1.0.gem Fetching jaro_winkler-1.5.4.gem Fetching e2mmap-0.1.0.gem Fetching backport-1.2.0.gem clone http://github.com/xijo/reverse_markdown -> /Users/koic/src/ github.com/xijo/reverse_markdown git clone --recursive http://github.com/xijo/reverse_markdown /Users/koic/src/github.com/xijo/reverse_markdown Cloning into '/Users/koic/src/github.com/xijo/reverse_markdown'... warning: redirecting to https://github.com/xijo/reverse_markdown/ remote: Enumerating objects: 1377, done. remote: Total 1377 (delta 0), reused 0 (delta 0), pack-reused 1377 Receiving objects: 100% (1377/1377), 203.40 KiB | 749.00 KiB/s, done. Resolving deltas: 100% (796/796), done.

Slide 33

Slide 33 text

6TFFEHF3VCP$PQXJUI 044BOEQSPQSJFUBSZ 

Slide 34

Slide 34 text

SFQP(FNpMF # frozen_string_literal: true source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } gemspec # Use the latest RuboCop with the path option # (my local RuboCop code is mostly up to date ๐Ÿ˜€). # And it will be convenient to manage with ghq because # you do not have to worry about the value of path. gem 'rubocop', path: '/Users/koic/src/github.com/rubocop/rubocop'

Slide 35

Slide 35 text

SFQPSVCPDPQZNM AllCops: # Include pending cop. EnabledByDefault: true # Include cop that works only with new Ruby syntax. TargetRubyVersion: 3.2 # Suppress `An AutocorrectNotice must be defined in your RuboCop config` warn. Style/Copyright: Enabled: false

Slide 36

Slide 36 text

&YBNQMFT

Slide 37

Slide 37 text

'SPN1SPQSJFUBSZ Contribution Hatching

Slide 38

Slide 38 text

SVCPDPQSVCPDPQ 'JYBOJODPSSFDUBVUPDPSSFDUGPS-BZPVU-JOF-FOHUI

Slide 39

Slide 39 text

$PSOFSDBTF

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

3FGFSFODFPUIFSUPPMT Contribution Hatching

Slide 42

Slide 42 text

w +BWB4DSJQU1SFUUJFS &4-JOU w (P(PGNU w 3VTU3VTUGNU $MJQQZ w 3VCZ3VCP$PQ 4UBOEBSE BOE PUIFST -JOUFS'PSNBUUFS

Slide 43

Slide 43 text

IUUQTHJUIVCDPNQSFUUJFSQMVHJOSVCZ

Slide 44

Slide 44 text

w 3VCP$PQTBVUPDPSSFDUJPO NBLFTBOJOWBMJE3VCZDPEF๐Ÿคฆ w 5ISFFDPOUSJCVUJPOTXFSFIBUDIFE w   BOE 3VOrubocop -A

Slide 45

Slide 45 text

<&/>HJUIVCDPNSVCPDPQSVCPDPQ <+">HJUIVCDPNSVCPDPQSVCPDPQKQ You may also encounter unexpected analyzing. Please give us your feedback. So you can start with an issue: %POU1BOJD

Slide 46

Slide 46 text

Contribution opportunities are anywhere!

Slide 47

Slide 47 text

One more thingโ€ฆ

Slide 48

Slide 48 text

PSJHJOYVQTUSFBN Sapir-Whorf hypothesis

Slide 49

Slide 49 text

%PZPVVTFHJUDPNNBOEUIFTBNF CFUXFFOEBZUJNFXPSLBOE044 ?

Slide 50

Slide 50 text

PSJHJOBOEVQTUSFBN PSJHJO %BZUJNFXPSL MPDBM PSJHJO MPDBM 044 VQTUSFBN 1VMM 3FRVFTU 1VMM 3FRVFTU HJUQVMM HJUQVTI HJUQVMM HJUQVTI 'PSL HJUQVMMPSJHJONBTUFS HJUQVTIPSJHJOIFBE HJUQVMMPSJHJONBTUFS HJUQVTIVQTUSFBNIFBE git pushPQFSBUJPODBOCFDPOTJTUFOUCZTQFDJGZJOHheadJOTUFBEPGcurrent-branchOBNF

Slide 51

Slide 51 text

PSJHJOBOEVQTUSFBN PSJHJO %BZUJNFXPSL MPDBM PSJHJO MPDBM 044 VQTUSFBN 1VMM 3FRVFTU 1VMM 3FRVFTU HJUQVMM HJUQVTI HJUQVMM HJUQVTI 'PSL HJUQVMMPSJHJONBTUFS HJUQVTIPSJHJOIFBE HJUQVMMPSJHJONBTUFS HJUQVTIVQTUSFBNIFBE git pushPQFSBUJPODBOCFDPOTJTUFOUCZTQFDJGZJOHheadJOTUFBEPGcurrent-branchOBNF

Slide 52

Slide 52 text

PSJHJOBOEVQTUSFBN PSJHJO VQTUSFBN %BZUJNFXPSL MPDBM PSJHJO MPDBM 044 VQTUSFBN 1VMM 3FRVFTU 1VMM 3FRVFTU HJUQVMM HJUQVTI HJUQVMM HJUQVTI 'PSL HJUQVMMPSJHJONBTUFS HJUQVTIVQTUSFBNIFBE HJUQVMMPSJHJONBTUFS HJUQVTIVQTUSFBNIFBE "EESFTTUIFTBNF63-BTPSJHJO HJUSFNPUFBEEVQTUSFBNAHJUDPOpHHFUSFNPUFPSJHJOVSMA ๐Ÿ‘ˆ5JQ

Slide 53

Slide 53 text

.BLFUIFTBNFqPX PSJHJO VQTUSFBN %BZUJNFXPSL MPDBM PSJHJO MPDBM 044 VQTUSFBN 1VMM 3FRVFTU 1VMM 3FRVFTU HJUQVMM HJUQVTI HJUQVMM HJUQVTI 'PSL HJUQVMMPSJHJONBTUFS HJUQVTIVQTUSFBNIFBE HJUQVMMPSJHJONBTUFS HJUQVTIVQTUSFBNIFBE "EESFTTUIFTBNF63-BTPSJHJO HJUSFNPUFBEEVQTUSFBNAHJUDPOpHHFUSFNPUFPSJHJOVSMA ๐Ÿ‘ˆ5JQ QSJWBUFSFQP QVCMJDSFQP

Slide 54

Slide 54 text

5PPMVTBHFQSPWJEFTUIJOLJOH IBCJUTUIBUBGGFDUDPHOJUJPO๐Ÿค”

Slide 55

Slide 55 text

w 3VCP$PQTJTTVFT w 4UBOEBSETJTTVFT w 1SPQSJFUBSZDPEFEFWFMPQFEBUXPSL w .ZMPDBMSFQPTJUPSZ w 044GSJFOET )PXUPHFUGFFECBDL

Slide 56

Slide 56 text

044EFWFMPQFSTBSF BUUSBDUFEUPFBDIPUIFS

Slide 57

Slide 57 text

Support OSS community

Slide 58

Slide 58 text

4PGUXBSFJTNBEFGPSQFPQMFCZQFPQMF ,FOKJ)JSBOBCF$&0BU&4. *OD

Slide 59

Slide 59 text

8&"3&)*3*/(ส‚ agile.esm.co.jp

Slide 60

Slide 60 text

'SFFZPVSTFOTF