My team and I make heavy use of Spring Boot to build microservices that power our applications at our company. We've even gone so far as to write our own custom auto configurations to ease development. We package these auto configurations along with other goodies into what we call our platform.Recently, after releasing a new platform version, we encountered an issue where one of our microservices would fail to start at what appeared to be random intervals. After further digging, we noticed specifically...
Eventually you'll reach a point where you need to run multiple instances of an application or a service for high availability or to manage increased load. That's what load balancers are for. There's generally two different types:What many people would call a "load balancer" is actually a server-side load balancer. It can be implemented in hardware or software. The traffic is sent to a dedicated service that decides where to send the traffic, using an algorithm like round-robin, to one of the...
As a Software Engineer I'm always keeping up to date with technology and one of the things that helps me do that is book reviews. Right now, I'm reviewing The Book of R: A First Course in Programming and Statistics by Tilman M. Davies. R is a programming language used in statistical computing and has gained in popularity in the recent years due to the explosion of data and its applications like Machine Learning.
It's August 2016 and the Spring Boot team recently released Spring Boot 1.4 ( on July 28th, 2016 ). Some of the biggest improvements and simplifications are around unit and integration testing. We'll take a focused look at two of the newly added features: @MockBean and @SpyBeanThe newly introduced annotation, (@MockBean), adds generalized support for mocking of any Spring bean. If you've used Mockito Annotations before, @MockBean is simliar to @Mock but with Spring support.Suppose we have a simple...
Debian 8 (Jessie) doesn't contain RoundCube in it's repositories. Why, I don't know :) .
In ISPConfig3, Perfect Server, Debian 8, you get SquirrelMail, but I don't like how it looks.
With some trouble setting it up, I managed to configure RoundCube on Debian 8 and make it wokring with ISPConfig3. Used many sources to make it work and decided to create this manual that you’re reading.I presume that you have configured your server with Perfect Server Debian 8 (Apache, BIND, Dovecot, ISPConfig 3) configuraton...
How to initiate git through sshlogin using shh~~~git
$ ssh [email protected]
~~~creating a folder
$ mkdir folder_name
~~~changing to that newly created folder~~~git
$ cd folder_name
~~~initiating as a master branch~~~git
$ git init --bare
~~~changing the windows pack~~~git
$ git config pack.window 0
~~~##step 5 : clone to local machine usingcloning the newly created folder to local~~~git
$ git clone [email protected]
~~~adding the all files which are created
This article will show how to calculate the distance beween two addresses using Google Maps API. Blog.I was looking to an easy way to calculate the distance between two addresses using SQL and Google Maps Distance Matrix API and I found this post from stackoverflow very useful.Here is how I use the Google Maps Distance Matrix API:CREATE PROCEDURE [dbo].[CalculateDistance] (
@ToAddress NVARCHAR(100) = '',
@FromAddress NVARCHAR(100) = '',
@DistanceistanceInKm FLOAT OUTPUT )
A progress resource is usually a temporary resource that is created automatically by the server to provide status on some long running process that has been initiated by a client. It is used to provide feedback to an end user and point to the results of an operation once it has completed.HTTP is a client/server request and response protocol. It does not provide for server initiated communications. If a client makes a request to a server that is likely to take a long time, e.g. 5 seconds or longer,...
A factory resource is one that is used to create other resources.Sometimes it is difficult to create a complete resource representation on the client without some involvement from the server. It may be that the server is responsible for creating a unique identifier for the new resource, so a PUT request is not possible. Or other attributes of the resource may be dependent on existing server state. For example, creating a order resource where the order quantity may be adjusted based on in-stock quantity.
A resource designed to accept a request body containing complex query parameters and redirect to a new location to enable the results of complex and expensive queries to be cached.There are practical limitations to the length of a URL on the Web. In order to send complex queries it is sometimes necessary to use a POST method and use the request body to describe the query parameters. However, a POST method cannot return a cached response. If the complex queries take a non-trivial amount of time...