Slide 1

Slide 1 text

ιϑτ΢ΣΞͷ໰୊ղܾͷٕज़ ࣲాതࢤ(.01&1"#0JOD ͸ͩͯ͜ະདྷେֶय़ͷ-5େձ ΤεύʔྗΛߴΊΔ

Slide 2

Slide 2 text

Hiroshi SHIBATA @hsbt https://www.hsbt.org Executive Officer VP of Engineering Technical Director at GMO Pepabo, Inc. @pepabo

Slide 3

Slide 3 text

self.introduce => { name: “SHIBATA Hiroshi”, nickname: “hsbt”, organizations: [“ruby”, “rubygems”, “asakusarb”, “pepabo”, …], commit_bits: [“ruby”, “rake”, “rubygems”, “bundler”, “rdoc”, “psych”, “ruby-build”, “railsgirls”, “railsgirls-jp”, …], sites: [“hsbt.org”, “ruby-lang.org”, “rubyci.org”, “railsgirls.com”, “railsgirls.jp”], }

Slide 4

Slide 4 text

l͜Ε͚ͩ͸఻͍ٕ͑ͨज़z

Slide 5

Slide 5 text

ձࣾͰ͸ΤϯδχΞ͡Όͳ͍ΜͩΑͳʜ

Slide 6

Slide 6 text

ΤεύʔྗΛߴΊΔ

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

͍͢͝ΤϯδχΞ͸·ΔͰ௒ೳྗऀ Τεύʔ ͷΑ͏ wΤϥʔϝοηʔδΛݟ͚ͨͩͰιʔείʔυͷͲ͜Λ௚ͤ͹͍͍ͷ͔Θ͔Δ w৮ͬͨ͜ͱ͕ͳ͍ιϑτ΢ΣΞͷ࢖͍ํ͕Θ͔Δ wσόοάπʔϧΛ࢖ͬͯʮΧλΧλΧλʜΘ͔ͬͨʯͱෆ۩߹Λݟ͚ͭΔ ͜ͷਓͨͪΤεύʔͰ͸

Slide 9

Slide 9 text

͜Ε͸ΤεύʔͰ͸ͳͯ͘lٕज़z ٕज़ͳΒ୭Ͱ΋शಘͰ͖Δ

Slide 10

Slide 10 text

ϙΠϯτιϑτ΢ΣΞͷಛੑΛ஌Δ

Slide 11

Slide 11 text

ιϑτ΢ΣΞͬͯͳΜͰ͔͢  ࣗ༝هड़෼

Slide 12

Slide 12 text

ιϑτ΢ΣΞ͸Ͳ͜ʹ͋Δͷ͔ wιϑτ΢ΣΞ͸ਓʑͷ৺ͷதʹ͋ Δ wιϑτ΢ΣΞ͸ਓʑͷίϛϡχ έʔγϣϯͷதʹ͋Δ ʰεΫϥϜ࣮ફೖ໳ʱٕज़ධ࿦ࣾɺ2016೥ɺp.10

Slide 13

Slide 13 text

͋ΒΏΔιϑτ΢ΣΞ͕ਓͱਓͱͷର࿩Λ࣋ͭ wಛఆͷ૊৫͔ΒͷཁٻΛղܾ͢Διϑτ΢ΣΞˠ։ൃऀ։ൃνʔϜ·ͨ͸ࣗ ෼ݸਓར༻ऀಛఆͷ૊৫ʹॴଐ͍ͯ͠Δਓʑ w044ͳͲෆಛఆଟ਺ͷར༻͕૝ఆ͞ΕΔιϑτ΢ΣΞˠ։ൃऀ։ൃνʔϜ ·ͨ͸ࣗ෼ݸਓར༻ऀෆಛఆଟ਺ wࣗ෼޲͚ͷιϑτ΢ΣΞˠ։ൃऀࣗ෼ར༻ऀࣗ෼

Slide 14

Slide 14 text

ιϑτ΢ΣΞͷಈ͖Λ༧ଌ͢Δʹ͸ਓΛ஌ Δ͜ͱ͕࠷୹ܦ࿏ͷ৔߹͕͋Δ

Slide 15

Slide 15 text

ਓΛ஌Δͱιϑτ΢ΣΞΛ ߴ଎ʹ ཧղͰ͖Δ w3BJMTΛ࡞ͬͨ%))͕࡞ͬͨιϑτ΢ΣΞͳͷͰɺ͜ͷ"DUJWF ͸ʙ w˓˓͞Μ͕࡞ͬͨιϑτ΢ΣΞͳͷͰ͜͏͍͏࣌΋ରॲ͞Ε͍ͯΔ͸ͣ w.JDSPTPGUॴଐͷਓ͕ॻ͍ͨίʔυͳͷͰ8JOEPXTͰ΋େৎ෉ ʜ

Slide 16

Slide 16 text

ϙΠϯτظ଴͍ͯ͠ΔৼΔ෣͍Λ஌Δ

Slide 17

Slide 17 text

ྑ͍ιϑτ΢ΣΞͬͯԿͩͱࢥ͍·͔͢  ࣗ༝هड़෼

Slide 18

Slide 18 text

γεςϜ޻ֶ wࣄ৅ΛΠϯϓοτɺܥ γεςϜ ɺΞ΢τϓοτͷࡾͭͰϞσϧԽ͢Δ wΠϯϓοτͱܥ͔Βੜ·ΕͨΞ΢τϓοτ͕ظ଴஋௨ΓͰ͋Δ͔Ͳ͏͔ͷࠩ෼ Λ඼࣭ͱݺͿ γεςϜ Πϯϓοτ Ξ΢τϓοτ

Slide 19

Slide 19 text

ιϑτ΢ΣΞͷ඼࣭ͷجຊతͳߟ͑ํ w੡଄ۀͰͷ඼࣭޻ֶͰ͸ɺ։ൃઃܭஈ֊Ͱ඼࣭Λ࡞ΓࠐΉ ˠ੡଄ஈ֊Ͱ࡞ΓࠐΉ͔Βػೳͷ͹Β͖͕ͭൃੜ͢Δ wΑ͋͘Δޡղ ʮςετɾࢼݧͰ඼࣭޲্ʯ wςετͰΘ͔Δ͜ͱ͸࡞੒෺ͷ඼࣭͕Ͳͷఔ౓͔Ͱ͋Γɺ࡞੒෺ͦͷ΋ͷͷ඼ ࣭͕มԽ͢ΔΘ͚Ͱ͸ͳ͍ w͜ΕΒ͸ιϑτ΢ΣΞͰ΋ಉ͡

Slide 20

Slide 20 text

اըஈ֊ͷ඼࣭؅ཧ l඼࣭z͸Ϣʔβʔͷظ଴͢Δػೳͱ࣮ࡍʹఏڙ͍ͯ͠Δػೳͱͷဃ཭Ͱ͋Δ lߴz඼࣭ wػೳͱཧ૝ػೳͱͷဃ཭ͷ͹Β͖͕ͭখ͍͜͞ͱ l௿඼࣭ wػೳͱཧ૝ػೳͱͷဃ཭ͷ͹Β͖͕ͭେ͖͍͜ͱ

Slide 21

Slide 21 text

ظ଴ͨ͠ৼΔ෣͍௨Γʹಈ͘͜ͱ wظ଴Πϯϓοτ"ΛೖΕͨΒΞ΢τϓοτ#͕ग़Δ͸ͣ wݱ࣮Ξ΢τϓοτ$͕ग़͖ͯͨɺ࢖͍෺ʹͳΒͳ͍ wݱ࣮Ξ΢τϓοτ#͕ग़͖ͯͨɺ࠷ߴ ιϑτ΢ΣΞ͸ਓͱਓͱͷ֓೦ʹଘࡏ͢ΔҎ্ɺಉ͡ਓ΍૊৫͔Β࡞ΒΕͨι ϑτ΢ΣΞ͸͋ΔΠϯϓοτʹରͯ͠ಉ͡Ξ΢τϓοτΛग़͢͜ͱ͕ଟ͍ ͦΕΛ͋Β͔͡Ί༧ଌ͢Δ͜ͱͰɺظ଴௨ΓʹͳΒͳ͔ͬͨ࣌ͷରॲΛ͢Δ

Slide 22

Slide 22 text

ظ଴௨Γʹಈ͔ͳ͍৔߹ʹͲ͏͢Δ͔ wࣗ෼ͷೖྗΛٙ͏ˠࣗ෼ͷΠϯϓοτ͸ຊ౰ʹ"ͩͬͨͷ͔  wࣗ෼ͷظ଴Λٙ͏ˠࣗ෼͸#͕ग़ͯ͘Δͱࢥ͍͕ͬͯͨɺੈͷதͷଟ͘ͷਓ ΍࡞ऀ͸ͦ΋ͦ΋$Λग़͢΋ͷͱࢥ͍ͬͯΔͷͰ͸ͳ͍͔  wࣗ෼ͷબ୒Λٙ͏ˠ"ΛೖΕͨΒ#Λग़͢γεςϜͩͱࢥ͍͕ͬͯͨͦ΋ͦ ΋$Λग़͢γεςϜͩͬͨͷͰ͸  ࣗ෼͸Ҋ֎৴༻Ͱ͖ͳ͍

Slide 23

Slide 23 text

ϙΠϯτத਎Λ஌Δ

Slide 24

Slide 24 text

ྑ͍ιϑτ΢ΣΞΛͲͷΑ͏ʹ࡞Γ·͔͢  ࣗ༝هड़෼

Slide 25

Slide 25 text

ιϑτ΢ΣΞ͸૊Έ߹Θͤͷ࣌୅ w-JOVYΛ͸͡Ίͱ͢Δ044ͷར༻͕ιϑτ΢ΣΞ։ൃͷ౰ͨΓલͷ࣌୅ w͋ΒΏΔιϑτ΢ΣΞ͕૬ޓʹґଘ͢Δ͜ͱͰߏ੒͞ΕΔ wґଘؔ܎ͱґଘ͍ͯ͠Διϑτ΢ΣΞͷ࡞ऀɺৼΔ෣͍Λ஌Δ͜ͱͰର৅ͱ͢ Διϑτ΢ΣΞͦͷ΋ͷͷಈ͖͕ਪଌՄೳͱͳΔ

Slide 26

Slide 26 text

ґଘ͍ͯ͠Διϑτ΢ΣΞͷৼΔ෣͍Λ஌Δ w$-*ϥΠϒϥϦͷ5IPSΛ࢖͍ͬͯΔιϑτͷίϚϯυମܥ͸ࣅ͍ͯΔ w74DPEF΍$ISPNF͸ಉ͡8FCLJUΛ࢖͍ͬͯΔͳΒΩʔόΠϯυ͸ಉ͡ module Bundler class CLI < Thor require_relative "cli/common"

Slide 27

Slide 27 text

ґଘ͍ͯ͠Διϑτ΢ΣΞͷσόοάํ๏Λ஌Δ w-JOVYͷTZTDBMMΛݟΔͳΒTUSBDFͷ࢖͍ํ w3VCZͳΒCJOEJOHJSC΍EVNQͷղಡํ๏ EUSBDFFSSPSPOFOBCMFEQSPCF*% *%TZTDBMMSFBESFUVSO JOWBMJELFSOFMBDDFTTJOBDUJPOBU%*'P⒎TFU SFBE Y# a Y$& &SS TJHQSPDNBTL Y Y Y''&&# Y TJHBMUTUBDL Y Y''&&" Y  $MFWFMCBDLUSBDFJOGPSNBUJPO MJCSVCZEZMJCYDEBSC@WN@CVHSFQPSU  MJCSVCZEZMJCYCFDESC@CVH@DPOUFYU  MJCSVCZEZMJCYCGBTJHTFHW 

Slide 28

Slide 28 text

ґଘ͍ͯ͠Διϑτ΢ΣΞͷ࡞ΓΛ஌Δ wҰൠతʹ3BJMTͳΒ3BJMTΞϓϦέʔγϣϯશͯʹ஌ࣝΛྲྀ༻Ͱ͖Δ w34QFD΍4JEFLJRͳͲ3BJMTͱڞʹ࢖ΘΕΔ͜ͱ͕ଟ͍ιϑτ΢ΣΞ΋ಡΈ ΍͍͢ class Changeset < ActiveRecord::Base belongs_to :repository belongs_to :user RSpec.configure do |config| config.include Spec::Builders config.include Spec::Helpers

Slide 29

Slide 29 text

·ͱΊ w୭͕ιϑτ΢ΣΞΛ࡞͍ͬͯΔ͔Λ஌Δ wιϑτ΢ΣΞʹͲ͏ಈ͍ͯཉ͍͠ͷ͔Λ஌Δ wιϑτ΢ΣΞ͕ͲͷΑ͏ʹಈ͘ͷ͔Λ஌Δ wιϑτ΢ΣΞΛ஌Δ͜ͱͰಈ͖ΛਪଌͰ͖ΔΑ͏ʹ͢Δ wΤεύʔྗ͕ߴ·ͬͯḿΔ

Slide 30

Slide 30 text

Ұॹʹ΋ͬͱ໘ന͘͠·ͤΜ͔? ࠷৽ͷ࠾༻৘ใΛνΣοΫˠ @pb_recruit ৽ଔ࠾༻ϖʔδΛνΣοΫˠ https://recruit.pepabo.com/info/graduate/