500日のトライエラーから生まれた大規模設計ノウハウ / Frontend Conference Fukuoka 2018

2bedb1eb8f841cd3c3ae584600b016e0?s=47 OKUNOKENTARO
December 08, 2018

500日のトライエラーから生まれた大規模設計ノウハウ / Frontend Conference Fukuoka 2018

2018/12/8 Frontend Conference Fukuoka 2018にて発表した資料です。

2bedb1eb8f841cd3c3ae584600b016e0?s=128

OKUNOKENTARO

December 08, 2018
Tweet

Transcript

  1. ೔ͷ τϥΠΤϥʔ͔Βੜ·Εͨ
 େن໛ઃܭϊ΢ϋ΢ %FD 'SPOUFOE$POGFSFODF'VLVPLB !PLVOPLFOUBSP

  2. w Ԟ໺ݡଠ࿠!PLVOPLFOUBSP w ΫϨε΢ΣΞ୅ද w ΞϓϦέʔγϣϯ ɾ ΤϯδχΞ

  3. w 8FC.VTJDٕज़Λ༻͍ͨαʔϏεͷ্ཱͪ͛ w େن໛ϑϩϯ τΤϯυͷઃܭ ɾ ։ൃ ɾ ίʔ υ

    ϨϏϡʔ w ίϯαϧςΟ ϯά ɾ ొஃ ɾ ࣥච w "OHVMBS೔ຊϢʔβʔձ෭ΦʔΨφΠβ
 OHLZPUPΦʔΨφΠβ
  4. w ࠓճͷ࿩Λฉ্͘Ͱͷલఏ w Ҋ݅ͷछྨ͸ແݶେ w ݸʑਓͷ࠷దղ͸࿩ͤͳ͍ w ʮ͜Ε͑͞΍Ε͹0,ʯ Έ͍ͨͳ۩ମྫͷ࿩͸Ͱ͖ͳ͍ w

    ࠓճͷ࿩͕ͦΕͧΕݱ৔Ͱͷؾ෇͖ʹͳΕ͹
  5. https://speakerdeck.com/okunokentaro

  6. 2େن໛ͷͳʹ͕େม ʁ

  7. "νʔϜͰ։ൃ͢Δ͜ͱ͕େม

  8. ઃܭͱ͸ νʔϜͷ࿩Λ͢Δલʹ

  9. w ୹ظઃܭ w த௕ظઃܭ w ࠜຊతઃܭ ઃܭͱ͸

  10. w ઃܭ֓࿦ ʢϑϩϯ τΤϯ υʹ͓͍ͯʣ  w ෛ࠴͸ੜ·ΕΔ w ෛ࠴ͷฦࡁΛৗʹߟྀ͢Δ

    w ઃܭʹऴΘΓ͸ͳ͍ ઃܭͱ͸
  11. ࠜຊతઃܭ த௕ظઃܭ ୹ظઃܭ ઃܭͱ͸

  12. ࠜຊతઃܭ த௕ظઃܭ ୹ظઃܭ ˑˑˑ ˒ˑˑ ˒˒˒ ઃܭͱ͸ ฦࡁͷ͠΍͢͞

  13. w ϑΣʔζ͝ͱʹڞ௨͢Δߟ͑ํ w ͲΕ͚ͩϠό͍Λ༧ݟͰ͖Δ͔ w εΩϧґଘ w Ϡό͍౓߹͍͸ϑΣʔζ͝ͱʹ͕ͪ͏ ઃܭͱ͸

  14. ࠜຊతઃܭϑΣʔζͰͷରࡦ

  15. w ࠜຊతઃܭʹજΉϠό͍ w όοΫΤϯ υͷ؀ڥ ɾ ௨৴ w 63-ͷઃܭ w

    ໨ඪύϑ ΥʔϚϯε w ϑϩϯ τΤϯυ ɾ ϑ ϨʔϜϫʔΫͷબ୒ w ΞΫηγϏϦςΟ ࠜຊతઃܭϑΣʔζͰͷରࡦ
  16. w όοΫΤϯ υͷΠϯλϑΣʔε w 3&45"1* (SBQI2- wʮ͍·͸ʙʙ͚ͩͲɺ কདྷతʹʙʙʯ 
 ͳͲͱฉ͖͑ͯͨ͜Βܯռ

    w ϑϩϯ τΤϯυ ɾ όοΫΤϯ υڞʹ
 ؾܰʹೖΕସ͑ΒΕͳ͍ͷͰ৻ॏʹͳΔ΂͖Օॴ ࠜຊతઃܭϑΣʔζͰͷରࡦ
  17. w ௨৴ج൫͸ϓϩ τλΠ ϐϯά͢΂͖ w Ұ཯Ͱૹ৴͢΂͖ϔομ͸͋Δ $%/͸࢖͏ ʁ  w

    $PPLJFͷ࢓༷͸ݻΊͯ͋Δ  w Τϥʔϋϯ υ Ϧ ϯά ɾ ϙϦγʔ͸Կ  w ػೳྔ࢈ޙͷஈ֊ͩͱɺ ͪΌͿ୆ฦ͠ڃͷ޻਺͕͔͔Δ w ͋Γ͕͚ͪͩͲϓϩ τλΠ ϓͷԆ௕ઢ্ͷ··։ൃ͠ଓ͚ͳ͍ ࠜຊతઃܭϑΣʔζͰͷରࡦ
  18. w ݟམͱ͕͚ͪͩ͠Ͳॳظʹ΍Βͳ͍ͱ٧Ήཁૉ w ଟݴޠରԠ w 9)3ͷΩϟϯηϧѻ͍ ࠜຊతઃܭϑΣʔζͰͷରࡦ

  19. w ଟݴޠରԠ w ԿΧࠃޠʹରԠ ʁ  w ݴޠσʔλ͸Ͳ͔͜Βऔಘ ʁ 

    w λΠϜκʔϯͷѻ͍͸ ʁ ௨՟දهͷՕॴ͸ ʁ  w 35- 3JHIUUPMFGU จԽݍ͸ؾʹ͠ͳ͘ ͍͍ͯ ʁ ࠜຊతઃܭϑΣʔζͰͷରࡦ
  20. w 9)3ͷΩϟϯηϧѻ͍ w ແବଧͪϦΫΤε τ͸Ͳ͏΍ͬͯࡹ͘ ʁ  w unsubscribeͰ͖ͯΔ ʁ

    ϝϞϦ ϦʔΫͯ͠ͳ͍ ʁ  w 8PSLFS͸࢖͏ ʁ  w ΦϯϝϞϦ ɾ Ωϟογϡͷѻ͍͸ ʁ ࠜຊతઃܭϑΣʔζͰͷରࡦ
  21. w 63-पΓ ΋৻ॏʹ w ӡ༻։࢝͢ΔͱϢʔβʹෛ୲Λֻ͚ΔͨΊมߋ͠ʹ͍͘ w /a/b/cͱఆΊͨͱ͖/a/bʹΞΫηεͨ͠ΒԿ͕ى͜Δ ʁ  w

    ϦμΠ ϨΫ τ͠ΖͱݴΘΕͨͱ͖ʹ࣮૷Մೳ ʁ  w ιʔ τঢ়ଶ΍ݕࡧϫʔ υ͸Ͳ͏දݱ͢Δ ʁ ΫΤϦύϥϝʔλ ʁ ࠜຊతઃܭϑΣʔζͰͷରࡦ
  22. w ύϑ ΥʔϚϯε໨ඪ͸ ʁ ͦΕʹର͢Δཁ݅਺͸ ʁ  w શ෦੝Γ41"ʹ͠Α ͏

    ͱͯ͠ͳ͍ ʁ  w ʮը໘ભҠΛ൐ΘͣදࣔΛࠩ͠ସ͍͑ͨʯ ͚ͩͰ͸ͳ͍  w ֎໺͔Β ʮ41"ʹ͠Α ͏ʯ ͱ͍͏੠͕ฉ͑ͨ͜Β
 Կ͕͍ͨ͠ͷ͔ཁώΞϦϯά ࠜຊతઃܭϑΣʔζͰͷରࡦ
  23. w ࠓޙͷओྲྀ͸࣮֬ʹ-B[ZMPBE ʢ஗ԆಡΈࠐΈʣ  w 1FSGPSNBODF#VEHFUΛఆΊΔ ࠜຊతઃܭϑΣʔζͰͷରࡦ

  24. w 1FSGPSNBODF#VEHFU w ʮ·ͣ͸ಈ͘ ΋ͷΛ࡞ͬͯɺ ύϑ ΥʔϚϯεܭଌ͸͋ͱͰʯ 
 ͱ͍͏ߟ͑Λ͍࣋ͬͯΔਓ͸ଟ͍ w

    ͻͨ͢Β࡞Δͱվળ࣌ʹख஗Εͳ͜ͱ΋ w ࠜຊతߴ଎Խʹଟେͳ޻਺ֻ͕͔Δɺ ͳͲ w ࠷ॳ͔Βݶք஋ΛఆΊ͓ͯ͘ w ͨͩ͠ૣ͗͢Δա౓ͳ࠷దԽ΋ආ͚Δ ࠜຊతઃܭϑΣʔζͰͷରࡦ
  25. w ϑ ϨʔϜϫʔΫΛͲ͏͢Δ͔ w ਖ਼௚ͳΜͰ΋͍͍ w ͨͩ͠ೖΕସ͑ʹ͍͘ w "OHVMBS΍/VYUKT͸٧Ί߹ΘͤͰͦΕʹै͓͚ͬͯ͹Α͍ w

    3FBDU͸पลϥΠ ϒϥ Ϧͷબ୒ࢶ͕ଟ͘ݰਓ޲͚ wʮ7JFXΛͲ͏͢Δ͔ʯ ͕ܾ·Δ͚ͩͰଞʹ΍Δ͜ͱ͸ࢁ΄Ͳ͋Δ ࠜຊతઃܭϑΣʔζͰͷରࡦ
  26. w ࠜຊతઃܭϑΣʔζ͸֎໺ͷϠδͩΒ͚ w ϠδΛ໧ΒͤΔઆಘྗ ʢ೔ࠒͷ஌ࣝʣ  w ຊ࣭Λݟൈ͖ɺ Ͳ͏͍͏ٕज़બఆΛ͢Δ͔ w

    ͜ͷϑΣʔζ͸গਓ਺ɺ ߴ଎ʹҙࢥܾఆ͢Δ w Ϡδ௨ΓʹਐΊΔͱҊ݅ޙ൒ʹͬ͠΃ฦ͕͘͠ Δέʔε༗Γ ࠜຊతઃܭϑΣʔζͰͷରࡦ
  27. த௕ظઃܭϑΣʔζͰͷରࡦ

  28. w த௕ظઃܭʹજΉϠό͍ w ΞʔΩςΫνϟͷݕ౼ w ๲େͳը໘਺΍ςϯϓϨʔ τ w ಉҰػೳͷॏෳίʔ υͩΒ͚

    w ෛ࠴ͩΒ͚Ͱػೳमਖ਼ ɾ ௥Ճ͕ࠔ೉ த௕ظઃܭϑΣʔζͰͷରࡦ
  29. w ࠜຊతઃܭϑΣʔζͱͷ͕͍ͪ w ೔ʑྲྀಈ͢Δ w ։ൃʹؔΘΔϝϯόʔͷग़ೖΓ͕૿͑Δ w ٸʹແ஡ΛݴΘΕΔ த௕ظઃܭϑΣʔζͰͷରࡦ

  30. w த௕ظઃܭ͸Ұ౓΍Ε͹ऴΘΓ Ͱ͸ͳ͍ w ΋͸΍۠੾Γ͸ແ͍ w ࣦഊͨ͠ͱײͯ͡΋࣍ʹ׆͔͢ w ৗʹසൟʹ໰͍ͨͩ͢ඞཁ͕͋Δ த௕ظઃܭϑΣʔζͰͷରࡦ

  31. ιϑτ΢ΣΞ͸ݐஙͱ͍͏ΑΓ΋Ψʔσχϯάʹ͍ۙͷͰ͢ɻ
 ʢதུʣ ৗʹఉͷ݈߁ঢ়ଶΛ؂ࢹͯ͠ɺඞཁͳௐ੔Λߦ͏ͷͰ͢ɻ ୡਓϓϩάϥϚʔ "OESFX)VOU %BWJE5IPNBTڞஶଜ্խষ༁

  32. w த௕ظઃܭͰຊ౰ʹඞཁͳεΩϧ w ઃܭεΩϧΑ Γ ΋࣏ࣗεΩϧ w ఉͷ݈߁࣏҆ͷྑ͍νʔϜߴ͍ੜ࢈ੑ w ϑ

    ϨʔϜϫʔΫ΋ɺ ΞʔΩςΫνϟ΋
 νʔϜͷੜ࢈ੑΛ্͛ΔͨΊ த௕ظઃܭϑΣʔζͰͷରࡦ
  33. w ਫͱίʔ υͷ඼࣭͸௿͍ํʹྲྀΕΔ w ์͓ͬͯ͘ ͱίʔ υͷ඼࣭͸௿Լ͠ଓ͚Δ w ίϐϖ w

    ಈ͚͹Α͠ίʔ υ w ੹຿ແࢹͷཻ౓ɺ ਆΫϥε த௕ظઃܭϑΣʔζͰͷରࡦ
  34. w ಈ͍ͯΔ͔Β͍͍ ʁ Ͱ΋ʜ w ػೳमਖ਼ ɾ ௥Ճ࣌ʹ௧͍໨ΛݟΔ wʮͪΐͬͱ௥Ճ͢Δ͚ͩͰ͠ΐ ʁ

    ʯ ͱݴΘΕͯணखͯ͠ΈͨΒʜ w ΊͪΌ͘ ͪΌ೉ղ w Ͳ͔͜ΒखΛ෇͚ͨΒ͍͍͔ த௕ظઃܭϑΣʔζͰͷରࡦ
  35. w ͜ΕΛ๷͙ͨΊʹ w ίʔ υ ϨϏϡʔΛ͢Δ w ίʔ υͷ඼࣭ʹ໨ΛޫΒͤΔ͚ͩͰͳ͘ɺ 


    νʔϜͷ඼࣭ʹ໨ΛޫΒͤΔ த௕ظઃܭϑΣʔζͰͷରࡦ
  36. None
  37. "ࢯ ಈ͘ ίʔ υΛߴ଎ʹ࣮૷ +BWB4DSJQUͱ͖ͯ͠Ε͍ͳίʔ υΛॻ͘ ϓϩδΣΫ τݹདྷͷ෩शʹԊ͏ͷ͸ۤख ͜Ε͸ϑΟ ΫγϣϯͰ͢ɻ

    ࣮ࡏͷਓ෺ ɾ ஂମͱ͸Ұ੾ؔ܎͋Γ ·ͤΜɻ
  38. "ࢯ ಈ͘ ίʔ υΛߴ଎ʹ࣮૷ +BWB4DSJQUͱ͖ͯ͠Ε͍ͳίʔ υΛॻ͘ ϓϩδΣΫ τݹདྷͷ෩शʹԊ͏ͷ͸ۤख #ࢯ ࢓༷ͷཧղ͕ૣ͘

    ϓϩ τλΠ ϐϯά͕ಘҙ όϥϯεΑ ࣮͘૷Ͱ͖Δ͕ έΞϨεϛε͕ଟ͍ ͜Ε͸ϑΟ ΫγϣϯͰ͢ɻ ࣮ࡏͷਓ෺ ɾ ஂମͱ͸Ұ੾ؔ܎͋Γ ·ͤΜɻ
  39. "ࢯ ಈ͘ ίʔ υΛߴ଎ʹ࣮૷ +BWB4DSJQUͱ͖ͯ͠Ε͍ͳίʔ υΛॻ͘ ϓϩδΣΫ τݹདྷͷ෩शʹԊ͏ͷ͸ۤख #ࢯ ࢓༷ͷཧղ͕ૣ͘

    ϓϩ τλΠ ϐϯά͕ಘҙ όϥϯεΑ ࣮͘૷Ͱ͖Δ͕ έΞϨεϛε͕ଟ͍ $ࢯ ࠷৽ͷϓϩάϥϛϯά ɾ ύϥμΠϜʹۤઓ ࢖͍ํ͸ཁϑΥϩʔ ม਺΍ؔ਺ͷ໊෇͚Ͱख͕ࢭ· Γ͕ͪ ͜Ε͸ϑΟ ΫγϣϯͰ͢ɻ ࣮ࡏͷਓ෺ ɾ ஂମͱ͸Ұ੾ؔ܎͋Γ ·ͤΜɻ
  40. w νʔϜϝϯόʔʹ͸ಘख ɾ ෆಘख͕͋Δ w શһ ʢࣗ෼΋ؚΊʣ ͳʹ͔͠ΒͷΫη͕͋Δͱ৺ಘΔ w ׬શʹۉ࣭ͳϨϏϡʔ͸ఘΊΔ

    w ϨϏϡΠʔ͝ͱʹඍົͳई౓ͷࠩ
 ʢUZQPΛΑ ͘͢Δਓɺ ໊෇͚͕ۤखͳਓɺ ͳͲʣ  w ͜͜͸৴པؔ܎ͷߏஙͰղܾ த௕ظઃܭϑΣʔζͰͷରࡦ
  41. w ίʔ υ ϨϏϡʔ͸ͱͯ΋ෛ୲͕େ͖͍ w ҙࢥܾఆΛݮΒ͢εΩʔϜΛಋೖ͢Δ த௕ظઃܭϑΣʔζͰͷରࡦ

  42. ҙࢥܾఆলུεΩʔϜ த௕ظઃܭϑΣʔζͰͷରࡦͱ ͯ͠ͷ

  43. w ҙࢥܾఆΛݮΒ͢ w େن໛Ҋ͕݅େมͳཧ༝͸ɺ େ͖͍ނͷҙࢥܾఆճ਺ͷଟ͞ w ҙࢥܾఆ͸೴ʹରͯ͠ෛ୲ w ҙࢥܾఆऀ͕ଟ͍ͱίϛϡχέʔγϣϯίε τ૿ʹ௚݁

    ҙࢥܾఆলུεΩʔϜ
  44. w εΩʔϜΛಋೖ͢Δͱ w ຽओతʹจ۟ΛݴΘͤͳ͍ w ʮԶ͸͕͍͍ͬͪ͜ͱࢥ͏ Μ͚ͩͲʜʯ ͱϞϠϞϠͤ͞ͳ͍ w ΏΔΏΔͰ΋ΨνΨνͰ΋μϝɺ

    ݸͷݟۃΊ͕ॏཁ w ڧ͍ਓͷύϑ ΥʔϚϯεΛଛͶͣʹ
 ۤखͳਓ΋҆৺ͯ͠։ൃͰ͖Δઈົͳόϥϯεʹ ҙࢥܾఆলུεΩʔϜ
  45. w ҙࢥܾఆলུεΩʔϜͱͯ͠Ͱ͖Δ͜ͱ w نଇΛಋೖ w ٬؍తࠜڌΛಋೖ ҙࢥܾఆলུεΩʔϜ

  46. w ن໿Λಋೖ w εϙʔπʹ͸ϧʔϧ
 ʢฏ౳ͳ৚݅ԼͰָ͘͠ڝٕʣ  w ӡసʹ͸ಓ࿏ަ௨๏
 ʢແடংͳӡస͸ੜ໋ʹؔΘΔʣ 

    w νʔϜ։ൃʹ΋ن໿Λಋೖ͢Δ w ҆શͳϓϩάϥϜͷҡ࣋ɺ ҆৺շదͳੜ࢈ੑͷҡ࣋ ҙࢥܾఆলུεΩʔϜ
  47. w ίʔσΟ ϯάن໿ͷಋೖ w େલఏͱͯ͠1SFUUJFSΛڧ੍͢Δ w ਓ͕ؒࢦఠ͢Δ࣌୅͸ऴΘͬͨ w -JOUͰະ࢖༻ม਺ͳͲΛݕग़͢Δ w

    5ZQF4DSJQUʹΑΔܕ෇͚΋ҰछͷറΓʹΑΔ҆৺ͷ֫ಘ ҙࢥܾఆলུεΩʔϜ
  48. w ࣮૷Օॴʹ͍ͭͯͷن໿ͷಋೖ w ʮಈ͘ͳΒͲ͜ʹԿΛॻ͍ͯ΋͍͍ʯ ͱ͍͏ঢ়گʹ͠ͳ͍ w ୭͕ॻ͍ͯ΋ίʔ υ͕ಉ͡Α ͏ͳݟͨ໨ʹͳΔΑ ͏ʹ

    w ϑ ϨʔϜϫʔΫ ɾ Φϯ ɾ ϑ ϨʔϜϫʔΫΛ࡞Εͱ͍͏࿩Ͱ͸ͳ͍ ҙࢥܾఆলུεΩʔϜ
  49. w νʔϜʹ٬؍తࠜڌΛಋೖ͢Δ w ͲΕ͚ͩن໿ΛೖΕͯ΋ϓϩδΣΫ τ͝ͱʹඍௐ੔͕ඞཁ w ඍௐ੔ͷͨΊͷຖճͷٞ࿦͸ɺ ίϛϡχέʔγϣϯίε τ૿ w

    ٞ࿦΋͍͍͚ͲεϜʔζʹܾΊΑ ͏ w ٬؍తࠜڌΛಋೖͯ͠ै͏ ҙࢥܾఆলུεΩʔϜ
  50. w ٬؍తࠜڌ ʁ  w ͓͓Αͦೝ஌͞Ε͍ͯΔΤϯδχΞϦ ϯάͷ఩ֶ w ઌਓͷ఩ֶ͸஌ݟͷմ w

    40-*%ݪଇ ʢΦϒδΣΫ τࢦ޲ݪଇ͚ͩͲؔ਺ͷઃܭͰ΋༗༻ʣ  w :"(/* ,*44 %3:
 ʢඞཁʹͳΔ·Ͱ࣮૷͢Δͳɺ γϯϓϧʹ͠Ζɺ ܁Γฦ͠͸ආ͚Ζʣ ҙࢥܾఆলུεΩʔϜ
  51. w ίʔ υ ϨϏϡʔ͸٬؍తʹ w ϨϏϡʔ͸࣮૷ऀ΁ͷݸਓ߈ܸͷ৔Ͱ͸ͳ͍ w ʮԶ͸ͳΜ͔͜ͷॻ͖ํΠϠʯ ͸ w

    CSBODIͷࠩ෼ʹજΉຊ࣭Λղऍ্ͨ͠Ͱίϝϯ τ w ϨϏϡΞʔɺ ϨϏϡΠʔͱ΋ʹೝ஌͢Ε͹ҙࢥܾఆίε τμ΢ϯ w ϨϏϡΞʔ΋ਓؒͳͷͰർΕΔ
 ཧ૝͸ࣗಈԽͰ͖Δͱ͜ΖΛࣗಈԽ ҙࢥܾఆলུεΩʔϜ
  52. w ܁Γฦ͠ίʔ υͷૣ͗͢Δڞ௨ԽͷΞϯνύλʔϯ w %3:Ͱ͸ॏෳίʔ υΛѱͱͯ͠આ͍͍ͯΔ w ͔ͨ͠ʹॏཁͳ఩ֶ w ͨͩ͠

    ʮڞ௨͔ͩΒڞ௨Խʯ ͸ѱखͰ͋Δύλʔϯ͕ଘࡏ ҙࢥܾఆলུεΩʔϜ
  53. wʮҰॹ͔ͩͬͨΒڞ௨Խ͠·ͨ͠ʯ  w ຊ࣭తʹ͸ҰॹͰ͸ͳ͍έʔε͕͋Δ w ࠓݟ͑ͯΔൣғͰͨ·ͨ·Ұகͨ͠ʹա͗ͳ͍ ҙࢥܾఆলུεΩʔϜ

  54. wʮͭͷΫϥεͰɺ ͍͔ͭ͘ͷϓϩύςΟ໊͕ಉͩͬͨ͡ͷͰɺ 
 ڞ௨Ϋϥεʹͯ͠ܧঝ͓͖ͯ͠·ͨ͠ʯ  w ΍Ίͨ΄͏͕͍͍ w ܧঝ͸େ൒ͷέʔεͰෆཁ w

    ػೳڞ௨ԽΛ໨తͱͨ͠ܧঝ͸εύήςΟ ϝʔΧʔ w ίϯϙδγϣϯΛ࢖͏ ҙࢥܾఆলུεΩʔϜ
  55. w υϝΠϯۦಈઃܭ w %%% %PNBJO%SJWFO%FTJHO  w Ҋ݅Ͱѻ͍ͬͯΔ՝୊͸ͳΜͳͷ͔ݟͭΊ௚͖͔͚ͬ͢ w υϝΠϯϞσϧͱ͍͏ཻ౓Ͱͷߟ͑ํ͕਎ʹͭ͘

    ҙࢥܾఆলུεΩʔϜ
  56. w ϑϩϯ τΤϯ υͰ࠾༻͢Δͷ͸ਖ਼௚೉͍͠ w ࣍ͷঢ়گͰ͸͏ · ͘ճΒͳ͍ w όοΫΤϯ

    υଆͷݱঢ়͕%%%ʹແ಴ண w όοΫΤϯ υ͕ϑϩϯ τΤϯ υͱͷίϛϡχέʔγϣϯԼʹແ͍
 ʢผձࣾͳͲʣ  w ࢓༷ͷશ༰Λཧղ͍ͯ͠Δਓ͕օແ ҙࢥܾఆলུεΩʔϜ
  57. w υϝΠϯۦಈઃܭʹग़ͯ͘ Δख๏ͷҰ෦Λഈआ w %%%Λ ʮ׬ᘳʹʯ ࠾༻͢Δʹ͸ɺ ͔ͳΓશମతͳҙࢥ౷Ұ͕ඞཁ w ׬ᘳʹ࠾༻͠Α

    ͏ ͱ͠ͳ͍ w %%%΍ɺ ͦͷؔ࿈ٕज़ͷதͰ༗༻ͱ͞Ε͍ͯΔ΋ͷΛ࠾༻͢Δ ҙࢥܾఆলུεΩʔϜ
  58. w $234 $PNNBOE2VFSZ3FTQPOTJCJMJUZ4FHSFHBUJPO  w %C$ %FTJHOCZ$POUSBDU  w ΦϒδΣΫ

    τࢦ޲ΤΫααΠζ w ϢϏΩλεݴޠ w ͓·͚ ɿ Ϧʔμϒϧίʔ υʹै͏ ҙࢥܾఆলུεΩʔϜ
  59. w $234 $PNNBOE2VFSZ3FTQPOTJCJMJUZ4FHSFHBUJPO  w %C$ %FTJHOCZ$POUSBDU  w ΦϒδΣΫ

    τࢦ޲ΤΫααΠζ w ϢϏΩλεݴޠ w ͓·͚ ɿ Ϧʔμϒϧίʔ υʹै͏ ҙࢥܾఆলུεΩʔϜ
  60. ҙࢥܾఆলུεΩʔϜ όοΫΤϯ υ ϒϥ΢βͷը໘ ݱ୅తϑϩϯ τΤϯυͷຊ࣭ ͍͍ײ͡ʹϢʔβૢ࡞Λ ϦΫΤε τ͍ͨ͠ˠ ˡ͍͍ײ͡ʹ+40/Λඳը͍ͨ͠

  61. ҙࢥܾఆলུεΩʔϜ όοΫΤϯ υ ϒϥ΢βͷը໘ 7JFX૚ 3FQPTJUPSZ૚ ͜͜Λ ˡ͍͍ײ͡ʹˠ ࡞Γ͍ͨ ͭ·

    Γ ʁ
  62. ʁ όοΫΤϯ υ ϒϥ΢βͷը໘ 7JFX૚ 3FQPTJUPSZ૚ ҙࢥܾఆলུεΩʔϜ ϨΠϠʔͰߟ͑Δ

  63. όοΫΤϯ υ ϒϥ΢βͷը໘ 7JFX૚ 3FQPTJUPSZ૚ ҙࢥܾఆলུεΩʔϜ 3FBE.PEFM 8SJUF.PEFM 3FBE.PEFMͱ8SJUF.PEFMΛࠞಉࢹ͠ͳ͍ "QQMJDBUJPO૚

    .FEJBUPSύλʔϯͱ૬ੑ͕͍͍
  64. w Ϧ ϑΝΫλ Ϧ ϯάઃܭ w ॱং΍ख๏ͷۛຯ͕ඞཁ w ҋӢʹ௚͢Ͱ͸μϝ த௕ظઃܭϑΣʔζͰͷରࡦ

  65. ೥ʹ։࢝ͨ͠ ौ୩Ӻͷ࠶։ൃ޻ࣄ͸ ೥ʹ׬ྃ༧ఆ

  66. w ौ୩Ӻͷ࠶։ൃ͸Ұ൩ͰऴΘΒͳ͍ w Ϧ ϑΝΫλ Ϧ ϯά΋Ұ൩ͰऴΘΒͳ͍ w Կ͕ෆศͳͷ͔ٞ࿦͢Δ w

    ͳͥϦ ϑΝΫλ Ϧ ϯά͢΂͖ͳͷ͔ݕ౼͢Δ w وॏͳ޻਺Λඅ΍ͨ͢Ίɺ ϖΠ ϥΠϯΛ൑அ த௕ظઃܭϑΣʔζͰͷରࡦ
  67. w Ϧ ϑΝΫλ ϦϯάΛ໨తʹ͢Δͳ w खஈͷ໨తԽΛආ͚Δ w ΤϯδχΞͷຬ଍ͷͨΊ͚ͩͰਐΊͳ͍ w Ϧ

    ϑΝΫλ Ϧϯάͷઌʹ໨తΛ࣋ͯ w νʔϜͷڞ௨ͷ໨త͸ ʁ  w ྑ͖ϓϩμΫ τΛ࡞Γ඼࣭ΛߴΊଓ͚Δ͜ͱ த௕ظઃܭϑΣʔζͰͷରࡦ
  68. ୹ظઃܭϑΣʔζͰͷରࡦ

  69. w ಛఆͷը໘ͷಛఆͷݕࡧϑ ΥʔϜ w (PPHMFϚοϓͱ࿈ܞ͢Δίϯϙʔωϯ τ w 47(ϥΠ ϒϥ ϦΛซ༻ͨ͠ંΕઢάϥ

    ϑͷඳը ୹ظઃܭϑΣʔζͰͷରࡦ
  70. w ୹ظઃܭ͸Ϡό͘ͳ͍ w ରࡦͷجૅ֓೦͸த௕ظઃܭͱಉ༷ w ͜ͷϑΣʔζͷར఺͸είʔϓ͕খ͍͜͞ͱ w ࡞Δલ͔ΒͲ͏͢Ε͹ࣺͯΒΕΔ͔Λҙ࣮ࣝͯ͠૷ ୹ظઃܭϑΣʔζͰͷରࡦ

  71. w ࣺͯΔͱ͸ w ·ͣେલఏͱͯ͠ӨڹൣғΛด͡Δ w Өڹൣғ͕ด͍ͯ͡Ε͹
 ಉ༷ͷΠϯλϑΣʔεΛ࣋ͭ΋ͷͱऔΓସࣺ͑ͯͯΒΕΔ w ࣺͯΔͱ͍͏ ͱ෺૽͕ͩɺ

    ίʔ υʹ͓͚Δ৽௠୅ँͷ͜ͱ ୹ظઃܭϑΣʔζͰͷରࡦ
  72. w Өڹൣғ͕ಛఆͰ͖ͳ͍΋ͬͯͷ΄͔ͷྫ w ଞͷίϯϙʔωϯ τͷ஋Λॻ͖׵͑Δ w άϩʔόϧม਺Λ࢖͍ͬͯΔ w ਆΫϥεͷϝϯό΋ಉࡑ w

    γϯάϧ τϯͷѻ͍ʹ΋஫ҙ ୹ظઃܭϑΣʔζͰͷରࡦ
  73. w νʔϜ࣏ࣗͷจ຺Ͱ͍͏ ͱ w ʮத௕ظઃܭ͸ۤखʯ ͱ͍͏ ϝϯόʔʹ͸୹ظઃܭΛ೚͢ w ୹ظઃܭʹ͓͚Δྑ͠ѱ͠͸த௕ظઃܭʹڧ͍ऀ͕ϨϏϡʔ w

    ৴པ͸ͯ͠ɺ ͦΕͰ΋͍͟ͱͳͬͨΒશऔͬସ͑Ͱ͖Δঢ়گ ୹ظઃܭϑΣʔζͰͷରࡦ
  74. w ͨͱ͑͹ w 7VFKTͷಛఆͷίϯϙʔωϯ τ಺ͷ࣮૷͸σβΠφʔʹ೚ͤΔ w ͨͩ͠Πϕϯ τͷૹड৴पΓ͸ΠϯλϑΣʔεΛఆΊͯن໿Խ w 3FBDU)PPLTΛ࢖ͬͯίϯϙʔωϯ

    τ಺3FEVDFSʹด͡Δ w 3FEVYcombineReducersͷංେԽΛճආ ୹ظઃܭϑΣʔζͰͷରࡦ
  75. w ϩδοΫΛॻ͘ࡍ͸ςε τ͠΍͍࣮͢૷Ͱ͋Δ΂͖ w ςε τ͕ॻ͖ʹ͍࣮͘૷ʹ͸Կ͔໰୊͕જΜͰ͍Δ w Ξϯνύλʔϯͷʹ͓͍ w ʮಛఆͷॲཧΛςε

    τ಺Ͱ࣮ߦ͢Δͱෆ౎߹͕͋Γ ·͢ʯ  w ʮςε τίʔ υΛॻͨ͘Ίͷ४උίʔ υ͕௕͍Ͱ͢ʯ ୹ظઃܭϑΣʔζͰͷରࡦ
  76. w ίʔ υ͸ ʢ૬ରతʹʣ ݹ͘ͳΔ w ֎తཁҼϥΠ ϒϥ Ϧͷਐาɺ ৽"1*௥Ճɺ

    ഁյతมߋ w ಺తཁҼҊ݅ͷ࢓༷มߋɺ ߟྀ࿙Εൃ֮ɺ ࣗ਎ͷεΩϧ޲্ ୹ظઃܭϑΣʔζͰͷରࡦ
  77. w ݹ͘ͳͬͨίʔ υ͸ੜ࢈ੑΛԼ͛Δ͜ͱʹͳΔ w ੜ࢈ੑ͕ҡ࣋Ͱ͖ͳ͍ͱ͖ʹࣺͯΔ w νʔϜͷϞνϕʔγϣϯҡ࣋ͷͨΊʹࣺͯΔબ୒΋͋Γ͑Δ w ੜ࢈ੑ͕ҡ࣋Ͱ͖ΔΑ ͏ͳߏ଄ͷ΋ͷʹमਖ਼PSࠩ͠ସ͑

    w ࣺͯΔͷ͸खஈͷͻͱͭ w खஈͷ໨తԽʹͳΒͳ͍Α ͏஫ҙ ୹ظઃܭϑΣʔζͰͷରࡦ
  78. w ୹ظઃܭͱத௕ظઃܭͷݟۃΊ w ֎໺͔Βฉ͖͑ͯͨ͜Βܯռ͢Δ಺༰ w ʮ͜͜Λฤूͨ͠Βɺ ͬͪ͜ͷද͕ࣔมΘΓ ·͢ʯ  w

    ʮ͜ͷ஋͸MPDBM4UPSBHFʹ֨ೲ͓ͯ͘͠ඞཁ͕͋Γ ·͢ʯ  w Өڹൣғ͕ಛఆͷڱ͍είʔϓʹด͡ͳ͘ͳ్ͬͨ୺
 ࢹ࠲Λ ʮ؆୯ʹࣺͯΒΕͣෛ࠴Խ͍ͯ͘͠ ΋ͷʯ ʹ੾Γସ͑Δ ୹ظઃܭϑΣʔζͰͷରࡦ
  79. w ͋ͱ͔Βͦ͏͍͏ཁ͕݅௥Ճ͞Εͦ͏ͳͱ͖͸צʹཔΔ w ͍ΘΏΔ ʮϠόͦ͏ͳʹ͓͍͕͢Δཁ݅ʯ  w ൑அʹ໎͏ͳΒ҆શଆʹ౗͢ w ա৒࣮૷͸:"(/*ʹ֘౰͢Δ

    w ઌճΓ࣮૷Λ͢ΔͷͰ͸ͳ͘ɺ ֦ுͷ༨஍Λ࢒͢ͷΈͱ͢Δ ୹ظઃܭϑΣʔζͰͷରࡦ
  80. େن໛ܦݧ͔Βݟ͖͑ͯͨઃܭͱ͸

  81. w ϑϩϯ τΤϯ υʹ͓͍ͯઃܭͱ͸ w ඼࣭ҡ࣋ͱੜ࢈ੑҡ࣋ʹਚྗ͢Δ͜ͱ w কདྷͷ͜ͱ͸ݱ࣌఺ͰಘΒΕΔݶΓͷࣄ࣮Λ૯߹ͯ͠ݟӽ͢ w ະདྷͷ͜ͱ͸෼͔Βͳ͍ͷͰઌճΓͤͣ༨༟Λ͚࣋ͭͩͱ͢Δ

    w ԾʹϨϏϡʔ͕ͳ͚Ε͹શһࠜ͸ߦّ͕ѱ͍ͱࢥͬͨ΄͏͕Α͍ େن໛ܦݧ͔Βݟ͖͑ͯͨઃܭͱ͸
  82. ϑϩϯ τΤϯ υͷ࣏҆͸͋ͳͨʹΑͬͯकΒΕ·͢ɻ 
 ྑ͖ ϨϏϡʔΛ͠ɺ ྑ͖࢓૊ΈΛઃܭ͍ͯͩ͘͠͞ɻ

  83. 5IBOLZPV https://pixabay.com/en/refresh-update-icon-reload-renew-525698/ https://pixabay.com/en/programmer-typing-silhouette-ceo-3606210/ https://www.photo-ac.com/main/detail/1844325