letswiftconf / newsletter

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

제45호(2021년 12월 12일 발행 예정) #48

Closed godrm closed 2 years ago

godrm commented 2 years ago

아자아자

godrm commented 2 years ago

[JK 블로그] Swift-WASM 맛보기에 대한 글을 작성해봤습니다. https://medium.com/@jungkim/swift-wasm-맛보기-d4a2f4cea20a

[류성두님 블로그] 접근성 지원을 미루는 것은 인종차별이라는 조금 강한 메시지를 담고 있네요 https://www.sungdoo.dev/opinion/accessibility-and-racism

[민소네님 블로그] UIViewController.view 를 CustomView로 대체하기 https://minsone.github.io/mac/ios/ios-replace-view-of-viewcontroller-to-customview

[zedd님 블로그] 커스텀 SwiftUI View Modifier 만들기 https://zeddios.tistory.com/1323

애플

애플 오픈소스 사이트가 리뉴얼되었습니다. 기존 GNU 도구들까지 드디어 GitHub으로 다 올라갔네요. 이제 개발자 사이트 예제 코드들만 깃헙으로 좀 옮겨주면 좋겠습니다. https://opensource.apple.com/

앱 스토어 제품 페이지에 새로운 기능이 추가됐습니다. 버전별로 제품페이지나 아이콘, 스크린샷을 다르게 할 수도 있다고 하네요 https://developer.apple.com/news/?id=2xnhx92t

Xcode Cloud에서 의존성 관리하는 방법에 대한 공식 문서 https://developer.apple.com/documentation/xcode/making-dependencies-available-to-xcode-cloud

일반

모든 개발자들이 SwiftUI, Combine, async/await 기능을 반가워하지는 않나봅니다. 여전히 적용되지 않은 버전이나 제한적인 API가 많기 때문이겠죠 https://michaellong.medium.com/apple-listened-you-no-longer-need-to-wait-for-async-b346dbc2c032

QUIC도입으로 더욱 빨라지는 HTTP/3 - 앱 개발자들에게 어떤 영향을 주게 될까요 https://medium.com/request-metrics/http-3-is-fast-dc7f8871df6

2021년 베스트 앱과 게임 https://medium.com/macoclock/the-best-apple-apps-and-games-of-2021-892d287a89fd

언어 : Swift

탈출 클로저와 unowned, weak 관계 이해하기 https://medium.com/mobile-app-development-publication/swifts-closure-escaping-unowned-and-weak-made-easy-44dda7acc7c

기존 앱에 async/await 적용하기 https://medium.com/@artemnovichkov/async-await-for-existing-apps-8beacc451327

프로토콜과 제네릭으로 타입 지우기 https://hasancanakgunduz.medium.com/type-erasure-in-swift-5086f764b33e

표준 라이브러리에 Swift Algorithms 활용하는 8가지 방법들 https://betterprogramming.pub/8-algorithms-destined-for-the-standard-library-in-swift-d5a407ae625a 같이 읽으면 좋을 Algorithms 적용 예시들 https://www.hackingwithswift.com/articles/243/write-better-code-with-swift-algorithms

프로토콜 일치(또는 as 형변환) 확인하는 과정이 의외로 많이 느리다는 분석입니다 https://medium.com/geekculture/the-surprising-cost-of-protocol-conformances-in-swift-dfa5db15ac0c

RunLoop.main과 DispatchQueue.main 차이점 https://www.avanderlee.com/combine/runloop-main-vs-dispatchqueue-main/

Task가 하는 역할에 대한 설명 https://www.swiftbysundell.com/articles/the-role-tasks-play-in-swift-concurrency/

메타 타입이란 무엇인가 https://medium.com/@junsu-kim/what-is-metatype-type-in-swift-5-964730cb6b2c

표준 라이브러리에 있는 콜랙션 프로토콜 이해하기 https://medium.com/helpshift-engineering/understanding-swifts-collection-protocols-c352ddb3ed8c

이제는 단골소재가 되었지만 SOLID 원칙에 대한 입문용 글입니다 https://medium.com/@cemeke/swift-solid-principles-6cd2e576d700

@unknown@frozen 속성 이해하기 https://02infinity.medium.com/understanding-swifts-unknown-and-frozen-attribute-f9801ae3b97e

Assertion 다루기 https://levelup.gitconnected.com/assertions-in-swift-a0ef807f6c25

커스텀 오퍼레이터 다루기 https://medium.com/@benweidig/custom-operators-in-swift-5cf596d27849

설계 구조 : 패턴

클린 아키텍처를 위한 화면 단위 계층구조 https://pedroalvarez-29395.medium.com/clean-architectures-inner-and-outer-scene-layers-38e6de923f07

Service 계층 구현하기 https://medium.com/livefront/creating-a-service-layer-in-swift-ea771088fb66

Flyweight 패턴 다루기 https://medium.com/@joshualang_75089/mastering-the-flyweight-pattern-in-swift-5-5-322140dd195a

MVVM 구조라고 부르지말자! https://zalogatomek.medium.com/stop-calling-mvvm-an-architecture-cf53d2882b5

클린 아키텍처에는 인터액터가 필요하다 https://stevenpcurtis.medium.com/interactors-are-required-in-swifts-clean-architectures-74f0dda07055

뷰 프로그래밍 : SwiftUI

ViewConnector 프로토콜 활용해서 모듈화 구조로 뷰 만들기 https://brennobemoura.medium.com/swiftui-using-views-in-a-modularized-design-937e0f020e1b

스크롤뷰 색상 바꾸기 https://betterprogramming.pub/how-to-change-scroll-view-color-in-swiftui-4b6b84f4a305

Property Wrapper 총정리 https://stevenpcurtis.medium.com/swiftuis-property-wrappers-a8771e8ef39b

유니버설 링크 구현하기 https://thinkdiff.net/how-to-implement-universal-link-in-swiftui-app-7ab4e9f4f903

내비게이션뷰에서 RootView로 Pop하는 3가지 방법 https://rekerrsive.medium.com/three-ways-to-pop-to-the-root-view-in-a-swiftui-navigationview-430aee720c9a

뷰 사이에서 State 공유하기 https://betterprogramming.pub/sharing-states-between-swiftui-views-d00d3f41a23b

여러 토글 버튼을 가진 화면 다루기 https://betterprogramming.pub/implement-a-scalable-and-configurable-multi-toggle-swiftui-screen-ea484ef90691

Popover 표시하기 https://gabth.medium.com/presenting-popovers-in-swiftui-560b0e44303d

애니메이션과 트랜잭션 https://www.objc.io/blog/2021/11/25/transactions-and-animations/

@EnvironmentObject 사용하면 안되는 이유 https://betterprogramming.pub/why-you-shouldnt-use-environmentobject-in-swiftui-a527d5c2bd

사이드바 동작하도록 만들기 https://betterprogramming.pub/how-sidebar-works-on-ipad-with-swiftui-1d37301636ac

복합적인 배경 흐림 효과 처리하기 https://betterprogramming.pub/create-complex-background-blurs-in-ios-with-swiftui-5b35ce2ddbab

뷰 프로그래밍 : UIKit

UIApplicationMain부터 시작하는 앱 라이프 사이클 https://medium.com/orion-innovation-turkey/application-life-cycle-for-ios-apps-b2fe894632f0

손쉬운 UI 개발을 도와주는 Stack View https://itnext.io/ios-stack-views-making-ui-development-easy-f81e0f00c193

스크롤뷰에 테이블뷰 넣고 높이 계산하기 https://simaspavlos.medium.com/automatic-height-for-uitableview-into-uiscrollview-swift-8943195af10c

UIWindow에 대한 고찰 https://medium.com/@jai.192395/uiwindow-in-ios-2e721ec2d944

여러 제약사항 수정하기 https://useyourloaf.com/blog/editing-multiple-constraints/

UIKit으로 작업하면서 Previews 하기 https://stevenpcurtis.medium.com/use-swiftui-previews-in-uikit-2c388d4d55b9

탭 제스처에 매개변수 넘기기 https://stevenpcurtis.medium.com/pass-parameters-in-tap-gestures-6b04408ed217

프레임워크

키체인 서비스 https://bruno-lorenzop.medium.com/keychain-services-in-swift-ecb9d6d5c6cd

RxSwift에서 무한/유한 Observables 다루기 https://vaibhavsingh-54243.medium.com/rxswift-finite-and-infinite-observables-69e4e4469be7

RxSwift 깊이 분석 - Obseravle.create https://medium.com/@jeffersonsetiawan/rxswift-deep-dive-part-1-observable-create-observable-subscribe-338e85478ec0

SceneKit으로 3D 아바타 만들기 https://medium.com/azikus/building-3d-avatars-in-ios-using-scenekit-a10353aac11

Combine에서 Backpressure 다루기 - Buffer, Drop 두 가지 전략을 소개합니다 https://tanaschita.com/20211205-back-pressure-in-combine/

스위프트 패키지로 CoreData 담당 모듈을 분리하기 https://betterprogramming.pub/use-coredata-from-an-spm-package-e82c465d5d02

푸시 노티피케이션 받기까지 흐름 https://medium.com/@tomasparizek/push-notifications-beyond-the-basics-50583db74a5a

CloudKit으로 콘텐츠 제공하기 https://rambo.codes/posts/2021-12-06-using-cloudkit-for-content-hosting-and-feature-flags

CloudKit 데이터베이스 권한 이슈 해결하기 https://medium.com/macoclock/how-to-solve-cloudkit-database-permission-issue-2021-4de87b6ebb28

UIPasteBoard 접근하기 https://medium.com/@racsol/access-uipasteboard-with-swiftui-f1fd4945f79d

알라모파이어 대신 API 매니저 다루기 https://blog.devgenius.io/create-your-own-service-manager-without-using-alamofire-in-swift-1af5d5440461

Combine과 async/await로 앱 업데이트 알림 만들기 https://www.avanderlee.com/swift/app-update-notifier/

개발환경

적절한 프로젝트 구조로 관리하기 https://betterprogramming.pub/best-way-to-structure-your-xcode-project-23327999fdc5

jazzy로 CI 없이 스위프트 코드 문서화하기 https://medium.com/practical-coding/swift-documentation-without-long-ci-pipelines-98c176235655

iOS 앱 빌드시간 줄이는 방법 https://blog.devgenius.io/reduce-xcode-build-time-for-ios-bf43d3ca4ab8

코어 블루투스로 하드웨어 연결하기 https://itnext.io/heart-rate-monitor-and-blood-oximeter-in-swift-a359a16d94f0

Heap과 Stack 도대체 어떤 구조일까 https://medium.com/@m4rk/heap-stack-what-the-heck-97d2748d583f

Xcode에 테스트 계획 만들기 https://www.swiftlyrush.com/creating-test-plans-in-xcode/

테스트

인스트루먼츠에 추가된 HTTP Traffic 모니터링 도구에 대한 레이웬더리치 소개글 https://www.raywenderlich.com/27390649-monitoring-http-traffic-with-instruments

Cookpad 앱 개발자가 겪은 iOS15에서 앱 실행할 때 로그아웃되는 현상 해결과정 https://sourcediving.com/solving-mysterious-logout-issues-on-ios-15-8b818c089466 이 글 마지막에 소개된 앱 실행 순서에 대한 공식 문서도 같이 읽어보세요. Prewarming 이라는 개념이 잘 설명되어 있습니다 https://developer.apple.com/documentation/uikit/app_and_environment/responding_to_the_launch_of_your_app/about_the_app_launch_sequence

이미지 로딩 여러 방식으로 메모리 흔적 살펴보기 https://medium.com/@petrachkovsergey/images-loader-and-memory-footprint-e8142ffebf0f

메모리 누수를 확인하기 위한 단위 테스트하기 https://medium.com/@DarrenFindlay_91414/unit-testing-memory-leaks-in-ios-with-swift-660b61b692d1

비동기 코드 테스트하기 https://www.gfrigerio.com/test-asynchronous-code/

도구/오픈소스

코드 생성도구 Soucery 활용하기 | 저장소 https://blog.devgenius.io/sourcery-in-ios-10e93c822223 https://github.com/krzysztofzablocki/Sourcery

디자인

영감을 주는 앱 디자인 #35 | #34 https://theymakedesign.com/app-design-inspiration-35-330123355c71

https://theymakedesign.com/app-design-inspiration-34-e55038e69810

영감을 주는 앱 개발 #104 | #103 https://theymakedesign.com/app-development-inspiration-104-84593e40f487

https://theymakedesign.com/app-development-inspiration-103-2c4342881a22

godrm commented 2 years ago

이번에 알찬 내용이 많네요. 발행했습니다 https://stib.ee/NqR4