How to replace Angular Material CdkTree (FlatTreeControl) by a CdkVirtualScroll loop? This blog post is a complete step by step guide.
While developing Kraken’s frontend I quickly stumbled upon performance issues with Angular Material tree when too many nodes where opened. Kraken is an open source load testing IDE. As such, it displays a tree of directories and files used to script the load testing scenarios:
You can have a look by creating a free account on the demo or check the source code of the UI on GitHub. It uses the latest version of Angular and components provided by Angular Material such as the tree.
Wondering what’s the difference between @Service, @Controller, @Component or @Repository spring annotations? Learn the key differences between those annotations and use them wisely.
If you’re here, it’s probably because you have never really understood the differences between those Spring annotations:
What is the Spring @Service annotation for? What’s the key difference between a class annotated with @Component and @Service? How can I use @PostConstruct and @PreDestroy? The bad news is Your search is over! It’s finally time to get a better understanding of when and how to use those annotations.
The section above describe each annotation and the best way to use them to fully leverage the power of Spring Framework.
After using Elasticsearch for several years in production, we’re sharing our hardware and software best practices to squeeze every bit of performance out of your cluster.
You may already have setup an Elasticsearch cluster but you’re struggling with numerous issues:
Indexing is slow: somehow you’re not getting the ingestion performance you expected, Out of Memory: your nodes are regularly hitting the Java Xmx mark and you don’t know why, all CPU cores are not used: somehow you are struggling to vertically scale the database to take advantage of multiple CPU cores, and much more. After spending several years maintaining, upgrading and tweaking Elasticsearch, we’ve learnt a lot of things along the way.
Learn how to mod the Acer Predator Helios 500 Bios, Undervolt the CPU and run alternative Operating System like Ubuntu 18.04LTS or newer.
Finally a guide to learn you how to get the most out of your Acer Predator Helios 500 Laptop! I’ve spent a lot of time figuring out all the tweaks described below.
This post describes:
Why I chose the Acer Predator Helios 500, How to install and run Ubuntu 18.04LTS (generally speaking Linux) smoothly, Undervolting the CPU: A whopping Free 30% CPU Performance Gain while running at cooler temperatures, How to disassemble the Helios 500: access CPU, motherboard, RAM sticks, bios chip, NVMe drives and more hardware, Disconnecting the HDD and battery: I don’t use them but would like to preserve them, And Modding the BIOS: unlock hidden settings to tweak your system even further (like RAM overclocking or increasing Turbo Boost Time).
Learn how to manage High Availability, Leader Election and Horizontal Scaling a Spring Boot application using Hazelcast. Full source code available on Github.
It all started when we had the following problem: How can you enable High Availability in a Rest API based on Spring Boot?
As you may know, we have two products: (both based on Spring Boot)
OctoPerf Saas-Edition: the online saas platform, OctoPerf Enterprise-Edition: the full on-premise installable version. While Saas-Edition absolutely needs High Availability, the Enterprise-Edition doesn’t share the same requirements. But, as astonishing as it may seem, both versions share exactly the same code, while working slightly differently.
Learn how to handle drag and drop using D3-drag to manipulate SVG graphics. d3.drag() explained via code samples and live examples.
In our previous tutorial we explained how to handle click events with D3.js to add, remove and select shapes in a SVG chart.
Using the same map example this tutorial explains how to handle drag and drop with D3.js. To follow this guide you must know about:
D3.js installation, D3.js selectors, and D3.js data binding. All these concepts are explained in our D3 getting started guide.
It uses the same SVG sample as our previous example:
Learn how to handle mouse events using D3.js to manipulate SVG graphics. d3.datum() and d3.mouse() explained via code and live examples.
This tutorial explains how to handle mouse events using D3.js along with other useful notions:
SVG shapes definitions and use, D3 animations and transitions, D3 event propagation, [Single element data binding using datum](#how-to bind-data-using-d3-datum). It consists in a series of explained code samples and live examples. If you are not familiar with D3.js or simply need a reminder, please read our D3.js getting started tutorial.
A Simple SVG Map For this tutorial we will use a simple map:
Learn how to use D3.js to manipulate DOM elements to match evolving data. An animated guide to the enter/update/exit concept.
It is good at creating charts, maps, or any other visual representations of data. D3.js allows great control over the final visual result, at the cost of a steep learning curve.
Some concepts must be understood before using this powerful library. That is the exact purpose of this blog post: help you to get started with D3 code samples and animated graphics.
Let’s crush simple code examples to show you how to use BufferedWriter, PrintWriter, InputStream and OutputStream, FileChannel, Apache Commons IO and more.
It’s surprising to see how many different ways exist to write a File in Java! It can be quite confusing… This is why we made this tutorial. We’ll explore the different ways, the best practices involved as well as the common pitfalls.
If you’re wondering how to write text or binary data in a File, you’re in the right place!
Input Streams Yet another way to write data into a File in Java is using streams.
An Array is a primitive data structure which stores a fixed number of elements. Learn how to create, iterate, clone arrays and more.
You’re probably not the first one to wonder how arrays work in Java. And you haven’t found a clear answer yet! I have some good news… This post is all about understand how arrays work, how to create them, how to store data and much more. I promise, you won’t be disappointed!
Let’s dive into the world of those mysterious arrays!
What is an Array Java Arrays are part of primitive types.