Skip to content

Instantly share code, notes, and snippets.

View joanmolinas's full-sized avatar
🎯
Focusing

Joan Molinas joanmolinas

🎯
Focusing
View GitHub Profile
@joanmolinas
joanmolinas / SRP_Good.swift
Last active March 8, 2018 19:10
Blog.firstSolidPrinciples
class UserInformationHandler {
// MARK: - Properties
let requester: UserInformationRequesteable
let parser: UserInformationParseable
let storer: UserInformationStoreable
// MARK - Life cycle
init(requester: UserInformationRequesteable,
parser: UserInformationParseable,
@joanmolinas
joanmolinas / SRP_Bad.swift
Last active March 8, 2018 19:04
Blog.firstSolidPrinciples
class UserInformationHandler {
// MARK: - Public api
func retrieve() {
let data = request()
let user = parse(data: data)
store(user: user)
}
}
@joanmolinas
joanmolinas / Tournament.java
Created April 24, 2017 19:47
Random groups for a tournament
import java.util.ArrayList;
import java.util.Random;
class Team {
private String name;
public Team(String name) {
this.name = name;
}
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define K 9000000000
typedef struct {
double i;
double j;
} pair;
#import <Foundation/Foundation.h>
@interface NSObject (AssociatedObjects)
- (void)associatedValue:(id)value withKey:(void *)key;
- (id)associatedValueForKey:(void *)key;
@en
let arr = (0...15).map {$0*2}
func binarySearch<T : Comparable>(arr : Array<T>, value : T) -> Bool {
let midPosition = arr.startIndex.advancedBy(arr.startIndex.distanceTo(arr.endIndex)/2)
let midElement = arr[midPosition]
guard midElement != value else {
return true
}
import Foundation
class Stack<T> {
private typealias Node = StackNode<T>
private var _top : Node?
private var _size : UInt = 0
//MARK: Public API
internal func empty() -> Bool {
import Foundation
class LinkedList<T : Equatable> {
private typealias Node = LinkedListNode<T>
private var _head : Node?
private var _tail : Node?
private var _size : UInt = 0
//MARK : Public API
import Foundation
class Queue<T> {
private typealias Node = QueueNode<T>
private var _top : Node?
private var _last : Node?
private var _size : UInt = 0
//MARK : Public API
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (range.location == textField.text.length && [string isEqualToString:@" "]) {
textField.text = [textField.text stringByAppendingString:@"\u00a0"];
return NO;
}
return YES;
}