본문 바로가기 메뉴 바로가기

ZeddiOS

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

ZeddiOS

검색하기 폼
  • 전체 보기 (841)
    • iOS (278)
    • Swift (126)
      • Concurrency (9)
    • SwiftUI (26)
    • Combine (17)
    • watchOS (2)
    • iPadOS (2)
    • Xcode (3)
      • Xcode Cloud (2)
    • Flutter (12)
    • 공부 (205)
    • 피아노 (39)
    • 요리 (2)
    • 시 (25)
    • 일상 (91)
  • 방명록

Swift/Concurrency (9)
Structured Concurrency / Unstructured Concurrency

Concurrency는 뭔가 아~~하고 나서 또 안보면 까먹는 그런 친구같네.. 간단한게만 살펴보자~~ # Task 비동기 작업 단위 (A unit of asynchronous work) 모든 비동기(asynchronous) 코드는 어떠한 Task의 일부로 실행된다. # Structured Concurrency / Unstructured Concurrency 우선 결론!! 이미지로 간단하게 보자면 아래와 같다. # Structured Concurrency(구조화된 동시성) [Swift에서 Structured Task를 만드는 방법] 1. async let ➡️ 내부적으로 Child Task 생성 2. TaskGroup ➡️ 명시적으로 Child Task를 추가할 수 있음 [Structured Task? ..

Swift/Concurrency 2023. 7. 23. 18:54
AsyncStream / AsyncThrowingStream (feat. RxSwift + Concurrency)

안녕하세요 :) Zedd입니다. 오늘은 AsyncStream에 대해서 공부해보려고 합니다 :D 오늘 공부할 AsyncStream은 반드시 AsyncSequence를 알아야 이해가 가능합니다. # AsyncStream ✔️ 정의 : 순서가 있고, 비동기적으로 생성된 요소들의 sequence ✔️ 정의도 한번에 와닿지 않고, AsyncStream에 대한 이런 저런 이야기가 많지만 딱 하나만 기억하면 됩니다. 📝 AsyncSequence를 생성하는 인터페이스!!!!!! 📝 그래서 AsyncSequence를 알아야 이해가 가능하다고 말한거였어요 정말 간단한 예를 들어봅시다. 비동기랑은 상관없지만;; 1부터 10까지의 요소가 있는 AsyncSequence를 생성하고 싶다고 칩시다. 물론 Swift Concurre..

Swift/Concurrency 2022. 2. 7. 08:08
AsyncSequence

안녕하세요 :) Zedd입니다. 오늘은 AsyncSequence에 대해서 공부해보겠습니다. # Sequence AsyncSequence가 Sequence와 유사하기 때문에.. Swift ) Sequence도 한번 보고 오시면 좋을 것 같습니다 👀 # AsyncSequence AsyncSequence는 Sequence와 유사하지만, ✔️ 한번에 하나씩 단계(step)별로 진행할 수 있는 값 목록을 제공 + 비동기성을 추가한 타입 ✔️ 입니다. AsyncSequence역시 for-in loop에 사용할 수 있는데요. for value in AsyncSequence타입 {} 자 생각해봅시다. AsyncSequence는 뭔가 비동기~~친구인데, 사용할 때 값이 전부 or 일부가 아직 없는 상태일 수도 있겠죠!!..

Swift/Concurrency 2022. 2. 6. 01:47
Combine → Swift Concurrency(async/await)로 바꾸기 (feat. 느낀점)

안녕하세요 :) Zedd입니다. 오늘은!!!! 주말을 맞아 그동안 미루고 미뤄왔던 Combine -> async/await로 바꾸기...ㅋㅋ.. 아주 간단한 앱이어서 호다닥 바꿔볼 수 있을 것 같습니다. 참고 : 이 앱은 Deployment Target이 15.0입니다.. # 구조 API호출이 딱 하나 있는 아주 간단한 SwiftUI앱입니다. [API.swift] HTML 삽입 미리보기할 수 없는 소스 위와 같이 Combine을 사용해서 network request를 수행하고 [Service.swift] HTML 삽입 미리보기할 수 없는 소스 service쪽에서 API에 있는 perfom 메소드를 수행합니다. [ViewModel.swift] 그래서 ViewModel쪽에서 HTML 삽입 미리보기할 수 없는..

Swift/Concurrency 2022. 1. 25. 23:02
Actor (4) - Sendable

안녕하세요 :) Zedd입니다. 오늘은 Sendable에 대해 공부! # Actor 자 여러분 actor 아시죠!? actor BankAccount { } 이렇게 actor 타입을 만들었었잖아요! 근데 Actor라는 것도 있어요. 얘는 뭘까요? Actor는 프로토콜이에요. 모든 actor가 준수하고 있는 common protocol이 Actor입니다. 이 Actor 프로토콜은 모든 actor 타입을 일반화합니다. actor 타입은 암시적으로 이 프로토콜(Actor)을 따르고 있어요. actor BankAccount { } let account = BankAccount() account is Actor // true 이게 된다는거! 🤷 : 이게 Sendable이랑 무슨..상관.. 🧑‍💻 : Actor가 S..

Swift/Concurrency 2021. 10. 11. 21:15
Swift ) Actor (3) - isolated parameter / nonisolated keyword

📖 Actor (1) 읽으러가기 📚 Actor (2) 읽으러가기 안녕하세요 :) Zedd입니다. Actor (2) - Actor isolation 글에서 Actor isolation을 공부해봤는데요. 오늘은 isolated parameter / nonisolated keyword에 대해서 공부해보겠습니다. 반드시 Actor (2) - Actor isolation 글을 읽고와주세요. # 한계 Actor (2) - Actor isolation 글에서 BankAccount Actor를 정의했었습니다. (extension에 있던 Transfer메소드는 제외하고 보도록하죠) actor BankAccount { let accountNumber: Int var balance: Double init(accountNum..

Swift/Concurrency 2021. 8. 29. 19:11
Swift ) Actor (2) - Actor isolation

📖 Actor (1) 읽으러가기 # Actor 특징 복습 📝 - Actor는 그냥 Swift의 새로운 타입임. 클래스와 가장 유사. - Swift의 다른 모든 타입들과 똑같이 프로퍼티, 메소드, 이니셜라이저, subscripts 등을 가질 수 있음. - 프로토콜 준수, Extension 역시 쌉가능 - 참조타입 like class - 클래스와 달리 Actor는 한번에 하나의 작업만 변경 가능한 상태(mutable state)에 접근할 수 있도록 허용. - 클래스와 달리 상속을 지원하지 않음. # Actor isolation 우리가 사실 immutable state면 Actor를 쓸 필요도 없잖아요? 근데 지금 (Shared) mutable state여서 지금 문제가 발생할 여지가 있는거ㅇㅇ 그래서 우리가..

Swift/Concurrency 2021. 8. 23. 00:27
Swift ) Actor (1)

안녕하세요 :) Zedd입니다. WWDC 21 ) What‘s new in Swift 에서도 잠깐 본 내용인데, Actor에 대해서 공부. # 다중 쓰레드 시스템에서 제대로 작동하지 않는 코드 WWDC 21 ) What‘s new in Swift 에서 본 예제. class Counter { var count: Int = 0 func increment() { self.count += 1 } } 이런 Counter가 있고, let counter = Counter() // global DispatchQueue.global().async { counter.increment() } // main counter.increment() 이렇게 각기 다른 스레드에서 increment를 호출하면, 대충 이런 경고를 받을 ..

Swift/Concurrency 2021. 8. 22. 22:10
이전 1 2 다음
이전 다음
TAG
  • SwiftUI
  • UIBezierPath
  • FLUTTER
  • WKWebView
  • swift array
  • swift sort
  • 제이슨 파싱
  • np-complete
  • fastlane
  • 회고
  • 스위프트
  • 피아노
  • WidgetKit
  • swift 공부
  • Git
  • swift delegate
  • actor
  • WWDC
  • github
  • Xcode
  • swift tutorial
  • iOS delegate
  • IOS
  • Accessibility
  • ios 13
  • Combine
  • 스위프트 문법
  • swift3
  • np-hard
  • Swift
more
글 보관함
Total
Today
Yesterday

Blog is powered by Tistory / Designed by Tistory

티스토리툴바