Slide 1

Slide 1 text

1FSM࢖͍ͷࠃͷ3VCZJTU 3FKFDU,BJHJ େ஥ೳ࢙BLBJEPOL

Slide 2

Slide 2 text

ࣗݾ঺հ w େ஥ೳ࢙BLBJEPOL w ݄·ͰυϦίϜͱ͍͏ձࣾͰ3BJMTΛॻ͍ ͍ͯ·ͨ͠ɻ3BJMTྺ೥͙Β͍ w ݄͔Βɺ͸ͯͳͱ͍͏ձࣾͰ1FSMΛॻ͍ͯ ͍·͢ɻ1FSMྺϲ݄ w ࠓ೔͸ژ౎͔Βདྷ·ͨ͠

Slide 3

Slide 3 text

1FSMɻ

Slide 4

Slide 4 text

1FSMɻ w ʮઈରʹॻ͖ͨ͘ͳ͍ʯͱࢥ͍ͬͯΔਓ͕গͳ͘ͳ͍ͱࢥ͏ w ๻΋ͦ͏Ͱͨ͠

Slide 5

Slide 5 text

1FSMɻ w ه߸ଟ͗͢Δ͠ ͱ͔!ͱ͔ͱ͔  w ޙ෇͚ͷΦϒδΣΫτࢦ޲͕ෆ֨޷ͩ͠ w Ҿ਺͕ແͯ͘!@͔ΒऔΓग़͞ͳ͖Ό͍͚ͳ͍͠

Slide 6

Slide 6 text

1FSMɻ w ਖ਼௚ɺژ౎΁ͷసډͱ͍͏ϥΠϑΠϕϯτ͕ແ͔ͬͨΒ·ͩ3VCZ ॻ͍͍ͯͨͱࢥ͍·͢ w Ͱ΋·͊ɺඈͼࠐΜ͔ͩΒʹ͸ຊؾͰ΍ΔΑɺͱ͍͏Θ͚Ͱɺࠓ೔ ͸ʮ1FSM࢖͍ͷࠃͷ3VCZJTUʯͱ͍͏࿩Λ͠·͢ w λΠτϧ͸:"1$"TJBͷ͋ΜͪΆ͘ΜΠϯεύΠΞ

Slide 7

Slide 7 text

ΞδΣϯμ w 3VCZ͔Β1FSM΁ w ࠷ۙͷ1FSMͱ࠷ۙͷ3VCZ w 1FSMͱ3VCZͷܑఋؔ܎ w 1FSMʹ׳ΕΔͨΊʹԿΛ΍͔ͬͨ w ։ൃ͍ͯͯ͠ϏοΫϦͨ͠ͱ͜Ζ w $1"/Ϟδϡʔϧฤ w ·ͱΊ

Slide 8

Slide 8 text

3VCZ͔Β1FSM΁ w ʮ1FSM͔Β3VCZ΁ʯ͍ͬͯ͏ެࣜυΩϡϝϯτ

Slide 9

Slide 9 text

3VCZ͔Β1FSM΁ w ͜ͷʮ1FSMͱͷྨࣅʯʮ1FSMͱͷҧ͍ʯ͕ʮ3VCZ͔Β1FSM΁ʯͷ ཱ৔Ͱ΋ศར w ൒෼͸ݱ୅ͷ1FSMͰ͸ղܾ͍ͯ͠Δ໰୊ͱ͍͏ͷ͕ޙͰ෼͔ͬͨ

Slide 10

Slide 10 text

࠷ۙͷ1FSMͱ࠷ۙͷ3VCZ w DQBOUT  IUUQTDQBOUTDQBOBVUIPSTPSH 2009 21070 2010 22227 2011 21910 2012 22647 2013 25760 2014 27272 2015 22999 2016 19982 2017 16352 2018 6052 => 17096 ϖʔε

Slide 11

Slide 11 text

࠷ۙͷ1FSMͱ࠷ۙͷ3VCZ w SVCZHFNTPSH  IUUQTSVCZHFNTPSHQBHFTEBUB Version.group("TO_CHAR(created_at, 'YYYY')").count.sort # => [["2009", 39336], ["2010", 59267], ["2011", 82608], ["2012", 104318], ["2013", 125526], ["2014", 155369], ["2015", 132626], ["2016", 121681], ["2017", 108671], ["2018", 36498]] => 105485 ϖʔε

Slide 12

Slide 12 text

࠷ۙͷ1FSMͱ࠷ۙͷ3VCZ w ͲͪΒ΋೥͕ϐʔΫͰಷԽ͕ݟ͑·͢Ͷ w શ੝ظͷ͙Β͍ʁ w ଞͷݴޠ͸ௐ΂ͯͳ͍ΜͰ͕͢ɺؤு͍͖ͬͯ·͠ΐ͏

Slide 13

Slide 13 text

1FSMͱ3VCZͷܑఋؔ܎ w ·ͩ8FC෦໳͔͠ݟͯͳ͍ͷͰଟ͘͸ޠΕ·ͤΜ͕

Slide 14

Slide 14 text

8FC։ൃͷྺ࢙ w $(*࣌୅೥͙Β͍ w ૉͷ$(* w ϦΫΤετΛड͚ΔͨͼʹQFSMΛىಈ͢Δ w "QBDIF NPE@QFSM w QFSMࣗ਎ͷىಈίετ͕ແ͘ͳΔ

Slide 15

Slide 15 text

8FC։ൃͷྺ࢙ w 'BTU$(*࣌୅೥͙Β͍ w ΞϓϦέʔγϣϯΛGDHJରԠ͓͍ͯͯ͠ɺϓϩηεΛ্ཱͪ͛ଓ ͚Δ w "QBDIFͰ͋Δඞཁ͕ͳ͘ͳΓɺMJHIUUQE͕ྲྀߦΔ w 3BJMTY͙Β͍ w MJHIUUQE NPOHSFMͱ͔UIJOͱ͔ջ͔͍͠Ͱ͢Ͷ

Slide 16

Slide 16 text

8FC։ൃͷྺ࢙ w 84(*࣌୅ʙ w 3BDL։ൃ։͕࢝ W͕ w 3BJMTW͕ w 1MBDL։ൃ։͕࢝ W͕ w ʮϓϥοΫاۀʯ͕ྲྀߦޠͩͬͨͷ͕೥຤͙Β͍

Slide 17

Slide 17 text

3VCZπʔϧͱ1FSMQPSU w #VOEMFS w #VOEMFS w ։ൃ։͕࢝ W͕ w $BSUPO w ։ൃ։͕࢝ W͕

Slide 18

Slide 18 text

3VCZπʔϧͱ1FSMQPSU w "OZFOW w SCFOW w QMFOW

Slide 19

Slide 19 text

3VCZπʔϧͱ1FSMQPSU w 8FC"QQMJDBUJPO4FSWFS w 6OJDPSO w 4UBSNBO 4UBSMFU w 8FC"QQMJDBUJPO4FSWFS /PO#MPDLJOH  w QVNB w 5XJHHZ

Slide 20

Slide 20 text

3VCZπʔϧͱ1FSMQPSU w ͷΑ͏ͳײ͡Ͱɺग़ࣗͦ͜1FSM͕3VCZͷܑ͓͞Μ ͓࢞͞Μ ͩ ͬͨ΋ͷͷɺ࠷ۙ͸ٯͷྲྀΕ͕ଟ͔ͬͨҹ৅Ͱ͢

Slide 21

Slide 21 text

֓೦ͷมԽ͕ݮͬͨ w 3BJMT΋͔Β͸֓೦͕มΘΔΑ͏ͳେ͖ͳมߋ͕ͳ͍͠ɺ͔ͦ͜ Β͸8FCΞϓϦ։ൃࣗମ͕ਐԽ͕ࢭ·ͬͯΔҹ৅͕͋Δ w εϚϗΞϓϦ΍41"͸ੜ·Εͨ w +40/4DIFNBลΓ͸ಉ࣌ൃੜతʹ೥ʹ੝Γ্͕ͬͯҰॹ ʹҭͬͨؾ͕͢Δ w ࠷ۙ͸(SBQI2-΍H31$౳͕੝Γ্͕͖͍ͬͯͯΔͷͰɺ։ൃ͠ ָ͍͍ͯͯ͠

Slide 22

Slide 22 text

͢΂ͯͷ஌ݟ͕ͦͷ··࢖͑Δ w ͱ͍ͬͨลΓͰɺಛʹ8FC։ൃͷจ຺Ͱ͸·ͬͨ͘ಉ͡஌ݟ͕࢖ ͑ΔͷͰۤ࿑͢Δ͜ͱ͸ແ͔ͬͨ w ؀ڥߏங͢ΔͷʹSCFOWೖΕͯCVOEMFJOTUBMMͯ͠SBJMTTͱ͔ w ຊ൪؀ڥʹ8FCαʔόͱΞϓϦέʔγϣϯαʔό͕͋ͬͯɺ XPSLFSىಈ਺ͱ͔γάφϧૹͬͯ࠶ىಈͱ͔

Slide 23

Slide 23 text

1FSMʹ׳ΕΔͨΊʹԿΛ΍ ͔ͬͨ

Slide 24

Slide 24 text

1FSMʹ׳ΕΔͨΊʹ΍ͬͨ͜ͱ w ॳΊͯͷ1FSMΛಡΜͩ w ͍ΘΏΔϦϟϚຊ w ʹୈ൛͕ग़͍ͯ·͢

Slide 25

Slide 25 text

1FSMʹ׳ΕΔͨΊʹ΍ͬͨ͜ͱ w )BUFOB5FYUCPPLΛಡΜͩ w ͜ΕͱʮॳΊͯͷ1FSMʯ͚ͩͰ࣮຿ίʔυ ͕ಡΊΔΑ͏ʹͳΔຊ౰ʹੌ͍ڭՊॻ w ಥવͷએ఻ ࠓ೥ͷʮ͸ͯͳαϚʔΠϯλʔ ϯʯࣄલొ࿥ड෇த

Slide 26

Slide 26 text

1FSMʹ׳ΕΔͨΊʹ΍ͬͨ͜ͱ w DBSUPOJOTUBMM࣌ʹยͬ୺͔ΒHIRHFU͢Δ ϚϯΛॻ͍ͨ w HFNTSDͷQFSM൛ ޙʹDQBOHIRΛݟ ͚ͭΔʜʜ  w ϝλϑΝΠϧʹSFQPTJUPSZ͕ࡌͬͯͳ͍ $1"/Ϟδϡʔϧ͕݁ߏ͋Δ w Ұ୴ϦετΛ͚࣋ͬͨͲɺ13ͯ͠ճΒͳ ͍ͱͳ͊

Slide 27

Slide 27 text

1FSMʹ׳ΕΔͨΊʹ΍ͬͨ͜ͱ w BXFTPNFQFSMΛோΊͨ w )BDIJPKJQN  w ࣾ಺ͷ()&͔Β৽͠Ίͷ1MBDLϓϩμΫτͷDQBOpMFΛूܭͯ͠ ோΊͨ w 3BJMT%FWFMPQFST.FFUVQͷͱ͖ͷ͚ΜͪΌΜ͘Μ͞Μͷε ΫϦϓτ͕ਆ

Slide 28

Slide 28 text

1FSMʹ׳ΕΔͨΊʹ΍ͬͨ͜ͱ w ͋ͱ͸࣮຿Ͱ&OVNFSBCMFͷϝιου܈Λ࢖͍·͘Δͷͱɺςετ Λॻ͘ͷͱ w -JTU6UJM -JTU.PSF6UJMT -JTU6UJMT#Z w 5FTU 5FTU888.FDIBOJ[F14(* .PEVMF4QZ w ฏߦͯ͠ϝλϓϩάϥϛϯάͷษڧ΋ߦͬͨ w ࢖͍ͬͯΔπʔϧͷ࣮૷ํ๏͕ਪଌͰ͖ΔΑ͏ʹͳΔ

Slide 29

Slide 29 text

։ൃ͍ͯͯ͠ϏοΫϦͨ͠ͱ ͜Ζ

Slide 30

Slide 30 text

@͕͋Δ w ҉໧తͳϒϩοΫม਺ w ϓϩμΫτίʔυͰ΋ϒϩοΫม਺͕൒෼͙Β͍ෆཁʹ my $array = ["a", "b", "c"]; for (@$array) { print $_ . "\n"; } my $array2 = [map { $_ . "foo"; } @$array];

Slide 31

Slide 31 text

͕͋Δ w EFpOFE͔Ͳ͏͔ͷԋࢉࢠ

Slide 32

Slide 32 text

͕͋Δ w Α͘΍ΔccͷϝϞԽ w GBMTZͳ஋ͩͱࠔΔ def foo @foo ||= heavy_method end # heavy_method ͕ boolean Λฦ͢ͱ͖͸ʁ def foo return @foo if defined?(@foo) @foo = heavy_method end

Slide 33

Slide 33 text

͕͋Δ w MPHJDBMPSͱEFpOFEPS͕͋ΔͱεοΩϦ sub foo { shift->{_foo} //= heavy_method }

Slide 34

Slide 34 text

VTFͰSFRVJSFͱNJYJO w ϥΠϒϥϦଆʹGPP CBSΛ&91035͢Δͱॻ͍͓ͯ͘ͱ package Hoge; use parent 'Exporter'; our @EXPORT = qw/foo bar/; sub foo { ... } sub bar { ... }

Slide 35

Slide 35 text

VTFͰSFRVJSFͱNJYJO w ࢖͏ͱ͖ʹ೚ҙͷؔ਺͚ͩΛNJYJOͰ͖Δ package Fuga; use Hoge qw/foo/;

Slide 36

Slide 36 text

VTFͰSFRVJSFͱNJYJO w ͜Ε͸͓ͦΒ͘จԽతͳϞϊͰɺ1FSM͸3VCZͱ͸ҧͬͯؔ਺ܕ ݴޠͷॱ൪ͰݺͿͷͰʮΦϒδΣΫτʹϝιουΛੜ΍͢ʯͷͰ͸ ͳ͘ɺʮϝιουΛNJYJOͯ͠࢖͏ʯʹͳΔͷͩΖ͏ w ͦͯ͠ϝιου໊͕ॏෳ͠·͘ΔͷͰબ΂ΔΑ͏ʹͳ͍ͬͯΔ # perl reverse uniq grep { $_ ~= /foo/ } ; # ruby IO.read(ARGF).lines.grep {|l| l ~/foo/ }.uniq.reverse

Slide 37

Slide 37 text

είʔϓΛ೚ҙʹ࡞ΕΔ w ϨΩγΧϧείʔϓͱϦϑΝϨϯεΧ΢ϯτࣜ($ sub hoge { my $foo = 'foo'; my $bar = 'bar'; { my $foo = 'baz'; print $foo . $bar . "\n"; # => 'bazbar' } print $foo . $bar . "\n"; # => 'foobar' }

Slide 38

Slide 38 text

είʔϓΛ೚ҙʹ࡞ΕΔ w (VBSE͕࢖͑Δ sub hoge { { # ͜ͷϒϩοΫͷதͰ͚ͩ memcached ্ཱ͕͕ͪΔ my $guard = Proc::Guard->new(command => ["memcached", "-p", "11211"]); # do something ... } # ͜͜Ͱ͸ memcached ͕ఀࢭࡁΈ }

Slide 39

Slide 39 text

είʔϓΛ೚ҙʹ࡞ΕΔ w ೚ҙʹείʔϓΛ࡞ΕΔͱ͜Μͳʹศརͳͷ͔ʔ w PQFOͨ͠ޙDMPTF͠ͳͯ͘΋είʔϓΛൈ͚ͨͱ͖ʹউखʹΫ ϩʔζ͞ΕΔ w 3VCZͩͱCMPDLͰݺͿ͚ͩͳͷ͚ͩΕͲʮൈ͚ͨͱ͖ʹσετ ϥΫλ͕ݺ͹ΕΔʯ͸շײ

Slide 40

Slide 40 text

είʔϓΛ೚ҙʹ࡞ΕΔ w ֤ݴޠͰΈͳ͞Μؤுͬͯ·͢ w 3VCZͰείʔϓΛ͸ͣΕͨͱ͖ʹࣗಈͰԿ͔Λ͢ΔcUFDI൙ཞݪ w IUUQTMPXSFBMOFU w 5SBDF1PJOUͷ࿩ɻ3VCZ,BJHJຊฤͷUBHPNPSJTKPLFSͷൃදΛָ͓͠Έʹ w 1)1Ͱ΋1FSMͰ͍͏ͱ͜Ζͷ(VBSEΛ͢Δ΍ͰʂʂV[VMMB͕ϒϩά w IUUQV[VMMBIBUFCMPKQFOUSZ w 1FSMͷ4DPQF(VBSEΛ$PNNPO-JTQͰ࣮૷͢Δͧʂʂʂ-BNCEBΧΫςϧ w IUUQTXJOEZNFMUIBUFOBCMPHDPNFOUSZ

Slide 41

Slide 41 text

μΠφϛοΫείʔϓ͕͋Δ our $foo = 'foo'; sub print_foo { print $foo . "\n"; } print_foo; # foo { local $foo = 'bar'; print_foo; # bar } print_foo; # foo

Slide 42

Slide 42 text

μΠφϛοΫείʔϓ͕͋Δ w είʔϓͱ࢖͍ಓΛཧղͨ͠ͱ͖ʹ3VCZ೴͔Β1FSM೴ʹ੾Γସ Θͬͨײ͕͡͠·ͨ͠ɻΦϒδΣΫτͰ͸ͳͯ͘είʔϓΛ࿔Δͷ ͕1FSM8BZ

Slide 43

Slide 43 text

μΠφϛοΫείʔϓ͕͋Δ w 3VCZ,BJHJͷ࣭໰ίʔφʔͰEZOBNJDTDPQF ཉ͍͠ʂͬͯݴͬͨΒ.BU[ʹʮEZOBNJD TDPQFΛ࢖Θͳ͍ͨΊʹ3VCZΛ࡞͍ͬͯ Δʯͱ౴͑ΒΕͨͷͰϜγϟΫγϟͯ͠΍ͬ ͨɻ w 1FSM͔Β3VCZʹདྷͨઌਓ͕ډΔͷͰʮͳΔ ΄Ͳͳ͊ʯͱͳΔ

Slide 44

Slide 44 text

࣮ߦ࣌ܕνΣοΫ͕ී௨ w 1FSMք͸࠷ۙ·ͰԾҾ਺͕ແ͔ͬͨͷͰɺҾ਺Λड͚औΔํ๏Λ෼ ͔Γ΍͘͢͢Δ$1"/Ϟδϡʔϧ͕։ൃ͞Εͨ sub foo { my ($num, $str) = @_; print $num . "\n"; print $str . "\n"; } foo(1, "a");

Slide 45

Slide 45 text

࣮ߦ࣌ܕνΣοΫ͕ී௨ use Smart::Args::TypeTiny qw(args); sub create { args my $id => 'Id', my $title => 'Str', my $description => 'Maybe[Str]', my $comment => { isa => 'Str', optional => 1 }, # do something... } # ࢖͏ͱ͖͸ hash Λ౉͢ create( id => 1, title => "title", description => undef, );

Slide 46

Slide 46 text

࣮ߦ࣌ܕνΣοΫ͕ී௨ w W  ͰTVCGPP OVN TUS ͱॻ͚ΔΑ͏ʹͳͬͨ ͚ΕͲɺ)BTIΛ౉ͯ͠ܕνΣοΫΛߦ͏ํ͕ศརͳͷͰɺ࢖ΘΕ ͳ͍ͱࢥ͏

Slide 47

Slide 47 text

ίϯςΫετ͕͋Δ my $a = localtime; my @b = localtime; use Data::Dumper; print Dumper $a; # $VAR1 = 'Fri May 4 16:14:45 2018'; print Dumper @b; # $VAR1 = 45; # $VAR2 = 14; # $VAR3 = 16; # $VAR4 = 4; # $VAR5 = 4; # $VAR6 = '118'; # $VAR7 = 5; # $VAR8 = 123;

Slide 48

Slide 48 text

ίϯςΫετ͕͋Δ w TJ[F!BSSBZͰݸ਺͕औΕΔͷ͸͙͢׳ΕΔ͚ͲϏϏΔ w TDBMBSDPOUFYUͷதͰ΋DPOUFYU͕෼͔Εɺԋࢉࢠ͕ܕΛ࣋ͭ Α͏ʹݟ͑Δ  w Λ࢖͏ͱ໭Γ஋͸*OUʹͳΔ w Λ࢖͏ͱ໭Γ஋͕4USʹͳΔ w +BWB4DSJQUͬΆ͍ w WBSOVN GPP w WBSTUSGPP 

Slide 49

Slide 49 text

ίϯςΫετ͕͋Δ w WPJEDPOUFYU͸ඇৗʹྑ͍ w ໭Γ஋Λม਺ʹೖΕ͍ͯΔ͔Ͳ͏͔͕ݺ͹Εͨϝιου಺͔Β෼͔Δ w NBQ͡Όͳͯ͘FBDIΛ࢖͑Έ͍ͨͳϠπ w ໭Γ஋ͷੜ੒Λলུ͢Δ͜ͱͰύϑΥʔϚϯε্͕͛ΒΕΔ w (VBSE༻ͷϝιουͰଋറΛ๨Ε͍ͯͨΒౖΔͱ͔ w 3VCP$PQͰ΋-JOU7PJEDPQ͕ܯࠂग़ͯ͠·͢ w ڈ೥͍ͩͿݡ͘ͳͬͨͷͰ࢖͍ͬͯͩ͘͞ɻQPDLF

Slide 50

Slide 50 text

TUSJDUNPEF͕͋Δ w NZΛ෇͚ͳ͍ม਺એݴͷېࢭͱ͔ w ৚݅ࣜͰ୅ೖ͔Ͳ͏͔͕ݟ෼͚΍͍͢ w JG NZGPPCBS  w ϝλϓϩېࢭͱ͔ w Ұ෦͚ͩڐ༰͢Δ͜ͱ͕Ͱ͖Δ w ͚ͦͩ͜είʔϓΛ෼͚ͯڐՄͰ͖Δͷ΋ศར

Slide 51

Slide 51 text

TUSJDUNPEF͕͋Δ sub foo { print @_ . '\n'; } my $method_name = 'foo'; { # ಈతʹϝιου໊Λܾఆͯ͠ݺͼग़͢ͷΛ͚ͩ͜͜ڐՄ no strict 'refs'; &{$method_name}('bar'); }

Slide 52

Slide 52 text

TUSJDUNPEF͕͋Δ w 3VCZʹ΋TUSJDUNPEFΛೖΕΑ͏ͬͯఏ ҊɺਐḿͲ͏Ͱ͔͢

Slide 53

Slide 53 text

$1"/Ϟδϡʔϧฤ

Slide 54

Slide 54 text

ΩϥΩϥωʔϜ͡Όͳ͍ӕ w -81MJCXXXQFSMखڧ͔ͬͨ w 5IF4DIXBSU[΍.JOJPO͕+PC2VFVFͳͷ෼͔Δʁ w 5FTU.PSF 5FTU.PTUͱ͔ɺ-JTU 6UJMͱ͔ w ݁࿦֮͑Ζ

Slide 55

Slide 55 text

5*.5085%*ແ͔ͬͨ͜ͱʹ ͍ͨ͠ w ۀ຿ίʔυ͸0OF8BZʹدͤΔͷ͕େਖ਼ٛ

Slide 56

Slide 56 text

QPE 4:/014*4 ͕ඞͣ͋Δ w ͜Ε͸ຊ౰ʹૉ੖Β͍͠ɺ͕ w ࠷ۙ͸ (JU)VCͷ͓͔͛Ͱ 3&"%.&NEʹ6TBHFΛࡌͤΔͷ͕ ී௨ʹͳͬͨ

Slide 57

Slide 57 text

QPE 4:/014*4 ͕ඞͣ͋Δ w 3VCZϦϑΝϨϯεϚχϡΞϧͷαϯϓϧίʔυΛίϐϖՄೳʹ͢Δ

Slide 58

Slide 58 text

ΔΓ·ߋ৽ͷ͖͔͚ͬ

Slide 59

Slide 59 text

ΔΓ·ߋ৽ͷ͖͔͚ͬ

Slide 60

Slide 60 text

ࠓ͙͢ࢀՃ

Slide 61

Slide 61 text

ࠓ͙͢ࢀՃ

Slide 62

Slide 62 text

.PEVMF$PSF-JTU w ߦҎ্ͷڊେ)BTIͰ؅ཧ͞Ε͍ͯΔ 5.027009 => { delta_from => 5.027008, changed => { 'B::Op_private' => '5.027009', ... # 140ߦ 'warnings' => '1.41', }, removed => { 'Module::CoreList::TieHashDelta'=> 1, } }, 5.027010 => { delta_from => 5.027009, changed => { 'App::Prove' => '3.42', ... # 193ߦ

Slide 63

Slide 63 text

NBUSJYDQBOUFTUFSTPSH͕͋Δ w IUUQNBUSJYDQBOUFTUFSTPSH EJTU:".-4ZDL w ͜Ε͸94Λ࡞Γ·͘ΔจԽͱ΋ܨ͕ͬͯΔͱࢥ͏

Slide 64

Slide 64 text

DQBONΛ࢖͏ͱQFSMόʔδϣϯ Λऩू w IUUQDQBONFUBECQMBDLQFSMPSHWFSTJPOT

Slide 65

Slide 65 text

CMFBE#SFBLT$1"/͕͋Δ w উखʹ͢΂ͯͷ$1"/ϞδϡʔϧΛ࠷৽ͷQFSM CMFBE ͰϏϧυ ͯ͠ςετ௨ͯ͠ɺࣦഊͨ͠ΒQQʹ࿈བྷ͢Δޓॿձ w QFSMQPSUFST.-ʹྲྀΕͯ͘Δ w SVCZEFWΈ͍ͨͳϠπ

Slide 66

Slide 66 text

CMFBE#SFBLT$1"/͕͋Δ w ޓ׵ੑͷҡ࣋Λڧ͘௥͍ٻΊ͍ͯΔײ w QFSMEPDQFSMQPMJDZ w %PXOUIJTSPBEMJFTNBEOFTT ޓ׵ੑΛࣦͬͨઌ͸ڰؾͰ͢  w XFWFIFMEPVSTFMWFTUPBGBSIJHIFSTUBOEBSEUIBO CBDLXBSEDPNQBUJCJMJUZCVHXBSEDPNQBUJCJMJUZ ޙํޓ׵ੑ ΑΓ΋͸Δ͔ʹߴ͍ʮޙํʮόάʯޓ׵ੑʯΛक͖ͬͯ·ͨ͠

Slide 67

Slide 67 text

$1"/54 w $1"/ϞδϡʔϧͷςετΛߦͬͯ౷ܭදࣔ w IUUQTDQBOUTDQBOBVUIPSTPSH w ྑ໊͍લͰ͢Ͷ 4FF1BOUT

Slide 68

Slide 68 text

$1"/54 w $)"/(&-0(͕͋Δ͔ͱ͔ w ϥΠηϯε͕͋Δ͔ͱ͔ w ࣗಈΠϯετʔϧ͕Ͱ͖Δ͔ͱ͔ w .&5"ZNMʹQFSMWFSTJPO͕ॻ͍ͯ͋Δ͔ͱ͔ w શϑΝΠϧʹVTFTUSJDU͕͋Δ͔ͱ͔

Slide 69

Slide 69 text

.JOJMMB w $1"/Ϟδϡʔϧͷ਽ܗΛ࡞Δ$1"/Ϟδϡʔϧ w CVOEMFHFNΈ͍ͨͳϠπ w ಥવͷએ఻ ৄ͘͠͸ࠓ݄ͷ8&# %#1SFTT7PM w 94ͷ਽ܗΛੜ੒Ͱ͖Δ w NJOJMOFXQ94

Slide 70

Slide 70 text

ґଘؔ܎͕ಈతʹܾ·Δ w DQBOJOTUBMM࣌ʹ w .BLFpMFQMΛ࣮ߦ w ґଘؔ܎ͷղܾ w NBLF NBLFJOTUBMMΛ࣮ߦͯ͠ϑΝΠϧ഑උ

Slide 71

Slide 71 text

ґଘؔ܎͕ಈతʹܾ·Δ w .BLFpMFQM಺Ͱಈతʹґଘ͕ܾ·Δ ͜ͱ͕͋Δ w +40/94͕ೖ͍ͬͯͳ͍৔߹ͷΈ$1BOFM+40/94Λґଘʹ ௥Ճ͢Δɺͱ͔ʜʜɻ w ਖ਼͍͠ॱͰDQBOJOTUBMM͠ͳ͍ͱ࠷ऴతͳґଘ͕มΘͬͯ͠·͏ w όʔδϣϯ͚ͩͳΒͱ΋͔͘ϥΠϒϥϦ͢ΒมΘΔͷ͸ҟৗ w ࠷ۙ͸TUBUJDJOTUBMM͕ྲྀߦ͖͍ͬͯͯ·͢

Slide 72

Slide 72 text

·ͱΊ

Slide 73

Slide 73 text

·ͱΊ w 3VCZͱ1FSMͷܑఋؔ܎ w XFC։ൃͷ্Ͱඞཁͳಓ۩͸΄΅Ұॹ w 1FSM͸ޓ׵ੑΛඇৗʹେࣄʹ͢ΔจԽ w ޓ׵ੑΛॏࢹͨ͘͠ͳͬͨΒʮͲ͏͍͏ख๏Λͱ͍ͬͯΔ͔ʯΛ ோΊʹདྷͯཉ͍͠ w ͜͜·Ͱ΍Δͱ$֦ு͕૿͑Δ͔΋ʁ