Writing tests is an important skill of a software engineer. I used to write lots of very focused, narrow unit tests. However, I often found such tests to hinder refactoring and barely help in catching regressions. Whether such issues were caused by my poor design choices or are intrinsic to unit tests is not the focus of this post. However, the fact is that nowadays I tend to write more coarse-grained, integration style tests. There is one downside to such approach: speed. For instance, using Hibernate with a full fledged database is relatively slow compared to using a fake repository implementation. Today I write about abstracting the database access using Querydsl in a way that aids testing.
In this post I’m going to focus on connecting React components with Redux. If you are just starting out with React + Redux or you have already worked with these before, but want to make this concept a bit clearer then feel invited to read this post till the end ;)
If we keep track of our daily schedule really thoroughly, we might be shocked how much time we waste in five to fifteen-minute breaks. I am saying “waste” not by accident here since we are often wasting our time during breaks instead of recharging batteries. The good news is that brief mental breaks taken in a reasonable way still help us re-focus, regain motivation and reevaluate goals.
Since Kotlin becomes more and more popular, especially amongst Android developers (and it’s officially supported by Google), some people decided to compare its runtime performance with Java. After reading a few articles I wanted to test it myself and now I’m ready to share some of my observations and experiences.
If you have ever used Google Sign-In, Firebase, or Google Analytics for iOS, you should be familiar with a GoogleService-Info.plist configuration file. Using property list files instead of setting every required property manually in code is convenient, especially while using more than one Google service at once and the configuration grows. But have you ever wondered how this can be adjusted to multiple environments?
It is often said that Code Reviews are by far the most effective way to identify bugs in software. However, it is easy to notice that the "code review" term is a bit overloaded and it might mean different things to different people.
It is often convenient to create a view upon your normalized schema to join and aggregate the data, especially when it requires a complicated query.
A seasoned developer now and then creates a piece of code that he or she would like to reuse in a different project. When such time comes it is useful to know how to publish a library so that it can easily be incorporated into a different project. In this post I will describe how to publish a Kotlin library to JCenter with maven-publish and com.jfrog.bintray Gradle plugins.
When the time you are selling your long-developed application comes, or you are about to take over an app, you probably do not bother about the transition process. Although Apple has described the steps in details, you should consider potential consequences before starting the transition.