Slide 1

Slide 1 text

spreeͷrails updateͷઓ͍ͷྺ࢙ͱ github্ͷPR࡞੒࣌ͷ޻෉ #omotesandorb #40 2018/11/08

Slide 2

Slide 2 text

ࠓ೔࿩͢͜ͱ • spree Λ࢖ͬͯΔ͜ͱ • spreeͱRails::Engineͱrails update • େ͖͍มߋΛՃ͍͑ͨͱ͖ͷgithub PR্ͷ޻෉ɾҰൠ࿦

Slide 3

Slide 3 text

ࣄ৘ • rails/rails • 4.1.6 -> ࠷ۙ4.2.6.1ʹͨ͠✨ • spree/spree • 2.3.5(͙Β͍) -> ࠷ۙ3.0.4ʹͨ͠

Slide 4

Slide 4 text

spreeͱ͸ • railsͰॻ͔ΕͨeίϚʔεϑϨʔϜϫʔΫͬΆ͍΍ͭ • 2007೥͔Β։ൃ • Rails::Engine͕׆༻͞Ε͍ͯΔ

Slide 5

Slide 5 text

Rails::Engine • ʮΤϯδϯ (engine) ͱ͸ɺΞϓϦέʔγϣϯͷϛχνϡΞͷ Α͏ͳ΋ͷʯ — rails guide • https://railsguides.jp/engines.html

Slide 6

Slide 6 text

spreeͰಘΒΕΔԸܙ • 10೥ؒͷϊ΢ϋ΢͕٧·ͬͯͦ͏ͳϞσϧͨͪ

Slide 7

Slide 7 text

spreeͰಘΒΕΔԸܙ • 10೥ؒͷϊ΢ϋ΢͕٧·ͬͯͦ͏ͳϞσϧͨͪ ঎඼ΧςΰϦɾλάɾεϥοά ੫ܭࢉɾ঎඼͝ͱͷ੫ɾ഑ૹઌ͝ͱͷ੫

Slide 8

Slide 8 text

spreeͰಘΒΕΔԸܙ • 10೥ؒͷϊ΢ϋ΢͕٧·ͬͯͦ͏ͳϞσϧͨͪ ঎඼ΧςΰϦɾλάɾεϥοά ੫ܭࢉɾ঎඼͝ͱͷ੫ɾ഑ૹઌ͝ͱͷ੫ ঎඼͝ͱͷૹྉɾ഑ૹઌ͝ͱͷૹྉ ฦ඼ɺฦۚɺ3."

Slide 9

Slide 9 text

spreeͰಘΒΕΔԸܙ • 10೥ؒͷϊ΢ϋ΢͕٧·ͬͯͦ͏ͳϞσϧͨͪ ঎඼ΧςΰϦɾλάɾεϥοά ੫ܭࢉɾ঎඼͝ͱͷ੫ɾ഑ૹઌ͝ͱͷ੫ ঎඼͝ͱͷૹྉɾ഑ૹઌ͝ͱͷૹྉ ฦ඼ɺฦۚɺ3." ෳ਺ࢧ෷ɺෳ਺ൃૹɺෳ਺૔ݿϩέʔγϣϯ ΫʔϙϯׂҾɺήετൃૹɺόοΫΦʔμʔ FUDʜ

Slide 10

Slide 10 text

spreeͷѱ͍ͱ͜Ζ • ࠷ॳ͔ΒଟػೳͳͷͰֶशίετ͕ͦΕͳΓʹ͋Δ • spreeΛࢧ͑Δgem͕ݹ͔ͬͨΓ͢Δ • ݹ͍ϑϨʔϜϫʔΫ͔ͩΒ͠ΐ͏͕ͳ͍ • spreeΛࢧ͑Δgem͕…

Slide 11

Slide 11 text

spreeͷѱ͍ͱ͜Ζ • ࠷ॳ͔ΒଟػೳͳͷͰֶशίετ͕ͦΕͳΓʹ͋Δ • spreeΛࢧ͑Δgem͕ݹ͔ͬͨΓ͢Δ • ݹ͍ϑϨʔϜϫʔΫ͔ͩΒ͠ΐ͏͕ͳ͍ • spreeΛࢧ͑Δgem͕… • paranoia, rabl, devise, statemachine, ….(ͪΌΜͱޠΔ ͱ30෼͙Β͍ޠΕͦ͏)

Slide 12

Slide 12 text

spreeͷ࢓૊Έ (งғؾ) • Gemfileʹ `gem ‘spree’`౳Λ௥Ճ • ϧʔςΟϯά௥Ճ • generatorͰΫϥε࡞੒ • $ rake railties:install:migrations

Slide 13

Slide 13 text

spreeͷ࢓૊Έ (งғؾ) • Gemfileʹ `gem ‘spree’`౳Λ௥Ճ • ϧʔςΟϯά௥Ճ • generatorͰΫϥε࡞੒ • $ rake railties:install:migrations (spreeͷupdate࣌ʹ΋࣮ߦඞཁ!)

Slide 14

Slide 14 text

# ίΞ gem 'spree', '~> 3.6.4’ # ೝূ gem 'spree_auth_devise', '~> 3.3’ # ܾࡁ gem 'spree_gateway', '~> 3.3' Gemfileʹ `gem ‘spree’`౳Λ௥Ճ

Slide 15

Slide 15 text

Rails.application.routes.draw do # ௥Ճ mount Spree::Core::Engine, at: ‘/‘ … … ϧʔςΟϯά௥Ճ

Slide 16

Slide 16 text

# ϢʔβʔΫϥε $ rails g spree:install -—user_class=Spree::User # ೝূ $ rails g spree:auth:install # ܾࡁ $ rails g spree_gateway:install generatorͰඞཁΫϥε࡞੒

Slide 17

Slide 17 text

$ rake railties:install:migrations $ rake railties:install:migrations

Slide 18

Slide 18 text

$ rake railties:install:migrations Copied migration 20181105025753_create_spree_taxons_promotion_rules.spree.rb from spree Copied migration 20181105025754_create_spree_refunds.spree.rb from spree Copied migration 20181105025755_create_spree_return_authorization_inventory_unit.s pree.rb from spree Copied migration 20181105025756_rename_return_authorization_inventory_unit_to_retu rn_items.spree.rb from spree Copied migration 20181105025757_backfill_line_item_pre_tax_amount.spree.rb from spree $ rake railties:install:migrations -> ଍Γͳ͍db/migrate/*.rb͕͍ͬͺ͍Ͱ͖Δ

Slide 19

Slide 19 text

# ྫ $ less db/migrate/ 20181105030028_create_spree_taxons_promotion_rules.spree.rb $ rake railties:install:migrations -> ଍Γͳ͍db/migrate/*.rb͕͍ͬͺ͍Ͱ͖Δ

Slide 20

Slide 20 text

# ྫ $ less db/migrate/ 20181105030028_create_spree_taxons_promotion_rules.spree.rb $ rake railties:install:migrations -> ଍Γͳ͍db/migrate/*.rb͕͍ͬͺ͍Ͱ͖Δ engine໊͕֦ுࢠʹೖΔ

Slide 21

Slide 21 text

# ྫ $ less db/migrate/ 20181105030028_create_spree_taxons_promotion_rules.spree.rb # This migration comes from spree (originally 20140318191500) class CreateSpreeTaxonsPromotionRules < ActiveRecord::Migration def change … $ rake railties:install:migrations -> ଍Γͳ͍db/migrate/*.rb͕͍ͬͺ͍Ͱ͖Δ engine໊͕֦ுࢠʹೖΔ

Slide 22

Slide 22 text

# ྫ $ less db/migrate/ 20181105030028_create_spree_taxons_promotion_rules.spree.rb # This migration comes from spree (originally 20140318191500) class CreateSpreeTaxonsPromotionRules < ActiveRecord::Migration def change … $ rake railties:install:migrations -> ଍Γͳ͍db/migrate/*.rb͕͍ͬͺ͍Ͱ͖Δ engineଆͷݩͷmigration file engine໊͕֦ுࢠʹೖΔ

Slide 23

Slide 23 text

$ rake railties:install:migrations …࣮͸ rails guideʹॻ͍ͯ͋Δ

Slide 24

Slide 24 text

΋͏spreeΘ͔Γ·ͨ͠Ͷ?

Slide 25

Slide 25 text

railsͷΞοϓσʔτͷ࿩͸?

Slide 26

Slide 26 text

railsͷΞοϓσʔτͷ࿩͸? • railsͷΞοϓσʔτ͸spree gemͷΞοϓσʔτͷ࿩ͱ੾ͬͯ ΋੾Γ཭ͤͳ͍ΜͰ͢ʂ

Slide 27

Slide 27 text

spreeͷόʔδϣχϯά • railsͷόʔδϣϯݻఆ͕ݫ͍͠ • = ʮઌʹยํΛ্͛ͯʙ͔ΒͷʙʯΈ͍ͨͳΏΔ͍Ҡߦ͕Ͱ͖ͳ͍ • ɹ • • ɹ • • ɹ •

Slide 28

Slide 28 text

spreeͷόʔδϣχϯά • railsͷόʔδϣϯݻఆ͕ݫ͍͠ • = ʮઌʹยํΛ্͛ͯʙ͔ΒͷʙʯΈ͍ͨͳΏΔ͍Ҡߦ͕Ͱ͖ͳ͍ • spree v2.4.10 • s.add_dependency 'rails', '~> 4.1.11’ • spree v3.0.0 • s.add_dependency 'rails', '~> 4.2.0’ • ɹ •

Slide 29

Slide 29 text

spreeͷόʔδϣχϯά • railsͷόʔδϣϯݻఆ͕ݫ͍͠ • = ʮઌʹยํΛ্͛ͯʙ͔ΒͷʙʯΈ͍ͨͳΏΔ͍Ҡߦ͕Ͱ͖ͳ͍ • spree v2.4.10 • s.add_dependency 'rails', '~> 4.1.11’ • spree v3.0.0 • s.add_dependency 'rails', '~> 4.2.0’ • spree v2.4 -> v3.0Ͱ͸౰વεΩʔϚͷมߋ΋͋Δ •

Slide 30

Slide 30 text

spreeͷόʔδϣχϯά • railsͷόʔδϣϯݻఆ͕ݫ͍͠ • = ʮઌʹยํΛ্͛ͯʙ͔ΒͷʙʯΈ͍ͨͳΏΔ͍Ҡߦ͕Ͱ͖ͳ͍ • spree v2.4.10 • s.add_dependency 'rails', '~> 4.1.11’ • spree v3.0.0 • s.add_dependency 'rails', '~> 4.2.0’ • spree v2.4 -> v3.0Ͱ͸౰વεΩʔϚͷมߋ΋͋Δ • rake db:migrateͱrails update͕ಉ࣌ʹඞཁ

Slide 31

Slide 31 text

spreeͷόʔδϣχϯά • railsͷόʔδϣϯݻఆ͕ݫ͍͠ • = ʮઌʹยํΛ্͛ͯʙ͔ΒͷʙʯΈ͍ͨͳΏΔ͍Ҡߦ͕Ͱ͖ͳ͍ • spree v2.4.10 • s.add_dependency 'rails', '~> 4.1.11’ • spree v3.0.0 • s.add_dependency 'rails', '~> 4.2.0’ • spree v2.4 -> v3.0Ͱ͸౰વεΩʔϚͷมߋ΋͋Δ • rake db:migrateͱrails update͕ಉ࣌ʹඞཁ

Slide 32

Slide 32 text

ී௨ͷrailsͷΞοϓσʔτ 1. $ bundle update rails 2. $ rake rails:update(rails4ܥ) 3. ςετΛ௨͢ • ίʔυͷमਖ਼

Slide 33

Slide 33 text

spreeΞϓϦͷΞοϓσʔτ 1. $ bundle update rails 2. $ rake railties:install:migrations <- ͜ΕཁΔ 3. $ rake rails:update(rails4ܥ) 4.ςετΛ௨͢ • ίʔυͷमਖ਼

Slide 34

Slide 34 text

spreeͷΞοϓσʔτ(ಛʹ2.4->3.0) • ͞Βʹ2.4 -> 3.0ͷ৔߹ɺspree-backend(؅ཧը໘)ͷελΠϧ मਖ਼͕͍͢͝ • (͜Ε۪ஒ)

Slide 35

Slide 35 text

spree 2.4

Slide 36

Slide 36 text

spree 3.0

Slide 37

Slide 37 text

౰વPR͸େ͖͘ͳΔ

Slide 38

Slide 38 text

౰વPR͸େ͖͘ͳΔ (ಛʹ2.4->3.0)

Slide 39

Slide 39 text

౰વPR͸େ͖͘ͳΔ ࢓ํͳ͍ɺ࢓ํͳ͍Μ΍ɻɻɻ (ಛʹ2.4->3.0)

Slide 40

Slide 40 text

ϨϏϡϫʔͷෛ୲΍ίϛϡχέʔγϣϯ ͕গͳ͘ͳΔΑ͏ͳ޻෉͕ඞཁ

Slide 41

Slide 41 text

PR͕େ͖͘ͳΒͳ͍Α͏ʹ͢Δʹ͸?

Slide 42

Slide 42 text

͕Μ͹ͬͯPRࡉ͔͘͢Δ

Slide 43

Slide 43 text

ཧ૝ : ਌PRΛ࡞ͬͯίπίπ spree3.0 develop ਌PR ->

Slide 44

Slide 44 text

spree3.0 develop PR#1 ਌PR -> ཧ૝ : ਌PRΛ࡞ͬͯίπίπ

Slide 45

Slide 45 text

spree3.0 develop PR#1 PR#2 ਌PR -> ཧ૝ : ਌PRΛ࡞ͬͯίπίπ

Slide 46

Slide 46 text

spree3.0 develop PR#1 PR#2 ਌PR -> PR#3 ཧ૝ : ਌PRΛ࡞ͬͯίπίπ

Slide 47

Slide 47 text

spree3.0 develop PR#1 PR#2 ਌PR -> PR#3 ཧ૝ : ਌PRΛ࡞ͬͯίπίπ

Slide 48

Slide 48 text

spree3.0 PR#1 develop CVOEMFVQEBUF ແཧʹ࠷ॳ͔Βςετશ෦௨ͦ͏ͱ͢Δͱ…

Slide 49

Slide 49 text

spree3.0 PR#1 develop CVOEMFVQEBUF SBLFTQSFFJOTUBMMNJHSBUJPO ແཧʹ࠷ॳ͔Βςετશ෦௨ͦ͏ͱ͢Δͱ…

Slide 50

Slide 50 text

spree3.0 develop PR#1 CVOEMFVQEBUF SBLFSBJMUJFTJOTUBMMNJHSBUJPO Ϟσϧͷमਖ਼ Ϟσϧͷमਖ਼ Ϟσϧͷमਖ਼ ແཧʹ࠷ॳ͔Βςετશ෦௨ͦ͏ͱ͢Δͱ…

Slide 51

Slide 51 text

spree3.0 develop PR#1 CVOEMFVQEBUF SBLFSBJMUJFTJOTUBMMNJHSBUJPO Ϟσϧͷमਖ਼ Ϟσϧͷमਖ਼ Ϟσϧͷमਖ਼ ίϯτϩʔϥʔͷमਖ਼ ίϯτϩʔϥʔͷमਖ਼ Ϗϡʔͷमਖ਼ Ϗϡʔͷमਖ਼ʜ ແཧʹ࠷ॳ͔Βςετશ෦௨ͦ͏ͱ͢Δͱ…

Slide 52

Slide 52 text

spree3.0 develop PR#1 CVOEMFVQEBUF SBLFSBJMUJFTJOTUBMMNJHSBUJPO Ϟσϧͷमਖ਼ Ϟσϧͷमਖ਼ Ϟσϧͷमਖ਼ ίϯτϩʔϥʔͷमਖ਼ ίϯτϩʔϥʔͷमਖ਼ Ϗϡʔͷमਖ਼ Ϗϡʔͷमਖ਼ʜ ແཧʹ࠷ॳ͔Βςετશ෦௨ͦ͏ͱ͢Δͱ… ऩଋ͠ͳ͍

Slide 53

Slide 53 text

ςετ௨͢·Ͱʹमਖ਼͕ଟ͍ݪҼ •spec/models •spec/requests •spec/features <— ͍ͭ͜

Slide 54

Slide 54 text

Զʮ࠷ॳͷPRͰ͸spec/features͸ແࢹ͠Αͬͱʯ

Slide 55

Slide 55 text

࠷ॳͷPRͰ͸spec/features͸ແࢹ •͔͠͠PRͷCIεςʔλεʮ❌ʯΑΓ΋ʮ✅ʯͷ΄͏͕ؾ͕ϥΫ •ʮ❌ʯͩͱʮຊ౰ʹҙਤͨ͠ͱ͜Ζ͚ͩfailͯ͠Δ͔ʯ͕ෆ໌ྎ • • • •

Slide 56

Slide 56 text

࠷ॳͷPRͰ͸spec/features͸ແࢹ •͔͠͠PRͷCIεςʔλεʮ❌ʯΑΓ΋ʮ✅ʯͷ΄͏͕ؾ͕ϥΫ •ʮ❌ʯͩͱʮຊ౰ʹҙਤͨ͠ͱ͜Ζ͚ͩfailͯ͠Δ͔ʯ͕ෆ໌ྎ •Ͳ͏΍ͬͯ΍Δ? • xit΍xdescribe࢖͏? • •

Slide 57

Slide 57 text

࠷ॳͷPRͰ͸spec/features͸ແࢹ •͔͠͠PRͷCIεςʔλεʮ❌ʯΑΓ΋ʮ✅ʯͷ΄͏͕ؾ͕ϥΫ •ʮ❌ʯͩͱʮຊ౰ʹҙਤͨ͠ͱ͜Ζ͚ͩfailͯ͠Δ͔ʯ͕ෆ໌ྎ •Ͳ͏΍ͬͯ΍Δ? • xit΍xdescribe࢖͏? •ҰݟԦಓͦ͏͕ͩ •blameԚΕΔͷͰݸਓతʹ͸ݏ

Slide 58

Slide 58 text

•͜͏΍ͬͯΈͨ •CIͰrspec࣮ߦલʹམͪΔϑΝΠϧ͚ͩফ͢ •ΘΓͱྑ͍ؾ͕͢Δ ࠷ॳͷPRͰ͸spec/features͸ແࢹ

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

spree3.0 develop PR#1 CVOEMFVQEBUF SBLFSBJMUJFTJOTUBMMNJHSBUJPO Ϟσϧͷमਖ਼ Ϟσϧͷमਖ਼ Ϟσϧͷमਖ਼ ίϯτϩʔϥʔͷमਖ਼ ίϯτϩʔϥʔͷमਖ਼ Ϗϡʔͷमਖ਼ Ϗϡʔͷमਖ਼ʜ Before ऩଋ͠ͳ͍

Slide 61

Slide 61 text

After spree3.0 develop PR#1 CVOEMFVQEBUF SBLFSBJMUJFTJOTUBMMNJHSBUJPO 6QEBUFDJSDMFDJDPOpHZNM Ϟσϧͷमਖ਼ Ϟσϧͷमਖ਼ Ϟσϧͷमਖ਼ 13େ͖͘ͳΒͣʹऩଋ ☺

Slide 62

Slide 62 text

PR#1

Slide 63

Slide 63 text

PR#1

Slide 64

Slide 64 text

ҰݟΞΧϯ☺ PR#1

Slide 65

Slide 65 text

͔͠͠ Gemfile* ͱ db/**Λআ͚͹… 17 files changed, 133 insertions(+), 44 deletions(-) PR#1 ҰݟΞΧϯ☺

Slide 66

Slide 66 text

਌PR͕େ͖͍ͷ΋ਏ͍ΑͶͱ͍͏࿩

Slide 67

Slide 67 text

Spree3.0 develop PR#1 PR#2 ਌PR -> PR#3

Slide 68

Slide 68 text

਌PRΛେ͖͘͠ͳ͍ίπ • ͦ΋ͦ΋developͰ४උͰ͖Δ΍ͭ͸developʹೖΕͱ͘ • ͋ͱ͔Βؾ͍ͮͨ΍ͭ΋ɺdevelopʹೖΕΒΕΔ΋ͷ͸ developʹೖΕΔ

Slide 69

Slide 69 text

ͦ΋ͦ΋developͰ४උͰ͖Δ΍ͭ͸ developʹೖΕͱ͘

Slide 70

Slide 70 text

ྫ1: spree3.0ͰͳΜ͔ϝιου͕͍͖ͳΓ ͳ͘ͳͬͨ

Slide 71

Slide 71 text

ྫ1: spree3.0ͰͳΜ͔ϝιου͕͍͖ͳΓ ͳ͘ͳͬͨ

Slide 72

Slide 72 text

ྫ1: spree3.0ͰͳΜ͔ϝιου͕͍͖ͳΓ ͳ͘ͳͬͨ ʮ͜ͷίʔυ͸ԿͷՁ஋΋ੜΈग़͍ͯ͠ͳ͍ͷͰফ͠·͢ʯ

Slide 73

Slide 73 text

ྫ1: spree3.0ͰͳΜ͔ϝιου͕͍͖ͳΓ ͳ͘ͳͬͨ ฐࣾ࢖ͬͯ·͢☺ ʮ͜ͷίʔυ͸ԿͷՁ஋΋ੜΈग़͍ͯ͠ͳ͍ͷͰফ͠·͢ʯ

Slide 74

Slide 74 text

ྫ1: spree3.0ͰͳΜ͔ϝιου͕͍͖ͳΓ ͳ͘ͳͬͨ ฐࣾ࢖ͬͯ·͢☺ ʮ͜ͷίʔυ͸ԿͷՁ஋΋ੜΈग़͍ͯ͠ͳ͍ͷͰফ͠·͢ʯ ·͋railsʹݶΒͣΑ͋͘Δ

Slide 75

Slide 75 text

-> ਌PR༻ϒϥϯνΛ࡞Δલʹରॲ!

Slide 76

Slide 76 text

-> ਌PR༻ϒϥϯνΛ࡞Δલʹରॲ!

Slide 77

Slide 77 text

ࣄલʹରॲͰ͖Δύλʔϯͷ΍ͭ! -> ਌PR༻ϒϥϯνΛ࡞Δલʹରॲ!

Slide 78

Slide 78 text

ࣄલʹରॲͰ͖Δύλʔϯͷ΍ͭ! -> ਌PR༻ϒϥϯνΛ࡞Δલʹରॲ! ͱ͜ΖͰɺ
 ίϛοτIDͱ͔షΔͱྑͦ͞͏Ͱ͢ΑͶ☺

Slide 79

Slide 79 text

<دΓಓ> git΍githubͰͷcommitͷ୳͠ํ

Slide 80

Slide 80 text

ίϛοτIDௐ΂Δ࣌ʮࠨ্ͷݕࡧ૭ʯ΂ΜΓ..Ͱ͢ΑͶ!?

Slide 81

Slide 81 text

ίϛοτIDௐ΂Δ࣌ʮࠨ্ͷݕࡧ૭ʯ΂ΜΓ..Ͱ͢ΑͶ!? ࠨ্ͷݕࡧ૭ˣ

Slide 82

Slide 82 text

ίϛοτIDௐ΂Δ࣌ʮࠨ্ͷݕࡧ૭ʯ΂ΜΓ..Ͱ͢ΑͶ!? ࠨ্ͷݕࡧ૭ˣ

Slide 83

Slide 83 text

ίϛοτIDௐ΂Δ࣌ʮࠨ্ͷݕࡧ૭ʯ΂ΜΓ..Ͱ͢ΑͶ!? ࠨ্ͷݕࡧ૭ˣ ίϛοτɾPRɾissueɾWiki
 ͕ݟ͔ͭͬͯศར!! …

Slide 84

Slide 84 text

ίϛοτIDௐ΂Δ࣌ʮࠨ্ͷݕࡧ૭ʯ΂ΜΓ..Ͱ͢ΑͶ!? ࠨ্ͷݕࡧ૭ˣ ͚Ͳ….

Slide 85

Slide 85 text

ίϛοτIDௐ΂Δ࣌ʮࠨ্ͷݕࡧ૭ʯ΂ΜΓ..Ͱ͢ΑͶ!? ࠨ্ͷݕࡧ૭ˣ ͚Ͳ…. ίϨδϟφΠײ….

Slide 86

Slide 86 text

ίϛοτIDௐ΂Δͷʹʮ$ git log -Sʯ΋΂ΜΓ!!

Slide 87

Slide 87 text

ίϛοτIDௐ΂Δͷʹʮ$ git log -Sʯ΋΂ΜΓ!! • `$ git log -S` ஌ͬͯΔਓ??

Slide 88

Slide 88 text

ίϛοτIDௐ΂Δͷʹʮ$ git log -Sʯ΋΂ΜΓ!! • `$ git log -S` ஌ͬͯΔਓ?? • `$ git log -S “୳͍ͨ͠จࣈྻ” - - /path/to/seek` • `$ git log -S “୳͍ͨ͠จࣈྻ” ίϛοτ1..ίϛοτ2 - - /path/to/seek` • `$ git log -S “୳͍ͨ͠จࣈྻ” ίϛοτ1..ίϛοτ2

Slide 89

Slide 89 text

ίϛοτIDௐ΂Δͷʹʮ$ git log -Sʯ΋΂ΜΓ!! • `$ git log -S` ஌ͬͯΔਓ?? • `$ git log -S “୳͍ͨ͠จࣈྻ” - - /path/to/seek` • `$ git log -S “୳͍ͨ͠จࣈྻ” ίϛοτ1..ίϛοτ2 - - /path/to/seek` • `$ git log -S “୳͍ͨ͠จࣈྻ” ίϛοτ1..ίϛοτ2 • ਖ਼نදݱ࢖͍͍ͨͱ͖͸ `-S —pickaxe-regex` ͱ͔ `-G` ͱ͔࢖͏ͱྑ͍ • (ҧ͍͸๨ΕͨͷͰάά͍ͬͯͩ͘͞)

Slide 90

Slide 90 text

ίϛοτIDௐ΂Δͷʹʮ$ git log -Sʯ΋΂ΜΓ!! $ git log -p -S by_state v2.4.10…v3.0.4

Slide 91

Slide 91 text

ίϛοτIDௐ΂Δͷʹʮ$ git log -Sʯ΋΂ΜΓ!! $ git log -p -S by_state v2.4.10…v3.0.4

Slide 92

Slide 92 text

ίϛοτIDௐ΂Δͷʹʮ$ git log -Sʯ΋΂ΜΓ!! ཉ͔ͬͨ͠ͷ͕Ұൃώοτ!! $ git log -p -S by_state v2.4.10…v3.0.4

Slide 93

Slide 93 text

دΓಓ>

Slide 94

Slide 94 text

ྫ2: ઌʹ্͛ΒΕΔgem͸্͓͛ͯ͘ Rails4.2ʹ͢Δͱ͜ͷgem͸updateඞਢ!! Έ͍ͨͳ΍ͭɻ

Slide 95

Slide 95 text

ྫ2: ઌʹ্͛ΒΕΔgem͸্͓͛ͯ͘ Rails4.2ʹ͢Δͱ͜ͷgem͸updateඞਢ!! Έ͍ͨͳ΍ͭɻ

Slide 96

Slide 96 text

ྫ2: ઌʹ্͛ΒΕΔgem͸্͓͛ͯ͘ Rails4.2ʹ͢Δͱ͜ͷgem͸updateඞਢ!! Έ͍ͨͳ΍ͭɻ -> Rails4.1ͷࠓͰ΋ಈ͘!! ͳΒઌʹupdate͓ͯ͜͠͏!

Slide 97

Slide 97 text

spree3.0 develop ͭ·Γ:਌PRϒϥϯνΛ੾Δલʹ… ਌PR ->

Slide 98

Slide 98 text

ࣄલʹରॲͰ͖Δ΍ͭ͸ऴΘΒ͓ͤͯ͘ ࣄલPR#1 develop ࣄલPR#2 ͭ·Γ:਌PRϒϥϯνΛ੾Δલʹ… spree3.0 ਌PR ->

Slide 99

Slide 99 text

ࣄલʹରॲͰ͖Δ΍ͭ͸ऴΘΒ͓ͤͯ͘ ࣄલPR#1 develop ࣄલPR#2 ͭ·Γ:਌PRϒϥϯνΛ੾Δલʹ… spree3.0 ਌PR -> (ͳΜ͔΋ͷ͘͢͝Ϩϕϧͷ௿͍࿩Λॻ͍ͯΔؾ͕ͯ͠ෆ҆ )

Slide 100

Slide 100 text

͋ͱ͔Βؾ͍ͮͨ΍ͭ΋ɺdevelopʹೖ ΕΒΕΔ΋ͷ͸developʹೖΕΔ

Slide 101

Slide 101 text

spree3.0 develop PR#1 PR#2 ਌PR -> PR#3Λ࡞Δલʹɺ ʮ͜ΕઌʹdevelopʹೖΕΒΕͳ͍?ʯΛࣗ໰ PR#3

Slide 102

Slide 102 text

spree3.0 develop PR#1 PR#2 ਌PR -> PR#3Λ࡞Δલʹɺ ʮ͜ΕઌʹdevelopʹೖΕΒΕͳ͍?ʯΛࣗ໰ PR#3

Slide 103

Slide 103 text

spree3.0 PR#1 PR#2 ਌PR -> PR#3Λ࡞Δલʹɺ ʮ͜ΕઌʹdevelopʹೖΕΒΕͳ͍?ʯΛࣗ໰ develop

Slide 104

Slide 104 text

spree3.0 develop PR#1 PR#2 ਌PR -> PR#3Λ࡞Δલʹɺ ʮ͜ΕઌʹdevelopʹೖΕΒΕͳ͍?ʯΛࣗ໰

Slide 105

Slide 105 text

΍Γ͗ͨ݁͢ՌݟΒΕΔޫܠ Ұݟμα͍ ɹ

Slide 106

Slide 106 text

΍Γ͗ͨ݁͢ՌݟΒΕΔޫܠ Ұݟμα͍ μαͯ͘΋͍͍͡Όͳ͍!!

Slide 107

Slide 107 text

ཁ͸มߋ͸ʮՄೳͳݶΓʯগͮͭ͠σϓϩ Π͍ͯ͘͠

Slide 108

Slide 108 text

ͳΜͰͦΜͳʹνΩϯͳͷ • σϓϩΠͨ͋͠ͱʹઈରʹͳʹ͔ى͖Δ͔Β • σϓϩΠͨ͋͠ͱʹௐࠪൣғ͕ڱ͍ͱௐ͕ࠪϥΫ

Slide 109

Slide 109 text

rails:update͢Δ্Ͱେࣄͦ͏ͳ͜ͱ ʢ·ͱΊͬΆ͍͜ͱ)

Slide 110

Slide 110 text

େࣄͳ͜ͱɾ؀ڥฤ • σϓϩΠޙΤϥʔ͕ى͖ͨΒؾ͚ͮΔΑ͏ʹ͓ͯ͘͠ • bugsnag/sentry/airbrakeͷྨ (ͳΜ͔ͩΜͩͰҰ൪େࣄ) • ͋Δఔ౓ͷςετΧόϨοδ͸͋ͬͨ΄͏͕͍͍ • ಈ࡞֬ೝ༻εςʔδϯά؀ڥͷ༻ҙ • spreeͷ৔߹͸ϚΠάϨʔγϣϯ൐͏ͷͰDB΋ඞཁ

Slide 111

Slide 111 text

େࣄͳ͜ͱɾܭըฤ • ͳΔ΂͘1όʔδϣϯͣͭ΍Δ • ͬͯrails guideʹॻ͍ͯ͋ͬͨؾ͕͢Δ • ruby΋rails΋spree΋ • ʮ͍ͭͰʹ̋̋gemͷόʔδϣϯ΋্͛Δʯͱ͔ࢲ͸΍Βͳ ͍೿ • ݸਓࠩ͋Γɾ౓ڳͱ಺༰ʹΑͬͯ͸͜ͷݶΓͰ͸ͳ͍

Slide 112

Slide 112 text

େࣄͳ͜ͱɾϨϏϡʔฤ • PR͸ՄೳͳݶΓখ͘͞ • PR͸ՄೳͳݶΓࡉ͔͘ • ͳͥͦͷमਖ਼Λ͢Δͷ͔ͷཧ༝Λ۩ମతʹ໌ه • ৼΓฦͬͨͱ͖ͷͨΊʹ • ো֐ௐࠪͷͱ͖ͷͨΊʹ

Slide 113

Slide 113 text

εϥΠυ͸Ҏ্ • ࣗݾ঺հ • גࣜձࣾεϚʔϏʔ • ੕໺߶ࢤ(hoshinotsuyoshi) • ࢠҭͯੈ୅ɾঁੑ޲͚ͷECαΠτ࡞ͬͯΔ • rubyͱ͔Πϯϑϥͱ͔͕޷͖