Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RSpec概論

 RSpec概論

RSpecを触る前に僕が知っておきたかったこと

shiraki hirotomo

September 14, 2018
Tweet

Other Decks in Programming

Transcript

  1. 34QFD֓࿦
    कΓ΍͍͢ςετίʔυͷϧʔϧ5*14

    View Slide

  2. ΞδΣϯμ
    ࣗݾ঺հ
    34QFD֓ཁ
    جຊػೳ
    ޙʑࠔΓ͕ͪͳΞϯνϚφʔ
    ςετ࣌ؒΛ୹͘͢Δ
    ·ͱΊʙ͜ͷ͚̎ͭͩकΕ͹͖ͬͱʙ

    View Slide

  3. ͸͡Ίʹ
    ʮςετॻ͍ͨ͜ͱͳ͍ʂʯ
    ʮςετௐ΂͚ͨͲɺ΍ͬͨ͜ͱͳ͍ʂʯ
    ʮςετॻ͍ͯΈ͚ͨͲͬ͘͠Γ͖ͯͳ͍ʂʯ
    ੄໺Λ޿͛ͨͷͰɺίʔυΑΓ΋࿩͕ଟΊͰ͢ɻ

    View Slide

  4. ࣗݾ঺հ
    ໊લɿന໦޺๎
    ձࣾɿגࣜձࣾϕʔγοΫʢ৽ଔ̏೥໨ʣ
    ͞ΘͬͯΔ͜ͱɿ3BJMT "84
    RJJUBͱ͔UXJUUFSͱ͔ͷ*%ɿOBNJUPQ
    झຯɿϑΥʔτφΠτ

    View Slide

  5. ࣗݾ঺հ
    ࣗ෼ͷ஌ࣝͷ੔ཧͱ
    34QFDʹ͍ͭͯ஌Βͳ͍ൃݟ͕͋Ε͹ͱࢥ͍
    ࠓճͷษڧձͷ಺༰ʹ͠·ͨ͠ɻ

    View Slide

  6. ͜Ε͔Βઆ໌͢Δ͜ͱ͸ɺ
    ͜Μͳײ͡ͷ؀ڥͷਓ͕΍͖ͬͯͨ3TQFDͳͷͰ
    ΋͔ͨ͠͠Βઌೖ؍͕͋Δ͔΋͠Εͳ͍ͷͰɺ
    ͲΜͳαʔϏεʹؔΘ͖͔ͬͯͨͷઆ໌

    View Slide

  7. ձࣾͰ΍͖ͬͯͨ͜ͱ
    &$αΠτͷ঎඼؅ཧαΠτʢ಺෦ʣ࡞Γม͑
    ϝσΟΞαΠτอकӡ༻
    ࢿྉ੥ٻαΠτ৽ن
    ӳձ࿩ڭࣨݕࡧαΠτ৽ن
    ࢿྉ੥ٻαΠτอकӡ༻

    View Slide

  8. ձࣾͰ΍͖ͬͯͨ͜ͱ
    ͲΕ΋

    View Slide

  9. ձࣾͰ΍͖ͬͯͨ͜ͱ
    ̍ඵͰ΋མͪͨΒαʔϏε͕੒Γཱͨͳ͍ɾɾɾ

    View Slide

  10. ձࣾͰ΍͖ͬͯͨ͜ͱ
    ͱ͔Ͱ͸ͳ͍ɻ

    View Slide

  11. ձࣾͰ΍͖ͬͯͨ͜ͱ
    ͲΜͲΜػೳͷ௥Ճɾमਖ਼ͱ͔͠΍͍͢؀ڥ

    View Slide

  12. ձࣾͰ΍͖ͬͯͨ͜ͱ
    ͦΜͳ؀ڥͰςετίʔυΛॻ͍͖ͯ·ͨ͠

    View Slide

  13. ஫ҙ
    ԿΛςετ͢Ε͹͍͍ͷ͔
    ͲΕ͘Β͍ςετ͢Ε͹͍͍ͷ͔ͱ͔ʹ
    ʮઈର͜ΕʯΈ͍ͨͳ΋ͷ͕ͳ͍

    View Slide

  14. ஫ҙ
    34QFDͷϧʔϧʹ͍ͭͯߟ͑ͨ͜ͱΛ
    આ໌͍͖ͯ͠·͕͢
    Ұ൪ྑ͍ϧʔϧ͸
    ن໛ͱ͔αʔϏεՔಇ཰ͱ͔Λ౿·͑ͯ
    νʔϜϝϯόʔͱ૬ஊܾͯ͠ΊΔͷ͕ϕετ

    View Slide

  15. 34QFD֓ཁ
    " lςετzͷछྨ
    # ̎େςετϑϨʔϜϫʔΫ

    View Slide

  16. "lςετzͷछྨ
    2"ςετ
    σΟϨΫλʔςετ
    ։ൃςετ

    View Slide

  17. ͦΕͧΕ໾ׂ͕ҧ͏

    View Slide

  18. ʮͲΕ͙Β͍ςετ͢Ε͹͍͍ͷʁʯ

    View Slide

  19. ͜ΕΛߟ͑ΔͨΊʹ͓͓͑ͯ͘͞

    View Slide

  20. 2"ςετ
    2VBMJUZ"TTVSBODFʢ඼࣭อূʣ
    αʔϏε඼࣭Λอূʢόάɺૢ࡞ײʣ
    ˎ࡞ۀޮ཰ԽͷͨΊɺ͜͜Ͱ34QFD࢖ͬͯΔձࣾ΋
    ͋ΔΒ͍͠

    View Slide

  21. σΟϨΫλʔςετ
    JTTVF௨Γʹ࣮૷͞Ε͍ͯΔ͔νΣοΫ
    ˎόάΛ໢ཏతʹνΣοΫ͢ΔΑ͏ͳ໾ׂͰ͸ͳ͍

    View Slide

  22. ։ൃςετ
    ։ൃऀ͕։ൃ͠΍͍ͨ͢Ίʹߦ͏ςετ
    ˎࣗ෼͸͜ͷύʔτͰΑ͘34QFD࢖͖ͬͯ·ͨ͠

    View Slide

  23. ̏ͭͷςετ
    ͜ΕΒ̏ͭͷςετͷॅΈ෼͚͕େࣄ
    ԿΛ34QFDͰ୲อ͢Δͷ͔

    View Slide

  24. ։ൃςετʹ͓͚Δ34QFD
    ୲อ͢Δ΋ͷ
    શϖʔδɺਖ਼ৗʹΞΫηεͰ͖Δ͔
    શϝιουɺશΞΫγϣϯʹςετΛߦ͏
    ى͜Γ͑ͳ͍ೖྗΛ༧૝ͯ͠ςετ

    View Slide

  25. ։ൃςετʹ͓͚Δ34QFD
    ୲อ͢Δ΋ͷ
    શϖʔδɺਖ਼ৗʹΞΫηεͰ͖Δ͔
    શϝιουɺશΞΫγϣϯʹςετΛߦ͏
    ى͜Γ͑ͳ͍ೖྗΛ༧૝ͯ͠ςετ
    ͠·ͤΜ

    View Slide

  26. ։ൃςετʹ͓͚Δ34QFD
    ओʹҎԼೋͭΛ୲อ͢Δ
    ϛε͕ى͜Γ͕ͪͳϩδοΫ
    ϏδωεతʹಛʹॏཁͳϩδοΫ

    View Slide

  27. ։ൃςετʹ͓͚Δ34QFD
    ϛε͕ى͜Γ͕ͪͳϩδοΫ
    ෳࡶͳϩδοΫ
    αʔϏεͷ޿͍ൣғͰ࢖ΘΕ͍ͯΔϩδοΫ

    View Slide

  28. ։ൃςετʹ͓͚Δ34QFD
    ϏδωεతʹಛʹॏཁͳϩδοΫ
    ੥ٻؔ܎
    $7ϑϩʔ

    View Slide

  29. ։ൃςετʹ͓͚Δ34QFD
    5*14୲อ͢Δ΋ͷΛߜΔ

    View Slide

  30. #̎େςετϑϨʔϜϫʔΫ
    NJOJUFTU
    34QFD

    View Slide

  31. γϯϓϧ
    ϐϡΞ3VCZ
    ଟػೳ
    υΩϡϝϯτ෩
    NJOJUFTU 3TQFD

    View Slide

  32. NJOJUFTU 3TQFD

    View Slide

  33. NJOJUFTUͱ34QFD
    NJOJUFTU͸γϯϓϧ͕͞ਓؾ
    34QFD͸ߴػೳͳͷͰਓؾ
    ϑϨʔϜϫʔΫʹΑΔ଎౓ͷҧ͍͸ߟ͑ͳ͍͍ͯ͘
    3TQFDͷ΄͏͕೔ຊޠͷهࣄ͕ଟ͍ͷͰ͓͢͢Ί

    View Slide

  34. جຊػೳ
    ̏ͭͷTQFDͷ໾ׂʢNPEFM DPOUSPMMFS SFRVFTUʣ
    JUͱFYQFDU
    EFTDSJCFͱDPOUFYU
    GBDUPSZ
    USBJU
    TUVC

    View Slide

  35. ͪͳΈʹ
    υΩϡϝϯτ͸͜͜
    IUUQSTQFDJOGPEPDVNFOUBUJPOSTQFDSBJMT

    View Slide

  36. "̏ͭͷTQFDͷ໾ׂ
    NPEFMTQFD
    Ϟσϧͷϝιου୯ҐͰͷςετ
    ϞσϧͷόϦσʔγϣϯςετ
    DPOUSPMMFSTQFD ඇਪ঑

    BDUJPOͷΠϯελϯεม਺ͷ஋Λςετ
    ࢦఆͷVSMɺҙਤ͢ΔSFTQPOTFʹͳ͍ͬͯΔ͔ςετ
    SFRVFTUTQFD
    ࢦఆͷVSMɺҙਤ͢ΔSFTQPOTFʹͳ͍ͬͯΔ͔ςετ

    View Slide

  37. DPOUSPMMFSTQFDඇਪ঑
    IUUQSTQFDJOGPCMPHSTQFDIBTCFFOSFMFBTFE
    SBJMTTVQQPSUGPSSBJMT
    SFRVFTUTQFDͰ͸ɺίϯτϩʔϥͷͭͷΞΫγϣϯʹूதͰ͖·
    ͕͢ɺίϯτϩʔϥςετͱ͸ҟͳΓɺϧʔλɺϛυϧ΢ΣΞελο
    ΫɺϥοΫͷϦΫΤετͱϨεϙϯεͷ྆ํ͕ඞཁͰ͢ɻ͜Ε͸ɺ
    ͋ͳ͕ͨॻ͍͍ͯΔςετʹݱ࣮ײΛ༩͑ɺDPOUSPMMFSTQFDʹڞ
    ௨͢Δଟ͘ͷ໰୊Λճආ͢Δͷʹ໾ཱͪ·͢ɻ
    ެࣜ௚༁

    View Slide

  38. NPEFMTQFDͱSFRVFTUTQFD
    ࢖͍෼͚
    NPEFMTQFD͸σʔλΛςετ͢Δ
    SFRVFTUTQFD͸ݟͨ໨Λςετ͢Δ

    View Slide

  39. FYZBNBEBͰදࣔͯ͠Δ͔ςετ

    View Slide

  40. NPEFMTQFD͸σʔλΛ
    ਖ਼͍͠஋ͰΦϒδΣΫτੜ੒Ͱ͖Δ͔
    IFMMPϝιου͕ػೳ͍ͯ͠Δ͔ʁ
    ͳͲ

    View Slide

  41. SFRVFTUTQFD͸ݟͨ໨Λ
    ZBNBEBʹΞΫηεͰ͖Δ͔
    ϖʔδཁૉʹzZBNBEBͰ͢ɻzͱ͍͏

    ςΩετ͕ଘࡏ͢Δ͔
    ͳͲ

    View Slide

  42. TQFDΛॻ͘લͷԼ४උ
    ςετ͠΍͍͢.7$ʹ͢Δ
    ϝιουͷҾ਺΍ฦΓ஋ͷܕΛἧ͑Δ
    WJFXͰม਺ͷఆٛͨ͠Γ࠶୅ೖͨ͠Γ͠ͳ͍
    ΊͬͪΌWJFXʹ෼ذ͕ॻ͍ͯ͋ΔͷΛ΍ΊΔ

    View Slide

  43. "̏ͭͷTQFDͷ໾ׂ
    5*14DPOUSPMMFSTQFD࢖Θͳ͍
    5*14NPEFMTQFDͰσʔλͷऔಘɾ੔ܗΛςετ
    5*14SFRVFTUTQFDͰσʔλͷදࣔΛςετ

    View Slide

  44. #JUͱFYQFDU

    View Slide

  45. View Slide

  46. View Slide

  47. View Slide

  48. View Slide

  49. $DPOUFYUͱEFTDSJCF

    View Slide

  50. View Slide

  51. View Slide

  52. View Slide

  53. View Slide

  54. EFTDSJCF DPOUFYU JU
    EFTDSJCFɿϝιου୯ҐͳͲͷ·ͱ·ΓͰғΉ
    DPOUFYUɿ৔߹෼͚ͰғΉ
    JUɿ࠷খ୯ҐͰғΉ

    View Slide

  55. EFTDSJCF DPOUFYU JU
    5*14
    EFTDSJCF DPOUFYU JUΛ࢖ͬͯυΩϡϝϯτ෩ʹॻ͘

    View Slide

  56. ͪͳΈʹ

    View Slide

  57. ͲͬͪͰ΋PL
    ˎ͜ͷ৔߹͸DPOUFYUͷ΄͏͕͍͍͚ͲΤϥʔͱ͔ʹ͸ͳΒͳ͍

    View Slide

  58. ߦ਺ࢦఆ࣮ͯ͠ߦ
    ASTQFDϑΝΠϧ໊ߦ൪߸AͰ࣮ߦ

    View Slide

  59. %CFGPSFͱMFU

    View Slide

  60. View Slide

  61. JU಺Λ؆ܿʹ͢ΔͨΊʹ

    View Slide

  62. View Slide

  63. View Slide

  64. MFUͱMFU

    View Slide

  65. MFUͱMFU
    w MFU஗ԆධՁɻʢJU಺Ͱݺ͹ͳ͍ͱ࣮ߦ͞Εͳ͍ʣ
    w MFU֤JU͝ͱͷ࣮ߦલʹධՁɻCFGPSFͱҰॹ

    View Slide

  66. View Slide

  67. View Slide

  68. MFUͱCFGPSFͷ࢖͍෼͚
    JU಺Ͱࢀর͢Δ͔Ͳ͏͔
    MFUͷ৔߹͸ɺJU಺Ͱࢀর͢Δ
    CFGPSFͷ৔߹͸ɺJU಺Ͱࢀর͠ͳ͍

    View Slide

  69. %CFGPSFͱMFU
    5*14CFGPSF MFUͰJU಺Λγϯϓϧʹ
    5*14CFGPSFͰࢀর͠ͳ͍Ϩίʔυͱ͔Λࣄલ४උ
    5*14MFUͰJU಺Ͱࢀর͢Δ஋Λࣄલ४උ

    View Slide

  70. %GBDUPSZ

    View Slide

  71. %GBDUPSZ
    6TFS
    OBNFඞਢ
    CJSUIQMBDFඞਢ
    CJSUIEBZඞਢ
    UFMඞਢ
    KPCඞਢ

    View Slide

  72. View Slide

  73. σϑΥϧτͷ஋Λ༻ҙ͢Δ

    View Slide

  74. View Slide

  75. JU಺Ͱҙࣝ͢Δ͜ͱΛߜΕΔ
    6TFSΦϒδΣΫτ࡞੒͢Δ
    6TFSIFMMP͕ਖ਼͘͠ಈ࡞͍ͯ͠Δ͔

    View Slide

  76. %GBDUPSZ
    5*14ΦϒδΣΫτΛ࡞ΔͨΊͷهड़ΛݮΒ͢

    View Slide

  77. %TUVC
    ϞσϧͷϝιουΛ্ॻ͖͠ɺฦΓ஋ΛݻఆͰ͖Δ

    View Slide

  78. %TUVC

    View Slide


  79. Ϋϥεɿ1SFG
    ϝιουɿEJTUBODF QSFG QSFG

    "1*ɿ(PPHMF.BQ"1*

    View Slide

  80. View Slide

  81. ͜ͷςετͷԿ͕໰୊ʁ

    View Slide

  82. ̎ͭͷϝιουΛςετͯ͠Δ
    ͜ͷςετͰ
    ʮݝͷڑ཭Λࢉग़͢Δʯ
    ʮ(PPHMF.BQ"1*͕ݝͷҐஔ৘ใΛࢉग़͢Δʯ

    View Slide

  83. ͭ·Γɾɾɾ
    ʮ(PPHMF.BQ"1*ʯ͕͚͜Δͱ
    1SFGEJTUBODFͷܭࢉ͕ਖ਼ͯ͘͠΋͚͜Δ

    View Slide

  84. ςετର৅ͷϝιου͚ͩͰ
    ⭕ʮݝͷڑ཭Λࢉग़͢Δʯ
    ❌ʮ(PPHMF.BQ"1*͕ݝͷҐஔ৘ใΛࢉग़͢Δʯ

    View Slide

  85. ͜͏ͩͱ͢Δͱɾɾɾ
    (PPHMF.BQ"1*TFBSDI
    Ҿ਺ͷݝͷҐஔ৘ใΛऔಘ͢Δ

    View Slide

  86. BMMPX PCK
    UPSFDFJWF NFUIPE
    XJUI BSH
    BOE@SFUVSO WBMVF

    BMMPX PCK
    UPSFDFJWF NFUIPE
    BOE@SFUVSO WBMVF

    View Slide

  87. ର৅ͷΈͷςετʹͳΔ
    1SFGEJTUBODFͷΈͷςετ
    ΋͠(PPHMF.BQ"1*ଆͰ͚ͯͯ͜΋ςετ͕௨Δ
    ͳ͚͔ͥͨ͜ͷௐࠪͷ͕࣌ؒল͚Δ

    View Slide

  88. %TUVC
    5*14ςετର৅ʹͳΔϝιουΛߜΔ

    View Slide

  89. TUVCͱNPDL
    εΩοϓ
    ࢀߟɿ
    IUUQKBOHBKBODPNCMPHFYQFDU
    BOEBMMPXJOSTQFD

    View Slide

  90. ΞϯνϚφʔ
    " EFTDSJCFɺDPOUFYUɺJUͷ࢖͍ํ
    # MFU CFGPSFͷҐஔʢEFTDSJCFͷ֎ʹग़͞ͳ͍ʣ
    $ ్தͰVQEBUF
    % ฒͼॱܥϝιουͰ΍Γ͕ͪͳςετ

    View Slide

  91. "EFTDSJCFɾDPOUFYUɾJU
    Ͳ͏͍͏෩ʹͰ΋ॻ͚Δ

    View Slide

  92. View Slide

  93. ͜ΕͰΤϥʔ͕ى͖Δͱ
    AFYQFDU
    UPFRAʹͯ͠ΈΔ

    View Slide

  94. View Slide

  95. w AAҎ͕߱FYQFDUͰ͖͍ͯͳ͍

    View Slide

  96. "EFTDSJCFɾDPOUFYUɾJU
    JU಺ͰԿݸ΋FYQFDU͠ͳ͍
    ్தͰ͚͜Δͱςετ͕தஅͯ͠͠·͏
    FYQFDU͕ଟ͍ͱԿ͕ਖ਼ৗ͔෼͔ΓͮΒ͍

    View Slide

  97. ࠷খ୯ҐΛJUͰғΉ

    View Slide

  98. View Slide

  99. ΋ͬͱ෼͔Γ΍͘͢

    View Slide

  100. l·ͱ·ΓzΛEFTDSJCFͰ
    l৔߹෼͚zΛDPOUFYUͰ

    View Slide

  101. View Slide

  102. Կ͕͍͍ͷʁ
    Τϥʔى͖ͨ࣌ͷείʔϓΛখ͘͞Ͱ͖Δ
    ྫ͑͹ɺAAʹͳΓ͚ͨ͜ͱ͖
    ෦෼తʹࣺͯ΍͍͢
    ྫ͑͹ɺՃ๏ϝιουΛશ࡟আͨ͠ͱ͖

    View Slide

  103. "EFTDSJCFɾDPOUFYUɾJU
    5*14EFTDSJCFͰz·ͱ·ΓzΛғΉ
    5*14DPOUFYUͰz৔߹෼͚zΛғΉ
    5*14JUͰz࠷খ୯ҐzΛғΉ

    View Slide

  104. #MFU CFGPSFͷҐஔ

    View Slide

  105. View Slide

  106. l࢛ଇԋࢉz௚ԼʹMFU
    Ճݮ৐আͦΕͧΕͷςετ͕େ͖͘ͳΔͱ

    View Slide

  107. View Slide

  108. ͭΒ͍

    View Slide

  109. EFTDSJCFͷ֎ʹMFUΛग़͢ͱ
    ୯७ʹίʔυ͕ಡΈͮΒ͍
    είʔϓ͕޿͕ͬͯ͠·͏
    ͪͳΈʹɺա౓ͳڞ௨ԽΛͨ࣌͠ʹى͖΍͍͢ɻ

    View Slide

  110. #MFU CFGPSFͷҐஔ
    5*14EFTDSJCFͷ֎ʹMFUΛग़͞ͳ͍

    View Slide

  111. $్தͰVQEBUF

    View Slide

  112. View Slide

  113. ྫ͑͹ɺԿΒ͔ͷมߋ͕͋Γ
    MFU OVNCFS
    \^ʹ͢Δ͜ͱʹͳΓ·ͨ͠

    View Slide

  114. View Slide

  115. lQPJOUz͚͚ͩͯ͘͜Εͳ͍
    ଞͱҰ༷ʹมߋ͞Εͳ͍ͷͰݟམͱͯ͠͠·͏

    View Slide

  116. $్தͰVQEBUF
    5*14JU಺ͱ͔ͰVQEBUF͠ͳ͍

    View Slide

  117. %ฒͼॱܥϝιουͷςετ
    ͜Εʹ͍ͭͯ͸RJJUB
    IUUQTRJJUBDPNOBNJUPQJUFNT
    CGG⒎FEG

    View Slide

  118. ςετ࣌ؒΛ୹͘
    " ςετͷ਺ΛݮΒ͢
    # ແବͳϨίʔυΛ࡞Βͳ͍
    $ DSFBUFΑΓ΋CVJME
    % UFTURVFVFΛ࢖͏

    View Slide

  119. "ςετͷ਺ΛݮΒ͢
    ΧόϨοδΛ௥͏ඞཁ͕͋Δ͔ʁ
    SFRVFTUTQFDΛNPEFMTQFDʹஔ͖׵͑Εͳ͍
    ͔

    View Slide

  120. #ແବͳΠϯελϯε
    MFUɺCFGPSFͳͲͰ࡞͍ͬͯͳ͍͔
    GBDUPSZͰඥ෇͚͕ଟ͘ͳͬͯͳ͍͔

    View Slide

  121. $DSFBUFΑΓ΋CVJME
    DSFBUF͸ϞσϧΦϒδΣΫτ͕ੜ੒ͯ͠อଘ͢Δ
    CVJME͸ϞσϧΦϒδΣΫτΛੜ੒͢Δ

    View Slide

  122. % UFTURVFVF
    HFNIUUQTHJUIVCDPNUNNUFTURVFVF
    ςετΛฒྻ࣮ߦͰ͖Δ
    σϑΥϧτͷಉ࣮࣌ߦ਺͸$16ͷίΞ਺

    View Slide

  123. ·ͱΊ

    View Slide

  124. 34QFDશવ஌Βͳͯ͘΋

    View Slide

  125. αʔϏε͝ͱʹ34QFDͷϧʔϧ͕ಛʹͳͯ͘΋

    View Slide

  126. ؆୯ʹ࣮ݱՄೳͳ
    ࠷௿ݶͷ

    View Slide

  127. ϝϯςφϯε͠΍͍͢
    ςετίʔυʹ͢ΔͨΊͷ৺͕͚͸

    View Slide

  128. ͨͬͨ̎ͭ

    View Slide

  129. EFTDSJCF DPOUFYU JUΛਖ਼͘͠࢖͏
    EFTDSJCFͷ֎ʹMFUΛग़͞ͳ͍

    View Slide

  130. ͜ͷೋ͕ͭ࠷༏ઌ

    View Slide

  131. ͜ΕΛϕʔεʹ

    View Slide

  132. ։ൃςετͱͯ͠Ͳ͜·Ͱςετ͢Δ͔
    NPEFMTQFDͱSFRVFTUTQFDͷॅΈ෼͚
    JU಺ͰԿݸ΋FYQFDU͠ͳ͍
    ్தͰVQEBUF͠ͳ͍

    View Slide

  133. جૅ͔Β34QFDΛ஌Γ͍ͨ
    3TQFDʹΑΔ3BJMTςετೖ໳
    ిࢠॻ੶ͷΈ
    ҏ౻३Ұ͞ΜͷRJJUB
    #FUUFS4QFDT
    ͜ΕಡΈͳ͕Β͕͍͍͔΋ʮαϤφϥ#FUUFS4QFDT ʯ
    ެࣜυΩϡϝϯτ

    View Slide

  134. ΋ͬͱϝϯςφϯε͠΍͘͢
    Մಡੑͷߴ͍ςετίʔυΛॻͨ͘Ίͷ͓࡞๏ू
    IUUQTHJUIVCDPNXJMMOFUSTQFDTUZMFHVJEF

    View Slide