When migrating from Parse.com to Parse Server, I learned the hard way that NodeJS is not multi-threaded.
This lead to a waste of resources: imagine that a running instance of your server is only using 25/30% CPU before latency goes up. At that point, you have to deploy a new instance of the same server to maintain a low latency. Why? Because of the use of a single thread, incoming requests are quickly queued, especially if one the request takes time to build the response.
To take advantage of the multiples cores you may have on your server, you can use a worker manager such as Throng to manage multiple instances of your Parse Server on the same machine:
Don’t ask for too many workers. The appropriate number of workers depends of the number of cores your machine has and is usually a number between 1 and (2 x NUMBER_OF_CORES) + 1.
Note: this definitely has to be ported to Swift, any volunteer?
This very interesting Trello board identifies different stages from beginner to expert and help may you on your path to iOS development mastery.
A Path to Mastery for iOS Development on Trello: https://trello.com/b/dOV9dvBu/a-path-to-mastery-for-ios-development
Often I hear or read that inheritance is evil, but why? This article tries to explain the difference between the two, and shows that these patterns are both useful when applied the right context:
Composition vs. Inheritance: How to Choose? by Steven Lowe: https://www.thoughtworks.com/insights/blog/composition-vs-inheritance-how-choose
Even if all jobs titles out there only mention junior and senior developers (when it’s not about ninjas, gurus and other fancy names), I see myself as an intermediate developer: certainly on my way to seniority, but still with a lot on my plate!
The role of a senior developer by Matt Briggs: http://mattbriggs.net/blog/2015/06/01/the-role-of-a-senior-developer/