Slide 1

Slide 1 text

Yappliの「改善」は どのようにして進化を歩んだか SESSION 09

Slide 2

Slide 2 text

גࣜձࣾϠϓϦ ϓϩμΫτ։ൃຊ෦։ൃاը෦։ൃσΟϨΫλʔ ஥ಓѪඒ Megumi Nakamichi

Slide 3

Slide 3 text

INDEX 01 02 03 04 05 ࣗݾ঺հɾܦྺ Yappliの開発について 気になること 対応したこと まとめ

Slide 4

Slide 4 text

ࣗݾ঺հɾܦྺ

Slide 5

Slide 5 text

ࣗݾ঺հɾܦྺ ৽ଔͰ*5ϕϯνϟʔاۀʹೖࣾ͠ɺ 
 σβΠϯۀ຿΍ࣗࣾΞϓϦ։ൃͷσΟϨΫλʔΛ୲౰ɻ 
 ʢϝΠϯ͸σβΠφʔͰ͕ͨ͠ɺ࢓༷ࡦఆɾ2"ɾ޿ࠂ੍࡞ͳͲ͍Ζ͍Ζ΍ͬͯ·ͨ͠ɻʣ ͦͷޙɺ೥ʹϠϓϦʹೖࣾ͠ɺ ΫϥΠΞϯτͷΞϓϦ੍࡞୅ߦΛ୲͏ΞϓϦσβΠφʔͱͯ͠ैࣄɻ ೥ʹϓϩμΫτ։ൃຊ෦΁ࣾ಺Ҡಈɻ Ҏ߱͸ɺ։ൃσΟϨΫλʔͱͯ͠ɺʮվળʯʹಛԽͯ͠ରԠ͢ΔνʔϜʹ഑ଐɻ 
 վળҊ݅ͷ࢓༷ݕ౼΍ࣾ಺։ൃϑϩʔͷ੔උͳͲΛ୲͏ɻ גࣜձࣾϠϓϦ ϓϩμΫτ։ൃຊ෦։ൃاը෦։ൃσΟϨΫλʔ ஥ಓѪඒ Megumi Nakamichi ࢲͷؾ࣋ͪΛ୅หͯ͠ ͨ·ʹग़ͯ͘Δࣗ࡞ΩϟϥͰ͢

Slide 6

Slide 6 text

ࣗݾ঺հɾܦྺɹ-ɹݱࡏͷॴଐ෦ॺͷ঺հ 1E.ۀ຿ͳͲͷ੡඼։ൃɾվળͷ΄͔ɺ ։ൃάϧʔϓ಺ͷϑϩʔݟ௚͠΍࢓૊Έͮ͘ΓͳͲΛ୲౰ 
 ʢ˞࣍ϖʔδͰৄࡉͷઆ໌͠·͢ʣ ։ൃʹ͓͚Δ্ྲྀ޻ఔΛ୲͏ɻ ։ൃσΟϨΫλʔͷଞʹɺ69σβΠφʔςΫχΧϧϥΠλʔ͕ ॴଐ͍ͯ͠Δ෦ॺ ։ൃσΟϨΫλʔ ։ൃاը෦

Slide 7

Slide 7 text

ࣗݾ঺հɾܦྺɹ-ɹ։ൃσΟϨΫλʔͷ࢓ࣄ ͳͲ ˒୲౰͢ΔϓϩδΣΫτ΍վળͷσΟϨΫγϣϯɾࣾ಺ௐ੔ 
 ɹˠଞ෦ॺͱ࿈ܞͯ͠ɺ՝୊ɾχʔζͷ෼ੳ΍੔ཧɺ࢓༷ͷௐ੔Λߦ͏ ɹˠϦϦʔεޙͷϓϨεϦϦʔεɺࣾ֎޿ใ༻ͷOPUFهࣄ࡞੒ʢIUUQTOFXTZBQQMJDPKQNNGBʣ ˒։ൃʹ·ͭΘΔ࢓༷ॻͷ࡞੒ 
 ɹˠʮ:BQQMJʯ͸ϓϥοτϑΥʔϜͷͨΊɺडୗ։ൃͱ͸ҟͳΓɺ൚༻ੑ͕ߴ͍࡞Γʹͳ͍ͬͯΔɻ 
 ɹɹɹͦͷͨΊɺ࢓༷΋ෳࡶԽ͠΍͘͢࢓༷ॻ·ͱΊ͕ॏཁʹͳ͍ͬͯΔ ɾ੡඼Ξοϓσʔτͷࣾ಺ڞ༗ ɾܰඍͳෆ۩߹ɾվળରԠͷ࢓૊ΈԽ΍ϑϩʔվળ ɾ։ൃاը෦͕اը͢Δࣾ಺ΠϕϯτͷӡӦ

Slide 8

Slide 8 text

࣮͸ࢲɺͭͷ෦ॺΛ݉೚ͯ͠·͢ɻ ࣗݾ঺հɾܦྺ ɹओ຿ ɹɾϓϩμΫτ։ൃຊ෦։ൃاը෦։ൃσΟϨΫλʔ ɹ݉຿ ɹɾΧελϚʔαΫηεຊ෦ΞϓϦσβΠϯ෦ΞϓϦσβΠφʔ ɹɾϐʔϓϧˍΧϧνϟʔຊ෦ϦϨʔγϣϯγοϓɾϚωδϝϯτࣨ 
 ɹɹʮ౔Ҫળ੖ͷ࿨৯ʯνʔϜӡ༻୲౰ʢ˞:BQQMJͰ࡞੒ɾӡ༻͍ͯ͠ΔࣗࣾΞϓϦʣ

Slide 9

Slide 9 text

ओ຿ɹɹɹɹɹɹɹɹ݉຿ ࣗݾ঺հɾܦྺ ೖࣾ࣌ ΞϓϦσβΠφʔɹɹͳ͠ ΞϓϦσβΠφʔɹʮ౔Ҫળ੖ͷ࿨৯ʯνʔϜ ΞϓϦσβΠφʔɹɹ։ൃσΟϨΫλʔɺʮ౔Ҫળ੖ͷ࿨৯ʯνʔϜ ։ൃσΟϨΫλʔɹɹΞϓϦσβΠφʔɺʮ౔Ҫળ੖ͷ࿨৯ʯνʔϜ ೥ʙ ೥ʙ ೥ʙ

Slide 10

Slide 10 text

ɾΞϓϦσβΠφʔ͸ʮ:BQQMJʯΛ࢖ͬͯΞϓϦΛ࡞੒͢Δ෦ॺɻ ɹσβΠϯίϯςϯπೖߘΫϥΠΞϯτ΁ͷϨΫνϟʔӡ༻୅ߦͳͲ ɹΞϓϦ੍࡞ʙΧελϚʔαΫηε·ͰɺଟذʹΘͨΔ ɾΞϓϦσβΠφʔ͸ɺࣗࣾ੡඼Λ࢖ͬͯ೔ʑΞϓϦ੍࡞Λߦͳ͍ͬͯΔͷͰɺ 
 ɹཁ๬΍ෆ۩߹ʹؾ͖ͮ΍͍͢ ɾࠓ·Ͱ͸վળͷཁ๬Λग़͢ଆ͕ͩͬͨɺ ʮ:BQQMJΛ࢖͏ଆͷܦݧΛ։ൃʹੜ͔͍ͨ͠ʂʯͱࢥ͍ɺ ɹ౰࣌ͷ্௕ʹ૬ஊͯ͠ɺ։ൃاը෦΁ࣾ಺Ҡಈͨ͠ ɾ։ൃຊ෦ͱଞ෦ॺͱͷڮ౉͠Λ͍ͨͨ͠Ίɺࠓ΋݉຿Λଓ͚͍ͯΔ ࣗݾ঺հɾܦྺ - ։ൃσΟϨΫλʔʹͳͬͨഎܠ

Slide 11

Slide 11 text

TODAY TOPIC :BQQMJͷʮվળʯ͸ ͲͷΑ͏ʹͯ͠ਐԽΛาΜ͔ͩ

Slide 12

Slide 12 text

:BQQMJͷ։ൃʹ͍ͭͯ

Slide 13

Slide 13 text

Yappli ͷ։ൃʹ͍ͭͯ ৽ن։ൃ ʢઓུతͳ։ൃʣ อक ʢෆ۩߹ରԠʣ վળ ʢϓϥοτϑΥʔϜڧԽʣ

Slide 14

Slide 14 text

ɾ$.4΍ΞϓϦʹدͤΒΕΔཁ๬ɾΞΠσΟΞɾٕज़ෛ࠴ͳͲΛ ɹ૯ධͯ͠ʮվળʯͱݺΜͰ͍Δ ɾʮվળʯͱ͍ͬͯ΋ɺܰඍͳจݴௐ੔ɾௐࠪɾ෦෼։ൃͳͲɺ ɹରԠൣғɾن໛͕༷ʑ ɾνέοτ؅ཧ͸ɺ+*3"Λ࢖͍ͬͯΔ Yappli ͷ։ൃʹ͍ͭͯ - ʮվળʯͷઆ໌

Slide 15

Slide 15 text

ʮYappliʯͷ։ൃʹ͍ͭͯ - ʮվળʯͷྺ࢙ ೥ʑɺػೳ΋ΫϥΠΞϯτ΋૿͍͑ͯ͘தͰɺࣾ಺ཁ๬΋૿͖͑ͯͨʂ ʮվળʯ͕ࣾ಺Ͱఆண͠ɺશࣾతʹ΋େ੾ͳจԽͷͭʹͳͬͨʂ ೥ ɾվળʹूதతʹऔΓ૊Ή೔ʮ:BQQEBUF%BZʢϠοϓσʔτσʔʣʯ͕Ͱ͖ͨʂ ೥ ɾվળʹؔ͢ΔΞΠσΟΞΛશࣾʹ޲͚ͯϓϨθϯ͢ΔΠϕϯτʮϠϓϦΫʯ͕Ͱ͖ͨʂ ೥ ɾࠓ೥ͷ݄ʹʮ:BQQEBUF%BZʯ͸ճ໨Λܴ͑ͨʂ ɾʮϠϓϦΫʯ΋શࣾһͷˋҎ্͕ࢀՃ͢ΔΠϕϯτʹͳͬͨʂ

Slide 16

Slide 16 text

ʮYappliʯͷ։ൃʹ͍ͭͯ - ʮվળʯͷྺ࢙ ʮվળʯʹ·ͭΘΔࣾ಺Πϕϯτ͸ɺͦΕͧΕOPUFʹهࣄ͕͋Γ·͢ʂ ϠϓϦΫ IUUQTUJNFTZBQQMJDPKQOOEGBD :BQQEBUF%BZʢϠοϓσʔτσʔʣ IUUQTUJNFTZBQQMJDPKQOOEEGE

Slide 17

Slide 17 text

خ͍͜͠ͱ͕ଓ͘த ͢͜͠ؾʹͳΔ͜ͱ΋ग़͖ͯͨ

Slide 18

Slide 18 text

ؾʹͳΔ͜ͱ ʮվળʯ΋ࣾ಺Ͱ׆ੑԽ͖ͯͯ͠ɺ͞·͟·ͳϦϦʔε͕͞ΕΔதɺ ͡Θ͡Θͱ૿͑ଓ͚Δະணखͷվળνέοτɻ ೥ʹ͸ɺຕۙ͘ͷվળνέοτ͕ཌ೥ʹਃ͠ૹΓʹɻ ͜Μͳʹվળͯ͠ΔͷʹɺͲ͏ͯ͠ݮΒͳ͍ΜͩΖ͏ɾɾɾʁ Ͳ͏ͯ͠ɾɾɾɾɾɾɾ ɾɾɾɾɾ ɾɾɾ ɾɾ վળ΍ͬͯ΋΍ͬͯ΋ ऴΘΔؾ͕͠ͳ͍ʜ

Slide 19

Slide 19 text

೥ͷະணखνέοτൃ۷Λ͖͔͚ͬʹ վળνέοτͷݱঢ়ௐࠪʹ౿Έ੾Δ

Slide 20

Slide 20 text

ʮվળʯͷݟ͑ΔԽ STEP 1 ʮվળʯͷঢ়گ෼ੳ STEP 2 ɹ΍ͬͨ͜ͱ STEP 3

Slide 21

Slide 21 text

ʮվળʯͷݟ͑ΔԽ STEP 1 ʮվળʯͷঢ়گ෼ੳ STEP 2 ɹ΍ͬͨ͜ͱ STEP 3

Slide 22

Slide 22 text

ݱঢ়Λ೺Ѳ͢ΔͨΊʹ΋ɺ·ͣ͸࢒ཹ͍ͯ͠ΔνέοτΛ͢΂ͯूܭʂ +*3"ΛεϓϨουγʔτʹు͖ग़ͯ͠ɺ εςʔλεผɾػೳผͳͲʹࡉ͔͘෼ྨͯ͠ɺશମΛݟ͑ΔԽͨ͠ɻ STEP1ɹʮվળʯͷݟ͑ΔԽ ۠෼͚ͱ͔͸ख࡞ۀͰɻ ੒ܗ͕ຊ౰ʹେมͩͬͨʜ

Slide 23

Slide 23 text

ʮվળʯͷݟ͑ΔԽ STEP 1 ʮվળʯͷঢ়گ෼ੳ STEP 2 ɹ΍ͬͨ͜ͱ STEP 3

Slide 24

Slide 24 text

ʣணख్தʹԿΒ͔ͷཧ༝Ͱࢭ·ͬͯ͠·ͬͨνέοτ͕ਐߦ͍ͯ͠ͳ͍ ɹɾҰ൪ݹ͍νέοτͰɺ೥࡞੒ͷ΋ͷ΋͋ͬͨɻ ɹɾ04ؔ܎ͷνέοτ͸ɺ࠷৽04Ͱ͸ղফ͍ͯ͠Δ͕ɺνέοτ͸ະରԠͷ··࢒Γଓ͚ͯ͠·͍ͬͯͨɻ ʣվળر๬͕ଟ͋͘ΓɺʮԿΛ༏ઌͯ͠ணखͨ͠Β͍͍ͷ͔ʁʯ 
 ɹΤϯδχΞ͕෼͔Βͳ͍ঢ়ଶʹͳ͍ͬͯͨ ɹɾ೥͝Ζ·Ͱɺࣾ಺ͷվળཁ๬Λ͢΂ͯվળνέοτԽ͍ͯͨͨ͠Ίɺ ɹɹ೥ʑɺ࢒ཹνέοτ͕૿͑ଓ͚ͯ͠·ͬͨɻ ʣվળνέοτʹ޻਺ݟੵ͕ͳ͘ɺ։ൃن໛͕෼͔Βͳ͍ ɹɾ޻਺ن໛Λߟྀͤͣɺ͍ܰνέοτʙॏ͍νέοτ͕͢΂ͯಉ͡վળϘʔυ಺ʹ֨ೲ͞Ε͍ͯͨɻ STEP2ɹʮվળʯͷঢ়گ෼ੳ

Slide 25

Slide 25 text

ʻঢ়گ෼ੳʼ ʣணख్தʹԿΒ͔ͷཧ༝Ͱࢭ·ͬͯ͠·ͬͨνέοτ͕ਐߦ͍ͯ͠ͳ͍ ʣվળر๬͕ଟ͋͘ΓɺԿΛ༏ઌͯ͠ணखͨ͠Β͍͍ͷ͔ʁ 
 ɹΤϯδχΞ͕෼͔Βͳ͍ঢ়ଶʹͳ͍ͬͯͨ ʣվળνέοτʹ޻਺ݟੵ͕ͳ͘ɺ։ൃن໛͕෼͔Βͳ͍ ͜ΕΒ͕ɺվળνέοτ͕ݮΒͳ͍ݪҼͱԾఆ

Slide 26

Slide 26 text

ʮվળʯͷݟ͑ΔԽ STEP 1 ʮվળʯͷঢ়گ෼ੳ STEP 2 ɹ΍ͬͨ͜ͱ STEP 3

Slide 27

Slide 27 text

ʣεςʔλεͷ࠶੔ཧ ɹɾεςʔλε͕ɺ׬ྃ4501ʹͳ͍ͬͯͳ͍աڈνέοτΛɺ·ͱΊͯ֬ೝ੔ཧ ɹɾνέοτ࡞੒ͷ೥౓ݱࡏͷεςʔλε͕෼͔Γ΍͘͢ͳΔΑ͏ʹɺվળνέοτҰཡͷදࣔΛௐ੔ ɹɾࢭ·͍ͬͯΔνέοτʹରͯ͠ɺ։ൃ୲౰ऀ΁ͷνέοτ੔ཧΛΞφ΢ϯεश׳Խ ʣ༏ઌ౓෇͚ ɹɾཁ๬΍ΞΠσΟΞ͸͢΂ͯνέοτԽͤͣɺඞͣ։ൃσΟϨΫλʔͷ໨Λ௨͔ͯ͠Βɺ 
 ɹʮվળʯͰରԠՄೳͳ΋ͷ͚ͩΛνέοτԽɺͦΕҎ֎͸ผͷ࿮ʹҠಈ͢ΔΑ͏ʹมߋ ɹɾ:BQQMJͰఏڙ͍ͯ͠Δ֤छػೳΛɺΞϓϦ੍࡞Ͱͷར༻ස౓Ͱ෼ྨ͠ɺվળͷzӨڹ౓zΛઃఆ ʣ޻਺ݟੵʹΑΔ۠෼͚ɾʮվળʯ͔Β֎͢൑அ ɹɾ:BQQEBUF%BZͰରԠݕ౼ɹɹɹˠখن໛ɹɹɹɹɹɹʢʙϲ݄Ҏ಺ʣ ɹɾϠϓϦΫͰରԠݕ౼ɹɹɹɹɹɹɹˠখن໛ʙதن໛·Ͱʢʙ൒೥Ҏ಺ʣ ɹɾ-,;/ʢϥʔδվળʣɹɹɹɹɹɹˠେن໛Ҏ্ɹɹɹɹʢ൒೥Ҏ্ʙʣ˞ʮվળʯ͔Β֎͢ STEP3ɹ΍ͬͨ͜ͱ

Slide 28

Slide 28 text

STEP3ɹ΍ͬͨ͜ͱ - JIRAϘʔυʢ Before ʣ

Slide 29

Slide 29 text

STEP3ɹ΍ͬͨ͜ͱ - JIRAϘʔυʢ After ʣ

Slide 30

Slide 30 text

ʻ΍ͬͨ͜ͱʼ ʣεςʔλεΛ࠶੔ཧ ʣ༏ઌ౓෇͚ ʣ޻਺ݟੵʹΑΔ۠෼͚ɾʮվળʯ͔Β֎͢൑அ νέοτͷఆظతͳϝϯςφϯεͱج४෇͚

Slide 31

Slide 31 text

มΘͬͨ͜ͱ

Slide 32

Slide 32 text

ɾվળνέοτͷফԽ཰্͕͕ͬͨʂ ɾνέοτ͕੔ཧ͞Εͯɺணखͷ༏ઌॱҐ͕෼͔Γ΍͘͢ͳͬͨʂ ɾ։ൃ෦಺͔Βʮ΋ͬͱվળʹऔΓ૊Έ͍ͨʂʯͱ੠্͕͕ͬͨ

Slide 33

Slide 33 text

·ͱΊ

Slide 34

Slide 34 text

·ͱΊ ɾʮվળʯ͸ແ͘ͳΒͳ͍ɻαʔϏε͕֦ு͍ͯ͘͠ͱڞʹ૿͑ଓ͚Δ ɾʮվળʯΛ΍Δ΍Βͳ͍ͷ൑அ͸৳͹ͯ͠΋͍͍͕ɺ 
 ɹఆظతʹݟ௚͠Λߦ͍ɺ ɹͦͷλΠϛϯάͰ࠷৽ͷ൑அʹΞοϓσʔτ͍ͯͬͨ͠ํ͕͍͍ ɾཁ๬ΛཷΊࠐΈ͗͢Δͱɺ༏ઌ౓͕෼͔Βͳ͘ͳΔͷͰɺ 
 ɹ޻਺΍Өڹ౓ΛؑΈͯ൑அͰ͖Δج४Λ࡞Γɺɹ ɹৗʹࠓɺԿΛ΍Δ΂͖͔ʁΛݟ͑ΔԽΛ͢Δ ɾࣾ಺΁ͷ੠͔͚ɺϑϩʔ੔උ͸େ੾ 


Slide 35

Slide 35 text

Ҏ্ʹͳΓ·͢ɻ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ