Practical baseline for installing Credo in Elixir apps and umbrella apps.
Goals:
- explicit lint policy
- predictable upgrades
- low-noise default setup
- optional stricter checks later
| # Project Policy | |
| This policy provides a single, authoritative, and machine-readable source of truth for AI coding agents and humans, ensuring that all work is governed by clear, unambiguous rules and workflows. It aims to eliminate ambiguity, reduce supervision needs, and facilitate automation while maintaining accountability and compliance with best practices. | |
| # 1. Introduction | |
| > Rationale: Sets the context, actors, and compliance requirements for the policy, ensuring all participants understand their roles and responsibilities. | |
| ## 1.1 Actors |
| import SwiftUI | |
| extension CollectionView { | |
| typealias UIKitCollectionView = CollectionViewWithDataSource<SectionIdentifierType, ItemIdentifierType> | |
| typealias DataSource = UICollectionViewDiffableDataSource<SectionIdentifierType, ItemIdentifierType> | |
| typealias Snapshot = NSDiffableDataSourceSnapshot<SectionIdentifierType, ItemIdentifierType> | |
| typealias UpdateCompletion = () -> Void | |
| } | |
| struct CollectionView<SectionIdentifierType, ItemIdentifierType> |
A dump of the SwiftUI.framework binary for the iOS simulator (as of Xcode 12.0 beta 2) using the swift-reflection-dump tool.
Note: I used a Swift 5.3 compiler build from a few weeks ago that I had laying around. Because of ABI stability, I don't think the swift-reflection-dump version has to match the compiler version that was used to build the binary, but I'm not 100% sure.
Introducing Bitcoin
ryan@ryanxcharles.com
Nov 19, 2021
https://www.ryanxcharles.com/content/
I’ve been involved in Bitcoin since May 13, 2011 when I read an article about Bitcoin on Hacker News. It struck me that Bitcoin had the potential to be the foundation of a new global industry like the internet, but with money instead of communications. I was hooked right away and spent weeks researching it.
| 官方视频地址:https://developer.apple.com/videos/wwdc/2014/ | |
| 权当留个念想,选择下面的链接,然后复制,在迅雷中新建下载,粘贴即可。支持多文件下载。 | |
| 对应的字幕可以查看 https://github.com/qiaoxueshi/WWDC_2014_Video_Subtitle | |
| http://devstreaming.apple.com/videos/wwdc/2014/704xx7dmqd5m9l4/704/704_sd_building_apps_for_enterprise_and_education.mov?dl=1 | |
| http://devstreaming.apple.com/videos/wwdc/2014/236xxwk3fv82sx2/236/236_sd_building_interruptible_and_responsive_interactions.mov?dl=1 |
| import SwiftUI | |
| struct ContentView: View { | |
| @State var now = Date() | |
| @State var showWindow = false | |
| @State var text: String = "" | |
| let timer = Timer.publish(every: 1, on: .current, in: .common).autoconnect() |
| import Combine | |
| import SwiftUI | |
| class RemoteImageLoader: ObservableObject { | |
| @Published var data: Data = Data() | |
| init(imageURL: URL) { | |
| URLSession.shared.dataTask(with: imageURL) { data, response, error in | |
| guard let data = data else { return } |
I hereby claim:
To claim this, I am signing this object:
| func scaleTransform(for view: UIView, scaledBy scale: CGPoint, aroundAnchorPoint relativeAnchorPoint: CGPoint) -> CGAffineTransform { | |
| let bounds = view.bounds | |
| let anchorPoint = CGPoint(x: bounds.width * relativeAnchorPoint.x, y: bounds.height * relativeAnchorPoint.y) | |
| return CGAffineTransform.identity | |
| .translatedBy(x: anchorPoint.x, y: anchorPoint.y) | |
| .scaledBy(x: scale.x, y: scale.y) | |
| .translatedBy(x: -anchorPoint.x, y: -anchorPoint.y) | |
| } |