hidden

Tech blog of j-labs' engineers. Experiences, knowledge, solutions.

How to use monads in Java

Java is not a functional programming language. Despite the fact that Java 8 came with some elements from functional world, there is still no way to write fully functional code in Java. One of the key aspect of functional programming is using monad. I am not going to describe what are monads but I will describe some of them and respond to the title question.

Przemysław Sobierajski

|

21 Aug 2019

  Java 

Read more
3

How to use monads in Java

21 Aug 2019 | Przemysław Sobierajski

  Java 

Java is not a functional programming language. Despite the fact that Java 8 came with some elements from functional world, there is still no way to write fully functional code in Java. One of the key aspect of functional programming is using monad. I am not going to describe what are monads but I will describe some of them and respond to the title question.

Read more
4

Advanced mocking with Mockito

14 Aug 2019 | Tomasz Głuszak

  Java Mockito 

Purpose of unit tests is to test small chunks of code independently, in separation from any dependencies. In many cases to keep this kind of separation tools like Mockito come in handy. Mockito is mocking framework, Java library that allow to simulate calls on dependent objects instead of calling the real ones. A mock object returns a dummy data corresponding to dummy input passed to it.

Read more
5

Phone Authorization with Firebase and Ionic

07 Aug 2019 | Szymon Bury

  Mobile Front-end 

Demand for web and mobile applications is still increasing. Developers nowadays don’t build whole systems from scratch since it’s time and cost consuming. With rise of platforms such as Firebase, Azure or AWS we have a way of developing apps quicker and with more confidence.

Read more
6

Test Automation with Python

31 Jul 2019 | Marcin Halastra

Python code just like in any other language requires testing. Unittest is a python framework dedicated for it. It has origins in Junit in terms of code structure and behavior. In this article I will try to illuminate a little bit the topic of testing in Python and provide some good practices.

Read more
7

Dealing with Java Exceptions in a functional way

24 Jul 2019 | Przemysław Sobierajski

  Java 

You may have heard that checked exceptions in Java are evil. Some people even say that they are Java’s biggest mistake. There is a lot of languages like Scala, Kotlin, C# or C++ which don’t have checked exceptions at all. Unchecked exceptions are generally better choice. Undoubtedly, you are able to write your code without creating new checked exceptions. However, you have to deal with them constantly, because a lot of standard or popular libraries abuse them. In result, your Java code is full of ugly throw catch clauses. They interfere with a regular application control flow.

Read more
8

Better planning and estimating

17 Jul 2019 | Tomasz Głuszak

  Agile 

There are countless cases where major delays in product development are caused by poor estimation-related decisions. When it comes to both, high-level (long term features) and low-level (user stories, daily tasks) planning, developers tend to underestimate the work.

Read more
9

Building executable jar with Cucumber tests

10 Jul 2019 | Bartek Drzewiński

Depending on how continuous integration and regression testing is constructed in a project, there might be a need to run the same tests couple of times - without any changes to the test framework or tests suites itself. 

Read more
10

Blocking vs non-blocking http servers performance

03 Jul 2019 | Przemysław Sobierajski

  Java 

In this article, I’d like to take a look at the performance and the scalability of both blocking and non-blocking HTTP servers. I’ll compare average response time for multiple REST requests sent to simple endpoints built with Spring Boot and Ratpack.

Read more
11

Why do you need to care about IT security?

12 Jun 2019 | Jakub Sendor

  Security 

Over the past few years we have seen a surge in IT security incidents. Major data breaches at companies like Target, Equifax, and Facebook, Distributed Denial of Service attacks organized either by hacktivist groups or nation states, millions of smaller campaigns spread through phishing, malware, or social engineering attempts – you name it.

Read more
Page 1 of 9