Slide 1

Slide 1 text

-JOU/JHIU BDUJPOMJOUͷ-JOUFSઃܭ -JOUFSͱͯ͠ͷઃܭํ਑ͱͦΕΛࢧ͑Δ࣮૷

Slide 2

Slide 2 text

w ɹɹɹ!SIZTE w ɹɹɹ!-JOEB@QQ w ɹɹɹ!-JOEB@QQ!NTUEOKQ w ޷͖ͳ-JOUFS w TIFMMDIFDL w QZ fl BLFT w TUBUJDDIFDL ࣗݾ঺հ

Slide 3

Slide 3 text

w BDUJPOMJOUͷ঺հ w BDUJPOMJOUͷ-JOUFSઃܭ w -JOUFSͷτϨʔυΦϑʹର͢Δઃܭํ਑ w ઃܭΛࢧ͑Δ࣮૷ ࿩͢͜ͱ

Slide 4

Slide 4 text

BDUJPOMJOUͷ঺հ

Slide 5

Slide 5 text

w (JU)VCͷ$*αʔϏε w IUUQTHJUIVCDPNGFBUVSFT BDUJPOT w ϫʔΫϑϩʔΛ:".-Ͱॻ͘ͱ DPNNJUQVTIͳͲͷΠϕϯτͰ ࣗಈ࣮ߦͯ͘͠ΕΔ w ೚ҙίʔυ࣮ߦBTB4FSWJDF (JU)VC"DUJPOT

Slide 6

Slide 6 text

w IUUQTHJUIVCDPNSIZTE BDUJPOMJOU w (JU)VC"DUJPOTͷͨΊͷ-JOUFS w 8PSL fl PXϑΝΠϧ w 3FVTBCMF8PSL fl PXϑΝΠϧ w ϩʔΧϧͷ"DUJPO w ϦϙδτϦͷϧʔτͰBDUJPOMJOUίϚ ϯυΛ࣮ߦ͢Δ͚ͩ w IUUQTHJUIVCDPNSIZTE BDUJPOMJOUUSFFNBJOEPDT BDUJPOMJOU

Slide 7

Slide 7 text

(JU)VC"DUJPOTϫʔΫϑϩʔؒҧ͍୳͠ʢ̒ݸʣ

Slide 8

Slide 8 text

(JU)VC"DUJPOTϫʔΫϑϩʔؒҧ͍୳͠ʢ̒ݸʣ test.yaml:3:5: unexpected key "branch" for "push" section. expected one of "branches", "branches-ignore", "paths", "paths-ignore", "tags", "tags-ignore", "types", "workflows" [syntax-check] | 3 | branch: main | ^~~~~~~ test.yaml:9:30: label "linux-latest" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-14-xl", "macos-14-xlarge", "macos-14- large", "macos-14", "macos-14.0", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-13.0", "macos-12-xl", "macos-12- xlarge", "macos-12-large", "macos-12", "macos-12.0", "macos-11", "macos-11.0", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label] | 9 | os: [windows-latest, linux-latest] | ^~~~~~~~~~~~~ test.yaml:11:13: context "secrets" is not allowed here. available contexts are "github", "inputs", "needs", "vars". see https://docs.github.com/ en/actions/learn-github-actions/contexts#context-availability for more details [expression] | 11 | if: ${{ secrets.API_KEY != '' }} | ^~~~~~~~~~~~~~~ test.yaml:13:45: "github.event.head_commit.message" is potentially untrusted. avoid using it directly in inline scripts. instead, pass it through an environment variable. see https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions for more details [expression] | 13 | - run: echo "Run test for commit '${{ github.event.head_commit.message }}'" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test.yaml:16:11: input "submodule" is not defined in action "actions/checkout@v4". available inputs are "clean", "fetch-depth", "fetch-tags", "filter", "github-server-url", "lfs", "path", "persist-credentials", "ref", "repository", "set-safe-directory", "show-progress", "sparse- checkout", "sparse-checkout-cone-mode", "ssh-key", "ssh-known-hosts", "ssh-strict", "ssh-user", "submodules", "token" [action] | 16 | submodule: recursive | ^~~~~~~~~~ test.yaml:18:36: got unexpected character '"' while lexing expression, expecting 'a'..'z', 'A'..'Z', '_', '0'..'9', ''', '}', '(', ')', '[', ']', '.', '!', '<', '>', '=', '&', '|', '*', ',', ' '. do you mean string literals? only single quotes are available for string delimiter [expression] | 18 | if: ${{ matrix.platform != "windows-latest" }} | ^~~~~~~~~~~~~~~~

Slide 9

Slide 9 text

(JU)VC"DUJPOTϫʔΫϑϩʔؒҧ͍୳͠ʢ̒ݸʣ test.yaml:3:5: unexpected key "branch" for "push" section. expected one of "branches", "branches-ignore", "paths", "paths-ignore", "tags", "tags-ignore", "types", "workflows" [syntax-check] | 3 | branch: main | ^~~~~~~ test.yaml:9:30: label "linux-latest" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-14-xl", "macos-14-xlarge", "macos-14- large", "macos-14", "macos-14.0", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-13.0", "macos-12-xl", "macos-12- xlarge", "macos-12-large", "macos-12", "macos-12.0", "macos-11", "macos-11.0", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label] | 9 | os: [windows-latest, linux-latest] | ^~~~~~~~~~~~~ test.yaml:11:13: context "secrets" is not allowed here. available contexts are "github", "inputs", "needs", "vars". see https://docs.github.com/ en/actions/learn-github-actions/contexts#context-availability for more details [expression] | 11 | if: ${{ secrets.API_KEY != '' }} | ^~~~~~~~~~~~~~~ test.yaml:13:45: "github.event.head_commit.message" is potentially untrusted. avoid using it directly in inline scripts. instead, pass it through an environment variable. see https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions for more details [expression] | 13 | - run: echo "Run test for commit '${{ github.event.head_commit.message }}'" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test.yaml:16:11: input "submodule" is not defined in action "actions/checkout@v4". available inputs are "clean", "fetch-depth", "fetch-tags", "filter", "github-server-url", "lfs", "path", "persist-credentials", "ref", "repository", "set-safe-directory", "show-progress", "sparse- checkout", "sparse-checkout-cone-mode", "ssh-key", "ssh-known-hosts", "ssh-strict", "ssh-user", "submodules", "token" [action] | 16 | submodule: recursive | ^~~~~~~~~~ test.yaml:18:36: got unexpected character '"' while lexing expression, expecting 'a'..'z', 'A'..'Z', '_', '0'..'9', ''', '}', '(', ')', '[', ']', '.', '!', '<', '>', '=', '&', '|', '*', ',', ' '. do you mean string literals? only single quotes are available for string delimiter [expression] | 18 | if: ${{ matrix.platform != "windows-latest" }} | ^~~~~~~~~~~~~~~~ CSBODIͰ͸ͳ͘CSBODIFT ʢߏจνΣοΫʣ MJOVYMBUFTUͱ͍͏ϥϕϧ͸ແ͍ ʢϥϕϧνΣοΫʣ TFDSFUT͸͜͜Ͱ͸࢖͑ͳ͍ ʢBWBJMBCMFDPOUFYUTνΣοΫʣ ͜ͷ஋͸SVOͷεΫϦϓτ಺ʹຒΊࠐΜͰ ͸͍͚ͳ͍ʢTDSJQUJOKFDUJPOνΣοΫʣ BDUJPOTDIFDLPVUͷJOQVU͸ TVCNPEVMFT͕ਖ਼͍͠ ʢ༗໊ΞΫγϣϯͷJOQVUνΣοΫʣ μϒϧΫΥʔτ͸จࣈྻϦςϥϧʹ࢖͑ͳ͍ʢࣜͷߏจνΣοΫʣ

Slide 10

Slide 10 text

1MBZHSPVOE IUUQTSIZTEHJUIVCJPBDUJPOMJOUF+YUL&-X"2YF '(.2DK)YJLH,/,%F+)R365,;K//VGT%0CUQ3E[E/&Z8NCG( GF8$"6%0D",697K:'(,)T:W)U4ISV(:M)OEH-YWPX5I%,W/"& ,V#[Q[MEQ3Q.5Z"BT+OS0R%:Z;XV1I1K/X31+7;U3*+2FN G-)GZ *%SVI5BDM:NYQKHCJ"8HC#XLR#1KN)K1&IOK(+*#UV"MMKIB[IT69Q6 D/&PTB*5Q0;("IK($';06VTL(E:&GVST$ZGR/)4&SHPB$ "PHZG7B7#9+8*0ZY&+SZ"2#R8S-#R*QQ52.REY0(V-FDY22O +;D%+7.OKY#;O&/SVSNE/RGX9"5OI

Slide 11

Slide 11 text

αϙʔτ͍ͯ͠ΔνΣοΫ߲໨ IUUQTHJUIVCDPNSIZTEBDUJPOMJOUCMPCNBJOEPDTDIFDLTNE w 6OFYQFDUFELFZT w .JTTJOHSFRVJSFELFZTPSLFZEVQMJDBUFT w 6OFYQFDUFEFNQUZNBQQJOHT w 6OFYQFDUFENBQQJOHWBMVFT w 4ZOUBYDIFDLGPSFYQSFTTJPOA\\^^A w 5ZQFDIFDLTGPSFYQSFTTJPOTZOUBYJOA\\^^A w $POUFYUTBOECVJMUJOGVODUJPOT w $POUFYUVBMUZQJOHGPSATUFQTTUFQ@JEAPCKFDUT w $POUFYUVBMUZQJOHGPSANBUSJYAPCKFDU w $POUFYUVBMUZQJOHGPSAOFFETAPCKFDU w 4USJDUUZQFDIFDLTGPSDPNQBSJTPOPQFSBUPST w TIFMMDIFDLJOUFHSBUJPOGPSASVOA w QZ fl BLFTJOUFHSBUJPOGPSASVOA w 4DSJQUJOKFDUJPOCZQPUFOUJBMMZVOUSVTUFEJOQVUT w +PCEFQFOEFODJFTWBMJEBUJPO w .BUSJYWBMVFT w 8FCIPPLFWFOUTWBMJEBUJPO w 8PSL fl PXEJTQBUDIFWFOUWBMJEBUJPO w (MPC fi MUFSQBUUFSOTZOUBYWBMJEBUJPO w $30/TZOUBYDIFDLBUATDIFEVMFA w 3VOOFSMBCFMT w "DUJPOGPSNBUJOAVTFTA w -PDBMBDUJPOJOQVUTWBMJEBUJPOBUAXJUIA w 1PQVMBSBDUJPOJOQVUTWBMJEBUJPOBUAXJUIA w 0VUEBUFEQPQVMBSBDUJPOTEFUFDUJPOBUAVTFTA w 4IFMMOBNFWBMJEBUJPOBUATIFMMA w +PC*%BOETUFQ*%VOJRVFOFTT w )BSEDPEFEDSFEFOUJBMT w &OWJSPONFOUWBSJBCMFOBNFT w 1FSNJTTJPOT w $IFDLJOQVUEF fi OJUJPOTPGAXPSL fl PX@DBMMAFWFOUJOSFVTBCMFXPSL fl PX w $IFDLXPSL fl PXDBMMTZOUBY w $IFDLUZQFTPGAJOQVUTABOEATFDSFUTAJOSFVTBCMFXPSL fl PX w $IFDLPVUQVUTJOSFVTBCMFXPSL fl PX w $IFDLJOQVUTBOETFDSFUTJOXPSL fl PXDBMM w $IFDLPVUQVUTPGXPSL fl PXDBMMJOEPXOTUSFBNKPCT w *%OBNJOHDPOWFOUJPO w $POUFYUTBOETQFDJBMGVODUJPOTBWBJMBCJMJUZ w %FQSFDBUFEXPSL fl PXDPNNBOET w $POEJUJPOTBMXBZTFWBMVBUFEUPUSVFBUAJGA w "DUJPONFUBEBUBTZOUBYWBMJEBUJPO

Slide 12

Slide 12 text

BDUJPOMJOUͷ-JOUFSઃܭ

Slide 13

Slide 13 text

-JOUFSʹ͓͚ΔτϨʔυΦϑ ݟ͚ͭΒΕΔΤϥʔͷ਺ GBMTFQPTJUJWFʢޡ਍ʣ ໌Β͔ͳؒҧ͍ͷݕ஌ ʢFHߏจνΣοΫʣ ϕετϓϥΫςΟεͷఏҊ ʢFHΠσΟΦϜʣ ελΠϧͷڧ੍ ʢFHίʔυελΠϧʣ Ϣʔβͷෛ୲ʢઃఆɾνΣοΫ಺༰ͷ೺ѲͳͲʣ ଟ গ ܰ গ ଟ ॏ

Slide 14

Slide 14 text

Ұൠతͳ-JOUFSͷτϨʔυΦϑʹର͢Δઃܭ w ઃఆϑΝΠϧΛ༻ҙ͠ɼϧʔϧ͝ͱʹ0/0''Ͱ͖ΔΑ͏ʹ͢Δ w ྑ͍ײ͡ͷσϑΥϧτઃఆΛ༻ҙ͢Δ w GBMTFQPTJUJWF͕ଟͦ͏ͳ΋ͷ͸FSSPSͰ͸ͳ͘XBSOJOHʹ͢Δ w ίϝϯτͰ෦෼తʹϧʔϧΛ0/0''Ͱ͖ΔΑ͏ʹ͢Δ

Slide 15

Slide 15 text

BDUJPOMJOUͷτϨʔυΦϑʹର͢Δઃܭ w ઃఆϑΝΠϧΛ༻ҙ͠ɼϧʔϧ͝ͱʹ0/0''Ͱ͖ΔΑ͏ʹ͢Δ w ྑ͍ײ͡ͷσϑΥϧτઃఆΛ༻ҙ͢Δ w GBMTFQPTJUJWF͕ଟͦ͏ͳ΋ͷ͸FSSPSͰ͸ͳ͘XBSOJOHʹ͢Δ w ίϝϯτͰ෦෼తʹϧʔϧΛ0/0''Ͱ͖ΔΑ͏ʹ͢Δ ͱʹ͔͘ؾܰʹ࢖͑ΔΑ͏ʹ͍ͨ͠

Slide 16

Slide 16 text

-JOUFSʹ͓͚ΔτϨʔυΦϑ ݟ͚ͭΒΕΔΤϥʔͷ਺ GBMTFQPTJUJWFʢޡ਍ʣ ؒҧ͍ͷݕ஌ ʢFHߏจνΣοΫʣ ϕετϓϥΫςΟεͷఏҊ ʢFHΠσΟΦϜʣ ελΠϧͷڧ੍ ʢFHίʔυελΠϧʣ Ϣʔβͷෛ୲ʢઃఆɾνΣοΫ಺༰ͷ೺ѲͳͲʣ ଟ গ ܰ গ ଟ ॏ ˢBDUJPOMJOU͸͜ͷลΓ

Slide 17

Slide 17 text

ͱʹ͔͘ؾܰʹ࢖͑ΔΑ͏ʹ͍ͨ͠ $*ͷϫʔΫϑϩʔͷνΣοΫʹ࿑ྗ͸ׂ͖ͨ͘ͳ͍ w ✅ͱʹ͔͘GBMTFQPTJUJWFΛग़͞ͳ͍ w ✅ϢʔβʹઃఆϑΝΠϧΛॻ͔ͤͳ͍ w ✅؆୯ʹ࣮ߦͰ͖Δ w ✅࣮ߦ͕ߴ଎ w 🐶👍ʮͳΜ͔஌ΒΜ͚Ͳɼ͜ΕҰൃ͔͚ͱ͘ͱͪΐͬͱ҆৺ʯ

Slide 18

Slide 18 text

ͱʹ͔͘ؾܰʹ࢖͑ΔΑ͏ʹ͍ͨ͠ $*ͷϫʔΫϑϩʔͷνΣοΫʹ࿑ྗ͸ׂ͖ͨ͘ͳ͍ w ✅ͱʹ͔͘GBMTFQPTJUJWFΛग़͞ͳ͍ w ✅ϢʔβʹઃఆϑΝΠϧΛॻ͔ͤͳ͍ w ✅؆୯ʹ࣮ߦͰ͖Δ w ✅࣮ߦ͕ߴ଎ ^ӡ༻ͰͳΜͱ͔͢ΔɽGBMTFQPTJUJWF ͕ൃੜͦ͠͏ͳఏҊ΍ઃఆՄೳʹ͠ ͍ͨͱ͍͏ཁ๬͸٫Լ͢Δ ^΋͏গ͠ਂງΓ͠·͢

Slide 19

Slide 19 text

✅࣮ߦ͕ߴ଎ʢ(Pʣ ϫʔΫϑϩʔϑΝΠϧ͝ͱͷฒྻԽ ϫʔΫϑ ϩʔϑΝ Πϧݕࡧ fi MFZNM wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ 7JTJUPS fi MFZNM 7JTJUPS wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ fi MFZNM 7JTJUPS wΤϥʔ wΤϥʔ wΤϥʔ wΤϥʔ ೖྗ ग़ྗ ύʔε ύʔε ύʔε ૸ࠪ ૸ࠪ ૸ࠪ ऩू ऩू ऩू (PSPVUJOF (PSPVUJOF (PSPVUJOF HPZBNMͰύʔεͨ͠ :".-πϦʔΛϫʔΫϑ ϩʔߏจ໦ʹύʔε ϧʔϧ͝ͱʹ7JTJUPSΛ ࣮૷͠ɼύεͰߏจ໦ Λ૸ࠪͯ͠ΤϥʔΛ୳͢ YTZODFSSHSPVQΛ ࢖ͬͯɼෳ਺εϨουΛ ଴ͪ߹ΘͤΔ

Slide 20

Slide 20 text

✅࣮ߦ͕ߴ଎ʢ(Pʣ ֎෦ϓϩηεʢTIFMMDIFDL QZ fl BLFTʣͷฒྻԽ 8PSL fl PX +PC 3VMF4IFMMDIFDL 7JTJUPS SVO SVO SVO +PC SVO SVO SVO (PSPVUJOF ૸ࠪ (PSPVUJOF (PSPVUJOF (PSPVUJOF (PSPVUJOF (PSPVUJOF ฒྻͰTIFMMDIFDL ϓϩηεΛ࣮ߦ run:͝ͱʹϓϩηεΛ࣮ߦ͢Δ (SPVUJOFΛੜ੒͢Δ ᷓΕͨ(PSPVUJOF͸ ଴ͨͤΔ Τϥʔ Τϥʔ Τϥʔ Τϥʔ TIFMMDIFDLͷใࠂ ͨ͠ΤϥʔΛऩू w ֎෦ϓϩηεͷ࣮ߦ͸஗͍ͷͰɼ(PSPVUJOFʹ౤͛ͯߏจ໦ͷ૸ࠪΛࢭΊͳ͍ w (PSPVUJOF͸ࢠϓϩηεͷऴྃ·Ͱ৸ͯ͠·͏ͷͰɼࢠϓϩηε͝ͱʹ(PSPVUJOFΛੜ੒͢Δͱεέδϡʔϥ͸ࢠϓϩηεΛ͋Δ ͚࣮ͩߦ͠Α͏ͱͯ͠͠·͏ɽͦͷͨΊࣗલͰฒྻ਺Λ੍ݶ͢Δඞཁ͋ΓʢYTZODTFNBQIPSFʣ w ฒྻʹ࣮ߦ͢Δࢠϓϩηεͷ਺͕૿͑͗͢Δͱ஗͘ͳΔ͠04ʹࡴ͞ΕΔ͜ͱ΋

Slide 21

Slide 21 text

✅؆୯ʹ࣮ߦͰ͖Δ$-* w MJCDඇґଘͷγϯάϧόΠφϦΆΜஔ͖Ͱ࢖͑Δʢ(Pɹ͋Γ͕ͱ͏ʣ w ֤छύοέʔδϚωʔδϟʢ)PNFCSFX 8JOHFU QBDNBO /JY ʣ w %PDLFSΠϝʔδ w IUUQTIVCEPDLFSDPNSSIZTEBDUJPOMJOU w $*޲͚ηοτΞοϓεΫϦϓτ

Slide 22

Slide 22 text

✅؆୯ʹ࣮ߦͰ͖Δଞπʔϧ࿈ܞ w SFWJFXEPH w 1SPCMFN.BUDIFST w $*࣮ߦதʹBDUJPOMJOU͕ใࠂͨ͠ΤϥʔΛऩूͯ͠ྑ͍ײ͡ʹ݁ՌΛΞϊςʔγϣϯͯ͘͠ΕΔ w QSFDPNNJU w (JUϑοΫͰࣗಈͰBDUJPOMJOUΛ࣮ߦͰ͖Δ w ֤छςΩετΤσΟλϓϥάΠϯͰϑΝΠϧอଘ࣌ͳͲʹࣗಈ࣮ߦ w -formatίϚϯυΦϓγϣϯʹςϯϓϨʔτΛ౉ͯ͠Τϥʔग़ྗΛ੔ܗʢUFYUUFNQMBUFܗࣜʣ w +40/Ͱग़ྗ͍ͨ͠ˠactionlint -format '{{json .}}' w 4"3*'ͳͲͷෳࡶͳϑΥʔϚοτʹ΋ରԠͰ͖Δʢ$PEF2-ʣ

Slide 23

Slide 23 text

✅؆୯ʹ࣮ߦͰ͖Δ1MBZHSPVOE w 8FCͰBDUJPOMJOU͕ࢼͤ·͢IUUQTSIZTEHJUIVCJPBDUJPOMJOU w BDUJPOMJOUΛ8BTNʹϏϧυͯ͠ϒϥ΢β্ͰॲཧΛ׬݁ w ύʔϚϦϯΫΛੜ੒Ͱ͖ΔΑ͏ʹ͠ɼόάใࠂʹ΋׆༻

Slide 24

Slide 24 text

✅؆୯ʹ࣮ߦͰ͖Δ(P"1* w BDUJPOMJOUͷ಺෦࣮૷Λ(PϞδϡʔϧͱͯ͠ެ։ IUUQTQLHHPEFWHJUIVCDPNSIZTEBDUJPOMJOU w BDUJPOMJOUΛ(PϓϩάϥϜͷதʹຒΊࠐΊΔ w ಠࣗͷϧʔϧΛ௥Ճ͠ΧελϚΠζͨ͠BDUJPOMJOUΛ ϏϧυͰ͖Δ w ϫʔΫϑϩʔͷύʔα΍ࣜͷܕνΣοΧʔͳͲ֤ύʔ πΛ࠶ར༻Ͱ͖Δ w ༗໊ͳ044Ͱ࣮ࡍʹ࢖ΘΕ͍ͯΔ w BDUIUUQTHJUIVCDPNOFLUPTBDU w (JUFBIUUQTHJUIVCDPNHPHJUFBHJUFB w 4DPSFDBSEIUUQTHJUIVCDPNPTTGTDPSFDBSE

Slide 25

Slide 25 text

·ͱΊ w (JU)VC"DUJPOTϫʔΫϑϩʔΛνΣοΫ͢ΔBDUJPOMJOU։ൃͯ͠·͢ɽྑ͔ ͬͨΒࢼͯ͠Έ͍ͯͩ͘͞ w BDUJPOMJOU͸ʮͱʹ͔͘ؾܰʹ࢖͑ΔΑ͏ʹ͍ͨ͠ʯͱ͍͏ઃܭํ਑Ͱ։ൃ w (PSPVUJOFΛ࢖͍ฒྻԽ͢Δ͜ͱͰߴ଎ԽΛਤ͍ͬͯΔ w $-*͚ͩͰͳ֤͘छςΩετΤσΟλରԠ΍8BTNΛར༻ͨ͠ 1MBZHSPVOEɼ(P"1*ͳͲ৭ʑͳϢʔεέʔεͰ࢖͑Δ