コンセプトは「機械に人間が合わせる」クックパッドが実践する新しいリリースフローとは / @IT seminar 2018 12 14

コンセプトは「機械に人間が合わせる」クックパッドが実践する新しいリリースフローとは / @IT seminar 2018 12 14

@IT ソフトウェア品質向上セミナー
AI/機械学習、自動化で開発現場にも訪れるシンギュラリティにどう備えるか
https://itmedia.smartseminar.jp/public/seminar/view/1250

基調講演時の資料です。

0e463e4432ba6d9b7ef02dbebe99c70d?s=128

Tomohiro Moro

December 14, 2018
Tweet

Transcript

  1. ؝ٝإفزכչ堣唒ח➂꟦ָさ׻ׇ׷պ ؙحؙػحسָ㹋騧ׅ׷倜׃ְٔٔ٦أؿٗ٦הכ ؙحؙػحس吳䒭⠓爡 䪮遭鿇ٌغ؎ٕ㛇湍ؚٕ٦ف ؚٕ٦فꞿ薲ス兰㣐 1/58

  2. 荈䊹稱➜ • ໜ࿊ ஐେ / @slightair • 2014೥3݄ iOSΞϓϦΤϯδχΞͱͯ͠ ΫοΫύουʹೖࣾ

    • ೖ͔ࣾͯ͠ΒͣͬͱΫοΫύουiOSΞϓϦͷ ։ൃʹܞΘΔ • ٕज़෦ϞόΠϧج൫άϧʔϓʹͯࣾ಺ͷ ϞόΠϧΞϓϦ։ൃͷج൫੔උΛਐΊ͍ͯΔ 2/58
  3. ؙحؙػحس،فٔJ04"OESPJE ౤ߘ͞ΕͨϨγϐΛݕࡧɾӾཡ͢ΔΞϓϦ1 • Ϩγϐͷݕࡧ • Ϩγϐͷ౤ߘ • ݕࡧʹཔΒͳ͍Ϩγϐͱͷग़ձ͍ • ϨγϐΛ௨ͨ͠Ϣʔβಉ࢜ͷίϛϡχέʔγϣϯ

    1 ॳճϦϦʔε iOS: 2009೥11݄ / Android: 2012೥1݄ 3/58
  4. ،آؑٝت • ϞόΠϧΞϓϦ։ൃମ੍ͷมભ • ։ൃΛਐΊΔ্Ͱຬ͍ͨͨ͠ཉٻɺͦΕΛ࣮ݱ͢Δ ͨΊʹ͸ • ʮػցʹਓ͕ؒ߹ΘͤΔʯ৽͍͠ϦϦʔεϑϩʔ • αʔϏεɾΞϓϦͷ඼࣭ʹର͢Δߟ͑ํ

    • ·ͱΊ 4/58
  5. ٌغ؎ٕ،فٔꟚ涪⡤ⵖך㢌鼂 5/58

  6. ٌغ؎ٕ،فٔꟚ涪⡤ⵖך㢌鼂 1. ΞϓϦ։ൃઐ໳νʔϜͷ࣌୅ 2. ෳ਺ͷνʔϜͰͻͱͭͷΞϓϦΛ։ൃ͢Δ࣌୅ 3. ෳ਺ͷαʔϏεɾΞϓϦΛల։͢Δ࣌୅ 6/58

  7. ،فٔꟚ涪㼔Ꟍث٦يך儗➿ 䎃⵸劍 7/58

  8. Ꟛ涪⡤ⵖ • ΞϓϦ։ൃઐ໳ͷ෦ॺ͕͋Δ • ଞ෦ॺ͔Βػೳ௥ՃͷґཔΛड͚ͯΞϓϦͷ मਖ਼Λߦ͏ • ϦϦʔε͍ͨ͠ػೳ͕׬੒ͨ͠Βಈ࡞֬ೝޙ ϦϦʔε͢Δ •

    GitHub Enterprise ͰίʔυɾϓϩδΣΫτΛ؅ཧ ͢Δ 8/58
  9. 9/58

  10. Ꟛ涪鋉垷ך䭁㣐חさ׻ׇ׋ؿٗ٦ך侭⪒ • αϒϛοτɾϦϦʔε࡞ۀΛ࣋ͪճΓͰߦ͑Δ Α͏ʹखॱΛ·ͱΊΔ • ίʔυϨϏϡʔʹΑͬͯΞϓϦɾίʔυͷ඼࣭Λ ୲อ͢Δ • ϢχοτςετΛॻ͍ͯCIΛճ͢ •

    γφϦΦςετ/UIςετͷ੔උΛ͸͡ΊΔ 10/58
  11. 醱侧ךث٦يד מהאך،فٔ׾Ꟛ涪ׅ׷儗➿ 䎃䖓劍։䎃 11/58

  12. Ꟛ涪⡤ⵖ • ૊৫ମ੍͕มΘΓɺͦΕͧΕ஫ྗྖҬΛ࣋ͭ෦ॺʹ ΞϓϦΤϯδχΞ͕෼ࢄͨ͠ • ෳ਺ͷαʔϏε։ൃ෦ॺͱϞόΠϧج൫ɺ ςετΤϯδχΞ͕ίϛοτ͢Δ • νʔϜ͸ͦΕͧΕͷ஫ྗྖҬʹಛԽͯ͠ಈ͚Δ Α͏ʹͳͬͨ

    • ίʔυϨϏϡʔ͸νʔϜΛ·͍ͨͰߦ͏ 12/58
  13. 13/58

  14. ٔٔ٦أؿٗ٦ • ͍͍ͩͨ2िؒͰ1ճϦϦʔε͢ΔΠςϨʔγϣϯΛ ճ͢͜ͱʹͨ͠ • ϦϦʔε೔͸։ൃऀ΍ࢪࡦͷ౎߹ʹ߹Θͤॊೈʹ ௐ੔ͨ͠ • ϦϦʔεϚωʔδϟʔͱ͍͏ϦϦʔε͝ͱͷ ੹೚ऀΛ࣋ͪճΓͰཱͯɺΠςϨʔγϣϯதͷ

    มߋ΍෦ॺؒͷ࿈ܞΛ·ͱΊͨ2 2 ΫοΫύουϞόΠϧΞϓϦͷ։ൃମ੍ͱϦϦʔεϑϩʔ - ΫοΫύου։ൃऀϒϩά 14/58
  15. ؎ذٖ٦ءّٝךⰻ鏬 1. ϦϦʔεʹؚΊΔػೳΛݕ౼͢Δ/issueΛ࡞Δ 2. ։ൃɾ࣮૷(10Ӧۀ೔) • PRకΊ੾Γ(։ൃظؒͷ8೔໨ɺίʔυϨϏϡʔͱमਖ਼ͷ༨༟Λ࣋ͭͨΊ) • ίʔυϑϦʔζ 3.

    ςετɾಈ࡞֬ೝɾमਖ਼(3Ӧۀ೔) 4. αϒϛοτɺϦϦʔε • iOS͸৹ࠪͰҰिؒ͘Β͍଴ͬͨޙϦϦʔε • Android͸ 2೔͓͖ʹ 10%ɺ50%ɺ100% ͱஈ֊తϦϦʔε 5. ϦϦʔεޙ؂ࢹ(Ϋϥογϡ਺ɺϦΫΤετΤϥʔɺ͝ҙݟɾ͓໰͍߹Θͤ) 15/58
  16. 16/58

  17. 17/58

  18. 18/58

  19. ٔٔ٦أ׀הך䮶׶鵤׶ • ϦϦʔε͝ͱʹৼΓฦΓɺظؒதʹى͖ͨ໰୊΍ͦͷରࡦΛڍ͛ɺ վળΛ܁Γฦͨ͠3 • ϑϩʔΛָʹճ͢ɺ඼࣭Λ্͛ΔͨΊͷ޻෉Λ͢Δ4 • ϦϦʔεखॱissueͳͲͷࣗಈ࡞੒ • issue΍PRͷ࡞੒ʹ߹ΘͤఆܕจΛBotʹ౤ߘͤ͞Δ

    • ։ൃ্Α͘ϋϚΓ͕ͪͳϙΠϯτ • ঢ়ଶͷ૊Έ߹ΘͤΛ໢ཏ͢ΔνΣοΫϦετ 4 ΞϓϦ։ൃͷ඼࣭ఈ্͛ࢪࡦΛWebhooksͰBot͕ࢧԉ͢Δੈք - ΫοΫύου։ൃऀϒϩά 3 KPTͰ೪Γڧ͘඼࣭վળʹऔΓ૊Μͩ࿩ - ΫοΫύου։ൃऀϒϩά 19/58
  20. 20/58

  21. ㉏겗暴㹀ך倵瘻㼔欽ךغ٦آָّٝ㟓⸇ • ಛఆͷࢪࡦ͚ͩΛೖΕΔόʔδϣϯΛ࡞Γ͍ͨέʔε͕૿͖͑ͯͨ • ϦϦʔε೔࣌ΛݫີʹܾΊͯࢪࡦΛग़͍ͨ͠ • ޮՌݕূͷͨΊ͠͹Β͘ಉҰը໘ʹଞͷࢪࡦΛೖΕͨ͘ͳ͍ • ༏ઌ౓ͷߴ͍ࢪࡦͳͷͰίʔυϨϏϡʔͳͲΛ༏ઌͯ͠ ཉ͍͠

    • ଞ෦ॺͷࢪࡦɾޮՌݕূΛϒϩοΫͯ͠͠·͏ • ࢥͬͨΑ͏ʹࢪࡦ͕ଧͯͳ͍ɺ։ൃ଎౓΍ࢪࡦͷݕূ଎౓Λ ͋͛ΒΕͳ͍͔ͱ͍͏ෆຬ͕ଟ͘ͳΔ 21/58
  22. 22/58

  23. ㉏겗؝٦سٖؽُ٦ח气䒦 • PRͷ಺༰ɺίϯςΩετΛཧղ͢Δ·Ͱͷෛ୲͕ େ͖͍ • εϖϧϛε/ελΠϧ่ΕͳͲͷࠣࡉͳϛεͷࢦఠ ͕ͭΒ͍ • ϓϩδΣΫτͷίʔυཧղͷࠩͳͲʹΑΓҰ෦ͷ ϨϏϡΞʔ΁ෛ୲͕ूத͢Δ

    • ϚʔδͰ͖Δ·ͰͷϨϏϡʔ଴͕ͪ௕͍ 23/58
  24. 倵瘻؝٦سٖؽُ٦ך頾䬐׾幾׵ׅ • ػցతʹίʔυͷ໰୊Λࢦఠ͢ΔπʔϧΛ։ൃɾಋೖ͢Δ5 • มߋ఺ΛΘ͔Γ΍͘͢ॻͨ͘ΊͷςϯϓϨʔτΛ੔උ͢Δ6 • ίʔυϨϏϡʔͰ͸ԿΛ͢΂͖ͳͷ͔࠶֬ೝ͢Δ • εϖϧϛε/ελΠϧ่ΕͳͲͷࠣࡉͳϛε •

    ࣮૷ํ๏ɺ࣮ݱखஈͷଥ౰͞ " • ػೳ͕ҙਤ௨Γ࣮૷͞Ε͍ͯΔɺద੾ͳϩάΛऩूͰ͖͍ͯΔ͔ 6 ։ൃ଎౓Λ্͛ΔͨΊͷ Pull-Request ͷͭ͘Γํ - ΫοΫύου։ൃऀϒϩά 5 Danger - https://danger.systems/ruby/ 24/58
  25. 25/58

  26. 倵瘻؟ـىحز⡲噟ך荈⹛⻉ • ϦϦʔεϚωʔδϟʔ͕ख࡞ۀͰαϒϛοτ͢Δͷ͸େมɺ ؒҧ͍΋ى͖΍͍͢ • αϒϛοτʹඞཁͳূ໌ॻྨͷڞ༗΋ՄೳͳݶΓݮΒ͍ͨ͠ • CIϚγϯͰΞϓϦͷϏϧυɺ৹ࠪఏग़·Ͱߦ͑ΔΑ͏ʹͨ͠7 • ChatBotʹαϒϛοτͷࢦࣔΛग़͢ͱJenkinsδϣϒ͕

    ΩοΫ͞Εfastlane8ͰҰ࿈ͷ࡞ۀ͕࣮ߦ͞ΕΔ 8 fastlane - App automation done right - https://fastlane.tools 7 iOSΞϓϦͷαϒϛοτࣗಈԽͱূ໌ॻ؅ཧͷޮ཰Խ - ΫοΫύου։ൃऀϒϩά 26/58
  27. 27/58

  28. 28/58

  29. 醱侧ך؟٦ؽأ٥،فٔ׾㾜Ꟛׅ׷儗➿ 䎃։ 29/58

  30. Ꟛ涪⡤ⵖ • ΫοΫύουΞϓϦҎ֎ʹ΋ΞϓϦΛϦϦʔε ͢ΔαʔϏεͷ։ൃ͕૿͖͑ͯͨ • ΫοΫύουΞϓϦҎ֎ͷΞϓϦͰ΋ಉ͡࢓૊Έ Λ࢖ͬͯ։ൃɾݕূ଎౓Λ্͍͛ͨधཁ͕͋Γɺ طଘπʔϧΛྲྀ༻͍ͯ͠Δ 30/58

  31. 31/58

  32. Ꟛ涪׾鹌׭׷♳ד弫׋׃׋ְ妜実ծ ׉׸׾㹋植ׅ׷׋׭חכ 32/58

  33. Ꟛ涪׾鹌׭׷♳ד弫׋׃׋ְ妜実 • ՄೳͳݶΓࢪࡦͷ։ൃͱݕূΛ͢͹΍͘ճ͍ͨ͠ • νʔϜΛ෼͚Δ͜ͱͰͦΕͧΕͷ໨ඪୡ੒΍ ࢪࡦͷ࣮ݱೳྗΛ࠷େԽ͍ͯ͠Δ • ։ൃ଎౓Λ্͛ͭͭ΋αʔϏεɾΞϓϦͷ඼࣭Λ Լ͛ͨ͘ͳ͍ •

    ࣋ଓՄೳͳ։ൃ؀ڥΛҡ͍࣋ͨ͠ɺίʔυͷ඼࣭Λ อ͍ͪͨ 33/58
  34. Ꟛ涪ד儗꟦ַַָ׏גְ׷ךכוֿזךַ • Ϗϧυ͕࣌ؒ௕͍ʁ • ίʔυϨϏϡʔͷෛ୲͕େ͖͍ʁ • ͕͔͔࣌ؒΔɺྔ͕ଟ͍ • ϨϏϡʔ଴͕ͪ௕͍ •

    ͦͷଞʁ 34/58
  35. 倵瘻Ꟛ涪ד儗꟦ַַָ׷הֿ׹׾锃叨׃׋ • ։ൃ؀ڥͷ༷ʑͳ਺஋Λܭଌ͢Δ • ֤։ൃऀͷϚγϯͰͷϏϧυ࣌ؒ • PR͕࡞ΒΕ͔ͯΒϚʔδ͞ΕΔ·Ͱͷ࣌ؒ • ि͝ͱͷϚʔδPR਺ •

    ϚΠϧετʔϯ͝ͱͷϚʔδPR਺ • ։ൃؔ܎ऀͰٞ࿦͢Δ 35/58
  36. 36/58

  37. 37/58

  38. 38/58

  39. 穠卓ؽٕسך䖉׍儗꟦כ搀鋔דֹזְ • શମͷϏϧυ࣌ؒΑΓɺ։ൃ࣌ͷमਖ਼ͱϏϧυͷ ܁Γฦ͕͠͡Θ͡Θޮ͍͍ͯΔ • ࣗಈԽͱ͸ผͷΞϓϩʔν͕ඞཁ • Ϟδϡʔϧ෼ׂΛਐΊΔͳͲݡ͘ϏϧυͰ͖Δ Α͏ʹΞϓϦͷߏ଄Λม͑Δ •

    εϖοΫͷߴ͍PCΛಋೖ͢Δ 39/58
  40. 穠卓؝ىُص؛٦ءّٝ؝أزָ넝ְ • ࢪࡦͷίϯϑϦΫτ๷ࢭ΍εέδϡʔϧௐ੔ͷͨΊͷ ৘ใڞ༗͸ඞཁ͕ͩෛ୲͕େ͖͍ • ίʔυϨϏϡʔΛߦͬͨΓɺ଴͍ͬͯͨΓ͢Δ࣌ؒ΋ ແࢹͰ͖ͳ͍ • issueͷ੔ཧ͕ਓʹΑͬͯ͸ෆ଍͍ͯͯ͠ɺ ϦϦʔεϚωʔδϟʔ͕ۤ࿑͍ͯ͠Δ

    • ίετΛ͔͚͗ͣ͢ʹ҆ఆͯ͠ϦϦʔεΛճ͍ͨ͠ 40/58
  41. 荈⹛⻉ׅץֹהֿ׹הכוֿזךַ • ܁Γฦ͠ߦ͏ܾ·ͬͨ࡞ۀͷෛ୲ΛݮΒ͢ • ਓ͕ؒؒҧ͑΍͍͢ͱ͜ΖΛݮΒ͢ • ਓ͕ؒෆಘҙͳͱ͜ΖΛػցʹ·͔ͤΔ • ؀ڥͷ౷Ұɾঢ়ଶͷ࠶ݱΛ༰қʹͰ͖ΔΑ͏ʹ͢Δ •

    ڧ͍ݖݶΛ࣋ͭΞΧ΢ϯτɾূ໌ॻΛڞ༗͠ͳͯ͘ ΋ࡁΉΑ͏ʹ͢Δ 41/58
  42. չ堣唒ח➂꟦ָさ׻ׇ׷պ 倜׃ְٔٔ٦أؿٗ٦ 42/58

  43. ؝ٝإفزכչ堣唒ח➂꟦ָさ׻ׇ׷պ • ਓؒΛத৺ͱ͢Δߟ͑ํΛ΍Ίɺ ػցΛத৺ͱ͢Δߟ͑ํʹγϑτ͢Δ • ਓؒͷϖʔεʹै͏ͱͦͷ࣌ʑͷ౎߹Ͱ่ΕΔɺ ػցͷϖʔεʹਓ͕ؒ߹Θͤͨ΄͏͕ޮ཰తͳͷ Ͱ͸ͳ͍͔ • ʮػցʹ΍ΒͤΔʯ͔Βʮػցʹ߹ΘͤΔʯ΁

    43/58
  44. 倜׃ְٔٔ٦أؿٗ٦  • ຖि༵ۚͷૣேʹίʔυΛϏϧυ͠ɺࣗಈతʹ੒Ռ෺Λ αϒϛοτ/Ξοϓϩʔυ͢Δ9 • ։ൃऀ͸͜ͷλΠϛϯά·Ͱʹ࣍ͷϦϦʔεʹؚΊ͍ͨमਖ਼ΛϚʔδ͢Δ • ։ൃνʔϜͰे෼ʹಈ࡞֬ೝͨ͠ίʔυͷΈΛϚʔδ͢Δ •

    Ϛʔδޙʹෆ۩߹͕ݟ͔ͭͬͨΒɺมߋΛ͙͢ʹࠩ͠໭͢ • ϦϦʔεީิ൛ͷ؟ـىحز،حفٗ٦س䖓ʹશମͷಈ࡞֬ೝΛߦ͏ɺ ֤։ൃνʔϜͷϦϦʔε൑ఆΛΫϦΞͨ͠ΒϦϦʔε͢Δ • க໋తͳ໰୊͕ݟ͔ͭͬͨΒͦͷόʔδϣϯͷϦϦʔεΛεΩοϓ͢Δ 9 ΫοΫύουΞϓϦ͸ΈΜͳ͕৸͍ͯΔؒʹαϒϛοτ͞ΕΔ - ΫοΫύου։ൃऀϒϩά 44/58
  45. 45/58

  46. 46/58

  47. 倜׃ְٔٔ٦أؿٗ٦חז׏ג״ַ׏׋ֿה • ϦϦʔεαΠΫϧ͕ૣ͘ͳͬͨɺϦϦʔεճ਺͕૿͑ͨ • ֤։ൃνʔϜ͕εέδϡʔϧΛҙࣝͯ͠ߦಈͰ͖ΔΑ͏ʹ ͳͬͨ • ϦϦʔεΛࢭΊΔ΄Ͳͷॏେͳ໰୊ʹ։ൃνʔϜ͕Ϛʔδલ ʹؾ͖ͮ΍͘͢ɺͦͷ࣌఺Ͱ৯͍ࢭΊΒΕΔΑ͏ʹͳͬͨ •

    ෦ॺΛԣஅ͢Δௐ੔໾͕΄΅ඞཁͳ͘ͳͬͨ • ຖिϦϦʔεʹΑΔ҆৺͔Βɺमਖ਼Λ࣍ʹճ͢ͱ͍͏બ୒ Λ༰қʹऔΓ΍͘͢ͳͬͨ 47/58
  48. 倜׃ְٔٔ٦أؿٗ٦ד㔭׏גְ׷ֿה • ϦϦʔεεΩοϓ͕΄΅Ͱ͖͍ͯͳ͍ • ͜ͷ࣌ظʹೖΔ͸ͣͩͬͨ΋ͷͱ͍͏ҙ͔ࣝΒಀ͛ΒΕͣɺ मਖ਼ΛੵΜͰखಈ࠶αϒϛοτΛߦ͏͜ͱ͕͋Δ • ࠶αϒϛοτ͢Δͱͯ͠΋ɺ৽͘͠க໋తͳෆ۩߹ΛೖΕΔ ͜ͱ͕ͳ͍Α͏ʹ৻ॏʹ͢͢Ί͍ͯΔ •

    fastlane deliver ͷෆ۩߹Ͱࣗಈαϒϛοτ͕ෆ҆ఆͳ͜ͱ͕͋Δ • ج൫νʔϜͰ fastlane ʹίϛοτ͍ͯ͠ΔͷͰπʔϧͷमਖ਼Λ ଓ͚͍ͯ͘ 48/58
  49. 49/58

  50. ؟٦ؽأ٥،فٔךㅷ颵ח 㼎ׅ׷罋ִ倯 50/58

  51. 倜׃ְؿٗ٦ך⵸ַ׵ㅷ颵חכ孡׾⢪׏גְ׷ • ෆ۩߹ͷ͋ΔϦϦʔεΛͯ͠͠·͏͜ͱͰɺ Ϣʔβʔʹෆརӹ͕͋ͬͯ͸͍͚ͳ͍ • ϢʔβʔϑΝʔετͷՁ஋؍Λ͏·͘ڞ༗Ͱ͖ͯ ͍ͨͷͰɺ඼࣭ΛकΔͨΊʹ࣌ؒΛ͔͚Δ΂͖ ͱ͍͏ײ֮͸ࣗવͱ͍࣋ͬͯͨ • ݁ՌతʹαϒϛοτɾϦϦʔεલͷಈ࡞֬ೝΛ

    खް͘͢Δ͜ͱʹܨ͕͍ͬͯͨ 51/58
  52. Ꟛ涪ث٦يָㅷ颵׾؝ٝزٗ٦ٕדֹ׷״ֲח • ൃੜͨ͠ෆ۩߹ͷରԠʹ͍ͭͯ୭͕ߟ͑Δͷ͔͸͖ͬΓ͍ͤͨ͞ • ෆ۩߹ରԠͷඞཁੑɺରԠํ਑Λߟ͑ΔͳΒ։ൃνʔϜ͕ ద೚ͷ͸ͣ • ϦϦʔεલʹൃ֮ͨ͠ෆ۩߹͸௵͖͠Βͳ͍ͱ͍͚ͳ͍ͱ͍͏ ࢥ͍ࠐΈΛղফ͢Δ •

    ෆ۩߹Λ͢͹΍͘ݕ஌͠ɺͦͷରॲΛͲ͏͢΂͖͔։ൃνʔϜͰ ߟ͑ΒΕΔΑ͏ʹ͢Δ • ࣍ͷ։ൃͰࣅͨΑ͏ͳෆ۩߹Λ࢈·ͳ͍Α͏νʔϜͰ ؾʹ͔͚ΒΕΔΑ͏ʹ͢Δ 52/58
  53. ٔٔ٦أ׾傍׭ג׮ㅷ颵׾衅הׁזְ׋׭חכ • ෆ۩߹ͷϨϕϧΛߟ͑Δɺக໋తͳ΋ͷɺܰඍͳ ΋ͷΛ۠ผ͢Δ • ͢΂ͯͷෆ۩߹Λ௚͢ͱ͍͏͜ͱʹͱΒΘΕͳ͍ • ͦͷෆ۩߹͸Ϣʔβʹͱͬͯෆ౎߹͕ى͖Δ΋ͷ ͳͷ͔ɺ։ൃɾӡӦଆʹͱͬͯෆ౎߹͕ى͖Δ ΋ͷͳͷ͔ɺͰରԠΛߟ͑Δ

    53/58
  54. ذأز٥⹛⡲然钠ך⸬桦⻉ • ٳ೔ͳͲਓͷಈ͍ͯͳ͍࣌ؒʹࣗಈςετ݁ՌΛػցʹͦΖ͑ͯ ΋Β͏ • ҰճͷϦϦʔεظؒͰͷςετ؀ڥͷ໢ཏΛ͖͋ΒΊΔ10 ʢը໘αΠζɺOSόʔδϣϯͳͲͷ૊Έ߹Θͤʣ • ͋Δఔ౓ͷظؒͰΈͨ࣌໢ཏ͞Ε͍ͯΔΑ͏ʹ޻෉͢Δ •

    ࣗಈԽͰ͖ͳ͍खಈςετͰ͸ؔ࿈ػೳʹมߋ͕ͳ͚Ε͹লུ͢Δ • ߹ཧతʹςετΛ΍Γ͗͢ͳ͍ઓུΛऔΔ 10 ຖिϦϦʔεΛ࣮ݱ͢Δςετ׆ಈ - ΫοΫύου։ൃऀϒϩά 54/58
  55. 55/58

  56. תה׭ 56/58

  57. ֿֿ侧䎃ך《׶穈׫׾䮶׶鵤׏ג • ͍·ܗʹͳ͍ͬͯΔ΋ͷ͸ɺ਺೥ؒ܁Γฦ͖ͯͨ͠ ϦϦʔεͱৼΓฦΓʹΑͬͯੵΈ্͕͖ͬͯͨ΋ͷ • ։ൃମ੍ͷมભΛܦͯαʔϏεɾΞϓϦ։ൃʹ͓͚Δ ཉٻΛݟͭΊɺͦΕΛຬͨͨ͢ΊͷࣗಈԽΛਐΊ͖ͯͨ • ػցΛத৺ͱ͢Δߟ͑ํʹγϑτ͢Δ͜ͱͰ লུɾޮ཰ԽͰ͖Δͱ͜Ζ͕͋Δ͜ͱʹؾ͍ͮͨ

    • ʮػցʹ΍ΒͤΔʯ͔Βʮػցʹ߹ΘͤΔʯ΁ߟ͑Λ ม͍͑ͯ͘ 57/58
  58. ֿ׸ַ׵ך《穈׫ • ݱࡏͷϦϦʔεϑϩʔͱͯ͠৭ʑڍ͖͕͛ͯͨɺ͢΂ͯͷ͜ͱ͕ ຬ଍ʹͰ͖͍ͯΔΘ͚Ͱ͸ͳ͍ • ࢓૊ΈΛ੔͑ɺ։ൃؔ܎ऀͷҙࣝΛม͍͑ͯ͜͏ͱ͍͏ঢ়گ • ૊৫΍αʔϏεɾΞϓϦΛऔΓר͘ঢ়گʹ߹Θͤม͍͑ͯ͘ • ࣗಈԽΛਐΊΔɺػցʹ߹Θͤͯޮ཰Խͨ͠෼ɺਓؒ͸ਓ͕ؒ

    ஫ྗ͢΂͖ͱ͜Ζʹ஫ྗ͍ͯ͘͠ • ·ͩ·ͩࣗ෼ͨͪͷҙࣝΛม͍͑ͯ͘ඞཁ͕͋Δͱײ͍ͯ͡Δɺ ҙࣝΛม͑ΔͨΊͷऔΓ૊ΈͰ΋͋Δ 58/58