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

KotlinでDelegation #kansaikt

KotlinでDelegation #kansaikt

kansai.kt #1

87e94dd0e8a5f52de58a0e4a0b1a1f3f?s=128

Shinichi Kozake

July 09, 2016
Tweet

More Decks by Shinichi Kozake

Other Decks in Technology

Transcript

  1. LBOTBJLU

  2. ,PUMJOͰ%FMFHBUJPO ҕৡͩ͡ΐʔ

  3. ੺΂ͩ͜͡ΐ 䰾  ൃച༧ఆʂʂ

  4. 9JQCTG7!

  5. ,CXC 5[UVGO#TEJKVGEV 鰄鰇鰂鰈鱄鯵鰒 0COG 鱻鲑鱔鲍鲂⹻ㅕ䃩鰰 #IG 5[UVGO#TEJKVGEV ,QD .KMG 5MKNN

  6. #DQWV+PJGTKVCPEG %NCUU&GNGICVKQP &GNGICVGF2TQRGTVKGU

  7. #DQWV+PJGTKVCPEG %NCUU&GNGICVKQP &GNGICVGF2TQRGTVKGU

  8. &CVC%NCUU #DQWV+PJGTKVCPEG

  9. &CVC%NCUU #DQWV+PJGTKVCPEG ܧঝ͸ίʔυͷ࠶ར༻Λߦ͏ ศརͳखஈʂʂ ! ͳΜ͚ͩͲɾɾ

  10. &CVC%NCUU #DQWV+PJGTKVCPEG ʰແ஌ͳঢ়ଶͰ࢖༻Ͱ͖ΔϥΠϒϥϦͷ࡞੒ʹରͯ͠͸ ܧঝͷ༗༻ੑ͸͔ͳΓٙΘ͍͠ʱ ! ʰࠐΈೖͬͨTXJUDIจҎ্ͷԿऀͰ΋͋Γ·ͤΜʱ ! ʰޙํޓ׵ΛଛͶΔͨΊ݈શͳ"1*ͷ੒௕Λ๦͛Δʱ ʙ"1*σβΠϯͷۃҙΑΓʙ

  11. &CVC%NCUU #DQWV+PJGTKVCPEG ʰਂ͍ܧঝπϦʔ͸Τϥʔ཰ͷ্ঢͱ ɹਂ݁͘ͼ͍͍ͭͯΔ͜ͱ͕Θ͔͍ͬͯΔʱ ʙίʔυίϯϓϦʔτΑΓʙ

  12. &CVC%NCUU #DQWV+PJGTKVCPEG ܧঝ͸JTBͷؔ܎ͷ͸͕ͣɾɾ ! ɹجఈΫϥεͷॲཧΛ࠶ར༻͍ͨ͠ ɹ͋ͷॲཧΛϋοΫ͍ͨ͠ ! ͳͲͷཧ༝ʹΑΓෆద੾ͳܧঝ͕ߦΘΕΔ͜ͱଟ͍ 鰜鰴鱄鰙猳獑ฅ ō͸ō

  13. &CVC%NCUU #DQWV+PJGTKVCPEG ܧঝ͸ศརͳػೳ͕ͩɺෳࡶੑ͕૿͢ةݥੑ͕͋Δʂ

  14. &CVC%NCUU #DQWV+PJGTKVCPEG ɾσϑΥϧτpOBMɻܧঝʹ͸PQFO͕ඞཁ ɾ%FMFHBUFαϙʔτ͕ݴޠػೳͱͯ͠༻ҙ ,PUMJO JT

  15. &CVC%NCUU #DQWV+PJGTKVCPEG ,PUMJO JT ɾσϑΥϧτpOBMɻܧঝʹ͸PQFO͕ඞཁ ɾ%FMFHBUFαϙʔτ͕ݴޠػೳͱͯ͠༻ҙ ࠓ೔͸͜ͷ࿩Λ͠·͢

  16. #DQWV+PJGTKVCPEG &GNGICVKQP &GNGICVGF2TQRGTVKGU

  17. &CVC%NCUU ,PUMJOͷ$MBTT%FMFHBUJPOΛ༻͍Δ͜ͱͰɺҕৡʹΑΔϘΠϥʔίʔυΛ ͳ͘͢͜ͱ͕Ͱ͖·͢ɻ ! &CVC%NCUU %NCUU&GNGICVKQP $MBTT%FMFHBUJPO JT

  18. &CVC%NCUU %NCUU&GNGICVKQP FGNGICVG

  19. &CVC%NCUU %NCUU&GNGICVKQP C΁EFMFHBUF

  20. &CVC%NCUU %NCUU&GNGICVKQP CZ۟ʹΑΓɺC͸%FSJWFEͷ಺෦ʹ֨ೲ͞Ε ίϯύΠϥʹΑΓC΁ҕৡ͢Δશͯͷϝιου͕ੜ੒͞ΕΔ CZ۟ʹΑΓC΁EFMFHBUF

  21. &CVC%NCUU %NCUU&GNGICVKQP

  22. &CVC%NCUU %NCUU&GNGICVKQP

  23. &CVC%NCUU %NCUU&GNGICVKQP FGNGICVG FGNGICVG

  24. #DQWV+PJGTKVCPEG %NCUU&GNGICVKQP &GNGICVGF2TQRGTVKGU

  25. &CVC%NCUU &GNGICVGF2TQRGTVKGU ϓϩύςΟ΁ͷΞΫηεʢTFUPSHFU Λଞͷॲཧ΁ҕৡͰ͖Δɻ ͜ΕʹΑΓɺ ! ɹMB[ZQSPQFSUJFT࠷ॳͷΞΫηε࣌ʹ஋Λܭࢉ͢Δ ɹPCTFSWBCMFQSPQFSUJFTϓϩύςΟͷมߋΛ௨஌͢Δ NBQQSPQFSUJFTϑΟʔϧυͷ஋ΛNBQʹ֨ೲ͢Δ !

    ͷΑ͏ͳػೳΛ࡞੒͠ɺ࠶ར༻Ͱ͖ΔΑ͏ʹͳΔ %FMFHBUFE1SPQFSUJFT JT
  26. &CVC%NCUU &GNGICVGF2TQRGTVKGU ʻߏจʼ WBMWBSQSPQFSUZOBNF5ZQFCZFYQSFTTJPO ! CZͷޙΖͷ͕ࣜฦ͢ΠϯεϯεʹEFMFHBUF͢Δɻ

  27. &CVC%NCUU &GNGICVGF2TQRGTVKGU ϓϩύςΟ΁ͷ HFU͸HFU7BMVF  TFU͸TFU7BMVF  ͕ରԠɻ ! %FMFHBUF͸ΠϯλϑΣʔεΛܧঝ͢Δඞཁ͸ͳ͍͕

    HFU7BMVF ϓϩύςΟ͕WBSͷ৔߹͸ɺTFU7BMVF΋ Λ࣮૷ͯ͠Δඞཁ͕͋Δ
  28. &CVC%NCUU &GNGICVGF2TQRGTVKGU ࣮ߦ݁Ռ͸্هͱ͓Γ

  29. &CVC%NCUU &GNGICVGF2TQRGTVKGU ! QVCMJDDMBTT&YBNQMF\
 
 QSJWBUFpOBM,1SPQFSUZQPQ1 QSJWBUFpOBM%FMFHBUFEFMFHBUFOFX%FMFHBUF 
 
 QVCMJDpOBM4USJOHHFU1

    \
 SFUVSOUIJTEFMFHBUFHFU7BMVF UIJT QSPQ1 
 ^
 
 QVCMJDpOBMWPJETFU1 4USJOHWBMVF \
 UIJTEFMFHBUFTFU7BMVF UIJT QSPQ1 WBMVF 
 ^
 ^
 ! ઌ΄Ͳͷ&YBNQMFΛ+BWBͰ࣮૷͢Δͱͨ͠Β্هΠϝʔδͱͳΓ·͢ɻ
  30. &CVC%NCUU &GNGICVGF2TQRGTVKGU ಡऔઐ༻ͷϓϩύςΟ WBM ͷ%FMFHBUF͸࣍ͷύϥϝʔλΛऔΔHFU7BMVFͱ͍͏໊લͷؔ਺Λ ఏڙ͢Δɻ ! SFDFJWFSϓϩύςΟอ࣋ΦϒδΣΫτͱಉ͔͡εʔύʔܕ NFUBEBUB,1SPQFSUZܕ͔ͦͷεʔύʔܕ !

    ͜ͷؔ਺͸ϓϩύςΟͱಉ͡ܕʢ΋͘͠͸ͦͷαϒܕʣΛฦ͢ɻ ! %FMFHBUFE1SPQFSUJFT ཁ݅ᶃ
  31. &CVC%NCUU &GNGICVGF2TQRGTVKGU ॻࠐՄೳͳϓϩύςΟ WBS ͷ৔߹ɺ%FMFHBUF͸Ճ͑ͯ࣍ͷύϥϝʔλΛऔΔTFU7BMVFͱ͍͏ ໊લͷؔ਺Λఏڙ͢Δɻ ! SFDFJWFSHFU7BMVF ͱಉ͡ NFUBEBUBHFU7BMVF

    ͱಉ͡ OFXWBMVFϓϩύςΟͱಉ͡΋͘͠͸ͦͷεʔύʔܕ ! HFU7BMVF ͱTFU7BMVF ͸%FMFHBUFΫϥεͷϝϯόؔ਺ɺ΋͘͠͸֦ுؔ਺ͰఏڙͰ͖Δɻ ! ֦ுؔ਺͸͜ΕΒͷؔ਺Λఏڙ͍ͯ͠ͳ͍ΦϒδΣΫτʹޙ͔Βػೳ௥Ճ͢Δͷʹศརɻ ؔ਺͸PQFSBUPSΩʔϫʔυͰϚʔΫ͢Δඞཁ͕͋Δɻ %FMFHBUFE1SPQFSUJFT ཁ݅ᶄ
  32. 4UBOEBSE%FMFHBUFT

  33. &CVC%NCUU &GNGICVGF2TQRGTVKGU MB[ZΛ༻͍Δ͜ͱͰɺϓϩύςΟ஋ͷॳظԽΛ࠷ॳͷΞΫηε࣌ʹ஗ΒͤΔ ͜ͱͰ͖Δɻ ! ·ͨɺͦͷ݁Ռ͸هԱ͞Εɺ࣍ճݺͼग़࣌͠ʹ͸ಉ͡஋Λฦ٫͢Δɻ -B[Z JT

  34. &CVC%NCUU &GNGICVGF2TQRGTVKGU MB[Z͸ॳظ஋Λฦ͢ϥϜμΛύϥϝʔλͰड͚औΓɺ ॳظ஋ͷ஗Ԇ࣮ߦ͢Δ-B[Z5ͷΠϯελϯεΛฦ٫͢Δؔ਺ɻ

  35. &CVC%NCUU &GNGICVGF2TQRGTVKGU σϑΥϧτͰ͸ϥϜμࣜͷධՁ͸ಉظ͞ΕΔɻ ஋͸ͨͩҰͭͷεϨουͰܭࢉ͞ΕશͯͷεϨου͕ಉ͡஋Λࢀর͢Δɻ ! ෳ਺ͷεϨου͕ಉ࣌ʹܭࢉ͍ͤͨ͞৔߹͸ -B[Z5ISFBE4BGFUZ.PEF16#-*$"5*0/ΛMB[Zؔ਺ͷύϥϝʔλʹ౉͢ɻ ! ϥϜμ͕ࣜৗʹγϯάϧεϨουͰܭࢉ͞Ε͍ͯΔ͜ͱ͕อূ͞ΕΔ৔߹͸ɺ -B[Z5ISFBE4BGFUZ.PEF/0/&Λ༻͍Δ͜ͱͰ

    εϨουηʔϑʹ͢ΔҝͷΦʔόʔϔουΛ͚͞Δ͜ͱ͕Ͱ͖Δɻ -B[Z JT
  36. &CVC%NCUU &GNGICVGF2TQRGTVKGU PCTFSWBCMFΛ༻͍Δ͜ͱͰɺ஋ͷมߋΛݕ஌͢Δ͜ͱ͕Ͱ͖Δɻ PCTFSWBCMF JT

  37. &CVC%NCUU &GNGICVGF2TQRGTVKGU %FMFHBUFTPCTFSWBCMF͸ॳظ஋ͱ௨஌༻ͷϋϯυϥͷͭΛҾ਺ͱͯ͠औΔɻ ϋϯυϥ͸ϓϩύςΟʹ஋͕୅ೖ͞ΕΔͨͼʹݺͼग़͞ΕΔɻ ஋͕୅ೖ͞Εͨޙʹݺͼग़͞ΕΔ͜ͱʹ஫ҙʂ

  38. &CVC%NCUU &GNGICVGF2TQRGTVKGU ϋϯυϥͷύϥϝʔλ͸ϓϩύςΟɾݹ͍஋ɾ৽͍͠஋ͷ̏ͭͰ͢ɻ

  39. &CVC%NCUU &GNGICVGF2TQRGTVKGU WFUPBCMF JT WFUPBCMFΛ༻͍Δ͜ͱͰɺ஋ͷมߋΛڋ൱͢Δ͜ͱ͕Ͱ͖·͢ɻ

  40. &CVC%NCUU &GNGICVGF2TQRGTVKGU %FMFHBUFTWFUPBCMFͷҾ਺͸%FMFHBUFTPCTFSWBCMFͱಉ͡Ͱ͢ɻ %FMFHBUFTPCTFSWBCMFͱ͸ҟͳΓ஋͕୅ೖ͞ΕΔલʹϋϯυϥ͕ݺͼग़ ͞Ε·͢ɻϋϯυϥͷ໭Γ஋͕GBMTFͷ৔߹ɺ஋ͷ୅ೖΛڋ൱Ͱ͖·͢ɻ

  41. &CVC%NCUU &GNGICVGF2TQRGTVKGU NBQͷதʹϓϩύςΟ஋Λ֨ೲ͢Δ͜ͱ͸Α͋͘Γ·͢ɻ ! +40/ͷύʔεͰ͋ͬͨΓͦͷଞಈతʹ஋Λऔಘ͢Δ৔߹Ͱ͢ɻ ! NBQΠϯελϯεΛEFMFHBUFEQSPQFSUZͱͯ͠༻͍Δ͜ͱ͕Ͱ͖·͢ɻ .BQ JT

  42. &CVC%NCUU &GNGICVGF2TQRGTVKGU ϓϩύςΟ஋͸ϓϩύςΟ໊ΛΩʔʹͨ͠NBQͷ஋͔Βٻ·Γ·͢ɻ .VUBCMF.BQΠϯελϯεΛ༻͍Δ͜ͱͰॻࠐՄೳͳϓϩύςΟ WBS  Ͱ༻͍Δ͜ͱ΋Ͱ͖·͢ɻ

  43. 鰯鰙鰲 ·ͱΊͯͳ͍͡ΐ

  44. ֺ-QVNKP鰘鯵鰾鯵鰾&GNGICVG鰑猳 ࢓ࣄ΋ؙ౤͛ͩ͡ΐʂ