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

20210517 Kotlin愛好会発表 『 Kotlinのlazy(遅延処理)を自分で実装してみた』

20210517 Kotlin愛好会発表 『 Kotlinのlazy(遅延処理)を自分で実装してみた』

Ee398a67f5017cc2ad5c02d67d10e516?s=128

doyaaaaaken

March 16, 2021
Tweet

More Decks by doyaaaaaken

Other Decks in Programming

Transcript

  1. Kotlinͷlazy(஗Ԇॲཧ)Λ ࣗ෼Ͱ࣮૷ͯ͠Έͨ KotlinѪ޷ձ vol.28 2021/03/17 খࢁ݈ଠ(Kenta Koyama) @doyaaaaaaken

  2. ࣗݾ঺հ • ࢓ࣄ • גࣜձࣾsmartround CTO • SaaSͷ։ൃྺ͕௕͍ΤϯδχΞͰ͢ʢະͩʹίʔυόϦόϦॻ͍ͯ·͢ʣ • OSS׆ಈ

    • KtorɾExposed΁ͷίϯτϦϏϡʔτ • kotlin-csvͷ࡞ऀ • झຯ • ອըɾήʔϜɾϓϩάϥϛϯάɾςχεɾάϧϝɾϘʔυήʔϜɾຑ੃ɾཱྀߦ…etc
  3. ࠓճ࿩͢಺༰ • lazy(஗ԆධՁ)ʹ͍ͭͯ • ݴޠ࢓༷ͬΆ͘ݟ͑·͕͢ɺҕৡϓϩύςΟ(Delegated Properties)ͱ͍͏࢓૊ΈΛ࢖ͬͯ ࣮ݱ͞Ε͍ͯ·͢ • ಺෦࣮૷ͱࣅͨΑ͏ͳॲཧΛࠓճͷൃදͰ͸ϥΠϒίʔσΟϯάͯ͠Έ·͢

  4. ʢલఏʣKotlinͷҕৡϓϩύςΟʹؔ͢Δઆ໌ • ҰݴͰݴ͏ͱ… ʰม਺ͷget, setʹؔΘΔڞ௨ॲཧΛΫϥεͱͯ͠੾Γग़ͤΔʢʹҕৡͰ͖Δʣػೳʱ • ྫɿ஗ԆධՁม਺ɺobservableʢget, set࣌ʹผॲཧΛhookͰ͖Δʣͳม਺ • ެࣜυΩϡϝϯτɿhttps://kotlinlang.org/docs/delegated-properties.html

  5. ࣮ࡍʹ࣮૷ͯ͠Έͨ • Qiitaهࣄʹ΋ͨ͠ͷͰɺൃදݟΕͳ͔ͬͨํ͸ҎԼΛ͝ཡ͍ͩ͘͞ • ʰKotlinͷlazyʢ஗Ԇॲཧʣͷ࢓૊ΈΛௐ΂ͯࣗ෼Ͱ؆қʹ࣮૷ͯ͠Έͨʱ • https://qiita.com/doyaaaaaken/items/929d7f094d5734b9d9db ˞ϥΠϒίʔσΟϯά

  6. ձࣾએ఻ • smartroundͰ͸࠷ۙΤϯδχΞͷืूΛ։࢝͠·ͨ͠ʂʂ • ελʔτΞοϓ1400ࣾɾ౤ࢿՈ౳ύʔτφʔاۀ140͕ࣾొ࿥͢Δ ʮσʔλ؅ཧɾڞ༗ϓϥοτϑΥʔϜʯΛSaaSͱͯ͠ఏڙ • αʔόαΠυKotlin, Vue.jsΛར༻ •

    ࣾһ਺·ͩ1ܻͷελʔτΞοϓ ࿩͚ͩͰ΋ฉ͍ͯΈ͍ͨํ͍Βͬ͠ΌΕ͹Wantedly΍TwitterͷDM͔Β͓ؾܰʹ͝Ԡื͍ͩ͘͞
  7. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ @doyaaaaaken