10年運用している 画像サービスでのJavaの活用と 今後の展望

002c7b95e7b8f34186ffd6abaa136a99?s=47 Naoki Morioka
November 24, 2016

10年運用している 画像サービスでのJavaの活用と 今後の展望

002c7b95e7b8f34186ffd6abaa136a99?s=128

Naoki Morioka

November 24, 2016
Tweet

Transcript

  1. ೥ӡ༻͍ͯ͠Δ ը૾αʔϏεͰͷ+BWBͷ׆༻ͱ ࠓޙͷల๬ ++6($$$'BMM /BPLJ.PSJPLB

  2. ΤϯδχΞྺ೥໨ $ͪΐͬͱɺ΄ͱΜͲ+BWB αʔό؅ཧɺσʔλ੔උ ࠷ۙ͸"OEPSJEJ04ΞϓϦ։ൃ ੲۀ຿ͰέʔϓϖϯΪϯΛࣂ͍ͬͯͨ ͜ͱ͕͋Γ·͢ ੝Ԭঘه !O@NPSJPLB "CPVU.F ϑϦϡʔגࣜձࣾۈ຿ژ౎ࡏॅ

  3. ਓʑͷ͜͜ΖΛ๛͔Ͱ޾ͤʹ͢Δ ྑ࣭ͳΤϯλςΠϯϝϯτΛ૑ग़ ͢Δʂ ϑϦϡʔגࣜձࣾ ձࣾ঺հ ϓϦػ γΣΞ/P ήʔϜࣄۀ ϓϥΠζࣄۀ

  4. ϐΫτϦϯΫ͸ϑϦϡʔͷ ϓϦػͱ࿈ಈͨ͠ϓϦըऔಘ αʔϏε αʔϏε঺հ 8&#αΠτ ωΠςΟϒΞϓϦ

  5. ϓϦϯτγʔϧػʹ͸ɺ͢΂ͯը૾సૹػೳ͕͍͍ͭͯ·͢ɻ γʔϧʹҹࣈ͞Ε͍ͯΔ̞%΍ૹΒΕͯ͘Δϝʔϧͷ̧̡̪ʹ ΞΫηε͢ΔͱϐΫτϦϯΫͰऔಘͰ͖·͢ɻ

  6. None
  7. ࠓ೔࿩͢͜ͱ w +BWBͰ࡞ͬͨαʔϏε͕ͲΜͳมભΛḷ͔ͬͨ w ී௨ͷ։ൃऀͰ΋టष͘αʔϏε֦େΛଓ͚͍ͯ͘͜ͱ͕ ग़དྷͨͱ͍͏࿩ w ࠓϫΫϫΫ͠ͳ͕ΒऔΓ૊ΜͰ͍Δ͜ͱ

  8. ࠓ೔࿩͞ͳ͍͜ͱ w ΞϓϦɾϑϩϯτΤϯυܥͷ࿩

  9. ݁࿦ ͋ͱ೥͘Β͍ +BWB+7.ͰؤுΕͦ͏Ͱ͢ʂ

  10. ΞδΣϯμ w ೥ӡ༻͍ͯ͠ΔαʔϏεͷมભ w εϚʔτϑΥϯରԠͷিܸ w ࠓऔΓ૊ΜͰ͍Δ͜ͱͱࠓޙͷల๬ w ·ͱΊ

  11. w ϑϦϡʔ͸ݩʑ͸ݚڀॴൃ w ܞଳ+BWB޲͚෼ࢄ11ϛυϧ΢ΣΞΛ։ൃ w ,%%*୺຤ʹ౥ࡌ͞ΕΔ w ར༻࣮੷ͮ͘ΓͷͨΊΤϯλςΠϯϝϯτɾίϯςϯπ࡞੒΁ Կނ+BWBΛબ୒ͨ͠ͷ͔ʁ +VNPOϓϩδΣΫτ

    IUUQXXXJUNFEJBDPKQNPCJMFLKBWBIUNM
  12. ձһ਺ ສਓ ϖʔδϏϡʔ ສ17.POUI ։ൃऀ ໊νʔϜ ϐΫτϦϯΫαʔϏεॳظ   

     τϐοΫ ΦϨΦϨϑϨʔϜϫʔΫ ։ൃ؀ڥ͸ςΩετΤσΟλʴKBWBDίϚϯυ
  13. 8FC ϓϦᝑମ ϑΟʔνϟʔϑΥϯ αʔϏεॳظߏ੒ ը૾ొ࿥ ϑΝΠϧ %# 8FCΞϓϦέʔγϣϯ +4& 5PNDBU

    αʔό୆ %# 0SBDMFJ αʔό୆ ϑΝΠϧαʔό -JOVYαʔό αʔό୆ )551)5.- ը૾Ξοϓϩʔυ
  14. ձһ਺ ສਓ ϖʔδϏϡʔ ສ17.POUI ։ൃऀ ໊νʔϜ ϐΫτϦϯΫαʔϏε੒௕ظ   

     τϐοΫ 4FBTBSͷར༻։࢝ ձһ਺ɾΞΫηε਺͕૿͑ͯෛՙରࡦ
  15. 8FC ϓϦᝑମ ϑΟʔνϟʔϑΥϯ ը૾ొ࿥ ϑΝΠϧ %# )551)5.- ը૾Ξοϓϩʔυ 8FCΞϓϦέʔγϣϯαʔό +4&

    5PNDBU 4FBTBS αʔό୆ σʔλϕʔεαʔό 0SBDMFJ ΫϥελϦϯά αʔό୆ ϑΝΠϧαʔό /FU"QQ'"4 αʔό୆ αʔϏε੒௕ظߏ੒
  16. ֶΜͩ͜ͱ w +7.͸؆୯ͳϝϞϦௐ੔Ͱ͔ͳΓͷߴෛՙʹ଱͑ΒΕΔ
 9NY 1FSN(FO w όοΫΤϯυαʔόʹۚΛ͔͚Ε͹ͳΜͱ͔ͳΔ͕ௐࠪɾ ݕূ͕େࣄ εϓϦοτϒϨΠϯͰσʔλ͕ਧͬඈͿ໰୊ ࠷৽ϑΝΠϧαʔόೲ඼͞Εͳ͍໰୊

  17. ϥΠϒϥϦҰཡ ϑΟʔνϟʔϑΥϯͰ͕ͬͭΓ+BWB w ϓϦػͰࡱӨͨ͠ը૾ΛͳΔ΂͘ΩϨΠʹಧ͚Δ w ϑΟʔνϟʔϑΥϯ'MBTI޲͚ಈతม׵ w ܞଳ୺຤޲͚)5.-ϝʔϧ DPSF BVUI

    QBZNFOU PQFOTPDJBM NBJM USBOTGFS DFSBUPS JNBHF TXG PLBP VSBOBJ EFDPNBJM SFDPNNFOE
  18. ը࣭΁ͷͩ͜ΘΓ ֦େ͸CJDVCJD๏ ॖখ͸CJMJOFBS๏ ҎԼͷॖখ͸໘ੵฏۉ๏

  19. import java.awt.Toolkit;
 import java.awt.image.AreaAveragingScaleFilter;
 import java.awt.image.BufferedImage;
 import java.awt.image.FilteredImageSource;
 import java.awt.image.ImageFilter;


    
 BufferedImage tempImage = ..
 ImageFilter filter = new AreaAveragingScaleFilter(scaleSize.getWidth(),
 scaleSize.getHeight());
 FilteredImageSource fis = new FilteredImageSource(tempImage.getSource(),
 filter);
 
 Image filteredImage = Toolkit.getDefaultToolkit().createImage(fis);
 ໘ੵฏۉ๏αϯϓϧ
  20. ձһ਺ ສਓ ϖʔδϏϡʔ ສ17.POUI ։ൃऀ ໊νʔϜ ϐΫτϦϯΫαʔϏεགྷΓ৔ظ   

     τϐοΫ ձһ਺ͷ৳ͼ͕಄ଧͪ πΪϋΪͰ࡞͖ͬͯͨαʔϏεͷݶքײ ͔͚ۚͳ͍ํ๏ͷ໛ࡧΛ͍ͨ͠
  21. େ͖ͳվमҊ 4/4ػೳ ΋ग़ͯདྷͯ શ໘ϦχϡʔΞϧΛܾҙ

  22. ϦχϡʔΞϧ͸ݴޠΛม͑Δʁ w ϦχϡʔΞϧʹ͋ͨͬͯϝΠϯͷ։ൃݴޠΛ4DBMBʹ͢Δ͔ ͱ͍͏ٞ࿦͕ר͖ى͜Δ w 4DBMB1SPT ॊೈͳݴޠදݱɺڧྗͳϦετૢ࡞ɾύλʔϯϚονͳͲ +7.ʹΑΔϋΠύϑΥʔϚϯε +BWBͷࢿ࢈΋࢖͑Δ ઑͬͨ։ൃऀʹࢗ͞ΔͷͰ͸ͳ͍͔ͱ͍͏ظ଴

  23. ຊ౰ʹ΍Δͷʁ w 4DBMB$POT ೥౰࣌  8FCϑϨʔϜϫʔΫͷܾఆଧ͕ແ͍ 1MBZܥ-JGU  ίϯύΠϧʹ͕͔͔࣌ؒΓ*%&ͷରԠ΋ශऑͰ͋ͬͨ طଘ։ൃऀͷֶशίετ

    w 4FBTBSίʔυɾϥΠϒϥϦΛྲྀ༻͠ͳ͍ͱ޻਺͕͔͔Δ w ৽نࣄۀͷབྷΈͰਓࡐΛকདྷతʹ֬อग़དྷͳ͍Մೳੑ
  24. ͜͜Ͱ͸कΓʹೖͬͯ +BWBΛબ୒

  25. ϦχϡʔΞϧߏ੒ ϑΝΠϧ ըొ࿥%# ΦϒδΣΫτετϨʔδ %# %# 8FCΞϓϦέʔγϣϯ +BWB4& 5PNDBU 4FBTBS

    αʔό̒୆ ը૾ొ࿥%# %# 0SBDMFH αʔό୆ %# .Z42- 4QJEFS αʔό୆ ΦϒδΣΫτετϨʔδ .PHJMF'4 αʔό୆ ϓϦᝑମ ϑΟʔνϟʔϑΥϯ ը૾ొ࿥ 8&# )551)5.- ը૾Ξοϓϩʔυ
  26. ֶΜͩ͜ͱ w ΞʔΩςΫνϟͷ౷ҰΛͯ͠+BWBͰ΋εϐʔυײΛ࣋ͬͯ։ ൃ͸Ͱ͖ͨ 44USVUT4%BP47FMPDJUZ w վमͨ͠Πϯϑϥɾϛυϧ΢ΣΞ͸҆ఆಈ࡞ͤ͞Δͷʹ࣌ؒ ͕͔͔Δ ϓϨΦʔϓϯɺЌςετͳͲ࣮ࢪ͢Ε͹ྑ͔ͬͨ ԯը૾͸ଟ͔ͬͨʜ

    w શ෦ॻ͖׵͑Δ௧Έ͸૬౰ͷ΋ͷͰ͋ΓԿճ΋ग़དྷͳ͍
  27. ΞδΣϯμ w ೥ӡ༻͍ͯ͠ΔαʔϏεͷมભ w εϚʔτϑΥϯରԠͷিܸ w ࠓऔΓ૊ΜͰ͍Δ͜ͱͱࠓޙͷల๬ w ·ͱΊ

  28. ϑΟʔνϟʔϑΥϯ͔Β εϚʔτϑΥϯ΁

  29. )5.- $44 +BWB4DSJQU ωΠςΟϒΞϓϦ J04"OESPJE ௨৴ΩϟϦΞಠࣗ)5.- 'MBTI ௨৴ΩϟϦΞಠࣗೝূ 0"VUIͳͲΦʔϓϯͳೝূ ࢀೖোนߴ͍

    ೔ຊಠࣗ࢓༷ ୭Ͱ΋αʔϏεߏஙՄೳ ੈքڞ௨࢓༷ εϚʔτϑΥϯγϑτ
  30. εϐʔυײɺڝ૪ྗ͕ͳ͍ͱ ਰୀ͢Δͱ͍͏ةػײ

  31. Ͳ͏͢Ε͹ εϐʔυΛ΋ͬͱग़ͤΔͷ͔ʁ

  32. ·ͣ͸ʮ΍ͬͯΈΔʯ

  33. w ΞδϟΠϧϓϩηεಋೖͰഓͬͨจԽ ࡉ͔͍վળͷੵΈॏͶ Ϣχοτςετɾ݁߹ςετΛ͔ͬ͠Γ࣮ࢪ w ߴෛՙରԠʹؾΛ࢖Θͳͯ͘ྑ͍ͷ͸ڌΓॴ +7.ͷύϑΥʔϚϯε ΠϯϑϥɾαʔϏεӡ༻ज़ ΍ͬͯΈͯ୹͍αΠΫϧͰվળΛॏͶΔ

  34. w ར༻։ൃݴޠͷߜΓࠐΈ εΫϦϓτهड़ 1FSM3VCZˠ(SPPWZ  ӡ༻πʔϧ 4DBMB3P3ˠ+BWB  +BWB4DSJQU͕৽ͨʹඞਢʹͳΔͷͰઐ೦͢Δ w

    ίΞͳΞʔΩςΫνϟ͸ͱΓ͋͑ͣखΛ͚ͭͳ͍ɻ4FBTBS ߋ৽͞Εͳͯ͘ؾʹ͸ͳΔ͚ͲઌૹΓ w ͨͩ͠ݴޠ࣮ߦ؀ڥͷ࠷৽Խ͸దٓߦ͏ αʔϏε։ൃʹूத͢Δ
  35. w ͦΕ·ͰνʔϜͩͬͨ։ൃΛద੾ʹ෼ׂɾ௥Ճ͢Δ ૊৫Λ࠷దԽ͢Δ αΠτ։ൃνʔϜ "1* ΠϯϑϥνʔϜ σʔλղੳνʔϜ ωΠςΟϒΞϓϦ ։ൃνʔϜ ෼ׂ

    ௥Ճ ɾɾɾ ΞϓϦ։ൃνʔϜ
  36. ݁Ռ૿͍͑ͯͬͨ΋ͷ ωΠςΟϒΞϓϦ J04"OESPJE εϚϑΥαΠτ՝ۚ "1*αʔό ೝূαʔό ը૾഑৴αʔό εϚϑΥαΠτ

  37. ·ͩ·ͩ΍Δ

  38. w શϦϙδτϦΛ47/͔Β(JU)VC΁ͷҠߦ w HJUqPXͱ1VMM3FRVFTUʹΑΔෳ਺ਓͰͷεϜʔζͳ։ൃ ։ൃϑϩʔΛݟ௚̍͢

  39. HJUqPX ϒϥϯνઓུ %FWFMPQϒϥϯν΁ͷϚʔδˠ1VMM3FRVFTUϨϏϡʔ IUUQTSVBUMBTTJBODPNKBHJUXPSLqPXTXPSLqPXHJUqPX

  40. w σΠϦʔϏϧυɾςετͷపఈ w νϟοτ 4MBDL ͷಋೖʹΑΔνʔϜঢ়گͷϦΞϧλΠϜ೺ Ѳ ։ൃϑϩʔΛݟ௚̎͢

  41. اը ։ൃ Πϯϑϥ 4MBDLΛϓϩδΣΫτμογϡϘʔυͱͯ͠ ։ൃͷঢ়گ೺ѲվળΛਐΊΔ ঢ়گ೺Ѳ

  42. ݁Ռ૿͍͑ͯͬͨ΋ͷ̎ ωΠςΟϒΞϓϦ J04"OESPJE εϚϑΥαΠτ՝ۚ "1*αʔό ೝূαʔό ը૾഑৴αʔό εϚϑΥαΠτ ΞϓϦ՝ۚ Ϋϥ΢υͷ

    ෦෼తར༻ σʔλूܭγεςϜ 64ରԠ "#ςετγεςϜ ϙΠϯταΠτ
  43. 4 ϓϦᝑମ 3%4 ΦϒδΣΫτετϨʔδ %# %# εϚʔτϑΥϯϒϥ΢β ը૾ొ࿥ 8FC 8FC

    ೝূ "1* ը૾ 64 "84 +1 "84 ΦϯϓϨ 4 3FETIJGU 64ϓϦᝑମ &5- εϚʔτϑΥϯରԠߏ੒ ൈਮ ը૾ొ࿥ ϑΝΠϧ εϚʔτϑΥϯΞϓϦ DBDIF
  44. εϚʔτϑΥϯରԠߏ੒ ൈਮ '1418FC +BWB4& 5PNDBU 4FBTBS αʔό୆ "1*"VUI*NBHF +BWB4& 5PNDBU

    4FBTBS αʔό୆ σʔλϕʔε 0SBDMFH 4&3"$ αʔό୆
  45. αʔϏε͕૿͖͑ͯͯग़ͯདྷΔ໰୊ w ϩάऩूͷ໰୊ αʔό୆਺͕ଟ֬͘ೝ͠ʹ͍͘ w όονॲཧͷ໰୊ ͲͷαʔόͰԿ͕͍ͭಈ͍͍ͯΔͷ͔ͷ؅ཧग़དྷͳ͍

  46. w +BWB੡δϣϒεέδϡʔϥ w 8FCίϯιʔϧͰ؅ཧ w શόονΛॲཧத

  47. ӡ༻ߏ੒ ΠϯϑϥνʔϜ اըνʔϜ ։ൃνʔϜ σʔλղੳνʔϜ ຊ൪؀ڥ EFQMPZ όονॲཧ ؂ࢹ

  48. ֶΜͩ͜ͱ w ࡉ͔͍վળͷੵΈॏͶ͕େ͖ͳޮՌΛग़͍ͯ͘͠ w ࣄۀͷ੒௕͕࣮ײग़དྷΔͱ։ൃ͕·ָͨ͘͠ͳ͖ͬͯͨ

  49. ΞδΣϯμ w ೥ӡ༻͍ͯ͠ΔαʔϏεͷมભ w εϚʔτϑΥϯରԠͷিܸ w ࠓऔΓ૊ΜͰ͍Δ͜ͱͱࠓޙͷల๬ w ·ͱΊ

  50. ͜Ε͔Β΍Δ΂͖͜ͱ w Ϋϥ΢υ΁ͷҠߦ ϓϦػͱͷ઀ଓωοτϫʔΫ΍σʔλอޢͷ໰୊ w ར༻ϑϨʔϜϫʔΫͷݶք 4FBTBS  4FBTBSͰ࡞ͬͨԶͨͪͷαʔϏεͷࠓ IUUQXXXTMJEFTIBSFOFUKZVLVUZPTFBTBS

    4QSJOHϕʔε΁ҠߦΛਐΊΔ w ڞ༗ͷίϯϙʔωϯτΛഉআ
  51. νʔϜਤ ͓͞Β͍ αΠτ։ൃνʔϜ "1* ΠϯϑϥνʔϜ σʔλղੳνʔϜ ωΠςΟϒΞϓϦ ΞϓϦ։ൃνʔϜ

  52. ڞ௨ͷίϯϙʔωϯτ %# Πϯϑϥ૚ DPSFKBS ڞ௨ϥΠϒϥϦ '18FC 418FC "1* %# .PHJMF'4

    NFNDBDIFE "VUI *NBHF Τοδ૚ αΠτ "1*
  53. ڞ௨ՕॴΛෳ਺νʔϜͰ৮Δ w ҙਤ͠ͳ͍ػೳ͕ϦϦʔε͞ΕΔةݥੑ HJUqPXͰͷཷ·ͬͨGFBUVSFͷϦϦʔε࣌ ςʔϒϧߏ੒มߋ࡞ۀ͕ඞཁͳ΋ͷ͕ൈ͚Δͱ·͍ͣ ֬ೝ࡞ۀʹखΛऔΒΕΔ w ݁߹ςετ࣮ࢪճ਺ͷ૿Ճ w ։ൃνʔϜ͕૿΍͠ʹ͍͘

    νʔϜɺνʔϜͱͳͬͨ৔߹͞Βʹίετ͕ߴ͘ͳΓͦ͏
  54. มߋͷํ਑ˠআʑʹ෼ׂ DPSFKBS Өڹখ DPSFKBS Өڹখ Өڹখ Өڹத Өڹେ Өڹେ DPSFKBS

  55. w ํ޲ੑͱͯ͠͸զʑͷ໨ࢦ͢΋ͷͬΆ͍ ૊৫্ͷ੍ݶΛऔΓ෷͏ͨΊͷબ୒ࢶ ϨΨγʔίʔυΛϦΞʔΩςΫτ͢ΔͨΊͷબ୒ࢶ w ͨͩ͠ஈ֊Λ౿ΜͰ࣮ࢪͨ͠ํ͕ྑͦ͞͏ ϚΠΫϩαʔϏεΞʔΩςΫνϟ

  56. αʔϏε෼ׂ ஈ֊తʹ %# Πϯϑϥ૚ ڞ௨૚ 418FC "1* .PHJMF'4 NFNDBDIFE "VUI

    *NBHF Τοδ૚ 4FSWJDF DPSFKBS
  57. αʔϏε෼ׂ ஈ֊తʹ ڞ௨૚ 418FC "1* "VUI *NBHF Τοδ૚ 4FSWJDF DPSFKBS

    %# Πϯϑϥ૚ .PHJMF'4 NFNDBDIFE /FX %#
  58. ୈҰาΛ౿Έग़ͯ͠Έͨ w εϚʔτϑΥϯΞϓϦ޲͚ϓογϡ௨஌ॲཧͷ෼ׂ w ΞϓϦͰͷར༻ͷΈͳͷͰӨڹ͕খ͘͞෼ׂ͠΍͍͢ίϯ ϙʔωϯτ w ඇಉظͰॲཧՄೳͳͨΊ෼ࢄγεςϜతʹߟྀ͢Δ͜ͱ΋ গͳ͍

  59. "1* DPSFKBS ΋ͱ΋ͱͷϓογϡ௨஌αʔϏε 1VTI/PUJpDBUJPO "1/T ($.'$. )5514 ϓογϡ௨஌ ᶃ ᶄ

  60. "1* DPSFKBS ϓογϡ௨஌αʔϏεͷվमҊ 1VTI/PUJpDBUJPO 4FSWJDF "1/T ($.'$. )5514 ϓογϡ௨஌ ΠϕϯτΩϡʔ

    ᶃ ᶄ ᶅ ᶆ
  61. ࣮ݱʹ 4QSJOH੡඼Λ࢖͓͏

  62. 4QSJOH$MPVE4USFBN IUUQTCMPHJLBN

  63. ϓογϡ௨஌͸େྔʹ഑৴͞ΕΔ ͜ͱΛߟ͑Δͱ ,BGLBΛ#JOEFSʹͯ͠ΈΔ

  64. ,BGLB 4JOLઃఆ஫ҙ఺ w (SPVQ TQSJOHDMPVETUSFBNCJOEJOHTJOQVUHSPVQ ͷઃ ఆ͕ͳ͍ͱશ4JOL͕൓Ԡ͢Δ w 4JOL࠶ىಈ࣌ʹաڈॲཧϝοηʔδΛ࠶औಘ͢Δ TQSJOHDMPVETUSFBNLBGLBCJOEJOHT\EFTUJOBUJPO^DPOT

    VNFSTUBSU0⒎TFUMBUFTUΛઃఆ͢Δͱ࠶औಘ͠ͳ͍ ,BGLB 4JOL 4JOL
  65. w ΫϥελϦϯάߏ੒ࢼݧ w ҟৗܥಈ࡞ɺ෮ؼࢼݧ w ࠶ىಈࢼݧ γεςϜςετ͸͔ͬ͠Γ࣮ࢪʂ

  66. 4QSJOH#PPUͷྑ͞ w গͳ͍ίʔυྔͰෳࡶͳॲཧΛ࣮ݱͰ͖Δ w ๛෋ͳؔ࿈ϥΠϒϥϦ܈ʂ w ఆظతʹϓογϡΛ഑৴͢Δαʔό΋؆୯ʹߏங 4DIFEVMJOH5BTLTΛར༻ͨ͠

  67. @EnableAutoConfiguration
 @EnableScheduling
 public class NotificationApplication {
 
 @Autowired
 Source source;


    
 @Scheduled(cron = "0 0,10,20,30,40,50 * * * *", zone = "Asia/Tokyo")
 public void execute() throws InterruptedException {
 // find push message entry
 // … // send message source.output().send(MessageBuilder.withPayload(message).build());
 
 return;
 }
 
 public static void main(String[] args) {
 SpringApplication.run(NotificationApplication.class, args);
 }
 } 4DIFEVMJOH5BTLT
  68. "1* DPSFKBS վमޙͷϓογϡ௨஌αʔϏε "1/T ($.'$. )5514 ϓογϡ௨஌ ,BGLB )551 /PUJpDBUJPO

    4FSWJDF 4QSJOH#PPU 1VTI/PUJpDBUJPO 4JOL 4QSJOH#PPU ఆظϓογϡ ૹ৴πʔϧ 4QSJOH#PPU
  69. "1* DPSFKBS վमޙͷϓογϡ௨஌αʔϏε "1/T ($.'$. )5514 ϓογϡ௨஌ ,BGLB )551 /PUJpDBUJPO

    4FSWJDF 4QSJOH#PPU 1VTI/PUJpDBUJPO 4JOL 4QSJOH#PPU ఆظϓογϡ ૹ৴πʔϧ 4QSJOH#PPU ઈࢍ޻ࣄத
  70. ఆظϓογϡ௨஌഑৴ͷํ͸ ຖ೔਺ඦສ௨ॲཧ͍ͯͯ͠ ҆ఆͯ͠·͢Αʂ

  71. ࡶײɿಘҙ෼໺Λ෼͚ͯΈͯ͸ w ,BGLBͷΑ͏ͳෳࡶͳฒྻॲཧ΍ഉଞ੍ޚͳͲΛѻ͏ϑϨʔ ϜϫʔΫ෦෼Λ4DBMBͰॻ͘ w ϑϨʔϜϫʔΫར༻ʹ͍ͭͯ͸+BWBΠϯλʔϑΣʔεΛ༻ҙ ͯ͠໳ށΛେ͖͘։͍͓ͯ͘ w ࠷ۙͰ͸-BHPN 4DBMB੡ϚΠΫϩαʔϏεϑϨʔϜϫʔΫ

    ΋ͦͷΑ͏ͳྲྀΕʁ
  72. ֶΜͩ͜ͱ w ੩తݴޠͱڧྗͳ*%&ͰαʔϏε෼ׂ΋ḿΔ w +BWBͰग़དྷΔ͜ͱΛྑ͘஌Βͳ͔ͬͨ 4QSJOH$MPVE/FUqJYͳͲͰ͍͢͝πʔϧ͕໨നԡ͠ +BWBྑ͍Ͱ͢Ͷʂָ͍͠ʂ w ΋ͬͱ෼ׂΛਐΊ͍ͯͬͯྑͦ͞͏ͩ

  73. ΞδΣϯμ w ೥ӡ༻͍ͯ͠ΔαʔϏεͷมભ w εϚʔτϑΥϯରԠͷিܸ w ࠓऔΓ૊ΜͰ͍Δ͜ͱͱࠓޙͷల๬ w ·ͱΊ

  74. $PODMVTJPO w ࣄۀ؀ڥʹ߹Θͤͯటष͘͸͋Δ͕αʔϏεΛ֦େग़དྷͨ w େ͖ͳίʔυϕʔε͸૊৫ʹӨڹ͢Δෛ࠴ʹͳΓ͑Δ w ૊৫Λॊೈʹ͠Α͏ͱ͢ΔͱࣗવͱϚΠΫϩαʔϏεΞʔΩ ςΫνϟʹ޲͔͍ͬͯ͘ͱײ͡Δ w +BWB+7.ͷ҆ఆੑ͸࠷ߴͩ

  75. ࠓ͸ +BWB4QSJOH$MPVE ͳͲͷΩʔϫʔυʹϫΫϫΫ

  76. ໨ઌͷվળΛଓ͚͍ͯ͘ͱ ͞Βʹ̍̌೥ܦͬͯ·ͨ͠ͱ ͳ͍ͬͯΔؾ͕͢Δ

  77. ࠷ޙʹ ϑϦϡʔͰ͸Ұॹʹಇ͍ͯ ͘ΕΔΤϯδχΞΛืूதʂ IUUQXXXTBJZPGVSZVKQJOEFYIUNM