๐ฆ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| extension Publisher { | |
| func coolDown<S: Scheduler>(for cooltime: S.SchedulerTimeType.Stride, | |
| scheduler: S) -> some Publisher<Self.Output, Self.Failure> { | |
| return self.receive(on: scheduler) | |
| .scan((S.SchedulerTimeType?.none, Self.Output?.none)) { | |
| let eventTime = scheduler.now | |
| let minimumTolerance = scheduler.minimumTolerance | |
| guard let lastSentTime = $0.0 else { | |
| return (eventTime, $1) | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // You have a very very large video file you need to upload to a server while your app is backgrounded. | |
| // Solve by using URLSession background functionality. I will here use Alamofire to enable multipart upload. | |
| class Networking { | |
| static let sharedInstance = Networking() | |
| public var sessionManager: Alamofire.SessionManager // most of your web service clients will call through sessionManager | |
| public var backgroundSessionManager: Alamofire.SessionManager // your web services you intend to keep running when the system backgrounds your app will use this | |
| private init() { | |
| self.sessionManager = Alamofire.SessionManager(configuration: URLSessionConfiguration.default) | |
| self.backgroundSessionManager = Alamofire.SessionManager(configuration: URLSessionConfiguration.background(withIdentifier: "com.lava.app.backgroundtransfer")) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # move project dir | |
| PROJECT_HOME=`pwd` | |
| echo "cd $PROJECT_HOME" > /tmp/tmp.sh | |
| # search .xcodeproj file and strip filename | |
| PROJECT_NAME="" | |
| for f in *.xcodeproj; do | |
| PROJECT_NAME="${f%.*}" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # move project dir | |
| PROJECT_HOME=`pwd` | |
| echo "cd $PROJECT_HOME" > /tmp/tmp.sh | |
| # pod init & update | |
| echo "pod update" >> /tmp/tmp.sh | |
| chmod +x /tmp/tmp.sh |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Foundation | |
| final class FileIO { | |
| private let buffer:[UInt8] | |
| private var index: Int = 0 | |
| init(fileHandle: FileHandle = FileHandle.standardInput) { | |
| buffer = Array(try! fileHandle.readToEnd()!)+[UInt8(0)] // ์ธ๋ฑ์ค ๋ฒ์ ๋์ด๊ฐ๋ ๊ฒ ๋ฐฉ์ง |