letswiftconf / newsletter

레츠스위프트 뉴스레터 아카이브
MIT License
452 stars 10 forks source link

제34호(2021년 6월 27일 발행) #37

Closed godrm closed 3 years ago

godrm commented 3 years ago

새로운 자료들이 쏟아지겠죠?

godrm commented 3 years ago

소중한꿈 - 민호님 스위프트 프로그래밍 문서 번역에 Swift5.5 변경사항 업데이트해주셨습니다. http://xho95.github.io/swift/language/grammar/revision/history/2020/03/16/Document-Revision-History.html 특히 동시성 Concurrency 관련 내용이 포함되어 있습니다. http://xho95.github.io/swift/language/grammar/concurrency/2021/06/10/Concurrency.html

godrm commented 3 years ago

애플

WWDC에서 많이 쏟아내서 새로운 소식은 거의 없네요.

일반

아이폰이 아이패드와 다르게 60Hz 보다 빠르게 처리하지 않는 이유 3가지를 예상해봅니다. 결국 아이폰 판매에 별로 도움이 안된다는 거겠죠? https://medium.com/macoclock/3-reasons-apple-dont-go-for-higher-refresh-rate-f19ff35ec979

단순함의 가치. 지난 달 글입니다만 생각해볼 만한 내용이네요. https://medium.com/star-gazers/the-value-of-simplicity-c7d4a58921da

애플의 엄격하면서 가차없이 밀어붙이는 실행 전략에 대한 꽤 긴 글입니다. 매킨토시부터 PowerPC, Intel Mac에서 Apple Silicon까지 역사를 거슬러서 다양한 관점에서 이야기합니다. 이번에 나오는 Windows 11과 비교해 보는 것도 재밌을 것 같습니다. https://medium.learningbyshipping.com/apples-relentless-strategy-and-execution-7544a76aa26

애플 본사 직원들이 팀 쿡이 9월부터 사무실에 복귀하라는 내부 명령에 반발하고 있다는 소식이죠. https://medium.com/macoclock/apple-employees-dont-want-to-go-back-to-the-office-ebe1ffd1d692

WWDC 관련

WWDC21 디지털 라운지 비공식 아카이브 https://roblack.github.io/WWDC21Lounges/

iOS 개발자들을 설레게 하는 기능들 https://medium.com/ideas-by-idean/wwdc21-exciting-news-for-ios-developers-4a7516fa364b

iOS15 기대되는 점들 https://medium.com/macoclock/ios-15-a-great-iteration-de4449552a2 https://debugger.medium.com/these-are-ios-15-s-coolest-new-features-114cc1306b4c

iPadOS에 새로운 멀티태스킹 기능들 https://mgs.blog/meet-the-new-ipados-multitasking-same-as-ab854ab77b83 iPadOS15 기대되는 점들 https://medium.com/macoclock/wwdc21-9-exciting-little-things-in-ipados-15-a44de25c5c02

언어 : Swift

Actor 방식에 대한 상세한 설명 https://betterprogramming.pub/a-deep-dive-into-actors-in-swift-5-5-8cc2fa004ded

@autoclosure 속성 알아두기 https://betterprogramming.pub/what-is-the-autoclosure-attribute-in-swift-5e9aebc47135

Result Type으로 보다 깔끔한 코드로 개선하기 https://medium.com/geekculture/swift-write-cleaner-code-using-result-type-a9412cecc205

스위프트에서 DTO를 따로 선언할 필요 없는 이유를 설명합니다. 도메인 Model과 DTO가 같다면 그대로 써도 되겠죠 :) https://medium.com/geekculture/why-we-shouldnt-use-data-transfer-objects-in-swift-38dcef529a66

iOS15와 async/await 사용하기 https://medium.com/geekculture/using-ios15s-async-await-4a60acff3feb

Concurrency 방식에서 비동기 작업 취소하는 방법에 대한 설명입니다. https://alejandromp.com/blog/the-importance-of-cooperative-cancellation/

CGFloat와 Double 타입 자동 호환성에 대한 설명입니다. CGFloat 때문에 warning도 많고, 타입 변환하느냐고 오버헤드도 있었습니다. https://www.swiftbysundell.com/tips/double-cgfloat-auto-conversions/

Generic Contexts를 확장해서 Static Member Lookup 다루기. 제목만 보고 이게 뭔소리인가 싶으실텐데요 SwiftUI에서 특정 요소나 내부 멤버를 찾을 때 상수로 선언하고 쉽게 찾는 방법(SE-0299)를 소개합니다. https://www.avanderlee.com/swift/static-member-lookup-generic-contexts/

설계 구조 : 패턴

Command 패턴으로 undo/redo 구현하기 https://heydavethedev.medium.com/implementing-undo-and-redo-with-the-command-design-pattern-in-swift-e9b1d22307e3

아답터 패턴 구현하기 https://stevenpcurtis.medium.com/the-adapter-design-pattern-in-swift-21fbfe79be17

Clean API 구조 만들기 https://medium.com/perry-street-software-engineering/clean-api-architecture-2b57074084d5

뷰 프로그래밍 : SwiftUI

미디엄에 합류한 Glose 팀에서 미디엄 앱에 SwiftUI와 Apollo GraphQL 기반으로 작업한 내용을 정리해주었습니다. https://medium.engineering/how-we-build-swiftui-features-in-the-medium-application-21323a960910

SwiftUI 무대 뒤에서 일어나는 일들을 고유한 뷰 - Identity, 데이터 업데이트 - Lifetime, 언제 처리하는지 - Dependencies 관점에서 설명합니다. https://medium.com/4-minute-swift/swiftui-behind-the-scene-455c9ee17235

NSAttributedString 에서 독립한(?) Attributed Strings에 대한 설명입니다. 마크다운 처리는 쉬워졌네요. https://betterprogramming.pub/ios-15-attributed-strings-in-swiftui-markdown-271204bec5c1

진작 좀 만들어주지 원성이 자자했던 AsyncImage에 대한 소개입니다. https://betterprogramming.pub/understanding-asyncimage-in-swiftui-55dd2fb6a86e

WYSIWYG 편집기 만들기 https://betterprogramming.pub/how-to-implement-a-wysiwyg-editor-in-swiftui-c60236749943

MIDI 메시지 처리하는 앱 구현하기. 기존에 Objective-C로 구현했던 버전을 SwiftUI로 포팅했다고 하네요 https://itnext.io/midi-listener-in-swift-b6e5fb277406

SpriteKit으로 게임 만들기 https://betterprogramming.pub/build-swiftui-games-using-spritekit-deb069535765

SwiftUI에 Dictionary 바인딩하기 https://dcordero.medium.com/binding-a-swift-dictionary-to-swiftui-d8ac8f69ac0f

iOS15에 추가된 Modifiers와 뷰들 https://eren-celik.medium.com/new-swiftui-views-and-modifiers-in-ios-15-7a2fc78f54c3

swipeActions modifier에 대한 소개 https://santoshbotre01.medium.com/swiftui-swipeactions-modifier-in-ios-15-5df4437748df

List 바인딩하기 https://betterprogramming.pub/introducing-swiftui-list-bindings-a150410b836b

뷰 프로그래밍 : UIKit

iOS15부터 새로워진 UIButton 기능들을 소개합니다. 은근 불편했던 생성 관련해서 빌더 패턴이 바뀌어서 좋아졌네요. https://betterprogramming.pub/whats-new-in-uibutton-for-ios-15-eba1ce9ad899

뷰 클래스를 서브클래스로 만들 것이냐 아니면 확장할 것이냐 그것이 문제로다 https://stevenpcurtis.medium.com/subclass-or-extend-classes-in-swift-fe51025be27b

UITabBar 코드로 구현하기 https://medium.com/simplios/programmatic-uitabbar-with-swift-7e37ac2bf8e5

iOS15에서 TableView 과 CollectionView Cell 리로드 개선점 https://betterprogramming.pub/table-and-collection-view-cell-reload-improvements-in-ios-15-52de0b56a76e

TableView와 CollectionView Cell 생성하는 Configurable 방식 https://arkhyp.medium.com/swift-configurable-cells-for-uitableview-and-iucollectionview-d9b369ef5e87

화면 하단 시트 띄우는 방법들 https://betterprogramming.pub/how-to-present-a-bottom-sheet-view-controller-in-ios-a5a3e2047af9

프레임워크

Foundation 수준에서 개선된 Formatter에 대한 소개입니다. https://nemecek.be/blog/106/new-approach-to-formatters-in-ios-15

푸시 노티 로컬라이즈하기 https://phanquanghoang.medium.com/localize-push-notification-1c907e175396

UICollectionViewCell 에서 비디오 재생하기 https://stevenpcurtis.medium.com/playing-a-video-in-a-uicollectionviewcell-73b883f5b570

Lottie 파일을 캐싱할 때 경험들 https://medium.com/inside-wallapop/building-your-own-cache-for-lottie-files-in-ios-6b387fce2f37

RealityKit으로 사진에서 3D 모델 만들기 https://betterprogramming.pub/creating-3d-models-from-photographs-using-realitykit-in-swift-e48d4c7db695

Combine으로 반응형 스위프트 코드 작성하기 https://codes-harikrishnan.medium.com/combine-write-your-swift-code-in-reactive-way-43a9442f06dc

NSCache로 데이터 캐싱 다루기 https://betterprogramming.pub/analysing-data-caching-with-nscache-e0fcbed17b2b

오디오 녹음하고 저장하고 재생하기 https://medium.com/swift2go/swift-audio-record-store-and-play-af965bf92b26

CloudKit 리모트 노티 배지 갯수 리셋하기 https://levelup.gitconnected.com/how-to-reset-badge-value-of-cloudkit-remote-notification-on-ios-ipados-15-46726a435599

간단한 Size 클래스 소개입니다 https://medium.com/@benjamin.font/introduction-to-ios-size-classes-732862ffb45e

iOS15에서 개선된 SFSafariViewController 기능을 소개합니다. https://nemecek.be/blog/110/sfsafariviewcontroller-improvements-in-ios-15

개발환경

iOS15 와 macOS 12에서 어떻게 앱 실행을 빠르게 해주나 설명합니다. 세션이나 문서는 없었는데 dynamic linker(dyld) 상으로 새로운 메모리 모델을 지원한다고 하네요. https://medium.com/geekculture/how-ios-15-makes-your-app-launch-faster-51cf0aa6c520

비밀스러운 Xcode 설정을 xcconfig로 보관하는 방법입니다. https://betterprogramming.pub/manage-secrets-in-your-ios-app-using-xcode-configuration-files-fbceb6e97f47

이제 단골 주제입니다만 프로젝트마다 적용하기 까다로운 내용이죠. SPM으로 앱 모듈화하기 https://betterprogramming.pub/modularize-an-ios-app-with-spm-c3f51f03bb0b

핀터레스트 앱 개발팀이 메모리 부족 크래시 문제를 해결하면서 배운 것들 https://medium.com/pinterest-engineering/what-we-learned-from-an-ios-app-ooms-incident-eb31eada251

Xcode가 M1 + macOS12 beta1에서 로제타로 동작하지 않는다고 하네요. 버그라서 고쳐질 것 같다고 합니다. https://dimillian.medium.com/xcode-is-not-working-under-rosetta-anymore-on-macos-12-on-apple-silicon-b93f64a362f7

DocC로 프로젝트 도큐멘트 만들기 https://www.hackingwithswift.com/articles/238/how-to-document-your-project-with-docc

DocC 아카이브 웹서버에 호스팅하기 https://josephduffy.co.uk/posts/hosting-docc-archives

Xcode 13 새 프로젝트에 없는 Info.plist 다루기 https://betterprogramming.pub/info-plist-is-missing-in-xcode-13-heres-how-to-get-it-back-1a7abf3e2514

테스트

스파게티 코드를 피하는 10가지 트릭들 https://betterprogramming.pub/10-tricks-to-avoid-spaghetti-code-in-ios-development-3f5a0ab2f46f

마법같은 의존성 주입 https://medium.com/streamotion-tech-blog/magic-dependency-injection-in-swift-70476c7743ec

도구/오픈소스

2021년 베스트 SwiftUI 오픈소스 프로로젝트들 https://asilarslan.medium.com/2021-best-open-source-ios-apps-written-in-swiftui-cd972b57e338

디자인

아이폰 목업 템플릿 #1 https://medium.com/theymakedesign/iphone-mockup-1-244fbdc8ad61

영감을 주는 앱 개발 #80 https://medium.com/theymakedesign/app-development-inspiration-80-9565e487fc2a

79

https://medium.com/theymakedesign/app-development-inspiration-79-2ec38586d323

godrm commented 3 years ago

발행했습니다. https://stib.ee/s3c3