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

型を使うと便利な開発

Tessei Yoshida
November 04, 2016

 型を使うと便利な開発

Tessei Yoshida

November 04, 2016
Tweet

More Decks by Tessei Yoshida

Other Decks in Technology

Transcript

  1. ܕΛ࢖͏ͱศརͳ։ൃ ᷂τϨλɹ٢ాపੜ

  2. ࣗݾ঺հ w ٢ాపੜ w ᷂τϨλ w "OHVMBS+BQBO6TFS(SPVQ w UXJUUFS!UFZPTI w

    'BDFCPPL!UFZPTI
  3. +BWB4DSJQUॻ͍ͯ·͢ ͔ʁ

  4. ͋Ε͸೥΄Ͳલ

  5. +BWB4DSJQUͱ͍͑͹

  6. None
  7. None
  8. ϖʔδ͕ॏ͘ͳΔͷͰ جຊ0''࣌୅

  9. ͦΕ͔Β೥݄͕ܦͪ

  10. ೥݄

  11. (PPHMF.BQT

  12. (PPHMFγϣοΫ "DUJWF9͔ʁ Ͳ͏΍ͬͯಡΈࠐΈΛ΍͍ͬͯΔͷͩΖ͏͔ʁ ͳͲͳͲ

  13. ΢ΣϒΞϓϦ

  14. ͋Δ೔ͷձ࿩ w ৽͍͠ϓϩμΫτ࡞Γ͍ͨΜͰ͕͢ w ͲΜͳ΍ͭͰ͔͢ʁ w ΄Βɺ(PPHMFϚοϓΈ͍ͨͳ΍ͭ w ͦɺͦ͏ͳΜͰ͢Ͷɻ͍͙ͭΒ͍ʹग़͢ΜͰ͔͢ʁ w

    େମ̏ϲ݄Ґ
  15. ͦͷࠒͷ։ൃ؀ڥ w 8JOEPXT91 w &N&EJUPS w *& w 'JSFGPY w

    QSPUPUZQFKT w +BWB4DSJQU w 'JEEMFS w σόοά͸BMFSU
  16. ։ൃํ๏ w %0.࿔Γ·͘Γ w QSPUPUZQF͸࢖ͬͪΌͩΊ w ͩΕͩ"SSBZʹมͳͷੜ΍ͨ͠ͷʂʂ w $74ͬͯͳΜͰ͔͢ʁ w

    ͜ͷGVODUJPOߦӽͯ͠ΔΜͰ͚͢Ͳ w Ͳ͕͜Τϥʔ͔Θ͔Βͳ͍ w ͜ͷσόοάBMFSUແݶϧʔϓͰऴΘΒͳ͍ΜͰ͕͢
  17. ͳΔ΂ͯ͘͠ͳΔσεϚ

  18. ٹੈओొ৔

  19. K2VFSZ

  20. 'JSFCVH

  21. ͍͍ͱ͜Ζ ΠϯεϖΫλදࣔ DPOTPMFͷར༻ 4UZMFͷදࣔ ωοτϫʔΫͷදࣔ FUD

  22. ͦΕͰ΋·ͩ·ͩ*&ͷఱԼ ͸ଓ͘ɾɾɾ

  23. ͱ͖͸ܦͪ ͱ͏ͱ͏ొ৔

  24. (PPHMF$ISPNF

  25. ͦͷࠒͷ։ൃ؀ڥ w .BD049 w FNBDTWJN w *& w 'JSFGPY w

    $ISPNF w K2VFSZ w CBDLCPOF w $IBSMFT w '։ൃऀπʔϧ
  26. ։ൃʹ͓͍ͯ w POMPBE্ॻ͖͢ΔͳΑʔ w %0.࿔Γ·͘Γ w 47/ίϯϑϦΫτͯ͠ΔΜͰ͚͢Ͳʔ w +BWB4DSJQUॻ͚·͢K2VFSZΛ࢖ͬͨ͜ͱ͋Γ ·͢


    GBMTF
  27. Ͱ΋ɾɾɾ w ແ໊ؔ਺Λར༻ͨ͠Ϋϩʔδϟ w ΫϥΠΞϯτ.7$Λ࣮૷͢Δ w Πϕϯτͷ఻ୡ w +BWB4DSJQUͷ೉ಡԽ w

    ϥΠϒϥϦΛར༻ͯ͠ૉͷ+4͸ۃྗ৮Βͳ͍ w $MBTTΛٖࣅతʹ࣮૷
  28. ֵ໋͕ى͜Γ

  29. /PEFKT

  30. ొ৔ʹ͓͍ͯ w λʔϛφϧͰͷ։ൃ w OQNʹΑΔ+BWB4DSJQUϥΠϒϥϦͷύοέʔδ؅ ཧ w (SVOU΍HVMQͷλεΫϥϯφʔͷొ৔ w VHMJGZKTͰNJOJGZ

  31. "-5+4ͷ୆಄ w $P⒎FFTDSJQU w )BYF w +49 w %BSU w

    4DBMBKT w 5ZQF4DSJQU w 'MPX ͳͲͳͲ
  32. 5ZQF4DSJQUͷొ৔ 5ZQF4DSJQU͸ϚΠΫϩιϑτʹΑͬͯ։ൃ͞Εɺϝϯςφϯε͞Ε͍ͯΔϑϦʔͰΦʔϓϯιʔεͷϓϩάϥϛϯάݴޠͰ͋ Δɻ5ZQF4DSJQU͸+BWB4DSJQUʹରͯ͠ɺলུ΋Մೳͳ੩తܕ෇͚ͱΫϥεϕʔεΦϒδΣΫτࢦ޲ΛՃ͑ͨݫີͳεʔύʔ ηοτͱͳ͍ͬͯΔɻ$ͷϦʔυΞʔΩςΫτͰ͋Γɺ%FMQIJͱ5VSCP1BTDBMͷ։ൃऀͰ΋͋ΔΞϯμʔεɾϔϧεόʔά ͕5ZQF4DSJQUͷ։ൃʹؔΘ͍ͬͯΔɻ<><><><>ɻ5ZQF4DSJQU͸ΫϥΠΞϯταΠυɺ͋Δ͍͸αʔόαΠυ /PEFKTʣ Ͱ࣮ߦ͞ΕΔ+BWB4DSJQUΞϓϦέʔγϣϯͷ։ൃʹར༻Ͱ͖Δɻ 5ZQF4DSJQU͸+BWB4DSJQUΛѻ͍΍͘͢͢ΔͨΊͷϥούʔݴޠͰ͋Γɺେن໛ͳΞϓϦέʔγϣϯͷ։ൃͷͨΊʹઃܭ͞Ε ͓ͯΓɺίϯύΠϧ͢Δͱ+BWB4DSJQUͷιʔείʔυΛग़ྗ͢Δɻ<>ɻ5ZQF4DSJQU͸+BWB4DSJQUͷεʔύʔηοτͰ͋Δͨ Ίɺطଘͷ+BWB4DSJQUϓϩάϥϜ͸ɺશͯ༗ޮͳ5ZQF4DSJQUϓϩάϥϜͱͳΔɻ

    5ZQF4DSJQU͸ܕఆٛϑΝΠϧΛαϙʔτ͓ͯ͠Γɺطଘͷ+BWB4DSJQUϥΠϒϥϦʹܕ৘ใΛ෇༩ͯ͠ར༻Ͱ͖ΔɻطଘͷΦ ϒδΣΫτϑΝΠϧͷߏ଄Λهड़Ͱ͖Δ$$ ͷϔομϑΝΠϧͱΑ͘ࣅͨ࢓૊ΈͰ͋Δɻ͜ΕʹΑͬͯɺͦͷܕఆٛϑΝΠ ϧ಺Ͱఆٛ͞Εͨ஋ΛɺଞͷϓϩάϥϜ͕͔͋ͨ΋੩తʹܕ෇͚͞Εͨ5ZQF4DSJQUΤϯςΟςΟͰ͋Δ͔ͷΑ͏ʹར༻͢Δ͜ ͱ͕Ͱ͖ΔΑ͏ʹͳΔɻK2VFSZ .POHP%# %KTͷΑ͏ͳਓؾͷ͋ΔϥΠϒϥϦͷͨΊͷɺαʔυύʔςΟʔͷϔομϑΝΠ ϧ͕͋Δɻ/PEFKTϕʔγοΫɾϞδϡʔϧͷͨΊͷϔομ΋ೖखՄೳͰɺ/PEFKTϓϩάϥϜͷ։ൃ΋5ZQF4DSJQUͷதͰߦ͑ Δ<>ɻ 5ZQF4DSJQUͷίϯύΠϥ͸ͦΕࣗମ͕5ZQF4DSJQUͰॻ͔Ε͍ͯΔɻ͜Ε͸+BWB4DSJQU΁ͷτϥϯείϯύΠϥͰ͋Γɺ "QBDIF-JDFOTFͷԼͰϥΠηϯε͞Ε͍ͯΔɻ 5ZQF4DSJQU͸.JDSPTPGU7JTVBM4UVEJP6QEBUFҎ߱ͰpSTUDMBTTϓϩάϥϛϯάݴޠͱͯ͠ɺ$΍ͦͷଞͷ .JDSPTPGUݴޠ܈ͱͱ΋ʹؚ·ΕΔΑ͏ʹͳͬͨɻ<>ɻެࣜͷ֦ுύοΫʹΑΓ7JTVBM7JTVBM4UVEJPͰ΋ 5ZQF4DSJQUΛαϙʔτՄೳͰ͋Δ<>ɻ ग़యɿXJLJQFEJB
  33. 5ZQF4DSJQUͷ͍͍ͱ͜Ζ w ܕ͕͋Δ w +BWB4DSJQUͷεʔύʔηοτͰ͋Δ w ରԠΤσΟλ͕ଟ͍ w δΣωϦΫε w

    σίϨʔλʔ
  34. None
  35. +BWB4DSJQUͷεʔύʔηοτ w &4΍&4ͷػೳΛ࢖͏͜ͱ͕ग़དྷ·͢ɻ w ·ͨɺ+BWB4DSJQUͷίʔυΛͦͷ··ར༻͢Δ͜ ͱ͕ग़དྷ·͢ɻ

  36. None
  37. δΣωϦΫε w ϦετΛ࡞Δͷʹܕ͕ଟ͍ͱͦͷ෼࡞Βͳ͍ͱ͍͚ ͳ͍ͷ͔ʁ w Ϋϥε΍ΠϯλʔϑΣʔεΛύϥϝʔλԽͰ͖Δ

  38. None
  39. σίϨʔλ w !$PNQPOFOUͱهड़͢Δ͜ͱͰ$MBTT΍NFUIPE ʹ෇Ճ৘ใΛ෇༩͢Δ͜ͱ͕ग़དྷΔ w ଟ༻ʹ࢖ͬͨΓϓϩύςΟʹ෇༩ͨ͠Γ͢Δ࣌ͳͲ ίʔυશମΛݟ΍͘͢Ͱ͖Δ

  40. None
  41. ରԠΤσΟλʔ͕ଟ͍ w 7JTVBM4UVEJP w 7JTVBM4UVEJP $PEF w 8FC4UPSN w &DMJQTF

    w 4VCMJNF5FYU w &NBDT w 7JN w "UPN
  42. None
  43. ܕΛ࢖͏ͳΒ w ܕΛ࢖͑Δ؀ڥͳΒ࢖ͬͨ΄͏͕ศར w ݫີͰ͸ͳͯ͘ΏΔʙ͘࢖͍͖͍ͬͯͨ w ෳ਺ਓͰ΍Δ৔߹͸΄΅ඞਢ w Ͱ΋ɺ৭ʑ४උ͕ඞཁͳͷ͕໘౗ w

    IUUQLJLVDIJIBUFCMPKQFOUSZ
  44. ͋Γ͕ͱ͏͍͟͝·ͨ͠