Slide 1

Slide 1 text

84"ʹ࠷దԽ͞Εͨฒྻॲཧܥ ࢁ࡚ਐɹ৿ਖ਼࿨ɹٱߐ༤تɹߴ੉ӳر ʲ֓ཁʳ w छྨͷฒྻੑͱͦΕͧΕʹؔΘΔ࠷దԽΛఏҊ͢Δ w ໋ྩฒྻੑɹɹˠ੩త໋ྩεέδϡʔϦϯά w 4*.%ܕฒྻੑˠ)BTUFHB ϔΠεΨ w .*.%ܕฒྻੑˠ4BCPUFOEFS αϘςϯμʔ w ͜ΕΒʹΑΓฒྻੑ͚ͩͰͳ͘Ϩεϙϯεੑͱ଱ো֐ੑ΋ҡ࣋ɾ޲্Ͱ͖Δ ˢ w పఈతʹฒྻੑɾ෼ࢄੑɾϨεϙϯεੑɾ଱ো֐ੑΛ௥ٻ͢Δॲཧܥ&MJYJSͷ࠾༻ ˢ w ৘ใྔരൃ w ൒ಋମτϨϯυΫϩοΫप೾਺৳ͼ಄ଧͪίΞ਺૿Ճ෼ࢄܕΞʔΩςΫνϟ༏Ґ w Ϩεϙϯεੑͷҡ࣋ɾ޲্ w ଱ো֐ੑͷ௥ٻ w ߴෛՙܭࢉॲཧΞϓϦέʔγϣϯͷ૿Ճ w शಘ༰қʹ͢Δඞཁੑ 1 ˜4VTVNV:BNB[BLJ

Slide 2

Slide 2 text

ࣗݾ঺հ w ๺۝भࢢཱେֶࠃࡍ؀ڥ޻ֶ෦
 ।ڭत w New!φοδࣾձ࣮૷ݚڀηϯλʔ
 ηϯλʔ௕ w New!ֶੜɾब৬ࢧԉ୲౰ w 1FSTPOBM7JTJPO$P$SFBUPS w ,,4)J'5 w &MJYJSਪ͠GVLVPLBFY)BTUFHB ;&". w ٕज़૬ஊɼڞಉݚڀґཔɼਐ࿏૬ஊɼ
 ద৬਍அͳͲɼਵ࣌ड෇·͢ ˜4VTVNV:BNB[BLJ

Slide 3

Slide 3 text

എܠ৘ใྔരൃ 3 ˜4VTVNV:BNB[BLJ

Slide 4

Slide 4 text

৘ใྔരൃ ೥ʹσʔλͷ૯ྔ͕θλόΠτ ೥ʹθλόΠτʹୡ͢ΔݟࠐΈ 4 ˜4VTVNV:BNB[BLJ

Slide 5

Slide 5 text

৘ใྔരൃ ೥ʹຖ݄ΤΫαόΠτ૿Ճ ೥ʹຖ݄ΤΫαόΠτ૿ՃݟࠐΈ ৘ใͷ૿Ճྔ͕Ճ଎ 5 ˜4VTVNV:BNB[BLJ

Slide 6

Slide 6 text

എܠ൒ಋମτϨϯυ 6 ˜4VTVNV:BNB[BLJ

Slide 7

Slide 7 text

ܭࢉೳྗ͕௥͍͔ͭͳ͍ )FOOFTZ1BUUFSTPO
 ೥ʹ$16ΫϩοΫप೾਺͸಄ଧͪʹ 7 ˜4VTVNV:BNB[BLJ

Slide 8

Slide 8 text

ͳͥΫϩοΫप೾਺Λ৳͹ͤͳ͍͔ʁ w ΫϩοΫप೾਺ͷ૿େ͸ফඅిྗͱൃ೤ྔͷ૿େΛট͘ w ిݯڙڅྔͱ೤఻ಋ཰͓Αͼྫྷ٫ೳྗ͕௥͍͔ͭͳ͍ w ʙ()[ఔ౓ͰৗԹͰ҆ఆಈ࡞͢ΔݶքΛܴ͍͑ͯΔ w ڝٕ༻ΦʔόʔΫϩοΫͰ͸ӷମ஠ૉ౳ʹਁ͚Δ౳ʹ ΑΓ()[Ҏ্Ͱಈ࡞͍ͤͯ͞Δ w ௨ৗͷ1$΍αʔόʔͰ͸ৗԹՔಇͰ͖Δ͜ͱ͕ཁ݅ 8 ˜4VTVNV:BNB[BLJ

Slide 9

Slide 9 text

͔ΘΓʹίΞ਺͕૿Ճ w ೥Ҏ߱ͷϓϩηοαͷਐԽ w ºΫϩοΫप೾਺ w ˓ίΞ਺ ˜4VTVNV:BNB[BLJ *OUFM$PSF
 &YUSFNF9 ΫϩοΫ ()[ ίΞ਺ *OUFM$PSFJ
 9& ΫϩοΫ ()[ ίΞ਺

Slide 10

Slide 10 text

ࠓޙͷ൒ಋମτϨϯυ w ϝϞϦͷߴ଎Խ͕ϓϩηοαͷߴ଎Խʹ௥͍͍͍ͭͯͳ͍ w ίΞ਺͸ࠓޙ΋૿େ͠ଓ͚ͯɼ.*.%Ͱ਺ઍίΞ΋ݱ࣮ʹ w ൒ಋମϓϩηεඍࡉԽ͸ݶքΛܴ͑ͭͭ͋Δ w ଞͷ֤छूੵٕज़ʹΑΓճ࿏ن໛͸౰෼૿େͷ༨஍͕͋Δ w ճ࿏௕͕ࠓ·ͰҎ্ʹ௕͘ͳΔ w ࠓ·ͰҎ্ʹϝϞϦΞΫηεͱޫ଎͕཯଎ʹͳΔ w ڞ༗ϝϞϦিಥɼϑΥϯɾϊΠϚϯɾϘτϧωοΫ w ճ࿏શମͰΫϩοΫΛಉظͤ͞Δ͜ͱ͕ෆՄೳʹ w ڞ༗ܕΞʔΩςΫνϟΑΓ΋෼ࢄܕΞʔΩςΫνϟ༏Ґ 10 ˜4VTVNV:BNB[BLJ

Slide 11

Slide 11 text

എܠϨεϙϯεੑͱ ଱ো֐ੑ͕ߴ͍84" 11 ˜4VTVNV:BNB[BLJ

Slide 12

Slide 12 text

Ϩεϙϯεੑͷߴ͍84" w ϞόΠϧͷීٴ w ϖʔδදࣔʹ͕͔͔࣌ؒΔͱ཭୤ ‎Ϩεϙϯεੑ͕ߴ͍84"͕ٻΊΒΕΔ w ࣌ؒ͋ͨΓϦΫΤετ਺͕૿͑ͯ΋Ϩεϙϯεੑ͕҆ఆ ͍ͯ͠Δ͜ͱ΋ٻΊΒΕΔ 12 ˜4VTVNV:BNB[BLJ

Slide 13

Slide 13 text

଱ো֐ੑͷߴ͍84" w ༏लͳΤϯδχΞͷ࠾༻ڝ૪ͷܹԽ w ಇ͖ํվֵͷਐల w ো֐ʹΑΔ໷ؒૣேɾٳ೔ͷग़ۈΛݮΒ͢ඞཁੑ ‎ো֐͕Ίͬͨʹى͜Βͳ͍84"͕ٻΊΒΕΔ 13 ˜4VTVNV:BNB[BLJ

Slide 14

Slide 14 text

എܠߴෛՙܭࢉॲཧ ΞϓϦέʔγϣϯͷ૿Ճ 14 ˜4VTVNV:BNB[BLJ

Slide 15

Slide 15 text

ߴෛՙܭࢉॲཧΞϓϦέʔγϣϯͷ૿Ճ w ػցֶशٕज़ͷਐలʹΑΓɼ΢ΣϒΞϓϦέʔγϣϯʹ΋ ߴෛՙܭࢉॲཧ͕ٻΊΒΕΔ࣌୅͕౸དྷ͢Δ w ͔ͭલड़ͷ௨Γɼ΢ΣϒΞϓϦέʔγϣϯʹ͸Ϩεϙϯε ੑ͕ٻΊΒΕΔ w ߴϨεϙϯεੑೳࢦ޲ͷ࠷దԽٕज़͕ٻΊΒΕΔ w ैདྷͷ)1$Ͱ୳ٻ͞Εͨߴεϧʔϓοτࢦ޲ͷ࠷దԽ Ͱ͸ෆे෼ 15 ˜4VTVNV:BNB[BLJ

Slide 16

Slide 16 text

޿ٕ͘ज़ల։͢Δʹ͸
 शಘ༰қ͕NVTU 16 ˜4VTVNV:BNB[BLJ

Slide 17

Slide 17 text

༗๬ͳιϦϡʔγϣϯ
 &MJYJS 17 ˜4VTVNV:BNB[BLJ

Slide 18

Slide 18 text

4IBSFE%BUB $PSF #1 $PSF2 3.14 ैདྷͷݴޠͷ໰୊఺ w ෳ਺ͷίΞͰσʔλΛڞ༗͠ ͍ͯΔͱԾఆ͢Δ ˜4VTVNV:BNB[BLJ

Slide 19

Slide 19 text

4IBSFE%BUB $PSF #1 $PSF2 3.14 →1.5 ഁյతߋ৽͕ϘτϧωοΫ w ͋ΔίΞ͕ڞ༗σʔλΛ
 ഁյతߋ৽ͨ͠৔߹ w ଞͷίΞʹ௨஌ͯ͠
 ॲཧΛࢭΊΔඞཁ͕͋Δ w ଎౓௿Լʹͭͳ͕Δ w ίΞ਺͕૿͑Ε͹૿͑Δ΄Ͳ
 ਂࠁͳӨڹΛ΋ͨΒ͢ ˜4VTVNV:BNB[BLJ 6QEBUF /PUJGZ 4UPQ1SPDFTTJOH

Slide 20

Slide 20 text

4IBSFE%BUB $PSF #1 $PSF2 3.14 &MJYJS͸શ͕ͯΠϛϡʔλϒϧͰ͋Δ w &MJYJSͰ͸σʔλͷഁյతߋ৽ ͕ൃੜ͢Δ͜ͱ͸ͳ͍ w ଞͷίΞͷॲཧΛࢭΊͳͯ͘ ྑ͍ w ίΞ਺͕૿͑ͯ΋ॲཧೳྗΛ ҡ࣋Ͱ͖Δ ‎ฒྻੑʹ༏ΕΔ ˜4VTVNV:BNB[BLJ %PO`U
 6QEBUF %PO`UOFFEUP
 TUPQQSPDFTTJOH

Slide 21

Slide 21 text

4IBSFE%BUB $PSF #1 $PSF2 3.14 4DBMBʹର͢Δ༏Ґੑ w 4DBMB΋جຊ͸ΠϛϡʔλϒϧͰ͋Δ w ͔͠͠ϚϧνύϥμΠϜΏ͑ʹϛϡʔλϒϧͳίʔυ΋ࠞࡏ͍ͯ͠Δ w ϛϡʔλϒϧͳίʔυͷଘࡏʹΑΓ࠷దԽͷલఏΛపఈͰ͖ͣશମͷੑೳ͕ѱԽ͢Δ ˜4VTVNV:BNB[BLJ %PO`U
 6QEBUF %PO`UOFFEUP
 TUPQQSPDFTTJOH 4IBSFE%BUB $PSF #1 $PSF2 3.14 →1.5 6QEBUF /PUJGZ 4UPQ1SPDFTTJOH

Slide 22

Slide 22 text

&MJYJSͷ($ w &MJYJS͸ϓϩηε͝ͱʹಠཱͨ͠ϝϞϦۭؒΛ࣋ͪɼ($΋ϓϩηε͝ͱʹ ಠཱ͍ͯ͠Δ w ϓϩηεؒ௨৴Ҏ֎Ͱ͸ϓϩηεؒͰσʔλΛڞ༗͠ͳ͍͍ͯ͘લఏ w ͔ͭฒߦ($Ͱ͋Δ w +BWBͰ໰୊ʹͳΔ'VMM($ʹΑΔ4UPQUIFXPSME͕ൃੜ͠ͳ͍ w ͜ͷ఺΋4DBMBʹର͢Δ༏Ґੑ w ෼ࢄܕΞʔΩςΫνϟʹద߹͢Δ w ࠓޙͷ൒ಋମτϨϯυΛ౿·͑Δͱ༗ར 22 ˜4VTVNV:BNB[BLJ

Slide 23

Slide 23 text

΢ΣϒγεςϜʹ͓͚Δ&MJYJSͷ༏Ґੑ ୯Ґ࣌ؒ͋ͨΓϦΫΤετ਺͕૿Ճͯ͠΋
 ϨεϙϯελΠϜΛҡ࣋Ͱ͖Δ 23 ˜4VTVNV:BNB[BLJ ↑Slower ↓Faster 'FESFDIFTLJ ( $PTUB -$1BOE;V⒎P .,&MJYJSQSPHSBNNJOHMBOHVBHFFWBMVBUJPOGPS*P5 *&&&*OUFSOBUJPOBM4ZNQPTJVNPO$POTVNFS&MFDUSPOJDT *4$& QQr POMJOF %0* *4$&

Slide 24

Slide 24 text

ྫ֎ɾҟৗॲཧ w USZDBUDI SFTDVF ʹΑΔྫ֎ɾҟৗॲཧ͸ɼਖ਼͘͠هड़͞Εͳ͍͜ͱ͕͋·Γʹ΋ଟ͍ w &MJYJSͰ͸࣍ͷྫ֎ɾҟৗॲཧͷ࢓૊ΈΛ୅ΘΓʹఏڙ͍ͯ͠Δ w ྫ֎ॲཧ͋Β͔͡Ί૝ఆ͞ΕΔॲཧ͸λϓϧͰฦ͢
 \PL SFTVMU^\FSSPS SFBTPO^ w ҟৗॲཧ૝ఆ͍ͯ͠ͳ͍ΠϨΪϡϥʔͳೖྗΛ༩͑ΒΕͨ࣌ ϓϩηε͝ͱҟৗऴྃ͢Δ ؂ࢹϓϩηε͕ҟৗऴྃΛݕ஌͢Δ ؂ࢹϓϩηε͕֘౰ϓϩηεΛ࠶ىಈ͢Δ ͳʹ͝ͱ΋ͳ͘ɼ࣍ͷೖྗΛड͚෇͚ΒΕΔ 㾎ϓϩηε୯ҐͰϝϞϦۭ͕ؒ෼཭͍ͯ͠Δ͜ͱͰɼϓϩηε୯Ґͷ࠶ىಈ͕ՄೳʹͳΔ 24 ˜4VTVNV:BNB[BLJ

Slide 25

Slide 25 text

1IPFOJYͷ༏Ґੑ w Ϩεϙϯεੑʹ༏ΕΔ w جຊੑೳྑ޷ w )551αϙʔτ w -JWF7JFX ‎ϖʔδදࣔʹ͕͔͔࣌ؒΒͳ͍ͷͰ཭୤๷ࢭʹد༩ w ଱ো֐ੑʹ༏ΕΔ w ؂ࢹϓϩηεʹΑΔҟৗ෮ؼ w ఆظతϓϩηε࠶ىಈˠϝϞϦϦʔΫ͕ݪҼͷύϑΥʔϚϯεѱԽɾো֐ͷ๷ࢭ w GVMM($ʹΑΔTUPQUIFXPSME͕ൃੜ͠ͳ͍ ‎ো֐ൃੜ਺͕ܹݮ͢ΔͷͰɼ໷ؒૣேٳ೔ग़ۈܹݮɼΤϯδχΞͷಇ͖ํվળʂ 25 ˜4VTVNV:BNB[BLJ

Slide 26

Slide 26 text

शಘ༰қ ˜4VTVNV:BNB[BLJ @@ c&OVNNBQ .GPP 
 c&OVNNBQ .CBS 
 
 EFGNPEVMF.EP EFGGPP O EPO EFGCBS O EPO FOE w ӈͷίʔυྫ w ͔Β ·ͰͷϦετʹର͠ w ֤ཁૉʹGPPΛద༻ Y w ֤ཁૉʹCBSΛద༻ w ͨ݁͠ՌΛಘΔ w σʔλΛ্͔Βॱʹม׵͍ͯ͘͠ύϥμΠϜͰ هड़Ͱ͖Δ w ؔ਺ͷݺग़ઌ͸جຊతʹҰҙʹಛఆͰ͖Δ ‎ॳֶऀʹ͸ΦϒδΣΫτࢦ޲ύϥμΠϜΑΓ
 शಘ༰қ 㾎ࠓ·ͰͷύϥμΠϜʹͳ͡Μͩਓʹ͸ VOMFBSOJOH͢Δඞཁ͕͋Δ

Slide 27

Slide 27 text

&MJYJS;FO4UZMF ˜4VTVNV:BNB[BLJ @@ c&OVNNBQ .GPP 
 c&OVNNBQ .CBS 
 
 EFGNPEVMF.EP EFGGPP O EPO EFGCBS O EPO FOE &MJYJS;FO4UZMF
 &OVNNBQελΠϧ w ષͰ͋Δཧ༝ w ષͱ͸ຊ࣭ඒͰ͋Δ w ӈͷελΠϧ͸σʔλม׵ͷϑ ϩʔΛද͍ͯ͠Δ w σʔλม׵ͷϑϩʔͱͯ͠
 ϓϩάϥϛϯάΛଊ͑Δ
 ύϥμΠϜ͸ຊ࣭Λଊ͍͑ͯͯ
 ୯७͕ͩදݱੑ๛͔Ͱ͋Δ ‎ӈͷελΠϧ͸ຊ࣭ඒͰ͋Δ
 ͢ͳΘͪષͰ͋Δ

Slide 28

Slide 28 text

&MJYJS;FO4UZMFͱ΢Σϒϓϩάϥϛϯά w &MJYJS;FO4UZMFͱ8FCϓϩάϥϛϯά͸૬ੑ͕͍͍ w (&5
 cՃ޻ ϦΫΤετˠΫΤϦ 
 c%#ಡࠐΈ
 cՃ޻ ݁ՌˠϨεϙϯε w 1045
 cՃ޻ ϦΫΤετˠΫΤϦ 
 c%#ॻࠐΈ
 cՃ޻ ݁ՌˠϨεϙϯε 28 ˜4VTVNV:BNB[BLJ

Slide 29

Slide 29 text

ٕज़త՝୊ w ػցֶशͷϥΠϒϥϦͷॆ࣮͕ඞཁ
 ˠ։ൃதɼϓϩτλΠϓ࣮૷͋Γ w ύϑΥʔϚϯεݱঢ় w $ $ 3VTU+BWB 4DBMB&MJYJS3VCZ 1)1 w ͞ΒͳΔύϑΥʔϚϯε͕ඞཁ w ଞͷ޷·͍͠ੑ࣭͸ݎ͍࣋ͯͯ͠΄͍͠ w ຊൃදͰ͸ύϑΥʔϚϯεͷ໰୊ʹϑΥʔΧε 29 ˜4VTVNV:BNB[BLJ

Slide 30

Slide 30 text

छྨͷฒྻੑ 30 ˜4VTVNV:BNB[BLJ

Slide 31

Slide 31 text

छྨͷฒྻੑ w ໋ྩฒྻੑ w 4*.%ฒྻੑ w .*.%ฒྻੑ 31 ˜4VTVNV:BNB[BLJ

Slide 32

Slide 32 text

໋ྩฒྻੑ w ӈͰ͸ԼهΛฒྻܭࢉͰ͖Δ w DGPP B w ECBS C w ྆ऀʹσʔλґଘؔ܎͕ͳ͍ ͜ͱ͕ಡΈऔΕΔ w ೥୅ͷ()$΍,-Ͱ
 ࣮ݱ͠Α͏͍ͯͨ͜͠ͱ ˜4VTVNV:BNB[BLJ def module M do def func(a, b) do c = foo(a) d = bar(b) {c, d} end def foo(n), do: n * 2 def bar(n), do: n + 1 end

Slide 33

Slide 33 text

4*.%ฒྻੑ w ӈͰ͸GPP CBSͷద༻Λ
 ฒྻͰ࣮ߦͰ͖Δ w ୯Ұίʔυྻෳ਺σʔλ
 ˠ4*.% ˜4VTVNV:BNB[BLJ def module M do def func do 1..1_000_000 |> Enum.map(& foo(&1)) |> Enum.map(& bar(&1)) end def foo(n), do: n * 2 def bar(n), do: n + 1 end

Slide 34

Slide 34 text

.*.%ฒྻੑ w ϓϩηεͰද͞ΕΔฒྻੑ w ֤ϓϩηε͸ಠ໋ཱͨ͠ྩྻͱͦΕͧΕͷσʔλΛ࣋ͭ
 ˠ.*.% w &MJYJSͷϓϩηε͸ΞΫλʔϞσϧʹجͮ͘ w ϓϩηε΁ͷϝοηʔδ͸౸ணॱͰγϦΞϥΠζ w ֤ϓϩηεͷ࣮ߦ͸୯ҰεϨου w جຊతʹܭࢉࢿݯ͸ͭͷϓϩηεͰ؅ཧ͞ΕΔ ‎ϓϩηε಺ͷܭࢉࢿݯͷഉଞ੍ޚ͕ෆཁ 34 ˜4VTVNV:BNB[BLJ

Slide 35

Slide 35 text

໋ྩฒྻੑͷ࠷దԽ 35 ˜4VTVNV:BNB[BLJ

Slide 36

Slide 36 text

໋ྩฒྻੑͷ࠷దԽ w ࣍ͷͭͷ৔߹ʹ෼͚Δ w ૈཻ౓ ϓϩηεىಈͯ͠΋ݩ͕औΕΔ৔߹ w ࡉཻ౓ ͦ͏Ͱͳ͍৔߹ 36 ˜4VTVNV:BNB[BLJ

Slide 37

Slide 37 text

ૈཻ౓ͷ໋ྩฒྻੑ w ؔ਺ؙ͝ͱผϓϩηεىಈͯ͠ܭࢉ͢ΔΑ͏ʹίʔυม׵ w .*.%ฒྻੑͷ࠷దԽΛ͔͚Δ w Ͱ͖Δ͚ͩಉ͡ίΞͷ4.5 ϋΠύʔεϨοσΟϯά ʹ
 ͳΔΑ͏ʹׂΓ౰ͯΔ 37 ˜4VTVNV:BNB[BLJ

Slide 38

Slide 38 text

ࡉཻ౓ͷ໋ྩฒྻੑ w ґଘؔ܎ͷͳ໋͍ྩྻ͕ҟͳΔϨδελΛ࢖͏Α͏ʹ
 ׂΓ౰ͯΔ w $16ͷಉ࣮࣌ߦՄೳͳ໋ྩ਺ʹ߹Θͤͯɼ
 ґଘؔ܎ͷͳ໋͍ྩྻΛಉ࣌ൃߦͰ͖ΔΑ͏
 ͔ͭύΠϓϥΠϯʹཚΕ͕ੜ͡ͳ͍Α͏ʹ
 ੩త໋ྩεέδϡʔϦϯά͢Δ 38 ˜4VTVNV:BNB[BLJ

Slide 39

Slide 39 text

ߟ࡯ w ࡉཻ౓໋ྩฒྻ࠷దԽͰߦͳ͍ͬͯΔ͜ͱ͸ɼ
 7-*8޲͚ίϯύΠϥʹΑΔ࠷దԽͱ࣮࣭తʹಉ౳ w &MJYJS;FO4UZMFͰ͸ґଘղੳΛߦ͏ͷ͕༰қ w εʔύʔεΧϥʔ Ξ΢τɾΦϒɾΦʔμʔ࣮ߦ ͸
 ෆཁͰ͸ʁ w ࣮ࡍɼεʔύʔεΧϥʔํࣜͷํ͕7-*8ํࣜΑΓ
 ίΞαΠζ͕ۃ୺ʹେ͖͘ͳΔ܏޲ʹ͋Δ w ίΞαΠζ͕খ͍͞ํ͕ίΞ਺ΛՔ͛Δ ‎7-*8ͷ෮ݖʹͭͳ͕ΔͷͰ͸ʁ 39 ˜4VTVNV:BNB[BLJ

Slide 40

Slide 40 text

4*.%ฒྻੑͷ࠷దԽ 40 ˜4VTVNV:BNB[BLJ

Slide 41

Slide 41 text

)BTUFHB w 4*.%ฒྻੑΛೝࣝͯ͠4*.%໋ྩΛ࢖ͬͨίʔυ΍(16ۦಈ͢Δίʔυʹ
 ίϯύΠϧ͢Δ w কདྷతʹ͸8FC"TTFNCMZ4*.%΍8FC(- 8FC(16ͷ׆༻ʹΑΓɼ΢Σϒ ΫϥΠΞϯτ্ͷ$16(16ࢿݯ΋׆༻͢Δ w ֤छϓϩτλΠϓ࣮૷ɾੑೳධՁࡁ w &MJYJSͷݩͷίʔυͷʙഒͷ଎౓޲্ 130೥݄೥݄ w 1ZUIPO$V1ZͷഒҎ্ͷ଎౓޲্ 130೥݄ w -POFTUBS&MJYJS$POGͰੈքσϏϡʔ͠ɼେ൓ڹΛݺͿ w ೥ՆʹϑΝʔετϦϦʔε༧ఆ 41 ˜4VTVNV:BNB[BLJ

Slide 42

Slide 42 text

)BTUFHBͷݪཧ ˜4VTVNV:BNB[BLJ @@ c&OVNNBQ .GPP 
 c&OVNNBQ .CBS 
 
 EFGNPEVMF.EP EFGGPP O EPO EFGCBS O EPO FOE &MJYJS;FO4UZMF
 &OVNNBQελΠϧ @@LFSOFMWPJEDBMD @@HMPCBMMPOHJOQVU @@HMPCBMMPOHPVUQVU \ TJ[F@UJHFU@HMPCBM@JE MPOHUFNQJOQVU UFNQGPP UFNQ UFNQCBS UFNQ PVUQVUUFNQ ^ 0QFO$-
 Χʔωϧ෦ w ࠨͷίʔυ͸ ฒྻͷՄೳੑ͕͋Δ w ࠨͷίʔυ͔Βӈͷίʔυ΁ػցతʹม׵Ͱ͖Δ w ࠷৽(16ͷ Ҏ্ͷ4*.%ίΞͰฒྻ࣮ߦՄೳ

Slide 43

Slide 43 text

)BTUFHBͷίʔυྫ ˜4VTVNV:BNB[BLJ EFGNPEVMF)EP SFRVJSF)BTUFHB JNQPSU)BTUFHB EFGIBTUFHBEP EFGGVOD MJTU EP MJTU c&OVNNBQ 
 c&OVNNBQ FOE IBTUFHBTUVC FOE FOE w SFRVJSF)BTUFHBͰ)BTUFHBΛಡࠐΈ w JNQPSU)BTUFHBͰϞδϡʔϧ໊Λ෇ه
 ͤͣʹEFGIBTUFHB΍IBTUFHBTUVC͕
 ར༻Ͱ͖Δ w EFGIBTUFHBEPʜFOEͰʜͷίʔυΛ
 ॲཧܥʹಡࠐΉ w IBTUFHBTUVCͰίʔυੜ੒Λߦ͏

Slide 44

Slide 44 text

NBQNBQϑϡʔδϣϯ ˜4VTVNV:BNB[BLJ @@ c&OVNNBQ .GPP 
 c&OVNNBQ .CBS 
 
 EFGNPEVMF.EP EFGGPP O EPO EFGCBS O EPO FOE @@ c&OVNNBQ 
 c.GPP 
 c.CBS 
 
 EFGNPEVMF.EP EFGGPP O EPO EFGCBS O EPO FOE w NBQNBQϑϡʔδϣϯʹΑΓɼࠨͷίʔυΛӈͷίʔυʹม׵ w &OVNNBQʹ൐͏෼഑ɾूܭΛ࡟ݮ͢ΔޮՌ͕ظ଴Ͱ͖Δ

Slide 45

Slide 45 text

&MJYJSͷϝλϓϩάϥϛϯά ˜4VTVNV:BNB[BLJ JFY RVPUFEP@@c&OVNNBQ \c < \ < >^ \\ <> <\@@BMJBTFT@@ <&OVN>^ NBQ>^ <> <\ <> <\ <\ <> <>^ >^>^>^ >^ &MJYJSͰ"45Λग़ྗͨ͠ྫ w +PTÉ7BMJN͕։ൃͨ͠&MJYJSϚΫϩʹΑͬͯఏڙ w "45͸ϦετͱλϓϧͰߏ੒ɼ-*41ͱࣅ͍ͯΔ w RVPUFʹΑͬͯίʔυ͔Β"45Λग़ྗɼVORVPUFͰ஋Λૠೖ w 7BMVFPGBJT\B^zͱࣅ͍ͯΔ :> .. 1 1000000 . Enum map & * & 1 2 "45ͷਤࣔ

Slide 46

Slide 46 text

|> |> NBQNBQϑϡʔδϣϯ w "45Λ࠶ؼతʹ૸ࠪͯ͠ɼ
 ύΠϓϥΠϯԋࢉࢠͷωετΛ ݕग़͢Δ w ύλʔϯϚονΛ༻͍Δ w ύΠϓϥΠϯԋࢉࢠcʹ
 Ϛον͠ɼࢠϊʔυ΋
 ύΠϓϥΠϯԋࢉࢠͰ͋Δ
 ৔߹Λݕग़ w ͜ͷ৔߹͸ɼඞͣ൪໨ͷࢠ Ͱ͋Δ ˜4VTVNV:BNB[BLJ

Slide 47

Slide 47 text

|> |> . Enum map . Enum map NBQNBQϑϡʔδϣϯ w ωετ͕ଘࡏͨ͠৔߹ɼ
 ࢠϊʔυ͕࣍ͷ૊߹͔ͤ֬ೝ w ύΠϓϥΠϯԋࢉࢠ w &OVNNBQ w ࢠϊʔυͷύΠϓϥΠϯԋࢉ ࢠͷࢠϊʔυʹ΋ &OVNNBQ͕ଘࡏ͢Δ͔Λ֬ ೝ ˜4VTVNV:BNB[BLJ

Slide 48

Slide 48 text

|> . Enum map & |> NBQNBQϑϡʔδϣϯ w "45Λૢ࡞ͯͭ͠ͷ&OVNNBQΛͭʹ·ͱΊ͋͛Δ w &OVNNBQͦΕͧΕͰݺग़͞ΕΔؔ਺ΛύΠϓϥΠϯͰ߹੒͢Δ ˜4VTVNV:BNB[BLJ |> |> . Enum map . Enum map

Slide 49

Slide 49 text

|> |> NBQNBQϑϡʔδϣϯ w ͜ͷΑ͏ͳૢ࡞Λ࠶ؼతʹ
 ߦ͍ɼ࿈ଓ͢Δ&OVNNBQΛ ͢΂ͯͭͷ&OVNNBQʹ
 ·ͱΊ্͛Δ·ͰਐΊΔ ˜4VTVNV:BNB[BLJ |> |> . Enum map . Enum map |> . Enum map & |>

Slide 50

Slide 50 text

੾ग़͠ͱ෼཭ w NBQNBQϑϡʔδϣϯͷޙɼ
 ύΠϓϥΠϯԋࢉࢠͱ&OVNNBQͷ૊߹ΘͤΛϚον w ֘౰෦෼Λ੾ग़ͯ͠ɼಠཱͨؔ͠਺Λఆٛͯ֨͠ೲ͢Δ w ݩ͋ͬͨ෦෼ʹ͸ੜ੒ͨؔ͠਺΁ͷݺग़͠Ͱஔ׵͑Δ w Ϛον͠ͳ͔ͬͨΒɼͦͷ··ग़ྗ 50 ˜4VTVNV:BNB[BLJ

Slide 51

Slide 51 text

কདྷ՝୊ w &MJYJS;FO4UZMFʹ͸ɼසൟʹొ৔͢Δԋࢉύλʔϯ͕
 ෳ਺ଘࡏ͢Δ w ҰྫͭͷϦετͷ֤ཁૉͷੵΛܭࢉ͢Δ w "45ͷҰ෦͕ɼ͜ͷΑ͏ͳԋࢉύλʔϯʹϚονͨ͠
 ˠେҬతʹݟͯ࠷దͳػցޠ໋ྩΛੜ੒͢Δ w ࣮ݱʹ޲͚ͯݚڀணखͨ͠ஈ֊ 51 ˜4VTVNV:BNB[BLJ

Slide 52

Slide 52 text

.*.%ฒྻੑͷ࠷దԽ 52 ˜4VTVNV:BNB[BLJ

Slide 53

Slide 53 text

84"͔Βݟͨϓϩηεͷ՝୊ w ैདྷͷ84"Ͱ͸ϦΫΤετ͝ͱʹ ϓϩηεΛىಈ͢ΔํࣜΛ࠾༻ w ֤ϓϩηε͕ελοΫϝϞϦΛ֬อ w ϦΫΤετ͋ͨΓ਺ඦ,#ʙ਺.# ͷϝϞϦΛফඅ w ϦΫΤετ͕ूத͢ΔͱϝϞϦΛ
 ࢖͍Ռͨͯ͠εϫοϓ͕ൃੜ w ϨεϙϯελΠϜ͕ۃ୺ʹѱԽ w "QBDIF౳Ͱ໰୊ ˜4VTVNV:BNB[BLJ

Slide 54

Slide 54 text

/PEFϓϩάϥϛϯάϞσϧʹΑΔղܾ w /PEFKTͷ࣮ݱํࣜ w *0଴ͪΛڥքʹϦΫΤετॲཧΛ ෳ਺ͷؔ਺ʹ෼ׂ w ্هؔ਺Λ୯Ґͱͯ͠
 εέδϡʔϦϯά͠ɼ࣮ߦՄೳʹ ͳͬͨؔ਺͔Βॱ൪ʹίʔϧόοΫ w ؔ਺෼ׂͷهड़͸ɼແ໊ؔ਺Λར༻ ͯ͠ɼϓϩάϥϜͷྲྀΕΛଛͶͳ͍ Α͏ʹࣗવʹهड़Մೳ w ελοΫϝϞϦΛׂΓ౰ͯΔ͜ͱͳ͘ ϚϧνλεΫΛ࣮ݱͰ͖Δ ˜4VTVNV:BNB[BLJ

Slide 55

Slide 55 text

ࠓ·Ͱͷݚڀ੒Ռ w ୈճ84"ݚڀձʹͯຊํࣜΛॳ൸࿐ w 130೥݄ʹͯ&MJYJSͷϦετʹΑΔίʔϧόοΫ࣮૷ͱ$ͱ૒ํ޲ϦετʹΑΔίʔϧ όοΫ࣮૷ʹ͍ͭͯɼλεΫ͋ͨΓͷϝϞϦྔΛධՁ w $εϨου,# w &MJYJSϓϩηε,# w &MJYJSͷϦετʹΑΔίʔϧόοΫ࣮૷,# w $ʹΑΔίʔϧόοΫ࣮૷όΠτ w ͞Βʹ௥ࢼͰɼ$ݴޠͱ୯ํ޲ϦετʹΑΔίʔϧόοΫ࣮૷Ͱ͸ࢀߟه࿥ͳ͕ΒɼόΠτʹ· ͰলϝϞϦԽͰ͖ͨ w ͜ͷ͜ͱ͔ΒɼωΠςΟϒίʔυͰຊํࣜͷϚϧνλεΫػߏΛ࣮૷͠ɼ&MJYJS͔Βར༻Ͱ͖ΔΑ ͏ʹ͢Δ͜ͱ͕๬·͍͠ 55 ˜4VTVNV:BNB[BLJ

Slide 56

Slide 56 text

ଞʹղܾ͍ͨ͠໰୊ w &MJYJSͰϓϩηεؒ௨৴Λଟ༻͢ΔͱɼϝοηʔδΩϡʔ ͕٧·Δ໰୊͕ൃੜ͢Δ w ͜Ε͸ɼੜ࢈ऀଆͷϓϩηεͷϝοηʔδੜ੒଎౓ʹର ͠ɼফඅऀଆͷϓϩηεͷϝοηʔδফඅ଎౓͕஗͍ͱ ੜ͡Δ w ͜ͷ໰୊ʹΑΓɼϨεϙϯεੑೳ͕ѱԽ͠ɼϝϞϦফඅྔ ΋֨ஈʹѱԽ͢ΔͷͰɼղফ͍ͨ͠ 56 ˜4VTVNV:BNB[BLJ

Slide 57

Slide 57 text

ݱঢ়ͷ&MJYJSͰͷ.*.%ฒྻϓϩηεͷ࣮ݱ w ਤ͸ϗϫΠτϘʔυʹॻ͘ w ֤ίΞʹεέδϡʔϥʔͱ࣮ߦΩϡʔΛ࣋ͨͤΔ w ͜ΕʹΑΓίΞؒͰεέδϡʔϥʔͱ࣮ߦΩϡʔʹؔ͢Δ
 ഉଞ੍ޚΛ͠ͳ͍ͰࡁΉͷͰɼੑೳ޲্͢Δ w ͦͷ୅ΘΓ࣍ͷܽ఺͕͋Δ w ϓϩηεͷ࣮ߦॱ͕ೖΕସΘΔՄೳੑ͕͋Δ w ͜ͷ໰୊͸ݱঢ়Ͱ͸໧ೝ͍ͯ͠Δ w ίΞؒͰϓϩηεෛՙ͕ෆۉ౳ʹͳΔՄೳੑ͕͋Δ w ͜ͷ໰୊ʹ͍ͭͯ͸ɼ.JHSBUJPO-PHJDʹΑΓղফ͢Δ 57 ˜4VTVNV:BNB[BLJ

Slide 58

Slide 58 text

4BCPUFOEFS.*.%ฒྻϓϩηεͷ࠷దԽ w ਤ͸ϗϫΠτϘʔυʹॻ͘ w ࣮ߦ࣌ؒᮢ஋ΛɼϦΞϧλΠϜੑΛߟྀͨ͠஋ʹઃఆ͓ͯ͘͠ ͨͱ ͑͹NT w ίʔυ͸ίϯύΠϧ࣌ʹ࣍ͷΑ͏ͳڥքͰ෼ׂ͓ͯ͘͠ w *0଴ͪ w ࣮ߦ࣌ؒᮢ஋ͷൣғͰΠςϨʔγϣϯΛଋͶͨ΋ͷ w ࣮ߦ࣌ؒᮢ஋ͷൣғͷίʔυϒϩοΫ w ͭͷϓϩηεʹ͸ͭͷ࣮ߦ࣌؀ڥ͕͋Δ w ෳ਺ίΞڞ༗͞Ε͍ͯΔͳΒ͹ɼࢿݯΞΫηε࣌ʹഉଞ੍ޚΛ ͢Δ w ֤ίΞʹεέδϡʔϥʔͱ࣮ߦΩϡʔΛ࣋ͨͤɼͦͷ΄͔ʹڞ༗࣮ߦ ΩϡʔΛઃ͚Δ w ࣮ߦΩϡʔ͸ɼίʔϧόοΫ͢Δؔ਺ͱ࣮ߦ࣌؀ڥͷλϓϧΛ Ϧετʹͨ͠΋ͷͰ͋Δ w ֤ίΞͷϝοηʔδΩϡʔͱ࣮ߦΩϡʔΛ؂ࢹ͢ΔϓϩηεΛͦΕͧ Ε֤ίΞʹ༻ҙ w Ͱ͖Δ͔͗Γಉ࣮͡ߦ࣌؀ڥΛ࢖༻͢Δؔ਺Λಉ͡ίΞͷ࣮ߦΩϡʔ ʹׂΓ౰ͯΔ w ֤ίΞͷ࣮ߦΩϡʔ؂ࢹϓϩηεͷϝοηʔδ௨஌͸࠷༏ઌͰॲཧ w ϝοηʔδΩϡʔ͕͋;Εͦ͏ͳΒ͹ɼ࣮ߦΩϡʔதʹଘࡏ͢Δɼͦ ͷϓϩηεͷλϓϧΛ͍͔ͭ͘ଞͷίΞʹϚΠάϨʔτ͢Δ w ࣮ߦ࣌؀ڥʹෳ਺ίΞڞ༗ͷϑϥάΛ͚ͭΔ w ࣮ߦΩϡʔʹͭͳ͕ΕͨλεΫͷ૯࣮ߦ্͕࣌ؒݶΑΓେ͖͘ͳͬͨ ͳΒ͹ɼ࣮ߦΩϡʔͷ͋;Εͨ෦෼Λڞ༗࣮ߦΩϡʔʹ௥͍ग़͢ w ڞ༗Ωϡʔ্͕ݶΛ௒͑ΔͳΒ͹ɼ֤ίΞͷ࣮ߦΩϡʔͷ্ݶ Λ্͛ΔϝοηʔδΛɼ֤ίΞͷ࣮ߦΩϡʔ؂ࢹϓϩηεʹ௨ ஌ w ࣮ߦΩϡʔʹͭͳ͕ΕͨλεΫͷ૯࣮ߦ͕࣌ؒԼݶΑΓখ͘͞ͳͬͨ ͳΒ͹ɼڞ༗࣮ߦΩϡʔ͔ΒλεΫΛಘΔ w ڞ༗Ωϡʔ͕ۭʹͳΔΑ͏ͳΒɼ࣮ߦΩϡʔͷ૯࣮ߦ࣌ؒͷ্ ݶΛԼ͛ΔϝοηʔδΛɼ֤ίΞͷ࣮ߦΩϡʔ؂ࢹϓϩηεʹ ௨஌ 58 ˜4VTVNV:BNB[BLJ

Slide 59

Slide 59 text

ݚڀ։ൃ͢΂͖ٕज़ w /PEFϓϩάϥϛϯάϞσϧ͕ػೳ͢ΔͨΊʹ͸ɼίʔυͷ࣮ߦ࣌ ؒΛਖ਼֬ʹਪఆ͢Δٕज़ w ೚ҙͷϓϩάϥϜʹରͯ͠͸ɼఀࢭੑ໰୊ɼ͢ͳΘͪ༗ݶ࣌ؒ ಺ʹ׬ྃ͢Δ͔Ͳ͏͔Λ൑ఆ͢ΔΞϧΰϦζϜ͸ଘࡏ͠ͳ͍ͨ Ίɼίʔυͷ࣮ߦ࣌ؒΛٻΊΔ͜ͱ͕Ͱ͖ͳ͍ w Ծઆ&MJYJS;FO4UZMFͰॻ͘͜ͱΛపఈ͢Δͱɼ༗ݶ࣌ؒ಺ʹ ׬ྃ͢Δ͜ͱΛอূͰ͖Δɼ͢ͳΘͪఀࢭੑ໰୊ΛճආͰ͖Δ w ͜ͷԾઆΛ਺ཧతʹূ໌͠ɼίʔυͷ࣮ߦ࣌ؒΛਪఆ͢Δٕज़ Λݚڀ։ൃ͢Δ 59 ˜4VTVNV:BNB[BLJ

Slide 60

Slide 60 text

84"ʹ࠷దԽ͞Εͨฒྻॲཧܥ ࢁ࡚ਐɹ৿ਖ਼࿨ɹٱߐ༤تɹߴ੉ӳر ʲ֓ཁʳ w छྨͷฒྻੑͱͦΕͧΕʹؔΘΔ࠷దԽΛఏҊ͢Δ w ໋ྩฒྻੑɹɹˠ੩త໋ྩεέδϡʔϦϯά w 4*.%ܕฒྻੑˠ)BTUFHB ϔΠεΨ w .*.%ܕฒྻੑˠ4BCPUFOEFS αϘςϯμʔ w ͜ΕΒʹΑΓฒྻੑ͚ͩͰͳ͘Ϩεϙϯεੑͱ଱ো֐ੑ΋ҡ࣋ɾ޲্Ͱ͖Δ ˢ w పఈతʹฒྻੑɾ෼ࢄੑɾϨεϙϯεੑɾ଱ো֐ੑΛ௥ٻ͢Δॲཧܥ&MJYJSͷ࠾༻ ˢ w ৘ใྔരൃ w ൒ಋମτϨϯυΫϩοΫप೾਺৳ͼ಄ଧͪίΞ਺૿Ճ෼ࢄܕΞʔΩςΫνϟ༏Ґ w Ϩεϙϯεੑͷҡ࣋ɾ޲্ w ଱ো֐ੑͷ௥ٻ w ߴෛՙܭࢉॲཧΞϓϦέʔγϣϯͷ૿Ճ w शಘ༰қʹ͢Δඞཁੑ 60 ˜4VTVNV:BNB[BLJ