 
		 
		 
		Dependency Injection with Dagger 2
In this post I will talk about Dependency Injection with some general examples, what is dependency, what is injection, what happens without it, what happens with it, why do you need it and how to use it on an Android project using Dagger 2.
 
		From Monoliths via Self-Contained Systems to Microservices
Monoliths

Most code starts out as a monolith. This was my experience as well while working on a self-service application for a big telecommunication provider. Idea was to have a separate application where we will expose a lightweight REST API for our modern frontend (Angular 1 at that time). This consumer services application was supposed to be a bridge between CRM and SOAP powered web services and a lightweight client application that we developed using Angular. Without knowing full boundaries of our domain or the extent to which it will grow we started exposing REST services and it seemed like a good approach.
So what is a monolith?
 
		Software tester as a team member
How does team see tester?
Testing is often seen as a destructive activity. So, the role of the tester sometimes can be really specific. In some cases, tester won’t fit in the team easily. Developers sometimes think that tester is against them and that could produce problems. The software tester needs to convince the rest of the team that her/his part is really important and to have good communication with them and in a nice way prove them that he is not their opponent. Tester plays on the same team, just with different duties.
 
		UNDERSTANDING GIT: By building it from scratch
This article assumes some knowledge of Git – basically, if you ever wondered how does Git does the stuff he does, and more importantly, why is all this so complicated.
To understand Git better I propose a simple thought experiment. Let’s imagine that Alice, Bob and Charlie are really dedicated and smart developers, but on one particularly nasty day their Centralized Version Control dies. Now, since all three of them are hardworking, and they still want to deliver their changes to their client, they continue with their work. Later in the day, once all three of them quite a few changes, they need some way to merge all their changes together.
 
		Java 8 stream
As a junior full stack programmer in the betting team of the MozzartBet IT sector, one of the challenges that motivate me daily is, for example, how to create betting transactions collections in order to represent the player’s calculation, and then process the whole collection to find out how much a player has spent money. For most of these problems, the use of Java 8 is most often imposed. In order to speed up processing, I rely on multi-core architecture, but writing parallel code is difficult and error-prone, and standard processing of collections is far from perfect in Java.
 
		Server-Sent Events in Spring
Hello, Java enthusiasts and professional developers. If you ever had to face the challenges of one-way server-client communication and are searching for a straightforward solution, you came to the right place. The technology we will go through in this short blog presents an easy and effective solution.
 
		AWS EC2
Amazon EC2 stands for Elastic Cloud Computing. It is a web service that provides application hosting on virtual machines called instances using simple interfaces. Main benefits are reduced cost of virtual machines compared to physical ones, fast and simple maintenance and no downtime.
Amazon EC2 provides elastic web-scale computing which enables you to increase or decrease capacity within minutes.
You have complete control over your instances as you would have over physical ones. It is a flexible cloud hosting service that gives you choice of instance types, operating systems and software packages.
Amazon EC2 is highly secure and works in conjunction with Amazon VPC (Virtual Private Cloud) to provide security and robust networking functionality.
It is very simple to start with and there is an option to try Amazon EC2 for free.
 
		Basics of web debugging
Call it a cliche or anything you like, but when Wikipedia gives you the perfect definition of debugging, trying to come up with your own feels pointless – ‘debugging is the process of finding and resolving defects or problems within the program that prevent correct operation of a computer software or system’.
The term itself was created when a moth got stuck in a relay in a Mark II computer at Harvard University while Admiral Grace Hopper was performing an operation on it in the 1940s.
An actual, real live bug.
 
		Introduction to Redux Sagas
Handling asynchronous events in React / Redux can sometimes be quite challenging. Up to some point, we can handle async events manually by bridging different debounce functions and components’ states, which ultimately bloats our components.
So, in order to separate our view and business logic and keep the code clean, we’ll need some code abstraction.

