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

COBOLミートアップ #1

9da3e55b63eadb238fb34882ca08e27b?s=47 A.K.A Tony Morris
June 23, 2016
88

COBOLミートアップ #1

9da3e55b63eadb238fb34882ca08e27b?s=128

A.K.A Tony Morris

June 23, 2016
Tweet

Transcript

  1. $0#0-ϛʔτΞοϓ 

  2. ࣗݾ঺հ w ຊ໊ɹฏా஌ٛ w ೔ຊ*#.ۈ຿ w ࣄۀձࣾʹର͠4ZTUFN*OUFHSBUJPOΛߦ͏ࣄۀ෦ʹॴଐ w 4,&ശਪ͠ɻಛʹߐ᝷ͪΌΜ

  3. %JTDMBJNFS ͜ͷߨԋ͓Αͼࢿྉͷ಺༰͸ࢲݸਓͷҙݟͰ͋Γɺॴଐ͢Δձࣾ΍ஂ ମͷҙݟ΍ݟղΛ୅දͯ͠ड़΂ͨ΋ͷͰ͸͋Γ·ͤΜɻ ·ͨܝࡌʹ͋ͨΓॴଐ͢Δձࣾ΍ஂମͷϨϏϡʔΛड͚͓ͯΓ·ͤΜɻ ͜ͷ಺༰Λ࢖༻͢Δํͷ੹೚ʹ͓͍ͯ࢖༻͍ͯͩ͘͠͞ɻ

  4. ૝ఆΦʔσΟΤϯεͱ࿩͢಺༰ w ͏͔ͬΓ$0#0-ϓϩδΣΫτʹΞαΠϯ͞Εͯ͠·ͬͨਓ w ϚωʔδϟʔɺϦʔμʔ͕$0#0-ͬΆͯ͘ࠔ͍ͬͯΔਓ w ڵຯຊҐ ὎$0#0-ͱϞμϯͳϓϩάϥϛϯάݴޠͷҧ͍ ὎൴Β൴ঁΒͷ಄ͷத ὎$0#0-ͷྺ࢙తഎܠɺ4*FS໰୊

  5. $0#0-ΛޠΔେલఏ ڧྗͳϕϯμʔϩοΫΠϯ ಋೖاۀ͝ͱʹ࡞Γࠐ·Εͨ؀ڥ ։ൃ؀ڥ͕اۀ͝ͱʹҟͳΔ ίϚϯυ͢Β΋ҟͳΔ จ๏͢Β΋ʂ

  6. ͦͷ݁Ռɺ͜Μͳঢ়ଶʹ ࠓ͔Βࢲ͕ड़΂Δ͜ͱ͸త֎Ε͔΋͠Ε·ͤΜ͕ɺ͝༰ࣻΛ

  7. $0#0-ͷιʔε͸͜Μͳײ͡ *%&/5*'*$"5*0/%*7*4*0/ 130(3".*%'*#0/"$$* &/7*30/.&/5%*7*4*0/ %"5"%*7*4*0/ 803,*/(4503"(&4&$5*0/ /1*$   /1*$;

      .1*$  7"-6& 01*$   *1*$  7"-6& 21*$9 130$&%63&%*7*4*0/ 1"3"" %*41-":   &3"4& %*41-":   '*#0/"$$* /6.#&34'30.50"3& .07&50/ %*41-": %*41-": %*41-": .07&500 ग़యɿIUUQXXXHJWFNFUIFDPEFDPNTPVSDFTIPXBTQ 4DSJQU*% 1"3"# $0.165&/0 . .07&/50/ .07&.500 .07&/50. %*41-":/ "%%50* *'* (05045011"3" &-4& (0501"3"# 45011"3" %*41-": 450136/   
  8. +BWBͷιʔεʹର͢ΔୈҰҹ৅ w $0#0-ΤϯδχΞ͕+BWBιʔεΛݟͨ৔߹ʹ͸ҧ࿨ײΛײ͡Δ w ҧ࿨ײΛײ͡ΔϙΠϯτʹϞμϯͳݴޠͱͷҧ͍͕ݱΕ͍ͯΔ QVCMJDDMBTT)FMMP8PSME\ QVCMJDTUBUJDWPJENBJO 4USJOH<>BSHT \ 4ZTUFNPVUQSJOUMO

    )FMMP 8PSME  ^ ^ $0#0-͸ϓϩάϥϜॲཧͳ ͷͰɺΘ͟Θ͟NBJOͱݴΘͳ͍ $0#0-ʹҾ਺ͷ֓೦͸ͳ͍ ͍͖ͳΓʮۭʯͬͯͳʹʁ $0#0-ͷม਺͸શ෦ύϒϦοΫ
  9. $0#0-ͷಛ௃ w Ҿ਺తͳ΋ͷ͕࢖͍ʹ͍͘ w ଞͷϓϩάϥϜʹ஋Λ౉ͯ͠஋Λฦͯ͠΋Β͏͚ͩ w ࣗ෼ͷதͰ͸Ҿ਺͸࢖͑ͳ͍ w ഑ྻɺҰԠ͋Δ͚Ͳ୯७ͳ࢖͍ํ͔͠Ͱ͖ͳ͍ w

    ม਺͸ύϒϦοΫͷΈ w είʔϓͱ͍͏֓೦͕ͳ͍ "3&$ "5"#-&0$$6345*.&4 "%"5"1*$9   $"--l46#130(3"./".&l64*/(7"-6&
  10. $0#0-Ͱ૊·ΕͨγεςϜͷಛ௃ w 3%#͕࣮ઓͰ࢖͑ΔΑ͏ʹͳͬͨͷ͸ׂͱ࠷ۙ $0#0-ͷੈքͰ͸  w ࢲͷલۈ຿ઌʢ/&$੡ͷϝΠϯϑϨʔϜ࢖༻ʣͩͱ̌̕೥୆ޙ൒ w +PJOɺ"HHSFHBUJPO͸ϓϩάϥϜͰ࣮૷͢Δ 3%#Λ࢖ΘͣʹγεςϜ͕ߏங͞Ε͍ͯΔ

    ׽͸3%#ͳͲ࢖Θͳ͍
  11. +PJOॲཧͷ࣮૷ w $0#0-ͰҰൠతʹ༻͍ΔϑΝΠϧγεςϜ͸ɺγʔέϯγϟϧ ϑΝΠϧͱࡧҾ෇͖ϑΝΠϧ w τϥϯβΫγϣϯσʔλΛγʔέϯγϟϧϑΝΠϧɺϚελσʔλ ΛࡧҾ෇͖ϑΝΠϧʹ഑ஔ͠ɺ+PJOॲཧΛߦ͏ " " "

    # ɾɾɾ $ ɾɾ % τϥϯβΫγϣϯ Ϛελ "Ӧۀ෦ #ࢿࡐ෦ $ܦཧ෦ %૯຿෦ ̍ߦͣͭ ϑΝΠϧ ΛಡΉ "Ӧۀ෦ "Ӧۀ෦ "Ӧۀ෦ #ࢿࡐ෦ ɾɾɾ $ܦཧ෦ ɾɾ %૯຿෦ ݁Ռ ࡧҾͰ
 ϚελΛಡΉ
  12. "HHSJHBUJPOॲཧͷ࣮૷ w ௚લͷूܭΩʔͷ஋Λม਺ʹηοτ͓͖ͯ͠ɺݱࡏͷΩʔͱൺֱ͢Δ w ूܭΩʔͷมΘΓ໨Λೝࣝ͠ɺϫʔΫ༻ͷϨίʔυʹՃࢉ͍ͯ͘͠ w ूܭΩʔ͕มΘͬͨΒɺϨίʔυΛग़ྗσʔλʹॻ͖ग़͠ɺΫϦΞ͢Δ "Ӧۀ෦ "Ӧۀ෦ "Ӧۀ෦

    #ࢿࡐ෦ ɾɾɾ $ܦཧ෦ ɾɾ %૯຿෦ ूܭલͷσʔλ "Ӧۀ෦ ϫʔΫ༻ͷϨίʔυ "Ӧۀ෦ "Ӧۀ෦ ग़ྗσʔλ "Ӧۀ෦ #ࢿࡐ෦ ɾɾɾɾɾ
  13. $0#0-ΤϯδχΞͷ಄ͷத w ͋ΔσʔληοτΛݟΔ৔߹ɺ$0#0-ΤϯδχΞ͸Ұ౓ʹϨίʔυ͚ͩΛೝࣝ͢Δ       

                 ͜͏͍͏෩ʹݟ͍͑ͯΔ Ұ౓ʹҰߦ                     ͜͏͍͏σʔληοτ͕͋ͬͨ৔߹
  14. ϞμϯͳΤϯδχΞͷ಄ͷத w ͋ΔσʔληοτΛݟΔ৔߹ɺϞμϯͳΤϯδχΞ͸഑ྻͱͯ͠ೝࣝ͢Δ       

                 ͜͏͍͏෩ʹݟ͍͑ͯΔ                     ͜͏͍͏σʔληοτ͕͋ͬͨ৔߹ Ұ౓ʹؙ͝ͱ
  15. ϓϩδΣΫτࣦഊͷԕҼ w ϑΝΠϧͷಡΈॻ͖ɺσʔλϕʔεͷΞΫηε౳ɺඇৗʹϕʔγοΫͳॲཧ ʹ͓͍ͯ͢Βೝࣝͷҧ͍͕͋ΔͷʹɺϓϩδΣΫτ͕͏·͍͘͘Θ͚͕ͳ͍ɻ      

                  $0#0-ΤϯδχΞ                     ϞμϯͳΤϯδχΞ
  16. ॲཧͷ಺༰Λݴ༿Ͱॻ͘ͱ͜Μͳײ͡ w ॲཧΛݴ༿Ͱॻ͘ͱ֤ΤϯδχΞͷಛੑ͕Θ͔Δ w ໌ࣔతɾ҉໧తΛ໰Θͣɺࣗ෼ͷܦݧͨ͠ݴޠͷӨڹΛड͚͍ͯΔ͸ͣ w ࿩͸ͦΕΔ͕ɺʮݴޠʹґଘ͠ͳ͍هड़ʯΛ͢Δͱͨ͠ΒɺڪΒ͘$0#0-తͳهड़ʹͳΔ
 ೖྗϑΝΠϧΛΦʔϓϯ͢Δ ग़ྗϑΝΠϧΛΦʔϓϯ͢Δ ࠷ॳͷ̍ߦΛಡΉ

    ߲໨̍ʹ̍̌Λֻ͚ɺϫʔΫϨίʔυʹηοτ͢Δ ߲໨̎ʹ̍̌Λֻ͚ɺϫʔΫϨίʔυʹηοτ͢Δ ߲໨̏ʹ̍̌Λֻ͚ɺϫʔΫϨίʔυʹηοτ͢Δ ߲໨̐ʹ̍̌Λֻ͚ɺϫʔΫϨίʔυʹηοτ͢Δ ϫʔΫϨίʔυΛग़ྗϑΝΠϧʹॻ͖ग़͢ ࠷ޙͷߦ·Ͱಉ͡ॲཧΛ܁Γฦ͢ ग़ྗϑΝΠϧΛΫϩʔζ͢Δ ೖྗϑΝΠϧΛΫϩʔζ͢Δ $0#0-ΤϯδχΞ ϞμϯͳΤϯδχΞ ೖྗϑΝΠϧΦϒδΣΫτͷ͢΂ͯͷཁૉʹ̍̌Λֻ͚ɺ ݁ՌΛग़ྗϑΝΠϧΦϒδΣΫτʹ୅ೖ͢Δ ಄ͷதͷҧ͍͕ϓϩδΣΫτʹେ͖ͳӨڹΛ༩͑Δ
  17. $0#0-ΤϯδχΞʹىҼ͢Δ໰୊ w ϦʔμʔͱϝϯόʔͰ಄ͷதͷύϥμΠϜ͕ҟͳΔ৔߹ɺ༷ʑͳ໰୊͕ى͜Δ w $0#0-ΤϯδχΞ͕൷൑Λड͚Δͷ͸͜ͷΑ͏ͳߏ଄͕ཧ༝ Ϧʔμʔ ϝϯόʔ $0#0- $0#0- .PEFSO

    .PEFSO ࢖༻͢Δ ϓϩάϥϛϯά
 ݴޠ .PEFSO $0#0- Ϧʔμʔ͕ίʔυΛ ϨϏϡʔͰ͖ͳ͍ ϝϯόʔ͕ΨΠυ ΛཧղͰ͖ͳ͍
  18. ͜Ε͸Ϟμϯͳݴޠಉ࢜Ͱ΋ݴ͑Δࣄ w ϓϩάϥϛϯάɾύϥμΠϜ͕ҟͳΕ͹ɺϞμϯͳݴޠ௨͠ɺ͋Δ ͍͸શ͘ಉ͡ݴޠͰ͋ͬͯ΋ೝࣝͷᴥᴪΛ͖ͨ͢ɻ Ϧʔμʔ ϝϯόʔ 00 00 'VODUJPOBM 'VODUJPOBM

    ࢖༻͢Δ ϓϩάϥϛϯά
 ݴޠ 'VODUJPOBM 00 Ϟμϯͳݴޠͷଟ͘͸ϚϧνɾύϥμΠϜͰ͋Γɺಉ͡ϓ ϩάϥϛϯάݴޠͰ΋ಉ༷ͷࣄ͕ى͜ΓಘΔ
  19. ͜ͷঢ়ଶΛආ͚Δʹ͸Ϧʔμʔͷ੹຿ w ੹೚͸Ϧʔμʔʹ͋Δ͜ͱΛೝࣝ͢Δɻ w ࣗ෼ͷ಄ͷϓϩάϥϛϯάɾύϥμΠϜΛ֬ೝ͢Δɻ w γεςϜԽର৅Λ෼ੳ͠ɺͦΕʹదͨ͠ϓϩάϥϛϯάɾύϥμΠϜΛܾఆ͢Δɻ w ϓϩδΣΫτͰ࢖༻͢ΔϓϩάϥϛϯάݴޠΛ֬ೝ͢Δɻࣗ෼Ͱબ୒Ͱ͖Δ৔߹͸ ద༻͢ΔϓϩάϥϛϯάɾύϥμΠϜʹదͨ͠ݴޠΛબ୒͢Δɻ

    w ։ൃɾίʔσΟϯάΨΠυΛ࡞੒͠ɺϝϯόʔͱ߹ҙ͢ΔɻΨΠυʹ͸ύϥμΠϜ ͱͦͷαϯϓϧΛ໌ࣔ͢Δ͜ͱɻ Ϧʔμͷ࠷େͷ໾໨͸ΨΠυΛ࡞Δ͜ͱͱ ϝϯόʔʹཧղͤ͞Δ͜ͱ ৔߹ʹΑͬͯ͸ϝϯόʔΛม͑Δ͜ͱ΋ॏཁ
  20. ͔͜͜Β͸4*FS໰୊ $0#0-ࢿ࢈ͷ΄ͱΜͲ͕4*FSʹͱͬͯ։ൃɾӡ༻͞Εͯ ͍ΔͨΊɺ4*FSͱͷؔ࿈͸ਂ͍͸ͣɻͳͷͰݴٴ͠·͢ɻ

  21. ͜͜Ͱݴ͏4ZTUFN*OUFHSBUPSͱ͸ w 4*FSʹ΋༷ʑͳاۀܗଶ͕͋Γɺ୲౰͢Δۀ຿ྖҬ΋ҟͳ͍ͬͯΔ͕ɺ ࠓճ͸ԼهͷΑ͏ͳέʔεʹ͍ͭͯݴٴ͢Δ w ࣄۀձࣾ޲͚ʹγεςϜ։ൃΛ੥͚ෛ͏ w ܖ໿ܗଶ͸੥ෛʢ׬੒੹೚ʣ w ର৅ྖҬ͸اۀͷࣄ຿ܭࢉ


    ʢΤϯδχΞϦϯάܥɺϦαʔνܥ͸আ͘ͱ͍͏͜ͱʣ
  22. 4*FS͸ੲ޾ͤͩͬͨγεςϜҎ֎ͷཧ༝ ޷ܠؾΛഎܠʹͨ͠५୔ͳࢿۚ ೑ମ΁ͷෛ୲͕௿͍։ൃ؀ڥ ۀ຿͕ࠓͱൺ΂ͯ୯७

  23. 4*FS͸ੲ޾ͤͩͬͨγεςϜతͳཧ༝ ߴ͍ཁ݅τϨʔαϏϦςΟ ϏδωεϢʔβʔʹΑΔϨϏϡʔ͕Մೳ ޻਺ݟੵͷ༰қ͞ w $0#0-͕࣋ͭಛੑʹΑΓτϥϒϧ͕ൃੜ͢ΔՄೳੑ͸ɺݱࡏͱൺ ΂ͯඇৗʹ௿͔ͬͨ


  24. 4*FSΛෆ޾ʹٕͨ͠ज़ 3%# +BWB $MJFOU4FSWFSΞʔΩςΫνϟ ࣄ຿ॲཧʹΦϒδΣΫτࢤ޲͸ෆ޲͖ ݟੵ͕ࠔ೉ ཁ݅ɺ֎෦ઃܭͱͷτϨʔαϏϦςΟ͕௿͍ ݁ہɺ+PJOɺ"HHSJHBUJPOɺTFMFDUXIFSF͔͠࢖Θͳ͍ͷʹɺ
 ৭Μͳػೳ͕͋Γ͗͢ ΞϓϦέʔγϣϯ։ൃऀ͕

    ΤϯυϢʔβʔͷ1$ͷ໘౗ΛݟΔӋ໨ʹ w ̌̕೥୆ʹొ৔ɺ͋Δ͍͸޿͘࢖ΘΕΔΑ͏ʹͳͬͨԼهͷٕज़͸༏Εͨ΋ͷͰ͕͋ͬͨɺ ຊདྷͷҙਤͱ͸ҟͳΔ࢖͍ํΛ͞ΕͨͨΊɺ4*FSʹͱͬͯ͸ෆ޾Λট݁͘Ռͱͳͬͨ
  25. 4*FSΛϋοϐʔʹ͢Δٕज़ ,FZ7BMVF4UPSFܕͷ%# ࠷৽ͷϓϩάϥϛϯάݴޠ $MPVE ࣄ຿ॲཧ޲͖ͷɺखଓܕ͕࢖͍΍͍͢ ؔ਺ܕݴޠ͸Ҋ֎ྑ͍͔΋͠Εͳ͍ શൠతʹՄಡੑ͕ߴ·͍ͬͯΔ 3FEJT౳%#؅ཧγεςϜͦͷ΋ͷ͸ܰྔ ඞཁͳػೳͷΈϓϩάϥϜͰ࣮૷͢Ε͹ྑ͍ ΞϓϦέʔγϣϯ։ൃऀ͸ɺ

    ͋·ΓΠϯϑϥετϥΫνϟʔͷ͜ͱΛߟ͑ͳͯ͘ྑ͘ͳͬͨ w ̌̕೥୆ʹొ৔ɺ͋Δ͍͸޿͘࢖ΘΕΔΑ͏ʹͳͬͨԼهͷٕज़͸༏Εͨ΋ͷͰ͕͋ͬͨɺຊདྷͷҙਤͱ͸ҟͳ Δ࢖͍ํΛ͞ΕͨͨΊɺ4*FSʹͱͬͯ͸ෆ޾Λট݁͘Ռͱͳͬͨ

  26. ࠷ޙʹɾɾɾɹ͓ͬ͞ΜΤϯδχΞͷ஫ҙ w λΠϜεέʔϧ͕શ͘ҧ͏ͷͰ஫ҙ͠Α͏ w )PU-JNJU  ὎ׂͱ࠷ۙ w &;%0%"/$& 

    ὎ͪΐͬͱલ w (FU8JME  ὎ׂͱલ ࢲ͕ࠓ୲౰͍ͯ͠Δͷ͸̍̒̕̕೥੡ͷγεςϜͷ࠶ߏங ίϯαϧλϯτͷਓ͸࿝ٺԽͨ͠γεςϜͱݴ͏͕ ࢲʹͱͬͯ͸ׂͱ࠷ۙͷγεςϜ ͳͷͰɺָ͘͠΍ͬͯ·͢ʂʂ
  27. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠