Dependency inversion: how to mock time in tests?

Time is an integral part of our lives — the same for the applications we develop. From the software engineering perspective, time is just another dependency which we introduce to our systems. And that’s OK. The situation might start to be problematic when some parts of the system are more dependent on time. How to…

Read more...

Real time chat application on Vue.js and Socket.io

A couple weeks ago, I was asked to create a simple communicator for one of our clients. I had to dig deeper into the topic and I decided to create a very basic proof of concept, without all the shiny features, a straightforward chat application that implements “one-to-many” communication. I wanted to use technology that I already knew, so client application was created in Vue.js using Vue-cli 3 and server was created in Node.js. For development purpose I used Express web server, which is flexible and fast, just enough for MVP. What I’d like to show you is how fast we can achieve this goal in terms of configuration and coding.

Read more...

Everybody hates Friday deployments. Are they right?

© imgflip.com There is an opinion in the IT community that Friday deployments are bad thing and should be avoided. There are plenty of reasonable, valid arguments and quite similar number of another ones which I find rather funny. They all form a clear message: don’t deploy to production on Friday, otherwise your world would…

Read more...

Machine Learining PoC: Keras vs. PyTorch vs. SciKit learn

Recently we’ve started working on an health & wellbeing app whose aim is to increase the overall quality of life of individuals. In the app, a Machine Learning module is applied to help understand the factors impacting the quality of life. To build the module we used a large set of data from ca. 2500…

Read more...

Setting up a VPN between Azure and a local/company infrastructure

In this post, I will show you how to set up a VPN between a local/company infrastructure and the Azure cloud. A solution like this is called Hybrid Cloud: https://www.backblaze.com/blog/confused-about-the-hybrid-cloud-youre-not-alone/ What is VPN? VPN (Virtual Private Network) is a service that allows you to connect to the Internet from any place in the world via…

Read more...

How to estimate application development costs?

As a software house’s client, you should be prepared to go through a process of estimating the cost and time needed for developing an app. While this seems straightforward and most of the estimation work is done by the software house’s team, there are many areas which you should approach with mindfulness. To be successful,…

Read more...

UX versus UI. Do UX designers really exist?

User Experience (UX) and User Interface (UI) are among the most complicated, misused and misinterpreted terms in software development. In the last few years as an industry, we’ve been focusing on responsive and intuitive designs of interfaces in the contexts far beyond mobile apps. Non-responsive and unintuitive designs have been rightly ditched. That is why…

Read more...

A short story of the Java-based container configuration in the Spring Framework

A few weeks ago my workmate asked me a question: “How does the Spring Framework handle a self-invocation on a creation of beans?” He was thinking about a situation like this one: @Configuration class MyConfig{ @Bean ABean  aBean(){ return new ABean(this.bBean()) } @Bean BBean bBean(){ return new BBean() } } In this case we see…

Read more...

ThreadLocal and ExecutorService

Recently I have been working on some code in which I was using ThreadLocal variables. This give me possibility to chew over the ThreadLocal variables concept again. The basic idea of this approach is quite simple. Every thread has its own copy of a ThreadLocalMap. When you ask for the value of the ThreadLocal variable…

Read more...

We use cookies to enhance your user experience. By continuing to browse the site, you are agreeing to our use of cookies.
Read more