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

swift-async-algorithms...? へえ…面白そうじゃん…?

k-kohey
April 08, 2022

swift-async-algorithms...? へえ…面白そうじゃん…?

2022/04/08に社内で行ったLT会にて使用した資料

k-kohey

April 08, 2022
Tweet

More Decks by k-kohey

Other Decks in Programming

Transcript

  1. LLPIFZ

    !L@LPIFZJ

    TXJGUBTZODBMHPSJUINTʁ
    ΁͑ʜ໘നͦ͏͡ΌΜʜʁ
    ୈೋճνΩνΩ-5ձ

    View Slide

  2. ͸͡Ίʹ
    w TXJGUBTZODBMHPSJUINTͱ͍͏044͕
    ʹ"QQMF͔Βൃද͞Ε·ͨ͠
    w BTZODBXBJUʹରԠͨ͠ɺ࣌ؒʹجͮ͘Ξ
    ϧΰϦζϜΛ࣮૷ͨ͠΋ͷ
    w ࣌఺ͰЌ൛
    w ͢Ͱʹ(JU)VC͔ΒӾཡՄೳ

    View Slide

  3. ͸͡Ίʹ
    w ϕʔλ൛Ͱ͕͢υΩϡϝϯτ
    ΋๛෋ʹ͔͔Ε͍ͯ·͢
    w ֤ϑΝΠϧΛݟΔͱɺఏڙ͞
    Ε͍͑ΔΠϯλϑΣʔεͱͦ
    ͷ࣮૷͕؆୯ʹΘ͔Γ·͢

    View Slide

  4. ͸͡Ίʹ
    w ϕʔλ൛Ͱ͕͢υΩϡϝϯτ
    ΋๛෋ʹ͔͔Ε͍ͯ·͢
    w ֤ϑΝΠϧΛݟΔͱɺఏڙ͞
    Ε͍͑ΔΠϯλϑΣʔεͱͦ
    ͷ࣮૷͕؆୯ʹΘ͔Γ·͢
    ࠓճ͸
    υΩϡϝϯτͷ৘ใ΍࣮ࡍʹ৮ͬͯΈͨײ૝Λجʹ
    TXJGUBTZODBMHPSJUINT
    ʹ͍ͭͯ؆୯ʹ঺հ͠·͢🙌

    View Slide

  5. TXJGUBTZODBMHPSJUINT
    ֓ཁ
    w 3&"%.&ʹ͸͜ͷ044ͷΰʔϧ͕࣍ͷΑ͏ʹઆ໌͞Ε͍ͯΔ
    w ୈҰڃΦϒδΣΫτͱBTZODBXBJUͷ౷߹
    w λΠϜϕʔεΞϧΰϦζϜͷఏڙ
    w 3Yʹ͓͚ΔEFCPVODF΍UISPUUMFʹڍ͛ΒΕΔ࣌ؒʹؔ͢Δ΋ͷ΍ɺNFSHF΍DPNCJOF-BUFTUʹ
    ڍ͛ΒΕΔॱংʹؔ͢Δ΋ͷ·Ͱ
    w ΫϩεϓϥτοϑΥʔϜ͓ΑͼΦʔϓϯιʔε
    w 4XJGU1BDLBHF.BOBHFS͔ΒಋೖՄೳ
    w ؆୯ʹோΊͨײ૝ͱͯ͠͸ 88%$ʹͯൃද͞Εͨ

    "TZOD4FRVFODFΛ΋ͬͱศརʹ࢖͑ΔΑ͏ʹ͠·ͨ͠ʂͱ͍͏಺༰ͩͬͨ

    View Slide

  6. "TZOD
    4FRVFODFʁ

    View Slide

  7. "TZOD
    4FRVFODF
    ͸BTZODISPOPVTͱTFRVFODF
    ྆ํͷੑ࣭Λซͤ࣋ͭʜ―
    ϓϩτίϧ

    View Slide

  8. "TZOD4FRVFODF
    4FRVFODFͱ͸
    w 4FRVFODF1SPUPDPM͸"SSBZ΍
    %JDUJPOBSZ͕ద߹͍ͯ͠Δ
    w NBQ΍
    fi
    MUFSͳͲͷΠϯλϑΣʔεΛ
    ఏڙ
    w 4FRVFODF1SPUPDPM͸*UFSBUPSͷ࣮
    ૷Λཁٻ͠ɺͦͷ*UFSBUPSΛར༻͠
    ͯGPSJOϧʔϓ͔Β஋ΛऔΓग़͢͜ͱ
    ͕Ͱ͖Δ

    View Slide

  9. "TZOD4FRVFODF
    BTZODͳ4FRVFODFͱ͸
    w ඇಉظͰ஋͕ܾఆ͞ΕΔ΋ͷʹରͯ͠΋
    4FRVFODFͱಉ༷ʹGPSJOϧʔϓΛదԠ
    Ͱ͖Δ
    w 4FRVFODFͱಉ༷ʹNBQ΍
    fi
    MUFSͷΑ͏
    ͳߴڃؔ਺͕ఏڙ͞Ε͍ͯΔ

    View Slide

  10. TXJGUBTZODBMHPSJUINTͷ"1*
    'VODUJPOBM3FBDUJWF1SPHSBNNJOHʢҎ߱'31ʣͬΆ͍ΠϯλϑΣʔε
    w '31ʹࣅͨΠϯλϑΣʔε
    w ෳ਺ͷ"TZOD4FRVFODFΛ݁߹͢Δ

    ϝιου
    w NFSHF΍[JQ
    w ࣌ؒతͳૢ࡞Λߦ͏ϝιου
    w EFCPVODF΍UISPUUMF

    View Slide

  11. TXJGUBTZODBMHPSJUINTͷ"1*
    'VODUJPOBM3FBDUJWF1SPHSBNNJOHʢҎ߱'31ʣͬΆ͍ΠϯλϑΣʔε
    w "TZOD$IBOOFM
    w 3Yͷ4VCKFDUʹࣅ͍ͯͯɺ஋Λ௨஌ͨ͠Γ௨஌ͨ͠ΓߪಡͰ͖Δ
    w "TZOD4FRVFODFʹద߹͓͠ΓɺGPSJOϧʔϓΛదԠՄೳ
    w CBDLQSFTTVSFͷ࣮ݱ
    w Πϕϯτ͕௨஌͞ΕΔͱॲཧΛTVTQFOE͠ɺߪಡଆ͕ͦͷ஋Λಡ
    ΈऔΔͱSFTVNF͢Δௐ੔ʹΑͬͯɺߪಡଆͷॲཧ଎౓Λ্ճΔ
    ଎౓ͰΠϕϯτ͕௨஌͞Εͳ͍Α͏ʹ͍ͯ͠Δ
    w ͜ͷΑ͏ͳ੍ޚ͕εϨουΛϩοΫͨ͠Γͯ͠ؤுΔͷͰ͸ͳ
    ͘4XJGU$PODSSFODZͰ͖ͪΜͱಈ͘Α͏ʹ୲อ͞ΕͯΔͷ͸
    ҆৺ײ͋Δ͠ɺ"TZOD$IBOOFMͷ࠷େͷಛ௃ͳͷ͔ͳͱײͨ͡

    View Slide

  12. TXJGUBTZODBMHPSJUINTͷ"1*
    "TZOD4FRVFODFͱୈҰڃΦϒδΣΫτΛ݁߹͢ΔΠϯλϑΣʔε
    w 4FRVFODFͷϦςϥϧ͔Β؆୯ʹ"TZOD4FRVFODFΛऔಘͰ͖ΔϓϩύςΟ
    w ͜ͷϓϩύςΟ͔Βಘͨ஋ͱଞͷ"TZOD4FRVFODFΛNFSHFͨ͠Γͱ

    ׆༻Ͱ͖Δ

    View Slide

  13. ͳΔ΄Ͳʜ

    View Slide

  14. 4XJGU$PODVSSFODZͰ
    '31ͬΆ͍ࣄ͕Ͱ͖Δͬͯʜ
    ίτʜ

    View Slide

  15. $PNCJOFͰ
    Α͘ͳ͍ʁʂ

    View Slide

  16. $PNCJOFͱͷൺֱ
    TXJGUBTZODBMHPSJUINTͷಛ௃
    w 044Ͱ͋Δ͜ͱ
    w ෆ۩߹΍ڍಈ͕෼͔Βͳ͍ͱ͜Ζ͕͋Ε͹ɺ௚઀ιʔείʔυΛݟͯ

    ׬શཧղͰ͖Δ
    w ΫϩεϓϥοτϑΥʔϜରԠͰ͋Δ͜ͱ
    w 04ʹґଘ͍ͯ͠ͳ͍ͨΊɺ04ґଘͷෆ۩߹͕ى͖ʹ͍͘ʁ
    w J04Ͱ΋J04Ͱ΋ɺ͋Δ͍͸8JOEPXTͰ΋4XJGUͷόʔδϣϯ͕ಉ͡ͳΒશͯͰಉ
    ͡ڍಈΛ͢Δͱ͍͏ظ଴
    w 4XJGUΒ͍͠खଓ͖తͳهड़ͰετϦʔϜΛѻ͑Δ͜ͱ

    View Slide

  17. $PNCJOFͱͷൺֱ
    ίʔυͷࠩ෼
    TXJGUBTZODBMHPSJUINT
    $PNCJOF
    ͲͪΒ΋FNBJMͱVTFS*%ͷೖྗ͕͋Ε͹
    ϩάΠϯϘλϯΛ"DUJWFʹ͢Δॲཧ

    View Slide

  18. $PNCJOFͱͷൺֱ
    ίʔυͷࠩ෼
    TXJGUBTZODBMHPSJUINT
    $PNCJOF
    GPSJO΍USZDBUDIͳͲͷ੍ޚจ͕ͦͷ··࢖͑ΔͷͰ
    ΑΓ4XJGUΒ͘͠

    View Slide

  19. ͓ΘΓʹ
    ৮ͬͯΈͨײ૝
    w TXJGUBTZODBMHPSJUINTΛ࢖͏ͱGPSJO΍USZDBUDIͳͲͷ4XJGUΒ͍͠هड़Λ༻͍ͯ
    ैདྷ$PNCJOFͰߦ͍ͬͯͨΑ͏ͳૢ࡞͕ՄೳͱͳΔ
    w "TZOD4FRVFODFΛ࢖ͬͯGPSJOϧʔϓ͢Δͱɺ஋͕ྲྀΕͯ͘Δ·Ͱ଴ػ͢ΔͷͰɺ
    َ໓ͷਕແݶϧʔϓฤʹಥೖ͢Δ
    w "TZOD$IBOOFMͷ1VC4VCΈ͕ڧ͍ͷͰɺ$PNCJOFͷ!1VCMJTFEͷΑ͏ͳ
    1SPQFSUZ8SBQQFS͕ग़ͯ΄͍͠
    w ݱࡏͷ஋ͷΞΫηεɺͦͯ͠୅ೖΛ΋ͬͱ௚ײతʹ
    w ࠓճ঺հͯ͠ͳ͍ศརͳ"1*΋͋Γ·͢

    View Slide

  20. ͓ΘΓʂ
    4XJGU$PODVSSFODZ΋
    $PNCJOF΋ૉਓͳͷͰؒҧͬͯΔ఺͋ͬͨΒ
    ڭ͑ͯԼ͍͞ʙ🙌

    View Slide

  21. ࢀߟจݙʙ
    w IUUQTXXXTXJGUPSHCMPHTXJGUBTZODBMHPSJUINT
    w IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTXJGUBTZODTFRVFODF
    w IUUQTXXXHFUSFWVFDPQSP
    fi
    MFE@EBUFJTTVFTTXJGUBTZOD
    BMHPSJUINT
    w IUUQTXXXTMJEFTIBSFOFU[PFUSPQFSFBDUJWFTZTUFNTCBDLQSFTTVSF

    View Slide