$30 off During Our Annual Pro Sale. View Details »

How to become the Psychic

How to become the Psychic

SHIBATA Hiroshi

May 18, 2019
Tweet

More Decks by SHIBATA Hiroshi

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. 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”],
    }

    View Slide

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

    View Slide

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

    View Slide

  6. ΤεύʔྗΛߴΊΔ

    View Slide

  7. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  23. ϙΠϯτத਎Λ஌Δ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  27. ґଘ͍ͯ͠Διϑτ΢ΣΞͷσόοάํ๏Λ஌Δ
    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

    View Slide

  28. ґଘ͍ͯ͠Διϑτ΢ΣΞͷ࡞ΓΛ஌Δ
    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

    View Slide

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

    View Slide

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

    View Slide