iOS/Swift 소식을 전해드립니다 💁
레츠스위프트 뉴스레터  제31호 2021년 5월 9일

 님을 위한 iOS / Swift 관련 소식을 모은 뉴스레터가 도착했습니다. 애플 이벤트 이후 북미에서는 무지개 M1 아이맥 예약이 시작됐고, AirTag 사용기들이 올라오고 있습니다. 저는 애플TV 신제품을 기다리고 있습니다. 어떤 것을 지를 준비가 되셨나요?

매월 둘째, 넷째주 일요일에 뉴스레터를 발행하고 있습니다.  
누구나 함께하는 뉴스레터 저장소 👉 
메일링 리스트 가입은 >가입하기 링크< 주변에 소개해주세요 🤩
주제/분류별 소식들
국/해외 소식들을 비슷한 주제들이 많아서, 다음과 같이 묶어서 정리합니다.
# 애플
애플 2분기 실적 발표가 공개되었습니다. 계속 사상 최고치를 갱신하고 있네요. 특히 M1 맥 때문인지 맥 부문 매출이 엄청 올랐다네요. 애플 망한다는 기사들 요즘은 없나요?  
[영문] 애플 공식 소식은 아니고 애플 개발자 문서가 불편해서 그것을 개선해보자는 시도를 하고 있네요.
[영문] 스위프트 5.4가 Xcode 12.5와 함께 공식 배포되었습니다.

# 일반
[영문] AirTags 후기가 올라오고 있습니다. 타일과 비교하기도 하고, 스토킹에 사용되기도 했다는 단점도 있을 것 같습니다. 몰랐는데 애플 아이디 하나당 16개까지만 등록이 된다고 하네요. 그나저나 한국에서는 어떻게 되는걸까요? 차라리 그냥 안된다고 누가 좀 알려주면 좋겠습니다 ㅎㅎ
[영문] M1X를 기대하면서 M1에 대한 세부적인 비교를 해주는 글입니다.
[영문] M1 맥을 위한 틱-톡 모델의 부활. 인텔이 써먹었던 한 번은 CPU 내부 구조를 개선하고, 한 번은 제조 공정을 개선하는 전략이 다시 부활한 것 같다는 의견입니다.
[영문] 맥 없이 iOS 앱 개발하는 방법. VMWare에서 가상으로 macOS를 돌리는 방법인데 사실 애플에서 권장하는 방법이 아닙니다. 아직까지 macOS는 맥 하드웨어가 있어야 설치하고 사용하는 사용자 라이센스 정책을 펼치기 때문입니다.
[영문] 개발자에게 최고 키보드는 무엇일까요? 다들 정말 기계식 키보드 하나씩 있으신가요?

# 스위프트
> [한글] 토스 슬래시21 - 안정원님 발표 : 메모리에 남지않는 문자열 String 내부 구조를 이해하고 ByteBuffer를 비우는 방법을 제시하고 있습니다 | 발표자료 
> [영문] 5.4 배포 이후로 스위프트로 특정 조건을 명시하면 코드를 생성해주는 ResultBuilder 활용한 사례가 점점 많아지고 있네요. 이번에는 특정한 상태머신을 위한 DSL입니다.
> [영문] 새로 공개된 스위프트 콜랙션 라이브러리 중에서 순서가 보장되는 집합 OrderedSet 사용하는 방법을 소개합니다.
> [영문] 긴 매개변수 목록을 피하는 방법 - 특별한 방법이라기보다 매개변수가 많아지면 이런 것을 고민해보자. 정도로 이해하면 될 것 같습니다.
> [영문] UUID 이외에 타입에 안전하게(type-safe) Identifier 지정하기

# 설계 구조 : 패턴
> [영문] VIPER 프로젝트 시작하기 - 이 글은 단지 클래스를 나누는 것 뿐만 아니라 모듈 관점까지 확장해서 설명해서 좋네요.

# 뷰 프로그래밍 : SwiftUI
SwiftUI 자료는 다양하고 UIKit과 함께 쓰는 방식도 많아지고 있네요.
[영문] SwiftUI 탭뷰(TabView)의 비밀. 탭바를 상단에 위치하는 것을 애플이 권장하는 않지만 뭐든지 시도해보는 것은 좋은거겠죠?
[영문] 파이 차트 구현하기 - 이제 그래프 그리는 것도 단골 주제가 되어 가는 것 같네요.
[영문] 카드뷰 만들기

# 프레임워크
다양한 프레임워크를 다루는 예제를 소개하는 글들입니다. 
[한글] 박병일님 - OpenCV 프로젝트 초기 설정하기
[한글] iOS 14.5에서 가장 뜨거운 감자는 앱 추적 투명성이겠죠. 커니님 - 앱 추적 투명성 적용하기
[영문] Core Foundation 수준 API 중에서 메모리 관리에 도움을 주는 함수를 소개합니다. CFGetRetainCount(), CFGetAllocator()
[영문] GCD 활용하기
[영문] 같이 읽으면 좋을만한 글입니다. Producer-Consumer 또는 Reader-Writer 문제를 해결하기 위해 GCD를 활용하는 방법에 대한 설명입니다.

# 테스트
[영문] 어느 개발자가 iOS 개발할 때 TDD를 잘 활용하지 못하는가에 대한 반성글입니다. 이게 좋아! 하고 답을 알려준다기 보다 같은 앱을 TDD 안하고 개발할 때, TDD 적용해서 개발할 때를 스스로 비교해본 결과입니다. TDD로 개발할 때 시간이 좀 더 들어가지만, 설계에 대한 고민과 그것을 테스트하기 위해 작은 단위로 생각하게 되서 커밋도 작게 하게 된다고 하네요.
📲회사에서 iOS 개발자들에게 홍보하고 싶은 내용이 있으신가요? 
news@letswift.kr 로 언제든지 문의해주세요. 
레츠스위프트 뉴스레터
http://letswift.kr
수신거부 Unsubscribe