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

Web scraping with Puppeteer - Quick Start

Puppeteer is a Node library from the Google Chrome team we can use to control a headless Chrome instance. With Puppeteer you can make screenshots, track page loading performance, generate PDF from web page, scrape web pages and a lot of more.

Marcin Łącki |

30 Sep 2020

Read more

Web scraping with Puppeteer - Quick Start

30 Sep 2020 | Marcin Łącki

Puppeteer is a Node library from the Google Chrome team we can use to control a headless Chrome instance. With Puppeteer you can make screenshots, track page loading performance, generate PDF from web page, scrape web pages and a lot of more.

Read more

A streaming layout service for front-end microservices

29 Jul 2020 | Bartłomiej Szajewski

Tailor is a layout service created by the Zalando team as a part of Project Mosaic which provides a set of libraries that allow frontend developers to decompose monolith applications in the way backend developers split systems into microservices. The libraries also define components interaction and support website scalability.

Read more

Quick look at Preact

22 Jul 2020 | Jacek Mazgaj

As the growing advancement of web technologies, client web applications aim to provide user experience to as close as possible to the native applications (see the PWA term). 

Read more

UseEffect hook

27 May 2020 | Bartłomiej Szajewski

If you want to fully switch from classes to functional components with hooks, you need to not only get the knowledge about handling state within component, but also how to perform side effects. The answer is pretty simple, you need to learn useEffect hook!

Read more

Storybook for Angular - creating components library

15 Apr 2020 | Michał Pluta

Imagine a situation where you have a big monolith project and there's a need to separate re-usable components throughout application or you're starting a microfrontend application with separated UI components. Additionally, a readable and well-defined documentation is essential in both cases.

Read more

Introduction to React hooks

18 mar 2020 | Bartłomiej Szajewski


React 16.8 introduced some new functionalities, one of which is _Hooks_. What are these? _Hooks_ are functions provided by React that let us hook into React features from function components.

Read more

Simple Observable-based Store in Angular

04 mar 2020 | Przemysław Pędziwiatr


Since Flux and Redux gained popularity, the approach to front-end architecture has changed drastically. The idea of a store with global application state, unidirectional data flow, immutability and changes using actions, largely increased the popularity of Redux-based frameworks.

Read more

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

Modern, Clean and scalable CSS

08 May 2019 | Mateusz Tondos


Maintaining large-scale CSS codebase is a demanding task. In the era of complex component systems and unspecified requirements, this gets even harder – what solves many possible problems, is well-organized, clearly defined architecture.

Read more

Introduction to three-dimensional Javascript with three.js

24 Apr 2019 | Mateusz Tondos


If you are already familiar with Javascript and look into the direction of a world of 3D, three.js is a way to go - it lets you quickly dive into the world of meshes, vectors and physical equations within web browser.

Read more

gRPC over HTTP/2 or: How I learned to stop depending on REST and love gRPC

03 Apr 2019 | Jakub Pietrzyk

In today buzzword-oriented world, you don’t spend all of your precious time following all of the latest technologies. When creating APIs, you rarely think twice - obviously REST is your best friend. But have you ever heard about companies like Google or Dropbox? I bet you did. They’ve considered this problem in a different way. So did we, in our last project for a Berlin startup. We decided to use gRPC instead of REST and I would like to tell you why.

Read more

How to make Nigthwatch.js library work with async/await?

25 Oct 2018 | Paweł Proc

Although it's quite powerful tool, you need to customize it to get the full benefit of it. One of these improvements is usage of async/await commands (from Node 7.6 version). In this article I am going to show you how to adjust your code to make this commands work.

Read more

Node.js module testing with Chai and Sinon framework

03 Oct 2018 | Grzegorz Wziątek

In this article I will show you how to write unit tests for Node.js modules and its dependencies from scratch.

Read more

Building Selenium framework in java (part IV) - answer job interview questions like a pro

19 Sep 2018 | Bartek Drzewiński

In my opinion, Software Developer in Test job interviews are one of the most demanding interviews in IT market. How come?

Read more

Publish/Subscribe model in JavaScript

16 Aug 2018 | Paweł Ćwik

Let’s figure out how we can use Observer pattern to build a very basic implementation of Events with public/subscribe methods based on usage of Ionic Events.

Read more

Performance of modern JavaScript frameworks

20 Jun 2018 | Grzegorz Wziątek

Lots of developers when start building yet another JavaScript application do not think about important thing which is the web application performance. Let’s cover this significant aspect of software development.

Read more

TypeScript - why you should care

27 May 2018 | Paweł Jurczyński

  Mobile Front-end 

Building big web applications written in JavaScript is not a simple thing. We don't have types, interfaces, enums etc. These features could be really helpful to maintenance our complex applications. To solve this problem - we can use TypeScript.

Read more

Selenium Webdriver - browser preferences for downloading files

22 Jun 2017 | Paweł Motyka

In this article you will find and introduction to browser’s profiles/preferences and quick solution for managing downloading files from script level.

Read more

Browser IndexedDB API

08 Jun 2017 | Paweł Kasperowicz


IndexedDB is persistent storage key-value object-oriented database. It supports transactions. It has asynchronous API and can be used in Web Workers. 

Read more

Spring Boot and Angular 2 #1

25 May 2017 | Grzegorz Pałubiak

  Front-end Java 

In this article I would like to show you how to create simple application with Spring Boot on server side and Angular 2 at a front-end. It is very good combination, proper for many types of projects.

Read more

Testing in React

07 Apr 2017 | Paweł Kasperowicz

A few approaches for React Testing. It won't be focused on the detailed configuration of each tool but it rather show how to embrace tool for better quality of the code.

Read more

Creating game for android using JavaScript #1 | How to start

06 Apr 2017 | Józef Kała

  Mobile Front-end 

Few years ago, when Android had taken lead of the mobile market, I had decided to create game and become a millionaire as a “thousands” of mobile game developers.

Read more