Giter Site home page Giter Site logo

racplayground's Introduction

Howdy, friend! I'm Depa :)

I'm a senior software engineer with +9 years in iOS development and +5 years with React Native. I'm currently working as staff backend engineer at https://github.com/jpg-store.

My approach is to build from the ground up and explain the reasons behind abstractions (only if they are necessary). I reflecton how to think, not just as a recipe to use (because there's no single solution to a problem!).

«For men of experience know that the thing is so, but do not know why, while the others know the ‘why’ and the cause. Hence we think also that the masterworkers in each craft are more honourable and know in a truer sense and are wiser than the manual workers, because they know the causes of the things that are done» (Aristotle, Metaphysics A1)

I've graduated as a software engineer in Argentina and performed further studies in Austria, achieving a Master's Degree in Software Engineering. I'm back at university studying philosophy. I've also been an assistant professor in functional programming at ITBA.

I've given technical talks in Swift Meetups, lead multiple teams and mentor people throughout Codementor and MentorCruise. In addition to mobile programming, I'm also experienced in Python, React, backend && multiple programming languages.

I've contributed to @JPGStore, @Apple, @Theorem, @Brubank, @Wolox, @AIT, @getmimo and @MURAL.

I'm collecting my essays in this repo: https://github.com/FranDepascuali/essays

Nice to meet you, Depa

racplayground's People

Contributors

fedelcar avatar frandepascuali avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

fedelcar

racplayground's Issues

Unable to use the playground "no such module 'Result'

I am unable to use the Playground so far. I open "RACPlaygroundWorkspace.xcworkspace" per your instructions. It builds without errors. I then close "RACPlaygroundWorkspace.xcworkspace" and open the file "RACPlayground.playground", but when I get to the "Signals" page, I get an error on the "import Result" line with the following message in the log:

Playground execution failed: Signal.xcplaygroundpage:2:8: error: no such module 'Result'
import Result
       ^
Signal.xcplaygroundpage:3:8: error: no such module 'ReactiveCocoa'
import ReactiveCocoa
       ^

Any suggestions? I've searched for a solution, but nothing has worked so far. Xcode 7.3.1, other versions as follows:

Mac-mini:RACPlayground xxx$ ./bootstrap
*** Fetching Rex
*** Fetching ReactiveCocoa
*** Fetching Result
*** Checking out Result at "2.1.1"
*** Checking out ReactiveCocoa at "v4.2.0"
*** Checking out Rex at "v0.9.0"
*** xcodebuild output can be found in /var/folders/7k/nbkx8hc5169c9kg7gyq43sjw0000gn/T/carthage-xcodebuild.eqNTWM.log
*** Building scheme "Result-iOS" in Result.xcodeproj
*** Building scheme "ReactiveCocoa-iOS" in ReactiveCocoa.xcworkspace
*** Building scheme "Rex-iOS" in Rex.xcworkspace
Mac-mini:RACPlayground xxx$ carthage version
0.16.2

Real project

I want to use the project as a real project, so that people can see it in a real way and not the code through the playground. One as we do it in our daily work, with an MVVM example and the bindings using RAC.

I see some advantages of this:

  1. Real example, so one can see it in the "real world"
  2. Best practices while using RAC
  3. Some ways in which we develop complex views splitting it into different views and communicating them through their view models.

Add "Advanced tips" page

I'm thinking on adding an "Advanced tips" page with some things that I've been learning through my experience with RAC. This tips are ones that after some time you somehow realize. This could be like

  1. Use case of Signal vs SignalProducer
  2. Observations on main scheduler
  3. More uses of flatmap
  4. Combining RAC with other frameworks (adapting other frameworks to be RAC-like).
  5. Testing ViewModels with RAC, Quick and Nimble

UI Example

I think that the UI example (regarding buttons and actions) is not clear enough in the playground. I'm thinking of adding it to the project (the downside of this is that who goes through the tutorial has to change to the project, though it is on the same workspace).

Signal.pipe() usage clarification

by @peterlondon1:

Would you mind if I ask you questions as I work through your tutorial? for example on the "Signal page" you say:
If I could, I would avoid using pipe() here, but we haven't other way to manually create and control a signal. In a real app, we should avoid creating a signal with pipe() whenever possible.

I'll add why I wrote this. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.