inflearn logo
็Ÿฅ่ญ˜ๅ…ฑๆœ‰
inflearn logo

ใ‚ขใƒฉใƒณ Swift Concurrency for Swift 6 (Part-1)

Swift Concurrencyใ‚’ใ€Aใ‹ใ‚‰Zใพใงๆ‰ฑใ„ใพใ™ใ€‚(Part 1)

้›ฃๆ˜“ๅบฆ ๅˆ็ดš

ๅ—่ฌ›ๆœŸ้–“ 12ใ‹ๆœˆ

iOS
iOS
Swift
Swift
concurrent
concurrent
async-await
async-await
concurrency
concurrency
iOS
iOS
Swift
Swift
concurrent
concurrent
async-await
async-await
concurrency
concurrency

ใŠ็Ÿฅใ‚‰ใ›

5 ไปถ

  • allen๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๅ—่ฌ›ๆœŸ้–“ๅปถ้•ทใฎใ”ๆกˆๅ†…ใฎ้€šใ‚Šใ€Swift Concurrency for Swift 6 (Part-1, Part-2) ่ฌ›ๅบงใฎๆ—ขๅญ˜ๅ—่ฌ›่€…ใฎๆ–นใ€…ใ‚’ๅซใ‚ใ€่ฌ›ๅบงๆœŸ้–“ใ‚’่ฟฝๅŠ ใง1ๅนดๅปถ้•ทใ„ใŸใ—ใพใ—ใŸใ€‚

    ใ”ๅ‚่€ƒใŠ้ก˜ใ„ใ—ใพใ™ใ€‚๐Ÿ˜Š

    (็‰นใซๆ—ขๅญ˜ใฎPart-1่ฌ›ๅบงใฎๅ—่ฌ›ใ‚’็ต‚ใˆใ‚‰ใ‚Œใฆใ„ใชใ„ๆ–นใŒๅคšใ„ใฎใงใ™ใŒใ€ไปŠๅ›žใฎๆฉŸไผšใ‚’้€šใ˜ใฆๆ”นใ‚ใฆใ—ใฃใ‹ใ‚ŠใจๅฎŒ่ตฐใ—ใฆใ„ใŸใ ใ‘ใ‚Œใฐใจๆ€ใ„ใพใ™ใ€‚)

    0
  • allen๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ๏ฝฅ

    ไฟฎๆญฃๆธˆใฟ

    ใ“ใ‚“ใซใกใฏใ€‚ใ‚ขใƒฉใƒณใงใ™ใ€‚

    ไปŠๆ—ฅใฏไน…ใ—ใถใ‚Šใซ่‰ฏใ„ใƒ‹ใƒฅใƒผใ‚นใ‚’ใŠไผใˆใ—ใ‚ˆใ†ใจๆ€ใ„ใพใ™ใ€‚ๆ–‡ๆณ•ใƒ–ใƒผใƒˆใ‚ญใƒฃใƒณใƒ—ๆŽˆๆฅญ + ไธฆ่กŒๆ€ง่ฌ›็พฉใพใงๅ…จใฆๅ—่ฌ›ใ•ใ‚ŒใŸ็พ่ทใฎๆ–นใŒใ€ๆœ€่ฟ‘ใ‚ฏใƒผใƒ‘ใƒณใจใ‚ซใ‚ซใ‚ชใƒใƒณใ‚ฏใซๅŒๆ™‚ๅˆๆ ผใ•ใ‚ŒใŸใจใ„ใ†ใƒ‹ใƒฅใƒผใ‚นใ‚’ไผใˆใฆใใ ใ•ใ„ใพใ—ใŸใ€‚

    แ„‹แ…ตแ„Œแ…ตแ†จแ„‰แ…ฅแ†ผแ„€แ…ฉแ†ผ.png.webp

    ใ“ใฎใ‚ˆใ†ใชใƒ‹ใƒฅใƒผใ‚นใ‚’ใŠไผใˆใ™ใ‚‹็†็”ฑใฏใ€
    ใ“ใฎๆ–นใฏๆœ€ๅˆใ‹ใ‚‰่ปข่ทใ‚’็›ฎๆจ™ใซใƒ–ใƒผใƒˆใ‚ญใƒฃใƒณใƒ—ใ‚’ๅ—่ฌ›ใ•ใ‚Œใ€ใƒ–ใƒผใƒˆใ‚ญใƒฃใƒณใƒ—ๅพŒใ‚‚็พ่ทใฎๆ–นใ€…ใจใ‚นใ‚ฟใƒ‡ใ‚ฃใ‚ฐใƒซใƒผใƒ—ใ‚’็ต„ใ‚“ใง1-2ๅนดใปใฉ็ถ™็ถš็š„ใซใ‚นใ‚ฟใƒ‡ใ‚ฃใ‚’ใ•ใ‚ŒใฆใใŸใจใ„ใ†ใ“ใจใ‚’็Ÿฅใฃใฆใ„ใŸใ‹ใ‚‰ใงใ™ใ€‚ใ“ใฎๆ–นใฏๆฏŽ้€ฑ็‰นๅฎšใฎๆ›œๆ—ฅใฎๅคœใ€ๆœฌๅฝ“ใซ็ถ™็ถš็š„ใซใ‚นใ‚ฟใƒ‡ใ‚ฃใ‚’ใ•ใ‚Œใฆใ„ใ‚‹ใจใ„ใ†่ฉฑใ‚’็งใ‚‚่žใ็ถšใ‘ใฆใ„ใŸใฎใง...ใ„ใคใ‹ๅฟ…ใš่ปข่ทใซๆˆๅŠŸใ•ใ‚Œใ‚‹ใ ใ‚ใ†ใจใ„ใ†ๆ€ใ„ใ‚’ๆŒใฃใฆใ„ใŸใ‚“ใงใ™ใ€‚ใใฎใŸใ‚ไปŠๅ›ž่‰ฏใ„ไผš็คพใซๅŒๆ™‚ใซๅˆๆ ผใ•ใ‚Œใฆ้ธใ‚“ใง่กŒใ‹ใ‚ŒใŸใจใŠใฃใ—ใ‚ƒใฃใฆใ€็งใ‚‚ใจใฆใ‚‚ๅฌ‰ใ—ใ‹ใฃใŸใงใ™ใ€‚๐Ÿ˜Š

    ๏ผˆๅฟ…ใšใ—ใ‚‚็งใฎ่ฌ›็พฉใฎใŠใ‹ใ’ใง่ปข่ทใซๆˆๅŠŸใ—ใŸใจใŠใฃใ—ใ‚ƒใฃใฆใ„ใ‚‹ใ‚ใ‘ใงใฏใ‚ใ‚Šใพใ›ใ‚“ใŒ๏ผ‰ๅŸบ็คŽใ‚’ๆœฌๅฝ“ใซ้‡่ฆ–ใ•ใ‚Œใฆใ„ใฆใ€ใใ“ใซ็ตถใˆ้–“ใชใ„ๅŠชๅŠ›ใพใงๅŠ ใ‚ใฃใŸใฎใงใ™ใ‹ใ‚‰...ใ‚ใ‚‹ๆ„ๅ‘ณใงใฏๅฝ“็„ถใฎ็ตๆžœใ ใจๆ€ใ„ใพใ™ใ€‚ใ“ใฎๆ–นใฎใ‚ˆใ†ใซใ€ไป–ใฎๅคšใใฎๆ–นใ€…ใ‚‚ใ€ŒๅŸบ็คŽใ€ใจใ€Œ็ถ™็ถšๆ€งใ€ใ‚’ๆŒใฃใฆ่‰ฏใ„ใŠ็Ÿฅใ‚‰ใ›ใ‚’ๅฑŠใ‘ใฆใใ ใ•ใ‚‹ใ“ใจใ‚’ใ€ใ„ใคใ‚‚้™ฐใชใŒใ‚‰ๅฟœๆดใ—ใฆใ„ใพใ™ใ€‚

    ็š†ใ•ใ‚“ใ€ใƒ•ใ‚กใ‚คใƒ†ใ‚ฃใƒณ๐Ÿ’ช๐Ÿป

    0
  • allen๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ใ“ใ‚“ใซใกใฏใ€ใ‚ขใƒฉใƒณใงใ™ใ€‚


    ใใฎ้–“ใ€ Swift Concurrency Part-1่ฌ›็พฉใงAPIใ‚ขใƒƒใƒ—ใƒ‡ใƒผใƒˆ้–ข้€ฃใฎไบˆๅฎš้ …็›ฎใ‚’็งใŒใ„ใใคใ‹ๆฎ‹ใ—ใฆใ„ใพใ—ใŸใ€‚ใใฎๆ˜ ๅƒใ‚’ๆ’ฎใฃใฆ็งใŒใ‚ปใ‚ฏใ‚ทใƒงใƒณ15้ƒจๅˆ†ใซใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ—ใฆใŠใใพใ—ใŸใ€‚

    ๏ผˆไบ‹ๅฎŸใ€Part-2้ƒจๅˆ†ใง่ฉณใ—ใ่ชฌๆ˜Žใ™ใ‚‹ๅ†…ๅฎนใจ้–ข้€ฃใŒใ‚ใ‚Šใ€Part-2้ƒจๅˆ†ใพใง่ดใไบˆๅฎšใฎๆ–นใฏๅคงใใ็›ธ้–ขใ‚’ใ—ใชใใฆใ‚‚่‰ฏใ„ๅ†…ๅฎนใงใ™ใŒใ€Part-1้ƒจๅˆ†ใ ใ‘่žใๆ–นใฏใ‚ขใƒƒใƒ—ใƒ‡ใƒผใƒˆๅ†…ๅฎน็ขบ่ชใ—ใฆใ„ใŸใ ใ‘ใ‚Œใฐใจๆ€ใ„ใพใ™ใ€‚๏ผ‰

    ใ€้–ข้€ฃๅ†…ๅฎนใ€‘

    ๏ผˆๆ›ดๆ–ฐ๏ผ‰TaskGroupๅฎŸ่กŒ้–ขๆ•ฐใƒ‘ใƒฉใƒกใƒผใ‚ฟ่ฟฝๅŠ ้–ข้€ฃๆ›ดๆ–ฐไบˆๅฎš

    (ๆ›ดๆ–ฐ)ใ‚ญใƒฃใƒณใ‚ปใƒซใƒใƒณใƒ‰ใƒฉ้–ข้€ฃใ‚ณใƒณใƒ†ใƒณใƒ„ใฎๆ›ดๆ–ฐไบˆๅฎš(APIใ‚ขใƒƒใƒ—ใƒ‡ใƒผใƒˆ)

    ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚ :)

    0
  • allen๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    Swift Concurrency (Part-2) ใƒฌใ‚ฏใƒใƒฃใƒผใ‚’ใƒชใƒชใƒผใ‚นใ—ใพใ—ใŸใ€‚


    ใ“ใ‚“ใซใกใฏ๏ผใ‚ขใƒฉใƒณใงใ™ใ€‚
    ใŸใใ•ใ‚“ๅพ…ใฃใฆใ„ใŸ.. Swift ConcurrencyๅทใฎPart-2้ƒจๅˆ†ใ‚’็™บๅฃฒใ™ใ‚‹ใ‚ˆใ†ใซใชใ‚Šใพใ—ใŸใ€‚

    ่ฌ›็พฉใƒชใƒณใ‚ฏ๏ผšhttps: //inf.run/rFuFe

    Swift Concurrencyใซ้–ข้€ฃใ—ใฆใ‚ˆใ‚Šๆทฑใๅญฆ็ฟ’ใ—ใŸใ„ไบบใฏใ€่ฌ›็พฉใŒใฏใฃใใ‚Šใจๅฝน็ซ‹ใคใจๆ€ใ„ใพใ™ใ€‚ ๏ผˆๅ…จไฝ“ใฎๅฎŒๅผทใฏใพใ ใ‚ใ‚Šใพใ›ใ‚“ใŒใ€็พๅœจ่ฌ›็พฉใฎ70๏ผ…ใฎๅ†…ๅฎนใŒใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ•ใ‚Œใ€ๆฎ‹ใ‚Šใฎ30๏ผ…ใฎๅ†…ๅฎนใ‚‚3ๆœˆๆœซใพใงใซใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ•ใ‚Œใ‚‹ไบˆๅฎšใงใ™ใ€‚๏ผ‰


    ๅ…ˆ็€้ †100ๅๆง˜ใซ่ฌ›็พฉใฎ50๏ผ…ๅ‰ฒๅผ•็‰นๅ…ธใ€ใใ—ใฆใใฎๅพŒ200ๅๆง˜ใซ45๏ผ…ๅ‰ฒๅผ•็‰นๅ…ธใ‚’ๅทฎใ—ไธŠใ’ใฆใ„ใพใ™ใฎใง.. ่ฌ›็พฉใฎ่ณผๅ…ฅใซ่ˆˆๅ‘ณใฎใ‚ใ‚‹ๆ–นใฏๆ—ฉใๅ…ˆ็€้ †ใซๆŒ‘ๆˆฆใ—ใฆใฟใฆใใ ใ•ใ„ใ€‚


    ๏ผˆ่ฌ›็พฉใƒšใƒผใ‚ธใซๅ…ฅใ‚‹ใจใ€ไธŠๆฎตใซๅ…ˆ็€้ †ๅ‰ฒๅผ•็‰นๅ…ธใƒชใƒณใ‚ฏใŒๅˆฅใซใ‚ใ‚Šใพใ™ใฎใงใ€‚

    0
  • allen๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

    ใ“ใ‚“ใซใกใฏ๏ผใ‚ขใƒฉใƒณใงใ™ใ€‚

     

    ๆœฌSwift Concurrency๏ผˆPart-1๏ผ‰ใฎ่ฌ›็พฉใฎๅ†…ๅฎนใ‚’็งใŒ็œŸใ‚“ไธญใซ็ขบ่ชใ—ใฆใฟใ‚‹ใจใ€่ฌ›็พฉๆ˜ ๅƒใŒๅ†็”Ÿไธญใซใ‚ทใƒณใ‚ฏใŒใ†ใพใๅŽใพใ‚‰ใชใ„๏ผˆ่ฌ›็พฉ็”ป้ขใจๅฃฐใŒๅฐ‘ใ—ใšใคๆŠผใ•ใ‚Œใ‚‹โ€ฆโ€ฆ๏ผ‰็พ่ฑกใŒ่ฆ‹ใˆใพใ—ใŸใ€‚
    ๏ผˆๆญฃ็ขบใซๅŽŸๅ› ใŒไฝ•ใ‹ใฏใ‚ใ‹ใ‚Šใพใ›ใ‚“ใŒใ… ๏ผ‰

     

    ใ ใ‹ใ‚‰ใ‚ณใƒผใƒ‡ใƒƒใ‚ฏใจใ‚จใƒณใ‚ณใƒผใƒ‡ใ‚ฃใƒณใ‚ฐๆ–นๅผใ‚’ๅค‰ใˆใฆใ‚คใƒณใƒ•ใƒฉใซใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ•ใ‚ŒใŸ่ฌ›็พฉใƒ•ใ‚กใ‚คใƒซใ‚’ๅ…จใฆๅ…ฅใ‚Œๆ›ฟใˆใฆใ—ใพใฃใŸใฎใงใ€‚
    ๏ผˆใ‚‚ใ—ใ‚‚ใพใŸใ“ใฎใ‚ˆใ†ใชๅ•้กŒใŒ็™บ็”Ÿใ—ใŸๅ ดๅˆใฏใ€ใ„ใคใงใ‚‚ๆ•™ใˆใฆใใ ใ•ใ„๐Ÿ™๐Ÿป๏ผ‰

    ่‰ฏใ„้€ฑๆœซใซใชใ‚ใ†๏ผ

    ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚ :)

    0

ๆœŸ้–“้™ๅฎšใ‚ปใƒผใƒซ

๏ฟฅ9,480

24%

๏ฟฅ12,521