Task: take some website screenshots and put them in a folder (in parallel)

You have a bunch of online services that let you take screenshots of a site and save them in a folder. While it can be very useful to pay for such a system, it is not so hard to create it. Let’s use Chrome / Chromium with Puppeteer and Node.js (cluster) to take some snapshots in no-time. We’ll use the Puppeteer Cluster package to run multiple threads / workers to grab those screens in parallel. We’ll be using TypeScript.

Read the article Task: take some website screenshots and put them in a folder (in parallel)

Having fun grouping arrays into maps with TypeScript

I love the group by SQL command, and sometimes I really miss these SQL-like functions in languages like JavaScript. In this article I explore how to group arrays into maps and how we can transform those maps into structures that work for us. We will leverage TypeScript generics to do transformation on data structures in such a way that the end-result remains strongly typed: this will make your code more maintainable.

Read the article Having fun grouping arrays into maps with TypeScript

The Swiss Army Knife Decorator: exception logging, latency metrics and Jaeger spans combined

At Wehkamp we use decoration a lot. Decoration is a nice way of separating concerns from the actual code. Most of our repositories need the same set of decorators: exception logging, latency metrics and Jaeger spans. In this article I’ll be joining these 3 types of decorator into a single Swiss Army Knife decorator: one decorator to rule them all.

Read the article The Swiss Army Knife Decorator: exception logging, latency metrics and Jaeger spans combined
expand_less brightness_auto