gem install tmuxinator
# File: ~/.tmuxinator/project-name.yml
name: project-name
| // Place user-specific overrides in this file, to ensure they're preserved | |
| // when upgrading | |
| { | |
| "folder_exclude_patterns": [".svn", ".git", ".hg", "CVS", "node_modules"] | |
| } |
| import UIKit | |
| import Firebase | |
| import UserNotifications | |
| @UIApplicationMain | |
| class AppDelegate: UIResponder, UIApplicationDelegate { | |
| var window: UIWindow? | |
| static var shared: AppDelegate { return UIApplication.shared.delegate as! AppDelegate } |
| import( | |
| "runtime" | |
| "log" | |
| ) | |
| func openbrowser(url string) { | |
| var err error | |
| switch runtime.GOOS { | |
| case "linux": | |
| err = exec.Command("xdg-open", url).Start() |
| package org.springframework.web.servlet.support; | |
| import java.io.IOException; | |
| import javax.servlet.FilterChain; | |
| import javax.servlet.ServletException; | |
| import javax.servlet.http.HttpServletRequest; | |
| import javax.servlet.http.HttpServletResponse; | |
| import org.springframework.web.filter.OncePerRequestFilter; |
A curated list of AWS resources to prepare for the AWS Certifications
A curated list of awesome AWS resources you need to prepare for the all 5 AWS Certifications. This gist will include: open source repos, blogs & blogposts, ebooks, PDF, whitepapers, video courses, free lecture, slides, sample test and many other resources.
| image: node:10 | |
| pipelines: | |
| branches: | |
| master: | |
| - step: | |
| name: "Build, test and deploy to firebase production" | |
| deployment: production | |
| caches: | |
| - node |
| # Inspirations: | |
| # http://mutelight.org/practical-tmux | |
| # http://zanshin.net/2013/09/05/my-tmux-configuration/ | |
| # http://files.floriancrouzat.net/dotfiles/.tmux.conf | |
| # http://stackoverflow.com/questions/9628435/tmux-status-bar-configuration | |
| # https://github.com/Lokaltog/powerline | |
| # https://github.com/remiprev/teamocil | |
| # http://superuser.com/questions/74492/whats-the-best-prefix-escape-sequence-for-screen-or-tmux | |
| # http://blog.hawkhost.com/2010/07/02/tmux-%E2%80%93-the-terminal-multiplexer-part-2/ | |
| # |
| func startApp() { | |
| onMainDo({ | |
| self.activityIndicator.startAnimating() | |
| }, onBackgroundDo: { | |
| let storage = PersistentSecureStorage.shared() | |
| guard let savedToken == storage.token { | |
| return .goToAuth | |
| } | |
| let tokenIsValid = authService.isValidToken(savedToken) | |
| if !tokenIsValid { |
| func onMainDo<T>(_ firstMainBlock: @escaping () -> Void, onBackgroundDo backgroundBlock: @escaping () -> T, thenOnMainDo mainBlock: @escaping (T) -> Void) { | |
| DispatchQueue.main.async { | |
| firstMainBlock() | |
| DispatchQueue.global(qos: .background).async { | |
| let result = backgroundBlock() | |
| DispatchQueue.main.async { | |
| mainBlock(result) | |
| } | |
| } | |
| } |