Closed godrm closed 3 years ago
26호까지 밖에 없습니다 ㅠㅠ..
26호까지 밖에 없습니다 ㅠㅠ..
네 여기는 뉴스레터 생산하기 위해 정리하는 곳이라 뉴스레터는 메일링에 가입하시면 보내드리고 있습니다. readme 목록은 띄엄띄엄 업데이트하기는 합니다. 곧 추가하도록 하겠습니다 :)
Xcode 12.5 RC가 올라왔습니다. 아쉽게도 Swift5.5가 포함되지는 않았고, Swift5.4 버전입니다. 증분 빌드가 빨라지고, 멤버 접근에서 체이닝이 지원되고 Property Wrapper가 지역 변수에도 적용됩니다. 보다 자세한 내용을 릴리스 노트를 확인해주세요. https://developer.apple.com/documentation/xcode-release-notes/xcode-12_5-release-notes?#Swift
4월 26일부터는 Xcode12 + iOS 14 SDK (watchOS 7)로 빌드한 앱을 제출하세요 https://developer.apple.com/news/?id=ib31uj1j
어떻게 핀터레이스 앱이 파일 크기를 30%(50MB) 이상 줄였는가 https://medium.com/pinterest-engineering/how-we-reduced-pinterests-ios-app-size-by-30-50mb-68d7f8425882
베터 프로그래밍에 이런 글도 올라오는 군요. YAGNI 소프트웨어 개발 원칙 재해석 https://betterprogramming.pub/rephrasing-the-yagni-software-development-principle-9f5ec1910737
5가지 위젯 추천 https://medium.com/macoclock/5-my-favorite-ios14-homescreen-widgets-march-2021-part-2-905bc2fc8f30
오브젝티브-C에서 스위프트로 마이그레이션 통계. 레츠스위프트에서 설문조사를 했을 때보다 상대적으로 오브젝티브-C가 줄어든 것 같네요. https://medium.com/swiftify/get-your-objective-c-project-professionally-migrated-to-swift-711adfa5b42
(스위프트 뿐만 아니라) 일반적인 프로그래밍 언어에 대해서 리팩토링 기법에 대한 상세 설명입니다. https://betterprogramming.pub/an-analysis-of-refactoring-techniques-to-improve-your-source-code-c9ded9eb2ff6
깔끔한 스위프트 코드를 위한 5가지 팁 https://betterprogramming.pub/5-tips-to-write-clean-swift-code-2ef287a11500
싱글톤과 인스턴스 공유가 다른 점 https://www.donnywals.com/whats-the-difference-between-a-singleton-and-a-shared-instance-in-swift
다이나믹 멤버 찾기 활용하기 https://medium.com/codex/swift-dynamic-member-lookup-made-simple-ef92fc699721
함수 호출이 많아지거나 함수 호출을 연결하다보면 중첩되는 경우가 많죠. 이럴 때 Pipe 연산자가 있으면 좋겠다고 생각하게 됩니다. Forward Pipe 연산자를 선언하는 방법을 설명합니다. https://holyswift.app/single-forward-pipe-operator-in-swift
헷갈리는 클로저 개념 잡기 https://betterprogramming.pub/clearing-up-the-confusing-closures-concept-in-swift-c5b7ad2dd0ab
정렬sort 확장하기 https://medium.com/nerd-for-tech/sorting-extension-in-swift-438ed6f23ce1
lazy 키워드 이해하기 https://medium.com/geekculture/understanding-the-lazy-keyword-in-swift-65f1d14fa477
DI 완벽 가이드 - DI 개념부터 방식, 라이브러리 소개와 컨테이너 성능 비교까지 포함하고 있습니다. https://medium.com/its-tinkoff/di-in-ios-complete-guide-cd76a079d2d
DI를 위한 팩토리 패턴 https://levelup.gitconnected.com/enhance-factory-pattern-for-di-in-swift-b255008ba110
파사드 구조 구현하기 https://stevenpcurtis.medium.com/the-façade-design-pattern-in-swift-14045590a854
클린 (헥사고날) 아키텍처 이해하기 https://medium.com/codex/clean-architecture-for-dummies-df6561d42c94
로버트 C 마틴이 소개한 SOLID 원칙. 엄밀하게 말해서 엉클 밥이 다 만들어낸 표현이나 원칙은 아니지만 그렇게 소개하고 있네요. 80년대 유즈넷에서 선배 개발자들이 논문과 경험을 공유하면서 다듬어진 요약 버전정도라고 생각하시면 될 것 같습니다. https://medium.com/read-priotix/s-o-l-i-d-is-an-acronym-for-five-design-principles-by-robert-c-6dcac7cae788
MVVM+C 구조와 튜토리얼 https://bobbyphtr.medium.com/mvvm-coordinators-ios-architecture-tutorial-fb27eaa36470
PSPDFKit 기존 제품에 iOS 12 이하를 버리고 일부 화면을 SwiftUI로 바꾼 과정 https://pspdfkit.com/blog/2021/swiftui-in-production/
추천할 만한 SwiftUI 라이브러리 10개 https://betterprogramming.pub/10-swiftui-libraries-to-use-in-2021-d21c0384e619
스크롤뷰 콘텐츠 전체 스크린샷 찍기 https://prafullkumar77.medium.com/swiftui-how-to-take-screenshot-of-scrollview-content-e8c98233a16
액션 시트 만들기 https://medium.com/swift-productions/swiftui-actionsheet-3c507653fadd
Text 생성을 도와주는 오픈소스 TextBuilder 패키지 | 저장소 https://swiftpackageindex.com/davdroman/TextBuilder https://github.com/davdroman/TextBuilder
레고처럼 앱만들기 시리즈 - 4편 https://codeburst.io/build-an-app-like-lego-with-swiftui-tutorial-4-d5bb078749e1
컨테이너 뷰에 맞춰서 이미지 뷰 크기 조정하기 https://sarunw.com/posts/how-to-resize-an-image-to-fit-a-container-view-in-swiftui/
접근성 액션 처리하기 https://swiftwithmajid.com/2021/04/15/accessibility-actions-in-swiftui/
파이어베이스 기반으로 인-앱 메시징 처리하기 https://medium.com/firebase-developers/create-a-native-firebase-in-app-messaging-experience-on-ios-with-swiftui-84d3aa7bcd07
모던 MVVM 기반 ToDo 앱 샘플 | 저장소 https://mdcode2021.medium.com/modern-todo-app-in-swiftui-with-mvvm-ff8248b137d3 https://github.com/myawesomehub/TaskManager
조건부로 동작하는 뷰 변경자 View Modifier 만들기 https://www.avanderlee.com/swiftui/conditional-view-modifier/
차트 그리기 https://itnext.io/drawing-charts-in-swiftui-a5a87ac8cf9
여러 뷰로 쪼개서 UIViewController로 가볍게 만들기 https://brontoxx.medium.com/slim-uiviewcontroller-break-into-multiple-uiview-components-78d7a67d7468
UIKit에서 SwiftUI처럼 라이브 프리뷰 추가하기 https://brontoxx.medium.com/uikit-live-preview-for-uiviewcontroller-and-uiview-f978fcc62a66
그라디언트 애니메이션 구현하기 https://betterprogramming.pub/animate-your-gradient-in-swift-52186b9b14d3
UITableView 펼치거나 접기 https://medium.com/azikus/collapse-and-expand-uitableview-cells-like-a-pro-df4a2fd85287
커스텀 탭바 만들기 https://betterprogramming.pub/how-to-create-a-custom-tabbar-in-swift-d44b3db3ac0e
원Circle을 다루는 방법들 https://betterprogramming.pub/create-animate-and-customise-circles-in-swift-84419881c597
콜랙션뷰나 테이블뷰에서 지원하는 DiffableDatasource를 사용하려면 Model에 UUID 타입 id를 지정해줘야 합니다. IndexPath 대신에 UUID 타입 id를 활용해서 셀을 다루는 방식을 소개합니다. 저장소는 패키지로 만들어진 건 아니고 예제 코드라고 보시면 되겠네요. https://rafal-prazynski.medium.com/uuid-over-indexpath-3ac126e85304 https://github.com/Rafal-Prazynski/UUID_over_IndexPath
macOS 메뉴바 앱 만들기 https://medium.com/macoclock/how-to-make-a-macos-menu-bar-app-bfdbbcd76077
3rd-party 라이브러리 없이 겹쳐지는 입력 화면 구현하기 https://medium.com/next-level-swift/creating-a-modern-ios-input-layover-with-swift-and-no-third-party-libraries-df40ced9e9ef
UILabel 베이스라인을 맞추기 위해서 고려할 사항을 설명해줍니다. 디자이너분들은 1px 안 맞는것도 눈치챈다니까요! https://medium.com/mobimeo-technology/what-if-your-designers-want-a-baseline-grid-on-ios-d5234c7b52c0
lazy 이미지 로딩 구현하고 테스트하기 https://stevenpcurtis.medium.com/lazily-load-images-in-swift-4206b5d5d754 개인적으로 이렇게 이미지 뷰 확장하는 것을 별로 좋아하지 않지만 처리하는 방식을 이해하는 데 도움이 되길 바라는 마음에 공유합니다 ㅎㅎ
self-sizing 테이블뷰 셀 내용을 SwiftUI로 처리하는 방법 https://noahgilmore.com/blog/swiftui-self-sizing-cells/ 이 방식이 특이해서 작년 자료지만 공유합니다
IDFA 광고를 위한 개인 추적 권한 대비하기 https://swiftsenpai.com/development/get-ready-apptrackingtransparency/
사용자 추적과 데이터 사용에 대한 이해 - 윗 글과 함께 보시면 도움이 되실 것 같습니다. https://santoshbotre01.medium.com/ios-14-5-data-usage-and-user-tracking-in-depth-understanding-f68c573117f
로그 라이브러리 컨셉 https://thinkdiff.net/swift-how-to-write-a-complete-logger-c538f34cc687
GCD 큐 QoS 짧은 소개 https://medium.com/p-society/what-is-qos-in-gcd-grand-central-dispatch-queues-d0f4d2691894 DispatchQueue.main.sync 동작 방식 https://sarawanak.medium.com/demystifying-dispatchqueue-main-sync-b59b77e4f502
콤바인 프레임워크 소개 https://santoshbotre01.medium.com/getting-started-with-the-combine-framework-in-swift-4916b875d913
콤바인으로 코어 데이터 NSManagedObject 관찰하기 https://www.avanderlee.com/combine/nsmanagedobject-observe-changes-core-data/
Pragmatic-Programmers가 미디엄에 들어오고 나서 책 내용을 올려주는 경우가 있습니다. 그 중에서 코어 데이터에 대한 책 내용입니다. https://medium.com/pragmatic-programmers/table-of-contents-fbdecbc1a50a
RxSwift와 Reactive 프로그래밍 https://medium.com/multinetinventiv/rxswift-and-reactive-programming-a0920317deb0
SpriteKit으로 지니genie 애니메이션 효과 구현하기 https://harshil.net/blog/recreating-the-mac-genie-effect
iOS 앱 출시하기 전에 개발환경에서 맥용 도구로 콘텐츠 미리가져오기 https://medium.com/@myshkinasasha/how-to-preload-content-for-ios-app-f2cb3358ff99
JavaScriptCore와 스위프트 함께 쓰기 https://www.andyibanez.com/posts/javascriptcore-and-swift/
접근성 개선하기 https://www.cephalopod.studio/blog/refining-accessibility-lessons-learned 지난 달에 접근성 관련 온라인 세미나도 있었는데 이런 사례가 많아지면 좋겠습니다.
헬스킷을 위한 콤바인 퍼브리셔 만들기 https://isalima.xyz/create-publishers-for-healthkit
유료 앱에서 필요한 라이센스 검증 시스템 만들기 https://betterprogramming.pub/creating-a-licensing-system-for-paid-apps-in-swift-f88d04ac5598
단순한 API 콜 구현하기 https://betterprogramming.pub/simple-and-robust-api-calls-in-swift-4ddf8710d1a0
콤바인을 활용해서 API 설계하기 https://swiftwithmajid.com/2021/04/07/designing-api-using-combine-framework/
나쁜 네트워크 환경 시뮬레이션하기 https://medium.com/codex/simulate-poor-network-conditions-in-ios-development-1c1912a33a51
가장 쓸만한 Xcode 단축키 모음 https://medium.com/next-level-swift/create-and-open-a-viewcontroller-with-xib-in-swift-9da77e4feeb7
스위프트UI 생산성을 높여주는 단축키 https://sarunw.com/posts/xcode-shortcuts-for-swiftui
처음으로 나만의 CocoaPod 배포하려면 https://abubkr-88114.medium.com/easy-steps-to-publish-your-first-cocoapod-a6805896b90e
코코아팟에서 SPM으로 마이그레이션하기 - (작년 자료지만) 위에 코코아팟과 함께 보면 좋을 것 같네요. https://milanpanchal24.medium.com/how-to-migrate-your-swift-project-from-cocoapods-to-swiftpm-e4403577598c
이미 앱 스토어에 출시해본 분들은 알고 계실 내용이지만, 처음하면 당황하는 내용들을 정리했네요. 앱 스토어 리뷰를 위한 스킴scheme 설정하기 https://betterprogramming.pub/demystifying-appstore-app-creation-and-ios-app-schemes-b9b5e5851a92
좀 지난 자료인데 텔레그램 소스를 Bazel로 빌드해서 실행하는 방법을 설명해줍니다. https://itnext.io/build-and-run-telegram-ios-v7-3-in-simulator-with-bazel-fe36f305bd55
로컬 스위프트 패키지로 프로젝트 모듈화하기 https://itnext.io/modularize-xcode-projects-using-local-swift-packages-8fd844c19081
M1 맥북에서 만든 native ARM64 코드를 시뮬레이터에서 실행하도록 해킹하기 https://bogo.wtf/arm64-to-sim.html
단위 테스트 소개 https://medium.com/ivymobility-developers/unit-test-in-ios-1cc224aa35c3
UIKit 콤바인으로 확장해서 MVVM 형태로 단위 테스트하기 https://hammyassassin.medium.com/extending-uikit-with-combine-mvvm-and-unit-tests-597f47c76630
저는 swan 이라는 정적 분석 도구로 소스 의존성 분석하는 도구를 만들고 있습니다. 이와 비슷하게 Xcode 프로젝트를 분석해서 클래스가 아니라 모듈 수준에서 라이브러리와 패키지 의존성을 그래프로 그려주는 XCGrapher라는 도구가 있네요. https://itnext.io/graphing-xcode-project-dependencies-introducing-xcgrapher-cb99aa0a325e
정규표현식 작성과 검증을 도와주는 맥 앱 - ViRE https://apps.apple.com/app/vire-regex-you-can-read/id1550861119
멋진 앱 아이콘 만들기 https://www.shopify.ie/partners/blog/app-icon
iOS 15 UI 디자인이 바뀌지 않을까 https://medium.com/macoclock/the-new-look-of-ios-15-4bd6ee3664cb
특허와 저작권으로 사용할 수 없는 UI/UX 패턴들 https://onezero.medium.com/the-ui-ux-patterns-you-literally-cant-use-64875a5c965f
제30호 발행했습니다. https://stib.ee/SNK3
링크 오류가 있었네요. 개발 환경 > 쓸만한 Xcode 단축키 https://medium.com/simform-engineering/most-useful-xcode-shortcuts-7a0523b305d5
새로운 제품 소식이 있겠죠?!