モデリングのきほん #kanjava #mixleap

7919a30bc59113c94f31676158cb5881?s=47 irof
November 30, 2019

モデリングのきほん #kanjava #mixleap

2019-11-30
KanJava 10th Anniversary Party
https://kanjava.connpass.com/event/147145/

7919a30bc59113c94f31676158cb5881?s=128

irof

November 30, 2019
Tweet

Transcript

  1. ϞσϦϯάͷ͖΄Μ ,BO+BWBUI"OOJWFSTBSZ1BSUZ 5 !JSPG

  2. ;ͭ͏ͷϓϩάϥϚͰ͢ ʮ͋ͨΓ·͑ͷ͜ͱΛ͋ͨΓ·͑ʹʯ ͋ͨΓ·͑ͷ͜ͱʹ͢Δ

  3. ͸͡Ίʹ ؔδϟόͷप೥Πϕϯτ ͳͷͰ +BWBͷ࿩Λ͠·ͤΜ

  4. ಈػ ϞσϦϯά͕ಛผͳ͜ͱʹଊ͑ΒΕͯΔΑ͏ ʹײͨ͡ͷͰ͢ɻ ʮ೉͍͠ʯ͕ઌཱͪɺे෼ͳ஌ࣝ΍ٕज़͕ͳ ͍ͱखΛग़ͤͳ͍ͱײ͍ͯ͡ΔΑ͏Ͱͨ͠ɻ ϞσϦϯάͰ͖ΔΑ͏ʹͳΔͨΊʹ͸ɺϞσ Ϧϯά͢Δ͔͠ͳ͍ͷͰ͢ɻͱ͸͍͑ϞσϦ ϯάࣗମ͸Ͱ͖ͯΔͱࢥ͏Μͩɻ

  5. ΰʔϧ ʮϞσϦϯά׬શʹཧղͨ͠ʯ

  6. ϞσϦϯάͱ͸

  7. ϞσϦϯάͱ͸ ϞσϦϯάͱ͸Կ͔ Ϟσϧͱ͸Կ͔

  8. ϞσϦϯάͱ͸Կ͔

  9. ϞσϦϯά ϞσϧΛ࡞Δ͜ͱ Ϟσϧ͸ઍࠩສผ

  10. ϞσϦϯά Ϟσϧ ର৅ ϞσϦϯά

  11. ྫυϝΠϯϞσϦϯά υϝΠϯϞσϧ ର৅ υϝΠϯϞσϦϯά

  12. ྫΫϥεਤ Ϋϥεਤ ιʔε Ϋϥεਤͷ࡞੒

  13. ྫεϥΠυ εϥΠυ ࿩͍ͨ͜͠ͱ εϥΠυͷ࡞੒

  14. ϞσϦϯάͷϞσϧ ΛϞσϦϯάͯ͠ΈΔ

  15. ϞσϦϯά ϞσϦϯά ࣮૷ ࣮ߦ ࣮૷ࡁΈ ಠࣗ PS

  16. ϞσϦϯά interface ϞσϦϯά<T> { Ϟσϧ<T> ࣮ߦ(T); } ແཧ໼ཧͷ+BWB੒෼ ͳΜ͔ҧ͏ײ͋Δ͚Ͳ

  17. ϞσϦϯάͷ࣮૷ ࡞Γ͍ͨϞσϧʹΑͬͯϞσϦ ϯάͷ࣮૷͸มΘΔ ൚༻తͳϞσϧͳΒ࣮૷ࡁΈͷ ϞσϦϯά͕࢖͑Δ͔΋

  18. ࣮૷ࡁΈͷϞσϦϯά ͜ͷηογϣϯ͚ͩͷ଄ޠ ൚༻తͳϞσϧΛ࡞ΕΔ ୭͔͕࡞ͬͯެ։ͯ͘͠ΕͨϞσ Ϧϯάͷ΍Γ͔ͨͷ͜ͱ

  19. ࣮૷ࡁΈͷϞσϦϯάΛ࢖͏ σβΠϯύλʔϯͷద༻ͱಉ͡ ϞσϦϯάͷ࢓ํ͕Θ͔Γ΍͍͢ Ϟσϧ΋࢖͍΍͍͢ ࢖͍ॴΛؒҧ͑Δͱ੝େʹࣄނΔ

  20. ಠࣗͷϞσϦϯά ࣗ෼Ͱߟ͑ͨϞσϦϯά ंྠͷ࠶ൃ໌ສࡀ

  21. ϞσϦϯάʺ͓ֆඳ͖ https://twitter.com/irof/status/1174549654534414336 ʻֆΛඳ͘৚݅ʼ ֆͷܗࣜͷϞσϧΛબ୒ ඳը͞ΕΔπʔϧΛ࢖Θͳ͍

  22. ໨ʹ ݟ͑ͳ͍ Ϟσϧ ໨ʹݟ͑Δ งғؾ ໌ࣔత ໊෇͚

  23. ໨ʹ ݟ͑ͳ͍ Ϟσϧ ໨ʹݟ͑Δ งғؾ ໌ࣔత ͓ֆඳ͖ ͱ͍͏งғؾͰ͓ֆඳ͖ Ξφϩάศར

  24. Ϟσϧͱ͸Կ͔

  25. Ϟσϧͱ͸ ର৅ͷڧௐ͍ͨ͠ଆ໘ΛऔΓग़ ͨ͠΋ͷ ݱ࣮ͦͷ΋ͷͰ͸ͳ͍ ໝ૝Ͱ͸ͳ͍

  26. ϞσϧͷϞσϧ Ϟσϧ ৘ใ ղऍ ಘΒΕͨ৘ใ ಘΒΕ͍ͯͳ͍ ৘ใ ࢖͏৘ใ ࢖Θͳ͍৘ใ ৘ใͷղऍ

    ໝ૝ ݱࡏͷਪଌ ະདྷͷ༧ଌ
  27. Ϟσϧͷछྨ ಠࣗͷϞσϧ ൚༻తͳϞσϧ

  28. ಠࣗͷϞσϧ ࣗ෼ͳΓͷϞσϧ ंྠͷ࠶ൃ໌ΛڪΕͳ͍ ఻ΘΒͳͯ͘΋ٽ͔ͳ͍

  29. ൚༻తͳϞσϧ Α͘஌ΒΕ͍ͯΔϞσϧ ͨͿΜ࣮૷ࡁΈͷϞσϦϯάͰ࡞ΕΔ ͨͿΜϞσϧ΋࢖͍΍͍͢

  30. ࢖͏͚ͩͷϞσϧ ϞσϦϯάΛ͠ͳͯ͘΋୭͔͕ ࡞ͬͯ͘ΕͨϞσϧΛ࢖༻͢Ε ͹ࣄ଍ΓΔ͜ͱ΋͋Γ·͢

  31. ࢖͏͚ͩͷϞσϧͷྫ ङ໺Ϟσϧ ෆ࣮֬ੑίʔϯ આಘͨ͠Γߟ͑Δͱ͖ͷࡐྉʹ ͔ͭ͏΋ͷɻ֦ுͯ͠΋͍͍ɻ

  32. Ϟσϧͷଊ͑ํ ࢹ࠲ʹΑͬͯ෺ͷݟ͑ํ͸ҧ͏ ݟ͑ํΛදݱͨ͠΋ͷ ϞσϦϯά

  33. ϞσϦϯάͷ໨త

  34. ϞσϦϯάͷ໨త ࢖͑ΔϞσϧΛ࡞Δ͜ͱ

  35. ࢖͑ΔϞσϧ ݱ࣮ʹ͸ϊΠζ͕ଟ͗͢Δ ࢖͑Δ΋ঢ়گͰ৭ʑ ࣗ෼͕ཧղͰ͖Δ ଞਓʹཧղͰ͖Δ

  36. ཧղͷͨΊͷϞσϧ ཧղͰ͖ͨΒϞσϧ͕Ͱ͖ͯΔ ʮཁ͸ʯͬͯݴ͑ͨΒͦΕ͕Ϟσϧ Ξ΢τϓοτͯ͠Δ͔Ͳ͏͔͸ผ

  37. ϞσϦϯάΛ௨ͨ͡ཧղ ཧղͨ͜͠ͱ͸શͯϞσϧ ϞσϦϯάΛ௨ͯ͡ଟ਺ͷϞσ ϧ͕࡞ΒΕΔ ͦͷଟ͘͸໨ʹݟ͑ͳ͍ϞσϧͰɺҙ ࣝ͞Εͳ͍͠೔ͷ໨΋ݟͳ͍

  38. ϞσϦϯάͷ΍Γํ

  39. ϞσϦϯάͷ΍Γํ ಠࣗͷϞσϧΛ࡞੒͢Δ ൚༻తͳϞσϧʹམͱ͠ࠐΉ

  40. ಠࣗϞσϧͷ࡞੒

  41. ର৅ͷશମ ԿΛϞσϦϯά͠Αʔ͔

  42. ର৅ͷશମ ͜ͷลʁ Ϟσϧʹ͍ͨ͜͠ͱͷΞλϦΛ ͚ͭΔ

  43. ର৅ͷશମ ͜ͷลʁ Ͳ͏Ͱ΋͍͍ ʮͲ͏Ͱ΋͍͍ʯ ͱ͍͏ڧ͍ݴ༿Λ ͋͑ͯ࢖ͬͯ ҙࣝతʹ֎͢

  44. ର৅ͷશମ Ϟσϧ Ͳ͏Ͱ΋͍͍ ʮͲ͏Ͱ΋͍͍ʯΛ ࡟Γམͱ͍ͯ͘͠ͱྠ ֲ͕ݟ͑ͯ͘Δ

  45. Ϟσϧ Ͳ͏Ͱ΋͍͍ͷͰফ ͯ͠͠·͏

  46. Ϟσϧ ڧௐͨ͠Γೱ୶Λ͚ͭͨΓ

  47. ൚༻తͳϞσϧͷ࡞੒ ʢπʔϧ࢖༻ʣ

  48. ϓϩμΫτ Ϋϥεਤ͕ ཉ͍͠

  49. Ϋϥεਤ  ը૾ͱ͔Ͱͷग़ྗ  ͳΜ͔͍͍ײ͡ͷݟө͑  දݱํ๏ Ͳ͏Ͱ΋͍͍  QVCMJDҎ֎ͷϝιου

     ಛఆύοέʔδҎ֎ͷΫϥε  ࣮૷ͷৄࡉ ͳͲͳͲ ͳΜ͔ͩΜͩͷͱ͜Ζ͸ উखʹ΍ͬͯ͘ΕΔ
  50. ϞσϦϯάͷಠࣗϞσϧ ࢲͷϞσϦϯάΛࢲͷಠࣗϞσ ϧͰઆ໌ͯ͠Έͨɻ ఻ΘΒͳ͔ͬͨΒ૬खΛݟͯผ ͷϞσϧΛ࢖͏ʢٽ͔ͳ͍ ͚Ͳࠓ೔͸ҰൃউෛͳΜͩΑͶ͐ʜʜ

  51. ϞσϦϯάͰ͖ͯΔ Ͱ͖ͯΔͰ͖ͯͳ͍ͷڥքΛͲ ͜ʹஔ͔͘͸ࣗ༝ ࢖͑ͨΒʮͰ͖ͯΔʯ͔ͳʁ ʮ࢖͑ΔʯΛԿͰ൑அ͢Δ͔ͬͯ࿩ʹ ʢΊΜͲ͍͘͞΍ͭ

  52. ϞσϦϯάͷϙΠϯτ

  53. ϞσϦϯάͷϙΠϯτ ಉ͜͡ͱ͸ಉ͡Α͏ʹදݱ͢Δ ൚༻తͳϞσϧΛར༻͢Δ

  54. ಉ͜͡ͱ͸ಉ͡Α͏ʹදݱ͢Δ ҧ͏දݱ͕͞ΕͯΔͱࠞཚ͢Δ σʔλͷྲྀΕͱґଘઢͱ͔͋Γ͕ͪ ৘ใΛҡ࣋ͯ͠දݱΛݮΒ͢

  55. ൚༻తͳϞσϧΛ ࢖༻͢Δ ͦͷ··࢖͏ ར༻͢Δ ֦ு͢Δ Ұ෦͚ͩआΓͯ͘Δ ໼ҹ͚ͩͱ͔ΞΠίϯ͚ͩͱ͔

  56. ࠷ޙʹ֬ೝ

  57. ΰʔϧςʔϓ ϞσϦϯά׬શʹཧղͨ͠ʁ

  58. ͕࣌ؒ༨ͬͨΒద౰ʹ ࿩͢κʔϯ

  59. ʮϞσϦϯά͕Ͱ͖Δʯ ಠࣗϞσϧ͕࡞ΕΔͱ͍͏͜ͱ Ͱ͸ͳ͍ ʮͰ͖ΔʯΛϞσϦϯάͯ͠ΈΔ ͱ͍͍͔΋

  60. ఻͑ΔϞσϧ ݴ༿ɺ਎ͿΓखৼΓ΋Ϟσϧ ιʔείʔυ΋Ϟσϧ ఻͑Δ໨తͰ఻ΘͬͨΒɺͦΕ Ҏ্ͷϞσϦϯά͸ཁΒͳ͍ υΩϡϝϯτΛ࡞Δ͜ͱͰ͸ͳ͍

  61. Ξ΢τϓοτͯ͠ΈΑ͏ ͜ͷεϥΠυ΋ϞσϦϯάʹର ͢ΔࢲͷϞσϧΛΞ΢τϓοτ͠ ͨ෺Ͱ͢ ଟ෼ҰൠతͳʮϞσϦϯάʯͱ ͸ҧͬͨͱࢥ͍·͢

  62. ΍Ε͹Ͱ͖ΔΑ͏ʹͳΔ ΍Βͳ͍͜ͱ͸ઈରͰ͖ΔΑ͏ ʹͳΒͳ͍ ࣗ෼ͷཧղΛ૬खʹ఻͑Α͏ͱ ͢ΔͳΒɺͦΕ͸ϞσϦϯά ʮϞσϦϯάʯͩͱࢥͬͯऔΓ૊Μͩ ΒϞσϦϯάྗ͸͍͍͖ͭͯ·͢

  63. ೴಺Ϟσϧ ೴಺ʹ͔͠ଘࡏ͠ͳ͍Ϟσϧ ݕূʹ͸ෳ਺ͷϞσϦϯάͰΞ ΢τϓοτͯ͠ΈΔ

  64. ϞσϦϯάҰ࿈ͷ׆ಈ ೴಺Ϟσϧ ؍ଌՄೳϞσϧ ৘ใͷմ ೴಺ղऍ Ξ΢τϓοτ ચ࿅ ௥Ճ৘ใͷऩू ໨తʹরΒͨ͠৘ใͷऩू ͜Ε͘Β͍Ͱ͍͍͔