-
Notifications
You must be signed in to change notification settings - Fork 2
Boost‐SwiftUI‐2024.09.03(화).md
유정주 JeongJu Yu edited this page Sep 8, 2024
·
5 revisions
Boost-SwiftUI-2024.09.03(화).txt
- 2024.09.03 화 오후 9:03 ・ 68분 24초
- 권승용 김대황 정다함 유정주 이준복 홍승현
- 클로바노트를 이용해 회의 내용을 기록하고, AI를 이용해 요약, 편집했습니다.
- Sendable은 단순히 스레드 안전성을 보장하는 것이 아님
- 컴파일러에게 동시성 환경에서 안전하게 전달될 수 있는 타입임을 알려주는 키워드
- Sendable 채택의 의미
- 컴파일러에게 특정 규칙을 일시적으로 무시하도록 요청하는 것
- 실제로 스레드 안전성을 제공하지는 않음
- Actor는 격리된 "섬"과 같은 개념으로 이해됨
- Actor 내부의 메서드와 클로저도 격리된 상태를 유지함
- UIViewController 등이 메인 actor의 역할을 할 수 있음
- 동시성 검사(Concurrency checking)가 더 엄격해짐. 기본 설정이 "Complete"로 변경됨
- Swift 5와 6 사이에 선택 가능성 존재
-
~
는 Not의 의미 - ~Copyable는 복사할 수 없음을 의미함
- ~Escapable은 지연 실행할 수 없음을 의미함
- 컴파일 타임에 생명 주기를 제어해서 성능 최적화가 가능함
- Apple이 Sendable을 도입한 이유에 대한 의문
- 구조체(Struct)의 사용 증가와 데이터 레이스 방지 가능성
- 컴파일러 옵션의 변화와 그 영향
- Point-Free의 소켓 객체를 기반으로 한 웹소켓 구현 설명
- 글로벌 액터를 사용한 버킷 정의 및 작업 위임 방식
- 디펜던시 관리를 위한 딕셔너리 사용
- 채팅 기능 구현 시 웹소켓 사용 방식
- 소켓 열기/닫기 타이밍 (화면 진입/퇴출 시)
- REST API와 웹소켓의 혼합 사용 전략
- AsyncStream 사용에 대한 설명
- 글로벌 액터(@globalActor) 사용에 대한 논의
- 컴파일러 에러 메시지 변화에 대한 관찰
- 액터 외부에서 내부 상태 변경 시 발생하는 문제
- 동기적 코드로의 변환 필요성
- @preconcurrency 키워드의 도입 배경
- 동시성 미지원 라이브러리와의 호환성을 위한 사용 예측
- Composable Architecture(TCA) 라이브러리의 동시성 지원 현황
- Effect와 throttle 구현에 대한 분석
- 컴바인(Combine)과 동시성 경계(Concurrency Boundary) 관련 이슈
- NSLock: 동일 스레드에서 중복 락 시 데드락 발생
- NSRecursiveLock: 동일 스레드에서 중복 락 허용
- 재귀 함수 등에서의 NSRecursiveLock 사용 사례
락(Lock)의 성능 비교 (참고)
- NSLock과 NSRecursiveLock의 성능 차이
- 다양한 동기화 메커니즘의 성능 비교
- OSUnfairLock이 가장 빠른 성능 보여줌
- DispatchQueue.sync와의 큰 성능 차이
- 게임 개발에서 weak reference 사용 등 극단적 최적화 언급
- 클라이언트 레벨에서의 세밀한 최적화 필요성
- 일반 앱 개발에서 극단적 성능 최적화의 필요성 의문
- 다양한 동기화 메커니즘의 성능 차이에 대한 그래프 분석
권승용 | 김대황 | 김인환 | 유정주 | 윤동주 | 이준복 | 이창준 | 홍승현 |
---|---|---|---|---|---|---|---|
ericKwon95 | qwerty3345 | loinsir | jeongju9216 | yoondj98 | junbok97 | SwiftyJunnos | WhiteHyun |