万葉のRails新人研修のコードレビューコメントを分析してみました

 万葉のRails新人研修のコードレビューコメントを分析してみました

Railsdm2019 でのトーク資料です。

---

(株) 万葉ではここ2年以上、新入社員教育用カリキュラム(https://github.com/everyleaf/el-training)を利用して、新入社員にRailsの研修を受けてもらっています

本トークでは、これまでの実際の研修で出された数々の Pull Request に社員が寄せたたくさんのコメントを、発話の目的やトピックといったいくつかの観点で分類し、傾向を紹介します。そして、初心者がRailsを学ぶ上で重要なポイントや、周囲がサポートするとよい点、レビューのコツなどについて考察します。

We have been carrying out our Rails training program for new employees for over 2 years in Everyleaf Corporation. In those trainings, many pull requests had been reviewed by other employees.

In this talk I'm going to introduce an analysis of code review comments of those pull requests and think about the important points in learning Rails, supporting beginners and code review styles.

B5689026d84bb3a823c82590eefc3b8f?s=128

Yasuko Ohba

March 22, 2019
Tweet

Transcript

  1. ສ༿ͷ3BJMT৽ਓݚमͷ ίʔυϨϏϡʔίϝϯτΛ ෼ੳͯ͠Έ·ͨ͠ "O"OBMZTJTPG$PEF3FWJFX$PNNFOUT JO0VS3BJMT5SBJOJOH1SPHSBN େ৔ೡࢠ:BTVLP0ICB !OBZ  

  2. "CPVU.F େ৔ೡࢠʢ͓͓͹΍͢͜ʣ :BTVLP0ICB !OBZ ϓϩάϥϚɾ3BJMTΤϯδχΞ "QSPHSBNNFS ג ສ༿୅දऔక໾ࣾ௕ 1SFTJEFOUPG&WFSZMFBG$PSQ

  3. "CPVU.F େ৔ೡࢠʢ͓͓͹΍͢͜ʣ :BTVLP0ICB !OBZ ϓϩάϥϚɾ3BJMTΤϯδχΞ "QSPHSBNNFS ג ສ༿୅දऔక໾ࣾ௕ 1SFTJEFOUPG&WFSZMFBG$PSQ ଉܧ͗ʹ

    ؾΛ͚ͭΔʂ *`MMSFNFNCFSUP CSFBUIFJOUIJT UBML
  4. ג ສ༿ &WFSZMFBG$PSQ 3BJMTΛத৺ͱͨ͠ ΤϯδχΞϦϯά ύʔτφʔ ೥૑ۀ 8F`WFCFFOQSPWJEJOHFOHJOFFSJOH QBSUOFSTIJQ EFWFMPQNFOUDPOTVMUJOH

     TFSWJDF NBJOMZVTJOH3VCZPO3BJMT TJODF
  5. ສ༿ͷ৽ೖࣾһڭҭ༻ΧϦΩϡϥϜ 0VS3BJMT5SBJOJOH1SPHSBNGPS/FX&NQMPZFFT https://github.com/everyleaf/el-training

  6. ೖࣾ͞Εͨํʹ λεΫ؅ཧΞϓϦΛ ΧϦΩϡϥϜʹԊͬͯ ։ൃͯ͠΋Β͍ɺϨϏϡʔ͢Δ "OFXFNQMPZFFEFWFMPQTBUBTL NBOBHFNFOUBQQMJDBUJPOBTUSBJOJOH $PNQBOZQFPQMFSFWJFXUIBUDPEF

  7. ϨϏϡʔ݁Ռ͸ ࢿ࢈ʹͳΔ͚Ͳ ಡΈฦͤͯ͸͍ͳ͔ͬͨ 8FLOFXUIPTFSFWJFXDPNNFOUT BSFWBMVBCMF CVUXFEJEOPUIBWF FOPVHIUJNFUPSFBEUIFNBHBJO

  8. ϨϏϡʔ݁ՌΛ ෼ੳ͢Ε͹ɺ ྑ͍͜ͱ͕͋Δ͸ͣ "OBMZTJTPGDPEFSFWJFXTNJHIU CSJOHTPNFHPPEGSVJUT

  9. ෼ੳ΁ͷظ଴ &YQFDUFE&GGFDUTPG"OBMZTJT ྑ͍։ൃऀΛޮ཰తʹҭ੒͢ΔͨΊ ͷώϯτΛಘΔ 8FDBOHFUTPNFIJOUTIPXUPTVQQPSUKVOJPS EFWFMPQFSTUPCFHPPETFOJPSEFWFMPQFST ΑΓྑ͍ίʔυϨϏϡʔΛͰ͖ΔΑ ͏ʹͳΔͨΊͷ஌ݟ͕ಘΒΕΔ 8FDBOMFBSOBCPVUDPEFSFWJFXNPSFEFFQMZ

  10. ͦ͜Ͱ 5IBU`TXIZ

  11. 3BJMTENͱ͍͏ ػձΛ׆͔ͯ͠ ෼ੳʹணखͯ͠Έͨ *EFDJEFEUPTUBSU BOBMZTJTPGUIFSFWJFXDPNNFOUT GPS3BJMTEN

  12. Ͳ͏෼ੳ͢Ε͹ʁ  )PX

  13. ΧϦΩϡϥϜͷ εςοϓ͝ͱʹ ॏ͍ɾ͍ܰͳͲ͕ ͋Γͦ͏ͩͳɾɾɾ *UTFFNTUIBUUSBJOJOHTUFQTNJHIUIBWF EJGGFSFOUEJGpDVMUJFT

  14. ΧϦΩϡϥϜͷεςοϓ 5IF4UFQTJOUIF5SBJOJOH1SPHSBN εςοϓ1: Railsͷ։ൃ؀ڥΛߏங͠Α͏ εςοϓ2: GitHubʹϦϙδτϦΛ࡞੒͠Α͏ εςοϓ3: RailsϓϩδΣΫτΛ࡞੒͠Α͏ εςοϓ4: ࡞Γ͍ͨΞϓϦέʔγϣϯͷΠϝʔδΛߟ͑Α͏

    εςοϓ5: σʔλϕʔεͷ઀ଓઃఆʢपลઃఆʣΛ͠Α͏ εςοϓ6: λεΫϞσϧΛ࡞੒͠Α͏ εςοϓ7: λεΫΛӾཡɾొ࿥ɾߋ৽ɾ࡟আͰ͖ΔΑ͏ʹ ͠Α͏ εςοϓ8: SQLʹ৮ΕͯΈΑ͏ εςοϓ9: E2EςετΛॻ͜͏ εςοϓ10: ΞϓϦͷ೔ຊޠ෦෼Λڞ௨Խ͠Α͏ εςοϓ11: RailsͷλΠϜκʔϯΛઃఆ͠Α͏ εςοϓ12: λεΫҰཡΛ࡞੒೔࣌ͷॱ൪Ͱฒͼସ͑Α͏ εςοϓ13: όϦσʔγϣϯΛઃఆ͠Α͏ εςοϓ14: σϓϩΠΛ͠Α͏ εςοϓ15: ऴྃظݶΛ௥Ճ͠Α͏ εςοϓ16: εςʔλεΛ௥Ճͯ͠ɺݕࡧͰ͖ΔΑ͏ʹ͠ Α͏ εςοϓ17: ༏ઌॱҐΛઃఆ͠Α͏ʢ※ྨࣅ࣮ͨ͠૷ܦݧ ͷ͋Δਓ͸লུՄʣ εςοϓ18: ϖʔδωʔγϣϯΛ௥Ճ͠Α͏ εςοϓ19: σβΠϯΛ౰ͯΑ͏ εςοϓ20: ෳ਺ਓͰར༻Ͱ͖ΔΑ͏ʹ͠Α͏ʢϢʔβͷ ಋೖʣ εςοϓ21: ϩάΠϯ/ϩάΞ΢τػೳΛ࣮૷͠Α͏ εςοϓ22: Ϣʔβͷ؅ཧը໘Λ࣮૷͠Α͏ εςοϓ23: ϢʔβʹϩʔϧΛ௥Ճ͠Α͏ εςοϓ24: λεΫʹϥϕϧΛ͚ͭΒΕΔΑ͏ʹ͠Α͏ εςοϓ25: ΤϥʔϖʔδΛద੾ʹઃఆ͠Α͏
  15. ୭͕ͲΜͳ໨తͰ ձ࿩Λ࢝Ίͯ ͍ΔͷͩΖ͏͔ʁ 8IPTUBSUTDPOWFSTBUJPO PO13JOXIBUQVSQPTF

  16. ίʔυͷͲΜͳ৔ॴ ʹ͍ͭͯձ࿩͕͞Εͯ ͍ΔͷͩΖ͏͔ʁ "CPVUXIBUQBSUPGDPEF EPQFPQMFUBMLBCPVU

  17. ձ࿩ͷഎܠʹ͸ ͲΜͳՁ஋؍͕ ͋ΔͷͩΖ͏͔ʁ 1FSIBQTTPNFJNQPSUWBMVFT XPVMECFTIBSFEJODPEFSFWJFXT

  18. ̎ܥ౷ͷσʔλΛ༻ҙ UZQFTPGEBUB  1VMM3FRVFTUT 13   13಺ͷίϝϯτ͔Βநग़͢Δʮ࿩୊ʯ ɹ5PQJDTSFUSJFWFEGSPNSFWJFXDPNNFOUTJO13T ̍ͭͷ࿩୊͋Δಠཱͨ͠ҙਤΛى఺ͱ͢Δ

    ձ࿩ 0OF5PQJD$POWFSTBUJPOJO0OF6OJRVF*OUFOU
  19. 13ͷ෼ੳ "OBMZTJTPG1VMM3FRVFTUT

  20. 13͔Βͷσʔλநग़ 8IBUEBUBDBOCFSFUSJFWFE  ॴଐεςοϓ 4UFQ  w εςοϓʹແؔ܎ͷ13͸લ13ͱಉ͡ͱΧ΢ϯτ  ॴཁ೔਺

    8PSLJOH%BZT  w ։࢝೔͔Βऴྃ೔·Ͱͷ೔਺͔Βٳ೔Λআ֎ w NFSHFE@POTUBSUFE@POIPMJEBZT  ίϛοτ਺ $PVOUPG$PNNJUT   ίϝϯτ਺ $PVOUPG$POWFSTBUJPO
  21. None
  22. ॴଐεςοϓ
 4UFQ

  23. ॴଐεςοϓ
 4UFQ ։࢝೔ TUBSUFE@PO

  24. ॴଐεςοϓ
 4UFQ ऴྃ೔ NFSHFE@PO ։࢝೔ TUBSUFE@PO

  25. ॴଐεςοϓ
 4UFQ ऴྃ೔ NFSHFE@PO ։࢝೔ TUBSUFE@PO ॴཁ೔਺
 8PSLJOH%BZT

  26. ॴଐεςοϓ
 4UFQ ऴྃ೔ NFSHFE@PO ίϛοτ਺ $PVOUPG$PNNJUT ։࢝೔ TUBSUFE@PO ॴཁ೔਺
 8PSLJOH%BZT

  27. ॴଐεςοϓ
 4UFQ ऴྃ೔ NFSHFE@PO ίϝϯτ਺ $PVOUPG$POWFSTBUJPO ίϛοτ਺ $PVOUPG$PNNJUT ։࢝೔ TUBSUFE@PO

    ॴཁ೔਺
 8PSLJOH%BZT
  28. ͜ΕΒͷ৘ใͷ εςοϓ͝ͱͷਪҠ 5SBOTJUJPOPG5IPTF13EBUB JO&BDI4UFQT

  29. ਓ෼Ͱ͖·ͨ͠ 8FNBOBHFEUPNBLF NFOUFFT`EBUB 4QFDJBMUIBOLTUP!DIJOBU[@

  30. ର৅ϝϯςΟʔ NFOUFFT .FOUFF" εΫʔϧͰ3BJMTΛֶΜͩܦݧ͋Γ ۀ຿Ͱ͸͸͡Ίͯ .FOUFF# 1)1Ͱͷ։ൃܦݧ͋Γ 3BJMTͷຊ֨త։ൃ͸͸͡Ίͯ .FOUFF$ ಠֶͰ3BJMTΛ͞Θͬͨܦݧ͋Γ

    ॳ৺ऀ -FBSOFE3BJMTJO BQSPHSBNNJOHTDIPPM /PFYQFSJFODFPGXPSLJOH BTBQSPHSBNNFS )BTFYQFSJFODFPG1)1 /PFYQFSJFODFPGGVMMTDBMF QSPHSBNNJOHVTJOH3BJMT )BTBMJUUMFFYQFSJFODF PG3BJMTJOIPCCZ "CFHJOOFS
  31. .FOUFF"

  32. ೉ॴ %JGpDVMU1BSUT

  33. ޙ൒ͷ΄͏͕͕͔͔࣌ؒΔ 5IFMBUUFSQBSUUBLFTNVDIUJNF

  34. લ൒͸খࠁΈ͚ͩͲձ࿩ස౓͸ߴ͍ 8FIBWFNPSFGSFRVFOUDPNNVOJDBUJPO JOFBSMZTUBHFUIBOUIFMBUUFSQBSU

  35. .FOUFF#

  36. ೉ॴ %JGpDVMU1BSUT

  37. ޙ൒ͷ΄͏͕͕͔͔࣌ؒΔ 5IFMBUUFSQBSUUBLFTNVDIUJNF

  38. લ൒͸খࠁΈ͚ͩͲձ࿩ස౓͸ߴ͍ 8FIBWFNPSFGSFRVFOUDPNNVOJDBUJPO JOFBSMZTUBHFUIBOUIFMBUUFSQBSU

  39. .FOUFF$

  40. ೉ॴ %JGpDVMU1BSUT

  41. த൫Ҏ߱ɺ͕͔͔͍࣌ؒͬͯΔ *UUPPLNVDIUJNF BGUFSUIFNJEEMFTUBHF

  42. લ൒͸খࠁΈ͚ͩͲձ࿩ස౓͸ߴ͍ 8FIBWFNPSFGSFRVFOUDPNNVOJDBUJPO JOFBSMZTUBHFUIBOUIFMBUUFSQBSU

  43. άϥϑͷܗ͸ࣅ͍ͯΔ ॴཁ೔਺ʹݸਓࠩ

  44. Ͳ͕͜೉ॴͳͷ͔ʁ

  45. None
  46. εςοϓ λεΫΛӾཡɾొ࿥ɾߋ৽ ɾ࡟আͰ͖ΔΑ͏ʹ͠Α͏ ࠷ॳͷຊ֨తͳίʔσΟϯάʂ ࡞๏ͷ͢Γ߹Θͤ΋ඞཁ

  47. None
  48. εςοϓ λεΫҰཡΛ ࡞੒೔࣌ͷॱ൪Ͱ ฒͼସ͑Α͏ εςοϓ όϦσʔγϣϯ Λઃఆ͠Α͏ ϩδοΫ͕ෳࡶʹͳΔ ࣗ෼Ͱߟ͑Δඞཁ͕૿͑Δ

  49. None
  50. εςοϓ ऴྃظݶΛ ௥Ճ͠Α͏ εςοϓ εςʔλεΛ ௥Ճͯ͠ɺ ݕࡧͰ͖ΔΑ͏ʹ ͠Α͏ ·͢·͢ ϩδοΫ͕ෳࡶʹͳΔ

    ࣗ෼Ͱߟ͑Δඞཁ͕૿͑Δ
  51. None
  52. εςοϓ ϩάΠϯ ϩάΞ΢τػೳΛ ࣮૷͠Α͏ εςοϓ Ϣʔβͷ؅ཧը ໘Λ࣮૷͠Α͏ ϘϦϡʔϛʔͳ ػೳ௥Ճ

  53. ॴײɿ ΘΓͱ࢓ํͳͦ͞͏

  54. ෳࡶͳ΋ͷΛ ࣗ෼Ͱ࡞Δܦݧ͕ ΩϞ

  55. ϩάΠϯɾϢʔβʔ؅ཧ ʹ͍ͭͯ΋ղઆΛՃ͑ͨ ݱ৔3BJMTຊͷ ӨڹΛ஫ࢹ͍ͨ͠

  56. ࿩୊ͷ෼ੳ ˞ͬͪ͜͸̎ਓ෼͔͠ऴΘ͍ͬͯ·ͤΜ

  57. ࿩୊ͷ෼ੳ 13͝ͱʹίϝϯτΛಡΈࠐΜͰ੔ཧ͢Δ ൃ࿩ऀͷཱ৔ ϝϯλʔαϒϝϯλʔҰൠ ൃ࿩ͷେ·͔ͳಈػɾ໨తʢओࢫʣ ࿩୊ͷଐ͢Δٕज़ྖҬʢδϟϯϧʣ എܠʹ͋ΔՁ஋؍ɾߦಈنൣʢՁ஋؍ʣ

  58. ྫ XIFSFOPU EFBEMJOF@POOJM ͸ ڞ௨είʔϓʹͯ͠΋͍͍͔΋Ͱ͢Ͷ ओࢫ ΑΓྑ͍ํ๏͕͋Δ δϟϯϧ Ϟσϧͷݕࡧ Ձ஋؍

    ڞ௨Խ͢Δ
  59. ෼ੳʹར༻͠ͳ͔ͬͨ ίϝϯτ ϝϯςΟʔ͔Βͷ࣭໰ɾ૬ஊͱͦΕ΁ͷճ౴ ࣭໰ࣗମ͕ࠞཚ͍ͯ͠Δ৔߹΋ଟ͘ɺ෼ྨɾ੔ཧ͕Ή͔ͣ ͍͠ɻ ϝϯςΟʔ͔ΒϨϏϡΞʔ΁ͷઆ໌ίϝϯτ΍ɺϖΞϓϩΛ ड͚ͯͷϝϞॻ͖ ࣄ࣮ޡೝͰ͙͢ղܾͨ͠ίϝϯτ ಉҙతͳൃ࿩ -(5.

  60. ෼ੳ্ͷܾ·Γ ݁ՌతʹϨϏϡΞʔͷݴ͍ͬͯΔ͜ͱ͕ ؒҧ͍ͬͯͯ΋ɺҙਤͷ··෼ੳ

  61. ࿩୊ͷ෼ੳ ʙൃ࿩ऀʙ

  62. Ұൠ (FOFSBM ϝϯλʔ .FOUPS αϒϝϯλʔ 4VC.FOUPS ҰൠϨϏϡΞʔͷׂ߹͕ߴ͍ʂ
 (FOFSBMQFPQMFIFMQDPEFSFWJFXXFMM ൃ࿩ऀͷཱ৔ 3PMFTPG3FWJFXT

  63. ϨϏϡΞʔͷଟ༷ੑ ແ૒ܕ όϥϯεܕ

  64. ࿩୊ͷ෼ੳ ʙൃ࿩ͷʮओࢫʯʙ

  65. ൃ࿩ͷओࢫ ๙ΊΔ ࢀߟ৘ใͷఏڙ ࢀߟʹͳΓ·ͨ͠ ؾʹͳͬͨ ΑΓྑ͍ํ๏͕͋Δ ෆ଍͕͋Δ ޡಡΛট͘ ҙਤ௨Γʹಈ͔ͳ͍ ࠣࡉͳϛε͕͋Δ

  66. ओࢫͷൺ཰ େ෦෼͕ॿݴ ΑΓྑ͍ํ๏΍ɺࢹ໺ʹೖΕΔ΂͖ࣄ߲ ؔ࿈͢Δࢀߟ৘ใΛ఻͑Δ

  67. ॳ৺ऀͷ৺഑͢Δʮಈ͔͘Ͳ͏͔ʯ͸ ܦݧऀͷؔ৺ࣄͰ͸ͳ͍ ʮҙਤ௨Γʹಈ͔ͳ͍ʯ͸ఔ౓ ͸ಈ্͍ͨͰͷ࿩

  68. ࿩୊ͷ෼ੳ ʙʮδϟϯϧʯʙ

  69. ίϝϯτΛ̍ͭ̍ͭ ಡΈͳ͕Β৺ΛࠐΊͯ ෼ྨ͠·ͨ͠

  70. δϟϯϧଟ͍ Ұൠ υΩϡϝϯςʔγϣϯ ࣗಈੜ੒෺ (JUɾ(JU)VCɾ13 ֎෦࢓༷ Ϟσϧ %#ઃܭɾϚΠάϨʔγϣϯ Ϟσϧͷجຊૢ࡞ Ϟσϧͷݕূ

    ϞσϧͷݕࡧʢߜΓࠐΈʣ ϞσϧͷϑΥʔϜରԠ ؔ࿈ 3VCZɾ3BJMTશൠ ίʔσΟϯάελΠϧ ϩδοΫ ར༻ٕज़ͷબ୒ ೔࣌ *O ഑ྻɾϋογϡ "DUJWF4VQQPSU จࣈྻɾ4ZNCPM :".- )5.-ɾ$44 #"4*$ೝূ ΫϥεɾΦϒδΣΫτɾ*'ઃܭ 4FFE ؀ڥ σόοά Ϗϡʔ Ϗϡʔߏ଄ ϑΥʔϜ 'MBTI )FMQFS 4MJN ίϯτϩʔϥ ίϯτϩʔϥߏ଄ɾঢ়ଶ 63-ɾϧʔςΟϯά ςετ ςετ࢓༷ 34QFD $BQZCBSB 'BDUPSZ#PU
  71. δϟϯϧͷࢄΒ͹Γ۩߹
 7BSJFUZPG5PQJD(FOSFT

  72. ࿩୊ͷଟ͘Λ ઎Ί͍ͯΔͷ͸ ͳʹ͔ɾɾɾʁ

  73. 3BJMTͷ೉ॴɾɾɾ "DUJWF3FDPSE  ϧʔςΟϯάʁ

  74. None
  75. 34QFD

  76. None
  77. ίʔσΟϯάελΠϧ

  78. None
  79. υΩϡϝϯςʔγϣϯ

  80. None
  81. ςετ࢓༷

  82. ͳΜͱɺଟ͘ͷձ࿩͸ 3BJMTͱͷؔ࿈͕ ബ͔ͬͨɾɾɾʂ

  83. δϟϯϧͷ ΧςΰϦʢ֓ཁʣผͷ ൺ཰ΛݟͯΈΔ

  84. δϟϯϧʢ֓ཁʣͷൺ཰ 3VCZ΍3BJMTͷ࿩͸൒෼͘Β͍ʂ

  85. 3VCZ΍3BJMTʹ ͍ͭͯ͸ ͲΜͳײ͡ʁ

  86. ʮ3VCZɾ3BJMTશൠʯ δϟϯϧ ʢίʔσΟϯάελΠϧΛআ͚͹ʣ ΧϦΩϡϥϜͰѻ͏ ೔࣌ɺJOͳͲ

  87. ʮϞσϧʯδϟϯϧ ݸਓ͕ࠩ͋Γͭͭ΋ ݕࡧʢߜΓࠐΈ΍ιʔτʣͱݕূ͕ॏ͍

  88. ݕࡧ΍ιʔτ͸ ࣮ࡍɺେมͳ ͱ͜ΖͳͷͰ ͜Ε͸ೲಘ

  89. ʮϏϡʔʯδϟϯϧ ݸਓࠩ 4MJN )BNM

  90. ύʔγϟϧ ςϯϓϨʔτͱ͔ 'MBTIͱ͔ ·͋ೲಘ

  91. ʮίϯτϩʔϥʯδϟϯϧ 63-74ίϯτϩʔϥߏ଄

  92. 63-͸ϔϧύʔ·ΘΓ΍ ϧʔςΟϯά·ΘΓͰ ձ࿩͕ൃੜ ॳΊͯͩͱײ֮Λ ௫ΈͮΒ͍ͱ͜ΖͳͷͰ ೲಘ

  93. ίϯτϩʔϥߏ଄΍ɺ ηογϣϯɾ ύϥϝʔλɾ Πϯελϯεม਺౳ͷ ঢ়ଶ؅ཧ͸ॏཁͳͱ͜Ζ ͔ͬ͠Γ࿩͠߹͍͍ͨ

  94. ߟ࡯

  95. ͦ΋ͦ΋ɺϨϏϡʔ͕ଟ͍ͱ͸ ԿΛҙຯ͢Δͷ͔ʁ ίʔυϨϏϡʔҎ֎ͷํ๏Ͱίετμ΢ ϯͰ͖ΔՄೳੑ͕͋Δʁ ϨϏϡΞʔͷؔ৺ࣄΛද͍ͯ͠Δʁ ϝϯςΟʔͷۤख෼໺Λද͍ͯ͠Δʁ ॳ৺ऀͱܦݧऀͷΪϟοϓΛද͍ͯ͠Δʁ

  96. δϟϯϧ্Ґ̑Ґ "͞Μ #͞Μ  34QFD 34QFD  ςετ࢓༷ ίʔσΟϯάελΠϧ 

    ίʔσΟϯάελΠϧ υΩϡϝϯςʔγϣϯ  υΩϡϝϯςʔγϣϯ JO  Ϟσϧͷݕࡧ 63-ɾϧʔςΟϯά
  97. 34QFD ίʔυϨϏϡʔҎ֎ͷํ๏Ͱίετμ΢ϯͰ͖ΔՄೳੑ͕͋Δʁ ͋Γͦ͏ Կ͔ɺ34QFDʹಛԽͨ͠࿅शΛͰ͖Δͱ͍͍ͷͰ͸ͳ͍͔ʁ ϝϯςΟʔͷۤख෼໺Λද͍ͯ͠Δʁ ͋Γͦ͏ ॳ৺ऀͱܦݧऀͷΪϟοϓΛද͍ͯ͠Δʁ ͋Γͦ͏

  98. ςετ࢓༷ ʢԾઆʣۀ຿։ൃܦݧ͕ͳ͍ͱɺΑΓ೉ ͍͠ͷ͔΋͠Εͳ͍ʁ ຊ࣭తʹ೉͍͜͠ͱͳͷͰɺॳ৺ऀʹ΋ Θ͔Γ΍໊͍͢ஶͷग़ݱ͕଴ͨΕΔ

  99. ίʔσΟϯάελΠϧ ίʔυϨϏϡʔҎ֎ͷํ๏Ͱίετμ΢ ϯͰ͖ΔՄೳੑ͕͋Δʁ ΊͪΌͪ͘Ό͋Γͦ͏ ॳ৺ऀͱܦݧऀͷΪϟοϓΛද͍ͯ͠Δ ͋Γͦ͏

  100. ϨϏϡʔͰܦݧऀ͕ εϖʔε͕ଟ͍ͱ͔ গͳ͍ͱ͔ ॻ͖ࠐΜͰ͍Δࣄࣗମʹ ແବΛײ͡Δɾɾɾ

  101. -JOUΛ࢖͑͹ ͍͍ͱ͍͏࿩͸ ͋Δ͚ΕͲ

  102. զʑͷ໨త ☓εϖʔε͕ద੾ͳίʔυΛίϛοτ͠ ͯ΄͍͠ ˕εϖʔε͕ద੾Ͱ͋Δ͔Ͳ͏͔͕ؾʹ ͳͬͯ࢓ํͷͳ͍ਓʹͳͬͯ΄͍͠

  103. جૅ܇࿅Λ ಋೖͨ͠Βྑ͍ͷͰ͸ʁ ͱ͍͏ؾ͕͢Δ

  104. ίʔσΟϯάελΠϧ جૅ܇࿅ͷྫ εϖʔε͕଍Γͳ͍ଟ͍ ۭߦ͕଍Γͳ͍ଟ͍ ໊લ͚ͮ 3VCZͬΆ͍ॻ͖ํʢলུɺ4ZNCPMɺFUDʣ ౷Ұ͢Δ ݟ௚͠ྗɾݕग़ྗ -JOUπʔϧ

  105. υΩϡϝϯςʔγϣϯ ίʔυϨϏϡʔҎ֎ͷํ๏Ͱίετμ΢ϯͰ͖ΔՄೳੑ͕͋Δʁ ݸʑͷ಺༰ʹ͍ͭͯ͸ϨϏϡʔ͕ྑ͍ πʔϧͷ࢖͍͜ͳ͠΍ৗࣝɾश׳Λ఻͑Δ͜ͱ͸Ͱ͖Δ ༻ޠΛڭ͑Δ͜ͱ΋༗ޮ ॳ৺ऀͱܦݧऀͷΪϟοϓΛද͍ͯ͠Δʁ ͋Γͦ͏ ॳ৺ऀ͸ҙ֎ͱίʔυ͚ͩͰޠΓ͕ͨΔ

  106. πʔϧͷ࢖͍͜ͳ͠΍ ৗࣝɾश׳ ԿΛϨϏϡΞʔʢνʔϜϝΠτʣ΍ະ དྷͷࣗ෼ʹίʔυҎ֎ͷํ๏Ͱ఻͑Δ ඞཁ͕͋Δͷ͔ཧղ͢Δ 13ʹΩϟϓνϟΛషΔɺνΣοΫϘο ΫεΛ࢖͏ɺϦϯΫͳͲͷৄࡉΛఴ͑ Δͱ͍ͬͨश׳Λ࡞Δ

  107. ༻ޠΛڭ͑Δ υΩϡϝϯςʔγϣϯܥͷϨϏϡʔͰ͸ɺ ͠͹͠͹ɺ༻ޠʢ೔ຊޠɾӳޠ྆ํʣʹ ͍ͭͯͷڞ௨ೝ͕͍ࣝ࣋ͯͯͳ͍ͨΊͷ ࠞཚ΍ෆඋ͕Α͘ݟΒΕΔ ϓϩάϥϛϯάɺ3VCZɺ3BJMTͷจ຺ ͰҰൠతʹར༻͞ΕΔ༻ޠͷҙຯΛ֮͑ ͯਖ਼͘͠࢖͑ΔΑ͏ʹ͢Δ͜ͱ͕େ੾

  108. δϟϯϧ෼ੳʹ͓͚Δ ͦͷଞͷؾ͖ͮ

  109. ܁Γฦ͠ݱΕΔ ݸผͷ஌ݟʹؔΘΔ ϨϏϡʔίϝϯτΛ ڭࡐԽ͍ͨ͠

  110. ఻ঝ͞ΕΔ஌ݟͷྫ ֎෦ΩʔʹSFGFSFODFTΛ࢖͏ ࣮ࡏ͢ΔυϝΠϯͷϝʔϧΞυϨεΛςε τσʔλͰ࢖Θͳ͍ ͳΔ΂͘MFUΑΓMFUΛ࢖͏ ࢀর͠ͳ͍ͳΒMFUMFUΛ࢖Θͳ͍

  111. ࿩୊ͷ෼ੳ ʙՁ஋؍ʙ

  112. ࿩୊ͷഎܠʹ͸ Ձ஋؍͕͋Δ

  113. ϨϏϡʔίϝϯτ͸ Ձ஋؍ʹ ࢧ͑ΒΕ͍ͯΔ

  114. ίϝϯτɿ ʮ͜ΕΛϝιουʹநग़ͯ͠ ڞ௨ԽͰ͖·͢Ͷʯ

  115. ίϝϯτɿ ʮ͜ΕΛϝιουʹநग़ͯ͠ ڞ௨ԽͰ͖·͢Ͷʯ Ձ஋؍ɿ ʮڞ௨Խ͢Δ͜ͱ͸ ྑ͍͜ͱͩʯ

  116. ڞ௨Խ͢Δ γϯϓϧʹॻ͘ Θ͔Γ΍͘͢͢Δ ҟৗܥʹؾΛ഑Δ ʜFUD

  117. զʑ͸ԿΛٻΊͯ ϨϏϡʔΛ͍ͯ͠Δ ͷͩΖ͏͔ʁ

  118. ࠓճͷ෼ੳ࡞ۀ͸ ͦͷՁ஋؍ͷ੔ཧʹ ͭͳ͕ͬͨ

  119. ݟ͖͑ͯͨ ສ༿ͷϨϏϡΞʔͷ ̐ͭͷՁ஋؍

  120. None
  121. ඼࣭Λྑ͘͢Δ

  122. ඼࣭Λྑ͘͢Δ ։ൃ࣌ͷߦಈ

  123. ඼࣭Λྑ͘͢Δ ։ൃ࣌ͷߦಈ Θ͔Γ΍͘͢͢Δ

  124. ඼࣭Λྑ͘͢Δ ։ൃ࣌ͷߦಈ Θ͔Γ΍͘͢͢Δ มߋ͠΍͘͢͢Δ

  125. Ձ஋؍ͷৄࡉ ඼࣭Λྑ͘͢Δ ࢖͍΍͍͢࢓༷ʹ͢Δ ࣮ߦޮ཰Λྑ͘͢Δ ͋ΓಘΔঢ়گΛ͢΂ͯέΞ͢Δ ෆਖ਼ͳঢ়ଶΛ࡞Βͳ͍Α͏ʹ͢Δ ద੾ͳηΩϡϦςΟ ։ൃ࣌ͷߦಈ ศརͳखஈΛ࢖͏ ਖ਼͘͠ཧղ͢Δ

    ϛε΍࿙Εͳ͘ߦ͏ Α͘ར༻͞ΕΔٕज़Λษڧ͓ͯ͘͠ Θ͔Γ΍͘͢͢Δ Ұൠతͳ΍Γํʹ͢Δ γϯϓϧʹ͢Δ ۩ମతʹදݱ͢Δ ݫີʹਖ਼͘͠දݱ͢Δ ౷Ұ͢Δ Θ͔Γ΍͘͢දݱ͢Δ ඞཁͳυΩϡϝϯςʔγϣϯΛ͢Δ มߋ͠΍͘͢͢Δ ڞ௨Խ͢Δ ؔ৺ࣄɾ੹຿Λ෼཭͢Δ কདྷͷมԽʹඋ͑Δ ඞཁͳࣗಈςετΛ༻ҙ͢Δ
  126. ௕ੜ͖͢Δ ιϑτ΢ΣΞΛ ࡞Γ͍ͨ

  127. ͲΜͳՁ஋؍ʹجͮ͘ ϨϏϡʔ͕ ଟ͔ͬͨͷ͔ʁ

  128. Ձ஋؍ʢ֓ཁʣͷൺ཰ ΄΅׬શʹҰகʂʂʂ

  129. ʮΘ͔Γ΍͘͢͢Δʯ ͨΊͷ࿩୊͕൒෼Λ઎ΊΔ ౷Ұ͢Δ Θ͔Γ΍͘͢දݱ͢Δ ඞཁͳυΩϡϝϯςʔ γϣϯΛ͢Δ Ұൠతͳ΍Γํʹ͢Δ γϯϓϧʹ͢Δ ۩ମతʹදݱ͢Δ ݫີʹਖ਼͘͠දݱ͢Δ

  130. ϨϏϡΞʔͷؔ৺ࣄʁ ̎ਓͷϝϯςΟʔͷԁάϥϑ͕΄΅Ұக ͋ͷׂ߹͸ສ༿ͷٕज़ऀͷશମతͳؔ৺ ׂ߹ͳͷ͔΋ʁ ̏ਓΊͷ෼ੳָ͕͠Έ

  131. ॳ৺ऀͱܦݧऀͷΪϟοϓΛ ද͍ͯ͠Δʁ ॳ৺ऀ͸ʮͪΌΜͱಈ͘΋ͷΛ࡞ΕΔ͔ Ͳ͏͔ʯΛ৺഑͍ͯ͠Δ ܦݧऀ͸ίʔυ͕ʮΘ͔Γ΍͍͔͢ʯ͕ ͍ͪ͹ΜؾʹͳΔʁ Ϊϟοϓ͋Γͦ͏

  132. ϨϏϡʔͱ͍͏ ߦҝͷੑ্࣭ɺ ʮΘ͔Γ΍͍͢ʯ͔ Ͳ͏͔͕·ͣ൑அ͞ΕΔ ͔Β͔΋͠Εͳ͍ɾɾɾ

  133. ϨϏϡʔͱ͍͏ ߦҝͷੑ্࣭ɺ ʮΘ͔Γ΍͍͢ʯ͔ Ͳ͏͔͕·ͣ൑அ͞ΕΔ ͔Β͔΋͠Εͳ͍ɾɾɾ Θ͔Γ΍͘͢ͳ͍ͱ ϨϏϡʔ͢Δͷ͕·ͣେม

  134. ͲΜͳՁ஋؍ʹجͮ͘ ࿩୊͕ଟ͍ͷ͔ ৄࡉόʔδϣϯ

  135. None
  136. γϯϓϧʹ͢Δ .BLFJUTJNQMF

  137. None
  138. Θ͔Γ΍͘͢දݱ͢Δ .BLFJUFBTZUPVOEFSTUBOE

  139. None
  140. ඞཁͳࣗಈςετΛ༻ҙ͢Δ 1SFQBSFOFDFTTBSZUFTUT

  141. None
  142. ศརͳखஈΛ࢖͏ 6TFIFMQGVMVUJMJUJFT

  143. None
  144. ϛε΍࿙Εͳ͘ߦ͏ #FDBSFGVMUPEPUIJOHT

  145. ίʔυϨϏϡʔҎ֎ͷ ํ๏Ͱίετμ΢ϯͰ ͖ΔՄೳੑ͕͋Δʁ

  146. ϝϯςΟʔͷʮࢹ໺ʯ Λ༧Ί޿͛ΒΕͳ͍͔ʁ

  147. ʮෆ଍͕͋Δʯͷίϝϯτྫ ࣗಈੜ੒͞ΕͨϑΝΠϧ΍ίϝϯτΛ์ஔ ͤͣɺཁΒͳ͚Ε͹࡟আ͠Α͏ ͜ͷ··ͩͱকདྷมߋ͕͋ͬͨͱ͖ʹࠔΔ ͜ͷ··ͩͱ͜͏͍͏ͱ͖ʹϚζΠ ͦ͏͍͏͜ͱ͸఻͑ͳ͍ͱΘ͔Βͳ͍

  148. ͜ΜͳਤΛ࠷ॳʹࣔͨ͠Βʁ :PV $PEF ਓʹΘ͔ͬͯ΋Β͏ʹ͸ʁ શ෦ɺ؅ཧ͢Δର৅Ͱ͢Α কདྷͷมߋʹ ଱͑΍͍͢ʁ "QQ ԿΛ͞Εͯ΋େৎ෉ʁ ಈ͘͜ͱΛࣔͤΔʁ

  149. ϨϏϡʔ։࢝લʹ ൃ૝Λ޿͛Δ ηϧϑνΣοΫΛ ͯ͠΋ΒͬͨΒʁ

  150. ϨϏϡΞʔଆͷ ϨϏϡʔͷվળ

  151. ίϝϯτΛಡΈฦ͢ͱɺ ௨͍ͯ͡ͳ͍ίϝϯτ͕ ࢄݟ͞ΕΔ

  152. ௨͡ͳ͍ҰҼ ͳͥͦͷίϝϯτΛ͍ͯ͠Δͷ͔ͷഎܠ ͕ݟ͑ͳ͍ʢՁ஋؍͕఻Θ͍ͬͯͳ͍ʣ ίϝϯτ͍ͯ͠Δ΄͏΋ɺՁ஋؍Λҙࣝ ͤͣʹɺͦ͏͍͏΋ͷ͔ͩΒͱ͍͏ײ͡ Ͱ఻͑ͯ͠·͏͜ͱ͕͋Δ

  153. ͲͷՁ஋؍Ͱ࿩͍ͯ͠Δ͔ ҙࣝͯ͠ϨϏϡʔ͢Δ ඼࣭Λྑ͘͢Δ ࢖͍΍͍͢࢓༷ʹ͢Δ ࣮ߦޮ཰Λྑ͘͢Δ ͋ΓಘΔঢ়گΛ͢΂ͯέΞ͢Δ ෆਖ਼ͳঢ়ଶΛ࡞Βͳ͍Α͏ʹ͢Δ ద੾ͳηΩϡϦςΟ ։ൃ࣌ͷߦಈ ศརͳखஈΛ࢖͏

    ਖ਼͘͠ཧղ͢Δ ϛε΍࿙Εͳ͘ߦ͏ Α͘ར༻͞ΕΔٕज़Λษڧ͓ͯ͘͠ Θ͔Γ΍͘͢͢Δ Ұൠతͳ΍Γํʹ͢Δ γϯϓϧʹ͢Δ ۩ମతʹදݱ͢Δ ݫີʹਖ਼͘͠දݱ͢Δ ౷Ұ͢Δ Θ͔Γ΍͘͢දݱ͢Δ ඞཁͳυΩϡϝϯςʔγϣϯΛ͢Δ มߋ͠΍͘͢͢Δ ڞ௨Խ͢Δ ؔ৺ࣄɾ੹຿Λ෼཭͢Δ কདྷͷมԽʹඋ͑Δ ඞཁͳࣗಈςετΛ༻ҙ͢Δ
  154. Θ͔Γ΍͘͢ͳΔ͠ɺ ϨϏϡΞʔͲ͏͠Ͱٞ࿦ʹ ͳΔͱ͖΋ɺ ҟͳΔՁ஋؍ಉ࢜ͷিಥͩ ͱ͍͏͜ͱ͕໌֬ʹͳΔ

  155. ·ͱΊ

  156. ສ༿ͷ৽ਓݚमͷ 13ϨϏϡʔΛ ෼ੳͯ͠Έ·ͨ͠

  157. ͨͬͨʙ̏ਓ෼Ͱ΋ ͔ͳΓڵຯਂ͍ ʢҾ͖ଓ͖΍Γ͍ͨʣ

  158. ͜͏͍ͬͨ෼ੳΛɺ ॳ৺ऀ͕ޮ཰Α͘ ϓϩάϥϛϯά΍ 3BJMTΛֶ΂Δ͜ͱʹ ໾ཱ͍͖͍ͯͯͨ

  159. ΞΠσΟΞΛ ަ׵Ͱ͖Ε͹ خ͍͠Ͱ͢

  160. ࢀߟɿʮҰൠʯδϟϯϧ

  161. ࢀߟɿʮςετʯδϟϯϧ