Putting our heads together.
Async actions handling with redux-thunk
Using redux-thunk to work with asynchronicity
Working with async actions in Redux can be troublesome, there are many actions and reducers that fire up incorrectly, so here is a short and concise tutorial to start working with redux-thunk and handling async actions in Redux, complete with code samples and repository that you can use as boilerplate for your projects
First Ruby Open-meetup of 2018
A totally new meetup format with lightning talks and open discussions is coming!
Join us for the first 2018 open meetup of the Ruby Community in La Plata. We have deliberately not defined an agenda to give everyone the possibility to ask questions, share experiences or just listen to what is going on in the Ruby world. Here is all the practical info to join us on March 9, 2018 in NaNLABS office.
A clean approach to deferred authentication in Android
Test driving authentication flow in a public-to-read / private-to-write application.
It is common for an app to need users to be authenticated to generate content. But from a user perspective, sign-up as the first screen feels kind of forceful. Why not let the users in, and only ask them to login for advanced interaction? Let’s test-drive this solution.
Android Dependency Injection – Why we moved from Dagger 2 to Koin?
An example using the new DI mechanism with Kotlin and the Android Architecture Components
Koin is a new option to consider to manage dependency injections when working with the Android Architecture Components and Kotlin. It provides much more clarity than Dagger 2 and is simple to implement. Here is an example of how to use it, compared to other more complex options.
Defining quality in software development
The importance of setting the bar right to meet expectations
Just like high jumpers, software developers need to clearly set their goals in order to meet their objectives and speak of quality.
The quality pyramid in software development
Relying on everyday processes to reach high standards
We can think of our overall quality as the result of the functional, structural and process aspects of quality. Only by satisfying the lower levels of our pyramid will we be able to reach the uppermost level without sweat blood and tears.
Code Quality I: Good Practices
Clean code and other healthy programming habits
It is within ourselves to take action and turn our everyday activities into an upward-spiralling workflow. We might feel it takes longer in the short term, but it saves lots of time and headaches in the long run.
Code Quality II: Metrics
Key indicators to measure the health state of your codebase
No metrics are unquestionable. Nonetheless, keeping an eye on churn, as well as cyclomatic and cognitive complexity is a good habit to help write and maintain a clean codebase