Blog>>Deep dive

BLOG / Deep dive

Thumbnail of an article about Exploring the potential of Behavior-Driven Development in software quality
SOFTWARE DEVELOPMENT
QUALITY ASSURANCE

Exploring the potential of Behavior-Driven Development in software quality

In the rapidly evolving landscape of software development methodologies, Behavior-Driven Development (BDD) stands out as a powerful approach that bridges the gap between technical implementation and user expectations. It emerges as a robust methodology that effectively closes the divide between intricate technical implementations and the often elusive realm of user expectations. This article dives into the foundational principles of BDD. It describes the mechanics of BDD and its transformative potential in enhancing the overarching quality of software products.
Thumbnail of an article about Redux and NgRx forms for optimizing form state management
SOFTWARE DEVELOPMENT

Redux and NgRx forms for optimizing form state management

Have you ever wondered if keeping the form state in Redux makes any sense? In programming, it is often said that the main questions can be answered with the famous phrase, "it depends." Based on my experience, I would agree: the answer truly depends on the specific situation. However, I would like to present and describe certain cases in which it is worth implementing the form state with NgRx forms. Additionally, I will highlight cases that are not worth implementing and provide a bonus solution, though a highly adverse one.
Thumbnail of an article about IPsec vs. OpenVPN — what are the differences?
NETWORKS

IPsec vs. OpenVPN — what are the differences?

Quick answer: IPsec is a suite of secure network protocols that are based on open IETF standards and OpenVPN is an open-source protocol that is used by an application with the same name. In other words, IPSec is a framework but OpenVPN is an end-user solution. It doesn’t follow that OpenVPN is worse than IPsec. If OpenVPN as a solution fulfills your requirements it could be the best choice for you. The strength of IPsec lies in three words: open IETF standards. By meeting these standards, two different implementations from different vendors can successfully operate together in the most secure way without having a single common line of code.
Thumbnail of an article about Golang code refactoring: Best practices and a practical use case
SOFTWARE DEVELOPMENT

Golang code refactoring: Best practices and a practical use case

Anyone working as a software engineer has experienced diving into existing code written by another person or team. Despite many articles, courses, and blog posts that emphasize the need to write clean and tested code, the reality never really lives up to the idealistic picture presented to us. Inexperience and deadlines, among many other reasons, can leave code repositories with suboptimal documentation, resulting in a constant need for refactoring and a growing to-do list. In this blog post, I would like to invite you to take a peek at the ongoing development of one such repository my team has inherited.
Thumbnail of an article about Network devices benchmarking methodology — RFC 2544 performance testing
QUALITY ASSURANCE
NETWORKS

Network devices benchmarking methodology — RFC 2544 performance testing

Networking devices are complex and characterizing their performance is not easy. One must not judge performance based only on the number and type of ports. On the other hand, the performance figures that can be found in marketing materials may not be conclusive. Therefore, some while ago, the effort was made to create a unified benchmarking methodology to produce reliable, repeatable and comparable results. In this short article we’ll describe the basic performance metrics of networking devices and the methodology used to measure them.
Thumbnail of an article about Enhancing the user experience with end user experience monitoring (EUEM)
OBSERVABILITY

Enhancing the user experience with end user experience monitoring (EUEM)

In today's digital landscape, where user satisfaction is paramount, organizations strive to deliver seamless and optimized experiences to their end users. End user experience monitoring (EUEM) plays a pivotal role in achieving this goal. Unlike application performance monitoring or network performance monitoring, EUEM focuses specifically on measuring and improving the user experience. In this article, we will explore the concept of EUEM, discuss its advantages, highlight the potential long-term benefits, and delve into the specific metrics, visualization, and tools used in EUEM.
Thumbnail of an article about Projects in Remix: best practices and lessons learned
SOFTWARE DEVELOPMENT

Projects in Remix: best practices and lessons learned

Remix is a popular React framework, often used for its ease and speed of development for web applications. However, just like any technology, it has its shortcomings. They are not visible at first sight - you might come across them only once you’ve started a project using this technology. In this article, an experienced developer shares his mistakes to avoid and best practices to follow while working on web applications in Remix. Remix is a React-based frontend framework curated by React ecosystem veterans.
Thumbnail of an article about Navigating the module maze: history of JavaScript module systems
SOFTWARE DEVELOPMENT

Navigating the module maze: history of JavaScript module systems

JavaScript was designed to handle uncomplicated scripting tasks that we know from everyday life - handling events, updating content, etc. However, nowadays we write huge and complex apps in JS. This distinction between initial design and current usage is a root cause of a lot of frustration in the JS community. Let’s look at one of these causes of frustration and confusion: modules. Modules were one of those topics which I've never felt like I fully grasped. I knew about ESM and CJS, the differences between them, and some history.
Thumbnail of an article about Python Nornir for simplifying network automation: code examples
NETWORKS

Python Nornir for simplifying network automation: code examples

Manual management and configuration can quickly become overwhelming and time-consuming. Whether we talk about deploying configurations, running commands across devices, or collecting and analysing traffic data, there is always a need to automate repetitive tasks, improve network scalability, and enhance overall efficiency. Let’s imagine someone is facing the daunting task of updating login banners on numerous Cisco devices or gathering essential data through a single show command. Many engineers can wonder about the most efficient methods to accomplish these objectives.
Thumbnail of an article about CSS vs. SCSS variables — main differences and use cases
SOFTWARE DEVELOPMENT

CSS vs. SCSS variables — main differences and use cases

This isn't going to be an article about the latest hot new feature. Both CSS and SCSS variables have been around for a long time. SCSS introduced variables in version 2.0 of SASS, released in 2010, and in CSS you’ve been able to use them since CSS3, all the way back in 1999. That being said, these are still powerful tools that can be used to complement each other. Let's talk about the similarities, differences and possible use cases. CSS stands for Cascading Style Sheets. It is a scripting language used to design and style web pages.
arrow
12...456...1516

Get your project estimate

For businesses that need support in their software or network engineering projects, please fill in the form and we’ll get back to you within one business day.

For businesses that need support in their software or network engineering projects, please fill in the form and we’ll get back to you within one business day.

We guarantee 100% privacy.

Trusted by leaders:

Cisco Systems
Palo Alto Services
Equinix
Jupiter Networks
Nutanix