Skip to content

Instantly share code, notes, and snippets.

View eMdOS's full-sized avatar

Emilio Ojeda eMdOS

  • Zapopan, Jalisco
View GitHub Profile
@eMdOS
eMdOS / NibLoadableView.swift
Last active October 15, 2021 12:29
Reusable views and cell registration and dequeuing (for table views and collection views)
protocol NibLoadableView: class {
static var nibName: String { get }
}
extension NibLoadableView where Self: UIView {
static var nibName: String {
return String(describing: self)
}
}
@eMdOS
eMdOS / APIError.swift
Last active February 15, 2017 18:05
API service routing using based on Alamofire
import Foundation
public enum APIError: Error {
case service(message: String)
}
extension APIError: CustomStringConvertible {
public var description: String {
switch self {
case .service(let message):
@eMdOS
eMdOS / Regex.swift
Last active March 15, 2017 00:53
Regex
public enum Regex: String {
case email = "^[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$"
}
extension Regex: RegexProvider {
public var regex: String {
return rawValue
}
static func validate(expression: String, forRegex regex: Regex) -> Bool {
@eMdOS
eMdOS / regex.txt
Created March 8, 2017 06:03 — forked from nerdsrescueme/regex.txt
Common Regex
Perl and PHP Regular Expressions
PHP regexes are based on the PCRE (Perl-Compatible Regular Expressions), so any regexp that works for one should be compatible with the other or any other language that makes use of the PCRE format. Here are some commonly needed regular expressions for both PHP and Perl. Each regex will be in string format and will include delimiters.
All Major Credit Cards
This regular expression will validate all major credit cards: American Express (Amex), Discover, Mastercard, and Visa.
//All major credit cards regex
'/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|622((12[6-9]|1[3-9][0-9])|([2-8][0-9][0-9])|(9(([0-1][0-9])|(2[0-5]))))[0-9]{10}|64[4-9][0-9]{13}|65[0-9]{14}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})*$/'
@eMdOS
eMdOS / Codable.swift
Last active April 23, 2019 15:04
Codable {Apple Swift version 4.0 (swiftlang-900.0.45.6 clang-900.0.26)}
extension Encodable {
func encode(with encoder: JSONEncoder = JSONEncoder()) throws -> Data {
return try encoder.encode(self)
}
}
extension Decodable {
static func decode(with decoder: JSONDecoder = JSONDecoder(), from data: Data) throws -> Self {
return try decoder.decode(Self.self, from: data)
}
@eMdOS
eMdOS / SSH.md
Last active July 17, 2017 22:38
SSH set up

SSH Keys

Generating a new SSH key

  1. Create a ssh key:

    ssh-keygen -t rsa -b 4096 -C "<email>"
@eMdOS
eMdOS / Playground.md
Created July 18, 2017 16:36
Playground (async execution)

Playground

Async execution

  • At the imports section:

     import PlaygroundSupport
@eMdOS
eMdOS / macOS.md
Created July 18, 2017 16:50
macOS : Change where screenshots save

macOS

Change where screenshots save

  1. Creating a folder for screenshots (~/Pictures/Screenshots/):

    mkdir ~/Pictures/Screenshots/
@eMdOS
eMdOS / Xcode Warnings.md
Created July 21, 2017 23:14
Xcode: code comments warning (TODO: | FIXME: | WARNING: | ERROR:)

Xcode (code comments warnings)

  1. Create the scripts folder at ./:

    mkdir scripts
  2. Give it the right permissions for execution:

@echo off
title Flash Memory
color 1E
@echo ----------------------------------------------
@echo ------------- Memory Flash Fixer -------------
@echo ----------------------------------------------
@echo Changing Folder Attributes...
Attrib /d /s -r -h -s *.*
@echo ----------------------------------------------
@echo Deleting Links