Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sisifo o Cómo empezar de nuevo - y otra vez.

Sisifo o Cómo empezar de nuevo - y otra vez.

Charla realizada en STGO Tech Talks http://www.meetup.com/STGOTechTalks/events/221979527/ el 12 de Mayo del 2015, usando Deckset con el tema Sketchnote.

Francisco Díaz

May 12, 2015
Tweet

More Decks by Francisco Díaz

Other Decks in Technology

Transcript

  1. Sísifo
    o "Cómo empezar de nuevo - y otra
    vez"

    View Slide

  2. Lecciones aprendidas de migrar de
    Objective-C a Swift
    Sin hablar mucho de Objective-C o Swift

    View Slide

  3. Francisco Díaz
    @fco_diaz

    View Slide

  4. Sísifo
    Los dioses habían condenado a
    Sísifo a empujar sin cesar una
    roca hasta la cima de una
    montaña, desde donde la piedra
    volvería a caer por su propio
    peso.

    View Slide

  5. Objective-C
    subir la colina

    View Slide

  6. El comienzo siempre es dificil
    #define myAppDelegate (AppDelegate *)[[UIApplication sharedApplication] delegate]
    @interface AppDelegate : UIResponder
    @property (strong, nonatomic) UIWindow *window;
    @property (strong, nonatomic) UINavigationController *navCotroller;
    @property (strong, nonatomic) NSArray *speedStrings;
    @property (nonatomic) BOOL didBuyContent;
    @property (nonatomic) BOOL didUnlockPremiumSounds;
    @property (nonatomic) BOOL reproduceRoundSounds;
    @property (nonatomic) BOOL synchWithIcloud;
    @property (nonatomic) BOOL didEntered11;
    @property (nonatomic) BOOL isProductionBuild;
    ...
    void uncaughtExceptionHandler(NSException *exception);
    - (NSString *)getDocumentSoundsFolder;
    - (NSString *)applicationDocumentsDirectory;
    - (void)backAction;
    - (void)getUnlockContentPrice;
    - (void)unlockContent;
    - (void)unlockPremiumSounds;
    - (void)showErrorAlertMessage:(NSString *)message;
    - (id)getUserDefaultWithKey:(NSString *)key;
    - (float)getSpeedSegmentValueWithDifficulty:(int)dif;
    - (void)updateProgressFromIcloud:(NSNotification *)notification;
    - (EWInstrument *)getInstrumentWithSamplerType:(SamplerType)type;
    - (void)loadInstruments;
    ...
    @end

    View Slide

  7. Y uno lo olvida

    View Slide

  8. Y se vuelve cómodo

    View Slide

  9. Nunca deberías estar
    cómodo. El estar cómodo ha
    arruinado a muchos
    músicos.
    1
    Miles Davis

    View Slide

  10. Siempre sé el peor músico
    en cada banda en la que
    estés.
    1
    Pat Metheny

    View Slide

  11. Axiom Zen

    View Slide

  12. Swift
    bajando la colina

    View Slide

  13. Swift
    4 Value types (Enumerations, Structs)
    4 Optionals
    4 Generics
    4 Funciones

    View Slide

  14. View Slide

  15. Imperativa
    ¿Cómo?

    View Slide

  16. Imperativa
    let array = [2, 1, 4, 0]
    var newArray : [Int] = []
    for element in array {
    newArray.append(element*2)
    }
    // [4, 2, 8, 0]

    View Slide

  17. Funcional
    ¿Qué?

    View Slide

  18. Funcional
    let array = [2, 1, 4, 0]
    map(array) { $0 * 2 }
    // [4, 2, 8, 0]

    View Slide

  19. Funciones Puras
    Sin Estado 2
    2 Enemy of the State de Justin Spahr-Summers.

    View Slide

  20. Nuevos compañeros
    Nuevo lenguaje
    Nuevo paradigma

    View Slide

  21. ¿Soy un mal desarrollador?

    View Slide

  22. Sentirse
    un mal programador
    es estresante

    View Slide

  23. Deja el
    ego
    fuera

    View Slide

  24. Volver a pensar como un
    novato.

    View Slide

  25. Lo importante
    es aprender

    View Slide

  26. Un libro es más
    de lo que un programador promedio
    lee en un año 3
    3 DeMarco and Lister, Peopleware, 2nd Ed, 1999

    View Slide

  27. Busca un
    Mentor

    View Slide

  28. No seas un desarrollador
    de Objective-C o Swift

    View Slide

  29. La lucha por llegar a las
    cumbres basta para llenar
    un corazón de hombre. Hay
    que imaginarse a Sísifo
    feliz.
    1
    Albert Camus

    View Slide

  30. Gracias
    ¿Preguntas? ¿Comentarios?
    Las dispositivas y notas están disponibles en:
    https://github.com/fdiaz/sisifo-talk

    View Slide