์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

์•จ๋Ÿฐ Swift Concurrency for Swift 6 (Part-1)

Swift Concurrency๋ฅผ A๋ถ€ํ„ฐ Z๊นŒ์ง€ ๋‹ค๋ฃน๋‹ˆ๋‹ค. (Part 1)

(5.0) ์ˆ˜๊ฐ•ํ‰ 64๊ฐœ

์ˆ˜๊ฐ•์ƒ 579๋ช…

๋‚œ์ด๋„ ์ดˆ๊ธ‰

์ˆ˜๊ฐ•๊ธฐํ•œ 12๊ฐœ์›”

์ด๋ก  ์‹ค์Šต ๋ชจ๋‘
์ด๋ก  ์‹ค์Šต ๋ชจ๋‘
swift6
swift6
์ด๋ก  ์‹ค์Šต ๋ชจ๋‘
์ด๋ก  ์‹ค์Šต ๋ชจ๋‘
swift6
swift6

์ƒˆ์†Œ์‹

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
  • Swift Concurrency (Part-2) ๊ฐ•์˜๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.


    ์•ˆ๋…•ํ•˜์„ธ์š”! ์•จ๋Ÿฐ์ž…๋‹ˆ๋‹ค.
    ๋งŽ์ด ๊ธฐ๋‹ค๋ฆฌ์‹œ๋˜.. Swift Concurrency ๊ฐ•์˜ Part-2 ๋ถ€๋ถ„์„ ์ถœ์‹œํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    ๊ฐ•์˜ ๋งํฌ: https://inf.run/rFuFe

     

    Swift Concurrency๊ด€๋ จํ•˜์—ฌ ๋” ๋”ฅํ•˜๊ฒŒ ํ•™์Šตํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„๋“ค์€ ๊ฐ•์˜๊ฐ€ ๋ถ„๋ช… ๋งŽ์ด ๋„์›€์ด ๋˜์‹ค ๊ฒƒ์ด๋ผ๊ณ  ๋ด…๋‹ˆ๋‹ค. (์ „์ฒด ์™„๊ฐ•์€ ์•„์ง ์•„๋‹ˆ์ง€๋งŒ, ํ˜„์žฌ ๊ฐ•์˜์˜ 70%์˜ ๋‚ด์šฉ์ด ์—…๋กœ๋“œ ๋˜์—ˆ๊ณ , ๋‚˜๋จธ์ง€ 30%์˜ ๋‚ด์šฉ๋„ 3์›” ๋ง๊นŒ์ง€ ์—…๋กœ๋“œ๊ฐ€ ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.)

     
    ์„ ์ฐฉ์ˆœ 100๋ถ„๊ป˜ ๊ฐ•์˜ 50% ํ• ์ธ ํ˜œํƒ, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋‹ค์Œ 200๋ถ„๊ป˜ 45% ํ• ์ธ ํ˜œํƒ์„ ๋“œ๋ฆฌ๊ณ  ์žˆ์œผ๋‹ˆ.. ๊ฐ•์˜ ๊ตฌ๋งค์— ๊ด€์‹ฌ์žˆ์œผ์‹  ๋ถ„๋“ค์€ ๋น ๋ฅด๊ฒŒ ์„ ์ฐฉ์ˆœ์— ๋„์ „ํ•ด ๋ณด์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋„ค์š”.


    (๊ฐ•์˜ ํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ€์‹œ๋ฉด, ์ƒ๋‹จ์— ์„ ์ฐฉ์ˆœ ํ• ์ธ ํ˜œํƒ ๋งํฌ๊ฐ€ ๋”ฐ๋กœ ์žˆ์œผ๋‹ˆ.. ๊ผญ ํ™•์ธํ•˜์‹œ๊ณ  ๋งํฌ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ๊ตฌ๋งคํ•˜์‹œ๋ฉด ํ• ์ธ ํ˜œํƒ์„ ๋ฐ›์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๐Ÿ™๐Ÿป)

    0
  • ์•ˆ๋…•ํ•˜์„ธ์š”! ์•จ๋Ÿฐ์ž…๋‹ˆ๋‹ค.

     

    ๋ณธ Swift Concurrency (Part-1) ๊ฐ•์˜ ๋‚ด์šฉ์„ ์ œ๊ฐ€ ์ค‘๊ฐ„ ์ค‘๊ฐ„ ํ™•์ธํ•ด๋ณด๋‹ˆ.. ๊ฐ•์˜ ์˜์ƒ์ด ์žฌ์ƒ์ค‘์— ์‹ฑํฌ(sync)๊ฐ€ ์ž˜ ๋งž์ง€ ์•Š๋Š” (๊ฐ•์˜ ํ™”๋ฉด๊ณผ ๋ชฉ์†Œ๋ฆฌ๊ฐ€ ์กฐ๊ธˆ์”ฉ ๋ฐ€๋ฆฌ๋Š”..?) ํ˜„์ƒ๋“ค์ด ๋ณด์ด๋”๋ผ๊ณ ์š”..ใ… 
    (์ •ํ™•ํ•˜๊ฒŒ ์›์ธ์ด ๋ญ”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ์š”ใ… )

     

    ๊ทธ๋ž˜์„œ ์ฝ”๋ฑ๊ณผ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์„ ๋ฐ”๊พธ์–ด์„œ ์ธํ”„๋Ÿฐ์— ์—…๋กœ๋“œ๋œ ๊ฐ•์˜ ํŒŒ์ผ์„ ์ „๋ถ€ ๊ต์ฒดํ•ด ๋†จ์œผ๋‹ˆ.. ํ˜น์‹œ๋‚˜ ๋ถˆํŽธํ•จ์„ ๊ฒช์ง€ ์•Š์œผ์…จ์œผ๋ฉด ์ข‹๊ฒ ๋„ค์š”!
    (ํ˜น์‹œ๋‚˜ ๋˜ ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์–ธ์ œ๋“ ์ง€ ๋ง์”€ํ•ด์ฃผ์„ธ์š” ๐Ÿ™๐Ÿป)

    ์ข‹์€ ์ฃผ๋ง ๋˜์„ธ์š”!

    ๊ณ ๋ง™์Šต๋‹ˆ๋‹ค. :)

    0

์ง€์‹๊ณต์œ ์ž์˜ ๊นœ์งํ• ์ธ ์ค‘

์›” โ‚ฉ14,850

5๊ฐœ์›” ํ• ๋ถ€ ์‹œ

25%

โ‚ฉ99,000

โ‚ฉ74,250