Slide 1

Slide 1 text

ܖ໿ςετͱPactʹ͍ͭͯ @bmf_san

Slide 2

Slide 2 text

Who am Iʁ • Kenta Takeuchi • @bmf_san • bmf-san • https://bmf-tech.com/

Slide 3

Slide 3 text

ƂƃţŗŴƅƃŗŦŘŷ • ʮγεςϜج൫ͷఏڙ͢ΔAPIͱͦΕΛར༻͢ΔγεςϜؒ ʹ͓͍ͯɺAPIͷ੔߹ੑͬͯͲ͏΍ͬͯอͱ͏ʁςετ͢Δ ͱͨ͠Βɾɾʁʯ • ͱ͍͏ٙ໰͕༙͍ͯ໷΋͙ͬ͢Γ຾Εͯ͠·͏೔ʑ͕ଓ͍ ͨ • APIઃܭʹؔ͢ΔຊΛಡΜͰͨΒܖ໿ςετʹ͍ͭͯਃ͠༁ ఔ౓ʹॻ͔Ε͍ͯͨ • ʮŠƀŦƄʯ

Slide 4

Slide 4 text

ࠓ೔ͷ࿩୊ • ܖ໿ςετͱͦͷπʔϧͰ͋ΔPactʹ͍ͭ ͯௐ΂ͯΈͨ࿩

Slide 5

Slide 5 text

ܖ໿ςετͱ͸ • ίϯγϡʔϚͱϓϩόΠμʔؒͷಈ࡞Λς ετ͢Δςετख๏ͷ͜ͱ

Slide 6

Slide 6 text

ίϯγϡʔϚʔ is • αʔϏεΛݺͼग़͢ଆ

Slide 7

Slide 7 text

ϓϩόΠμʔ is • αʔϏεΛఏڙ͢Δଆ

Slide 8

Slide 8 text

ܖ໿… ʁ • ίϯγϡʔϚʔͱϓϩόΠμʔؒͰͷ߹ҙ಺ ༰ͷ͜ͱ • APIϦΫΤετͱظ଴͢ΔϨεϙϯε͸͜ ΕͰ͢Αʙ

Slide 9

Slide 9 text

ίϯγϡʔϚʔۦಈܖ໿ςετ • ίϯγϡʔϚʔ͕ܖ໿Λൃߦ͠ɺϓϩόΠ μʔ͸ͦͷܖ໿ʹج͍ͮͯςετ͢Δ

Slide 10

Slide 10 text

ϓϩόΠμʔۦಈܖ໿ςετ • ϓϩόΠμʔ͕ܖ໿Λൃߦ͠ɺίϯγϡʔ Ϛʔ͸ͦͷܖ໿ʹج͍ͮͯςετ͢Δ

Slide 11

Slide 11 text

Ͳ͕͍͍ͬͪͷʁ • ίϯγϡʔϚʔͷ਺ • APIͷ҆ఆੑʢ㲈มߋස౓ʣ • ։ൃϓϩηεͷओಋݖ • ͳͲʹґΔ

Slide 12

Slide 12 text

ܖ໿ςετͷϝϦοτ • αʔϏεؒͷ৴པੑɾ੔߹ੑΛ୲อͰ͖Δ • ίϯγϡʔϚʔ·ͨ͸ϓϩόΠμʔͷมߋΛࣗಈͰݕ஌ Ͱ͖Δ • νʔϜؒͷίϛϡχέʔγϣϯίετ͕࡟ݮͰ͖Δ • E2EΑΓ࣮ߦ଎౓͕଎͍ • αʔϏεؒͷґଘؔ܎Λ໌֬ʹͰ͖Δ

Slide 13

Slide 13 text

ܖ໿ςετͷσϝϦοτ • πʔϧґଘ • πʔϧಋೖίετ • ૊৫಺Ͱͷ߹ҙܗ੒ • ϓϩσϡʔαʔͱίϯγϡʔϚʔ͕ผνʔϜͩͱ ίετ૿ • ։ൃϑϩʔͷதͷ1ϓϩηεͱͯ͠૊ΈࠐΈίετ

Slide 14

Slide 14 text

Pactͱ͸ • ܖ໿ςετͷͨΊͷπʔϧ • ίϯγϡʔϚʔۦಈܖ໿ςετͷΈαϙʔτ • HTTPͱϝοηʔδʢex. RabbitMQ, SQS, Kafka ͳͲʣ • ςεςΟϯάFW΍ϏϧυπʔϧͳͲͱ΋࿈ܞՄ ೳ

Slide 15

Slide 15 text

Pactͷϑϩʔ 1. ίϯγϡʔϚʔ͕ܖ໿Λهड़ 2. ίϯγϡʔϚʔଆͷςετ࣮ߦ࣌ʹPact ϑΝΠϧΛੜ੒ 3. ϓϩόΠμʔ͸PactϑΝΠϧΛड͚औͬͯ ςετΛ࣮ߦ

Slide 16

Slide 16 text

͋Μ·Γྲྀߦ͍ͬͯͳ͍ɾɾʁ

Slide 17

Slide 17 text

Trial • Technology Radarͩͱ2015೥ʹTrialͰऴ Θ͍ͬͯΔ • https://www.thoughtworks.com/radar/tools/ pact-pacto

Slide 18

Slide 18 text

PactΛ΍Ίͨ • ΫοΫύουࣾͷࣄྫ • https://scrapbox.io/yoshiori/ Pact_%E3%82%92%E3%82%84%E3%82 %81%E3%81%9F%E7%90%86%E7%94 %B1

Slide 19

Slide 19 text

Pact is Dead • Pact is dead, long live Pact • https://pact fl ow.io/blog/bi-directional- contracts/

Slide 20

Slide 20 text

Pactͷಋೖোน • E2Eςετ͔Βͷ৐Γ׵͑ɺ͋Δ͍͸੗Έ෼͚ • πʔϧґଘ • ίϯγϡʔϚʔۦಈͷΈͷӡ༻ϋʔυϧ • ίϛϡχέʔγϣϯίετ͸ຊ౰ʹݮΔ͔ʁ • αʔϏε͕ؒܖ໿Ͱີ݁߹ʹͳΔʁ • αʔϏε͕͋Δఔ౓ଟ͘ͳ͍ͱϝϦοτ͕ϖΠ͠ͳ͍͔΋ • ։ൃϑϩʔͷมߋίετʢܖ໿ͷ؅ཧɺϨϏϡʔ͕ඞཁʹͳΔʣ

Slide 21

Slide 21 text

Pact fl ow • ૒ํ޲ܖ໿Λαϙʔτ͍ͯ͠Δ • ίϯγϡʔϚʔۦಈͱϓϩόΠμʔۦಈͷ྆ํ • OSSͰ͸ͳ͍ • Technology RadarͰ͸2022೥ʹTrialͰऴΘ͍ͬͯΔ • https://www.thoughtworks.com/radar/tools/pact fl ow

Slide 22

Slide 22 text

ॴײ • ܖ໿ςετͱ͍͏ςετख๏Λಋೖ͢Δ͜ ͱ͕༗༻͕े෼ͳݕূ͕ඞཁͦ͏ • πʔϧͱͯ͠͸Pact fl owΑ͏ͳ૒ํ޲Λα ϙʔτ͍ͯ͠Δ΄͏͕ྑ͍Μ͡Όͳ͍ͩΖ ͏͔.. • ܖ໿ςετūŬŹƂŜŽūŘ

Slide 23

Slide 23 text

͓ΘΓ