-
AsyncStream
doesn't replace Combine. For complex reactive data flows, Combine remains the more powerful framework. But for lightweight "publish and listen" patterns,AsyncStream
is often all we need.
> ### Introduction
import SwiftUI | |
import AVFoundation | |
struct PlayerTimeView: View { | |
let timeObserver: PlayerTimeObserver | |
@State private var currentTime: TimeInterval = 0 | |
var body: some View { | |
Text("\(Utility.formatSecondsToHMS(currentTime))") | |
.onReceive(timeObserver.publisher) { time in |
package main | |
import ( | |
"crypto" | |
"crypto/rand" | |
"crypto/rsa" | |
"crypto/sha256" | |
"encoding/base64" | |
"testing" | |
) |
import CoreGraphics | |
import Accelerate | |
import CoreImage | |
import UIKit | |
extension CGImage { | |
public enum Error: Swift.Error { | |
case imageResizingFailed | |
case cgContextCreationFailed |
AsyncStream
doesn't replace Combine. For complex reactive data flows, Combine remains the more powerful framework. But for lightweight "publish and listen" patterns,AsyncStream
is often all we need.
> ### Introduction
/* | |
******************************************************************************** | |
Golang - Asterisk and Ampersand Cheatsheet | |
******************************************************************************** | |
Also available at: https://play.golang.org/p/lNpnS9j1ma | |
Allowed: | |
-------- | |
p := Person{"Steve", 28} stores the value |
#!/bin/bash | |
# | |
# This script configures WordPress file permissions based on recommendations | |
# from http://codex.wordpress.org/Hardening_WordPress#File_permissions | |
# | |
# Author: Michael Conigliaro <mike [at] conigliaro [dot] org> | |
# | |
WP_OWNER=www-data # <-- wordpress owner | |
WP_GROUP=www-data # <-- wordpress group | |
WP_ROOT=$1 # <-- wordpress root directory |