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

新しく言語を学ぶ私のやり方 / My way of learning a new lang

5d769d109697012317c09c6a27a6a4bf?s=47 linyows
January 22, 2019

新しく言語を学ぶ私のやり方 / My way of learning a new lang

Jan 22, 2019 / Fukuoka.rsでLT発表した資料

5d769d109697012317c09c6a27a6a4bf?s=128

linyows

January 22, 2019
Tweet

Transcript

  1. ৽͘͠ݴޠΛֶͿࢲͷ΍Γํ 5PNPIJTB0EBŠ(.01FQBCP *OD 'VLVPLBST+BO 

  2. Fukuoka.rs #1 !MJOZPXT CMPHUPNPIJTBPEBDPN (.0ϖύϘ ϓϦϯγύϧΤϯδχΞ 2

  3. Fukuoka.rs #1 3 8&# %#13&44WPM )BTIJ$PSQ7BVMUͷهࣄدߘ ෱Ԭͷ(PMBOHίϛϡχςΟ 'VLVPLBHPͷओ࠵ͷਓ MJOVYϢʔβͷ໊લղܾΛ (JU)VC͔ΒϚοϐϯά͢Δ

    ιϑτ΢ΣΞͷ։ൃ
  4. Fukuoka.rs #1 QSJOUMO )FMMP3VTUBDFBOT  4

  5. Fukuoka.rs #1 3VTUͱࢲ w /P3VOUJNFɺ/P($ ͢͝ʔʔʔ͍  w ͳ͔ͳ͔ίϯύΠϧ௨Βͳ͍ͬͯฉ͘ w

    (P࢖ͬͯͯࠔΔ͜ͱͳ͍ΑʁԿ͕خ͍͠ͷʁ w ͣͬͱ͜ͷௐࢠͳͷͰɺൃදυϦϒϯͰษڧΛ։࢝͠Α͏ʂ w ΜͰɺؾ͍ͮͨΒਖ਼݄΋ऴΘͬͯษڧձͷिؒલ 5
  6. Fukuoka.rs #1 ͋͞ษڧΛ࢝ΊΔͧ w ͱΓ͋͑ͣ؀ڥͷߏஙʢ3VTUVQೖΕͨΓɺWJNQMVHJO୳ͨ͠Γʜʣ w ͱΓ͋͑ͣ3VTUͷ5IF#PPLΛಡΈ࢝ΊΔ w ͙͢ʹ಄ʹೖͬͯ͜ͳ͘ͳͬͨͷͰखΛಈ͔࢝͠ΊΔ w

    ϦϙδτϦ࡞ͬͯࣸܦHJUIVCDPNMJOZPXTSVTUMFBSOJOH w ͦͯ͠๞͖ͯɺHJUIVCDPNͰ⭐ͷ୔ࢁ͍ͭͨ3VTUϦϙδτϦΛோΊΔ w ऴྃʜ 6
  7. Fukuoka.rs #1 aϞνϕʔγϣϯ͕ଓ͔ͳ͍κ 7

  8. Fukuoka.rs #1 ϞνϕʔγϣϯΛ୳ཱྀ͢ w Α͏͠ɺϞνϕʔγϣϯΛͻͶΓग़ͧ͢ w 3VTUͬͯԿ͕͍͍ͷʂʢ࠶ʣΦϑΟγϟϧαΠτʹ͋Δ͸ͣ w ͔͍ͭͲ͜Ζ͸Ͳ͜ʁʁʢ੾࣮ʣ͜Ε΋ɺΦϑΟγϟϧαΠτʹ͋Δ͸ͣ w

    ࣗ෼ͩͬͨΒͲ͏࢖͏ 8
  9. Fukuoka.rs #1 3VTUͷಛ௃ w ͱͯ΋ߴ଎ͰϝϞϦޮ཰͕Α͍ͷͰϋΠύϑΥʔϚϯεɺͦͯ͠૊ΈࠐΈ ͱ͔؆୯ʹଞݴޠͱ౷߹Ͱ͖Δ w ๛෋ͳܕͱ0XOFSTIJQϞσϧʹΑΓϝϞϦ΍εϨου͕҆શͰ͋Δ͜ͱΛ อূ͢Δɺ͔ͩΒଟ͘ͷछྨͷόάΛίϯύΠϥͰഉআͰ͖Δ w

    ๛෋ͳυΩϡϝϯτɺݡ͍ίϯύΠϥɺ౷߹͞ΕͨύοέʔδπʔϧͰੜ ࢈ੑߴ͍ 9
  10. Fukuoka.rs #1 3VTUͷΩϟονίϐʔ ৴པੑ΍ޮ཰ੑͷߴ͍ιϑτ΢ΣΞΛ ୭΋͕ॻ͚ΔྗΛ༩͑ΔΑʂ ·͔͡ʜ 10

  11. Fukuoka.rs #1 3VTUWT(P 11 Rust Go Performance Great Good Simple

    and Readable Code OK Great Concurrency Yes Yes Forcing error checking Yes No
  12. Fukuoka.rs #1 ϚγϯϦιʔεΛ࢒Βͣ࢖͍੾Δ·Ͱ ύϑΥʔϚϯεΛॏࢹ͍ͨ͠ͷͳΒ3VTUʂ 12

  13. Fukuoka.rs #1 3VTUͷ͔͍ͭͲ͜Ζ w ύϑΥʔϚϯεॏࢹͰ҆શͳιϑτ΢ΣΞͷ։ൃͰ͋Ε͹Ұ୒Ͱ͠ΐ͏ʂ ʢύϑΥʔϚϯεͬͯ͋ͱ͔Βཁٻ͞ΕΔʁʣ w 3VTUͰͦΕͳΓʹੜ࢈ੑߴΊΔʹ͸࿅౓͕ඞཁͦ͏ͳͷͰɺڭҭମ੍΋͋ Δ։ൃɺ·ͨ͸ख़࿅ूஂͰͷ։ൃ w

    ະख़ऀ͸ɺ044ͱ͔ɺԶಘ$-*πʔϧͱ͔͸ͽͬͨΓͳͷͰ͸ʁ 13
  14. Fukuoka.rs #1 ఆΊͨΰʔϧ w ·ͣಈ͘΋ͷΛ࡞Ζ͏ w ࣮૷ͷਖ਼͠͞ɺεϚʔτ͞͸ؾʹ͠ͳ͍ w ࣮૷͍ͯ͘͠தͰɺͭ͗ʹͭͳ͕Δ՝୊Λݟ͚ͭΔ w

    ΰʔϧΛ໌֬ʹ͢Δͱ΍Δ͜ͱ͕ఆ·ͬͯ΍Δؾ͕ग़Δ w Α͠ʂʂʂʂʂʂʂʂʂʂʂ 14
  15. Fukuoka.rs #1 15

  16. Fukuoka.rs #1 ࡞ͬͨ$-* w (FP*1ͷ஍ཧ৘ใΛ*1Ͱݕࡧͯ͠දࣔ͢Δ͘Μ IUUQTHJUIVCDPNMJOZPXTHMJQ w XFFLͰ΋ಈ͘΋ͷ͸Ͱ͖ͨʂ w ͦͯ͠ɺDSBUFTJPͰύοέʔδΛެ։Ͱ͖ͨʂ

    16
  17. Fukuoka.rs #1 ͭ·͍ͣͨͱ͜Ζ w ϑΝΠϧ෼ׂͨ͠ࡍͷNPEVMFͷ֓೦ w ϥΠϒϥϦͱ$-*ͷ྆ํΛఏڙ͢ΔύοέʔδͷσΟϨΫτϦߏ੒ w ΤϥʔνΣοΫڧ੍ͷͨΊͷΤϥʔॲཧ w

    VOXSBQ͹͔ͬΓʹͳͬͯɺԿͳͷ͜Εʁʁʁ w JGͷதͰNVUBCMFͳม਺ߋ৽ͰౖΒΕΔ 17
  18. Fukuoka.rs #1 18

  19. Fukuoka.rs #1 ݟ͖͑ͯͨ՝୊ w ςετॻ͍ͯͳ͍ͷʢDPWFSBHF΋ͱΔͧʣ w ͏·͘ॻ͚ͯͳ͍ͷʢHFOFSJDT΍USBJU࢖͑͹៉ྷʹͳΔ͸ͣʣ w ͦ΋ͦ΋ɺ΍ͬͯΔ͜ͱ͋ͬͯΔʁʁ w

    ഑෍ʹDBSHPJOTUBMM͡Όͳͯ͘$SPTT$PNQJMJOH͓͖͍ͯͨ͠΍Μ w ฒߦͯ͠ɺ଍Γͯͳ͍஌ࣝΛʮ5IF#PPLΛ໢ཏʯʮຊΛಡྃʯͰಘΔ 19
  20. Fukuoka.rs #1 ։ൃυϦϒϯͷԿ͕ྑ͍͔ w ࣗ෼͝ͱʹͳΔͷͰ಴࠳͠ʹ͍͘໷ͳ΂ͯ͠΍ͬͯ·͏ w ͠ΐ͏΋ͳ͍͜ͱͰΑͭ͘·ͣ͘ϑϥετϨʔγϣϯཷ·Δ w ମܥతʹֶͿҙཉ͕༙͘ʂ w

    ΍ͬͨ݁Ռ͕࢒Δ΍͹͍΋ͷ͕ग़དྷͯஏ͔͍ͣ͠ w ΍͹͍ίʔυΛͪΌΜͱ͢Δҙཉ͕༙͘ʂ- 20
  21. Fukuoka.rs #1 aͳΜ͔ͩΜͩ݁Ռతʹྑ͍ ☺ 21

  22. Fukuoka.rs #1 ·ͱΊ ৽͘͠ݴޠΛֶͿͨΊʹҎԼͷखॱͰ͢͢Ί·ͨ͠ɻ w ·ͣ͸ֶͿཧ༝Λ୳͢ɺͳ͚Ε͹࡞Δ w ։ൃυϦϒϯͰखΛಈ͔͠ͳ͕ΒֶͿʢ໌֬ͳΰʔϧʣ w ڵຯ͕༙͍͖ͯͨΒମܥతʹֶͿ

    w ͦͯ͠·ͨ࡞Δʂ 22
  23. Fukuoka.rs #1 'VLVPLBSTͷΈͳ͞Μ 3VTUڭ͍͍͍͍͑ͯͩ͘͞ ίʔυϨϏϡʔر๬  ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 23

  24. Fukuoka.rs #1 3FGFSFODFT w 5IF#PPLIUUQTEPDSVTUMBOHPSHCPPL w 3VTUIUUQTXXXSVTUMBOHPSH w 4IPVME*3VTU PS4IPVME*(PIUUQTDPEFCVSTUJPTIPVMEJSVTUPSTIPVMEJ

    HPBFFB w 3JQ(SFQIUUQTHJUIVCDPN#VSOU4VTIJSJQHSFQ w #BUIUUQTHJUIVCDPNTIBSLEQCBU w ϓϩάϥϛϯά3VTUIUUQTXXXPSFJMMZDPKQCPPLT 24