News Aggregator


Deploying Jamstack Sites to Azure

Aggregated on: 2021-11-05 23:35:51

Azure and Static Web Apps Azure is Microsoft’s cloud computing service. Developers use it for building and deploying all sorts of applications and services. Many larger organizations rely on their secure, global data centers for managing enterprise applications. But, an increasing number of smaller teams are embracing the platform, especially ones with quick scale in mind. Recently, Microsoft officially released Azure Static Web Apps at their virtual Code to Scale event. This announcement means that Microsoft users can now use Github CI/CD pipelines and their favorite development tools to deploy static resources and even trigger Azure API functions. 

View more...

The 7 Most Expensive Bugs in History

Aggregated on: 2021-11-05 23:35:51

NASA Mars Climate Orbiter: $193 Million  Nasa’s Mars Orbiter was the second probe in their Mars Surveyor Program, which also included the Mars Global Surveyor that launched in November 1996 and the Mars Polar Lander that launched in January 1999.  They were designed to arrive at roughly the same time to conduct experiments on the surface, climate, and atmosphere of Mars. It was supposed to arrive in orbit on September 23, 1999.

View more...

The Top 5 Data Breaches of the Decade and What We Can Learn From Them

Aggregated on: 2021-11-05 22:05:51

While we entered the new digital world of the 2010s optimistic and trusting, all the major headlines about data breaches at the world’s largest organizations have made us all more cautious. As we enter a new decade, data security has become more relevant than ever before. 

View more...

See Spring Native in Action With the Okta Spring Boot Starter

Aggregated on: 2021-11-05 22:05:51

The Spring team announced a new experimental Spring Native project in the fall of 2020, which gave Spring developers hope for faster startup times. Converting your Spring apps to native executables is what Spring Native is all about, and it does this by using GraalVM. This was a huge announcement because the new kids on the block, Micronaut, and Quarkus, created native executables by default.  When I first heard about Spring Native, I was quite excited. Despite its initial release (v0.8.3) on November 23, 2020, I began using it in September 2020, likely due to SpringOne. How do I know for sure? Because that's when I tried it for the first time and reported an error for the Okta Spring Boot starter. In the waning weeks of 2020, I was able to get things functioning with Spring Security's OAuth dependencies (rather than the Okta starter).

View more...

SLA vs SLO vs SLI: Understanding the Similarities and Differences

Aggregated on: 2021-11-05 21:35:51

The world of Site Reliability Engineering is filled with acronyms — especially ones that start with S. In addition to SRE (which can stand for both Site Reliability Engineering and Site Reliability Engineer), there are three other essential S acronyms to know: SLA, SLO, and SLI. Understanding what SLA, SLO, and SLI mean and how they relate to SRE can be a bit tricky. The differences between the three terms are small yet important, and you don’t want to make the mistake of conflating these terms.

View more...

What is DevOps?

Aggregated on: 2021-11-05 19:50:51

DevOps is a mix of Development and Operations that combines people from a distributed stack, tools used to create efficient applications with the process of development to enable faster delivery of quality products.  By bringing together the people, tools, and processes, DevOps enables rapid development and delivery with a scope of incremental features added to the product.

View more...

Cybersecurity, Data, and Automation: What You Need to Know

Aggregated on: 2021-11-05 16:50:50

What is Cybersecurity? Cybersecurity is defined as how people and organizations can reduce their risk of damage to computer systems and networks. In practice, cybersecurity practitioners fend off cyberattacks, and the rest of us do our best not to fall for online scams. Cybersecurity has become a major focal point in protecting customer data, with so much of what we do now moving online and relying on computers. This is especially true in a post-pandemic era. One study found the number of global data breaches jumped by 273 percent in the first quarter of 2020, compared with the corresponding period in 2019.

View more...

A Brief History of API Management and Where It’s Going

Aggregated on: 2021-11-05 16:20:51

The term “API Management” is used frequently, but it can mean different things to different people. There is no single “right” or “wrong” way to define it, but it is important to understand what somebody refers to when they talk about API Management. One interesting way of looking at the various possible perspectives on API Management is to look at the evolution of API Management and of the API space, in general. Such a view on how the space and how practices have evolved allows us to better understand why terms such as API Management have changed meaning, over time.

View more...

SQL IntelliSense Auto-completion Alternative to SSMS

Aggregated on: 2021-11-05 15:50:51

Is there a SQL developer who wouldn't love to make their daily coding simple and error-free? Would they resist smart assistance with suggestions and autocompletion that eliminate the need to memorize and type everything manually? Would they reject getting quick access to object and parameter information?  The answer to all of these questions is, naturally, no, no, and no. We all want to get rid of monotonous tasks by automating and accelerating them. We all want to focus on more important matters at hand. And that's how we become so picky when it comes to selecting tools for our daily work - for instance, such tools as autocompletion in SQL Server Management Studio. 

View more...

Developer's Guide to Building Notification Systems: Part 1 - User Requirements

Aggregated on: 2021-11-05 15:05:50

So your CTO has just handed you a project to revamp or build your product’s notification system. It seemed like a simple and straightforward project, but you started doing research and realized that not only is the process pretty complicated, there’s not a lot of information online on how to do it. After all, companies like LinkedIn, Uber, and Slack have large teams of over 25 employees working just on notifications. But smaller companies don’t have that luxury - so how can you meet the same level of quality with a team of one? This can certainly be overwhelming, which is why we’ve created a blog post series to guide you through building the best notification system for your company. This is the first post in this series, and we’re introducing you to the essential user requirements for both developers and non-technical users of your notification system.

View more...

Codeanywhere adventures - Getting started with developer decision management tooling (part 4)

Aggregated on: 2021-11-05 14:35:50

In the previous article in this series, we introduced the world of Codeanywhere, a cloud IDE and container development experience all available in just your browser. Are you ready for some more amazing, easy to use, developer tooling that requires not a single tooling installation and no configuration?

View more...

Design Twitter Like Application Using Lambda Architecture

Aggregated on: 2021-11-05 14:35:50

The key necessity of the private social community application is to build a platform for a individuals' network who come together online to socialize and communicate through posting information in the form of images, comments, or messages. Apart from functional aspects, other important dimensions to be considered for designing the social networking platform include: Fault tolerance against hardware failures and human errors. Must include low latency querying as well as updates. Support active communities of millions of users. Usage of open-source big data solutions to reduce costs. Lambda Architecture Lambda Architecture is a very useful framework to think about designing big data applications and distributed data processing systems like social network platforms. It provides a data-processing platform that can support both historic as well as real-time data processing, which is a key necessity for a social community application. The below diagram depicts a suitable architecture of the social community application and high-level details of components involved using this architecture.

View more...

Common Spyware Types and How To Detect Them

Aggregated on: 2021-11-05 14:05:50

Spyware is a type of malicious software or malware that sneaks into the user’s system and gains complete unauthorized access to the system or devices without the user knowing anything. As the name suggests spyware spies on your activities and performs operations like tracking your online activities, reading your personal emails and messages, gaining access to sensitive and critical information like passwords, bank details, and credit card details.  It collects data about your online activities and then forwards the data to an external server without your knowledge or consent. 

View more...

Apache Spark: All About Serialization

Aggregated on: 2021-11-05 14:05:50

In Distributed Systems, data transfer over the network is the most common task. when not handled efficiently we may end up facing numerous problems like high memory usage, network bottlenecks, and performance issues. Serialization plays an important role in the performance of any distributed application to eliminate several issues that come with data transfer over network of distributed systems. Serialization  Converting objects into a stream of bytes and vice-versa(De-Serialization) in an optimal way to transfer over nodes of network or to store it in file/memory buffer. Spark provides two serialization libraries with supported and configured modes through spark.serializerproperty: Java Serialization (Default) Java Serialization is the default serialization that is used by Spark when we spin up the driver. Spark serializes objects using Java’s ObjectOutputStream framework. The serializability of a class is enabled by the class implementing the java.io.Serializable interface. Classes that do not implement this interface will not have any of their state serialized or deserialized. All subtypes of a serializable class are themselves serializable.

View more...

AWS CLI – Basics

Aggregated on: 2021-11-05 13:35:50

Introduction You might be using the AWS web console for managing your infrastructure. However, the AWS web console is really ideal for once in a while kind of tasks. As you get more serious about building your AWS footprint, you’ll need to automate. Meet AWS CLI, which makes it relatively easy to launch any AWS action from the command line on your own PC, to make managing and repeating your admin tasks easier.

View more...

Quarkus for Spring Developers: Kubernetes-native Design Patterns

Aggregated on: 2021-11-05 13:35:50

Microservice applications designed today are often deployed on a platform such as Kubernetes. This platform can orchestrate the deployment and management of containerized microservices. Microservices development calls for sophisticated patterns, such as health checks, fault tolerance, load balancing, distributed tracing, and remote debugging and development. Because of this, it is essential to adopt technologies and frameworks that support these patterns while also providing a great developer experience. This article will discuss some of these patterns and showcase why Quarkus is ideal for Kubernetes-native Java applications.

View more...

10 VS Code Extensions to Fight Technical Debt

Aggregated on: 2021-11-05 13:35:50

Many engineering teams get stuck and cannot ship quality software fast because of technical debt. The best engineering teams I’ve talked to use the right tools to continuously refactor code, improve their codebase communication, and address technical debt. Here are 10 VS Code extensions that’ll help you navigate the production landscape.

View more...

Saying "NO" - A Superpower

Aggregated on: 2021-11-05 13:05:50

While becoming more proficient at coding and learning new frameworks definitely helps, there are some key superpowers that can make you stand out even more as a distinguished engineer. These help you not only to avoid burnout but also to have long-term continued success. To expand on this, here are some key benefits that you unlock by practicing this superpower:

View more...

Add gRPC to Your Java Application

Aggregated on: 2021-11-05 04:35:50

gRPC is a high-performance, open-source universal RPC framework.There are various benefits to using gRPC. It simplifies development by providing client/server code. It supports multiple languages. It all starts with defining a .proto file, .proto files reside on src/main/proto file.

View more...

Power Up Your Rails Apps With a NewSQL Database

Aggregated on: 2021-11-04 21:50:50

If you are a Ruby on Rails developer, I think you'll really enjoy this article. It aims to help you get started with TiDB, an open-source NewSQL database, and use it to power up your Rails applications. Use TiDB to Build Up Your Ruby on Rails Applications TiDB is an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. It is MySQL compatible and features horizontal scalability, strong consistency, and high availability.

View more...

Easy Local Development with TiDB

Aggregated on: 2021-11-04 21:05:50

When you develop an application, you begin by coding and testing in your local environment. Many applications interface with a database, so in this early stage, you might use SQLite rather than the database brand used in production. This is an issue, however, because ideally, you want to develop the application with the production database in mind. When using a distributed system setting up and starting/stopping the components needed for this can become error-prone and time-consuming.

View more...

Create and Deploy a Laravel Application Using a Low-code Approach

Aggregated on: 2021-11-04 21:05:50

In this post, I want to show how quickly and easily Laraboot can help you create a solid starting point for your next Laravel application, including models, CRUD routes, and Jetstream integration. Best of all, we won’t have to write any code. Once we got the application ready we will use AWS ECR to deploy it.

View more...

Data Table Filtering Using a D3 Timeline

Aggregated on: 2021-11-04 20:50:50

Here I am going to explain how we can implement data table filtering using a timeline. It will be a great approach to interact with records in a table and also to have better visualization of the data. To make this happen, I will use Angular framework, D3.js, moment.js, and a bit of Bootstrap.  Getting Started Start with generating an Angular application :

View more...

Spinnaker Meets Minikube: Part 3

Aggregated on: 2021-11-04 20:50:50

In the previous posting, we build a Spinnaker pipeline to pull images from Dockerhub to deploy to a Minikube cluster. In this article, we will build a pipeline that deploys to a second staging environment after waiting for the go-ahead from an approval step. Kustomize will, furthermore, be used to illustrate how Spinnaker utilizes its built-in kubectl command to manage configurations from one environment to the next.  Requirements The hard yards have been done and it is time for play. Only Kustomize will be added to the soup. Do not despair should you not be familiar with it. This write-up serves as an excellent introduction to Kustomize.

View more...

Migrating a Spacecraft Engineering Model in UML to a Knowledge Graph

Aggregated on: 2021-11-04 19:35:50

Goal: Migrate the UML-based engineering model of a spacecraft to TypeQL Why Do This Migration in the First Place? The spacecraft lifecycle is roughly divided into seven consecutive design phases. Part of the early design phases deals with the feasibility of the intended mission. Feasibility is identified by assessing each design aspect that is needed to accomplish the specific mission. This requires that engineers lay out all possible design options and iteratively go through them in relation to all the other engineering design options, ultimately ending up with a sound system solution.

View more...

The Most Common Blind Spots in DevOps Governance and Compliance

Aggregated on: 2021-11-04 19:35:50

If you work in a highly regulated industry, audits are a fact of life. Yet somehow, even though you know they’re coming, audits never seem to get any easier for your development team. Why is that? In many organizations, auditing is still an arduous fire drill. If your team isn't sufficiently prepared for an audit, it can be disruptive and invasive for everyone — leading to unplanned work and delayed progress.

View more...

Export Mulesoft Application Logs To Amazon Cloudwatch

Aggregated on: 2021-11-04 19:35:50

Application logging plays an important role in any software development projects. As much as we’d like our software to be perfect, issues will always arise within a production environment. When they do, a good logging strategy is crucial because it contains information about application events, messages, errors, and warnings, along with a few other informational events. This article will provide deep insight on how you can export your application logs to other monitoring & operational metrics tools such as Amazon CloudWatch. We will be using the popular Log4j2 library in this example.

View more...

Understanding Eclipse's Plugin Build

Aggregated on: 2021-11-04 19:35:50

This article provides a concise definition of the term Eclipse Plugin for the purpose at hand: What Is This Plugin Thing You Are Talking About? When we say 'Plugin' in this article, we mean an OSGi bundle that is running on an Eclipse runtime which has the Equinox Extension Point Registry installed.

View more...

Kali Linux vs Parrot OS: Which One Is the Best?

Aggregated on: 2021-11-04 19:35:50

Linux is a well-known operating system that is known to many developers and security hackers. Many Linux distributions in the market are flexible based on the workflow if you are a hacker, bug bounty hunter, penetration tester, or security researcher.  Linux has a diverse set of distributions that are accessible, but the most famous among the distributions is the Kali Linux operating system. Kali Linux and Parrot OS are among the most favored operating system of ethical hackers and penetration testers to carry out testing and ethical hacking. 

View more...

Challenges of AI in the Media Industry and How Developers Are Facing It

Aggregated on: 2021-11-04 19:35:50

Different industries today are adopting AI techniques to improve user experience in their own domains. AI in media has one of the most significant impacts on users with a high percentage of people resorting to media entertainment while being confined to their homes for the better part of the last two years. Subtitling, for example, has opened doors to the consumption of content from all over the globe, and has broken barriers of language that long restrained content consumption for users. As alluring and attractive as these new AI solutioning services may seem, on the backend, it has increased stakes for developers who have had to deal with a whole new list of challenges while dealing with this new technology and its limitless scope. Understanding the Different Use Cases As a developer, it is important to be able to understand a given business use case and decide whether pursuing the same with the help of artificial intelligence is the best approach. In the media industry, use cases like video subtitling and recommendation systems for content are appropriate to use cases that can leverage the abilities of artificial intelligence. Meanwhile, use cases like automation for managing equipment required in a studio may already have better-implemented solutions in the market that can be utilized rather than using AI. Being able to make the right call at the very beginning is a challenge for some developers.

View more...

Best Practices for TiDB Load Balancing

Aggregated on: 2021-11-04 19:35:50

Load balancing distributes connections from applications to TiDB Server instances. This helps to distribute the load over multiple machines and, depending on the load balancing option, can automatically reroute connections if a TiDB instance becomes unavailable. Load Balancing Types There are many different ways to implement a load balancer. This section describes the most common types.

View more...

How Prototyping Saves You Key Development Time

Aggregated on: 2021-11-04 19:35:50

Developing websites and apps for your business takes time. Don’t waste precious time relying only on developing alpha, beta, and final release models. There are more than 3 stages when developing a website or app. Prototyping is the blueprint stage of creating a product when designers go from laying the foundation for the design to creating a lifelike replica of how the website or app should work. When prototyping, there are many stages, such as creating the user journey, creating basic sketch outlines, and creating the prototype app with real animations and interactions. Using prototyping is faster than developing because of basic concepts such as drag and drop that help product teams quickly develop a webpage from scratch. Below are five ways prototyping helps a product team and the overall product be more impactful on the targeted audience.

View more...

Creating Light and Dark Themes for Websites The Right Way Using prefers-color-scheme

Aggregated on: 2021-11-04 19:35:50

You’re likely already familiar with media queries. They’re in widespread use for making websites responsive. The width and height properties contain the viewport’s dimensions. We then use CSS to render different layouts at different dimensions. The prefers-color-scheme media query works the same way. The user can configure their operating system to use a light or dark theme. prefers-color-scheme contains that value. The value is either light or dark, though the W3C spec states that it might support future values like sepia. We specify different values of CSS variables for both modes and let the user’s OS decide.

View more...

MariaDB Encryption (TDE) Using MariaDB’s File Key Management Encryption Plugin

Aggregated on: 2021-11-04 18:05:50

Transparent Data Encryption (TDE) encryption is one of the most common customer requirements. MariaDB supports TDE and provides a variety of options for implementing it. This blog discusses implementing TDE at the database layer using MariaDB’s File Key Management Encryption Plugin. This blog is the first in a series regarding data-at-rest encryption. In this blog, I answer the following questions:

View more...

Convergence in Cybersecurity and Cloud Operations: Lessons From NOC and SOC Fusion

Aggregated on: 2021-11-04 18:05:50

The IT organizational structure is in massive flux, as traditional models no longer fit the modern demands of cloud infrastructure and digital transformation. While this is happening in many different shapes and forms, one of the most interesting shifts is the convergence happening between network operations centers (NOC) and the security operations center (SOC) teams. To understand why this is not just interesting but also critical, let me give an example. In one company, the SOC team investigated a suspect data breach for ten days without alerting any other part of the organization. During this period the SOC team searched for new information, stopping when they needed more data, and looking at the traffic that seemed nefarious. Their approach prevented any communication across other stakeholders. Neither the legal or internal press team was aware that a crisis might have been happening. No one else provided additional input or data or was engaged to help thwart the event.

View more...

Major Cross-browser Compatibility Issues Faced by the Developers

Aggregated on: 2021-11-04 16:50:50

Introduction The software market is constantly growing, and so are the browsers and devices. Customers are no more naive in choosing the best websites to fulfill their needs. So, it becomes necessary for the business to offer them the best user experience and services. There are so many browsers that come with new versions from time to time, making it difficult for the developers to deal with the cross-browser compatibility issues.  Cross-browser compatibility is the most critical aspect that needs special attention of the developers and has always been challenging to handle because of the different working mechanisms of various browsers available. It becomes even more complicated when it involves different device-operating system combinations. So finding how to solve cross-browser compatibility issues is a high priority job of the developers and critically important to the business.

View more...

Condition Monitoring: A Pillar of Industry 4.0

Aggregated on: 2021-11-04 16:05:50

Importance of Condition Monitoring in Industrial 4.0 Era Traditional manufacturing relies on manual health checks or scheduled maintenance checks to optimize productivity. Facing a growing shortage of workers, manufacturing is forced to become leaner and rely more on connected solutions to meet demands with desired quality at competitive price points. With Industry 4.0, the focus is shifting to improving operational efficiencies through automation. And condition monitoring solutions are front and center among the key IIoT technologies behind Industry 4.0. They leverage predictive and cognitive analytics as well as machine learning to automate and streamline preventive maintenance. Simply put, Condition Monitoring refers to monitoring parameters that reflect the health of a machine or asset. The condition data is ingested using IIoT technologies and analyzed for Predictive Maintenance purposes. However, Product Quality Control is not the only benefit that condition monitoring systems offer.

View more...

Using AsciiDoc To Generate Self-Contained Files

Aggregated on: 2021-11-04 16:05:50

When writing the top-level README.adoc for a project hosted on GitHub or GitLab, the file is converted to HTML automatically so the user can read the file, follow any links, etc. But what if you need self-contained HTML, PDF, or Docx files to share on a network drive, store in confluence, or email someone? What if your document needs to refer to images generated by CLI tools from text formats? What if you need to write a long document and (like me) just detest all that clicking and farting around in Word, but need to provide a Word doc to others?

View more...

Production Horrors – Handling Disasters: Public Debrief

Aggregated on: 2021-11-04 14:35:50

Halloween is probably the most appropriate time to start this new blog series. I talk a lot about theory in this blog, but when you’re on the front line of a production disaster, it “gets real” very fast. People often think of production disasters as crashes or sites going down like the recent Facebook downtime. While that’s an interesting subject, a lot of these things can go under the radar and hit you like a brick wall.  Today’s horror story is about a young startup that nearly went bankrupt because of caching. I was the founder of this company and I  wrote quite a bit about this in the past. It’s been a few years since and while it still hurts, I hope I can write in a more detached voice this time around.

View more...

Migrating Couchbase Bucket Based Data to Scopes and Collections via Eventing

Aggregated on: 2021-11-04 13:20:50

Migrating to Scopes and Collections in Couchbase 7.0 First I want to point out an excellent blog written by Shivani Gupta, How to Migrate to Scopes and Collections in Couchbase 7.0, which covers in great detail the non-Eventing methods of migrating bucket-based documents to Scopes and Collections in Couchbase. I encourage you to also read about the multiple non-Eventing methods that Shivani touches upon. Whether you’re new to Couchbase or a seasoned vet, you’ve likely heard about Scopes and Collections. If you’re ready to try them, this article helps you make it happen.

View more...

Creating More Intuitive Java APIs With Optional

Aggregated on: 2021-11-04 12:20:50

Creating intuitive APIs is a very important skill for you to reduce the chances of bugs and make your software more maintainable. When you don’t create intuitive APIs, your code becomes error-prone and the developers (including you) may misuse an API. Let’s see an example of a non-intuitive API.

View more...

No-code Is for Coders Too

Aggregated on: 2021-11-04 11:50:50

There is a common misconception that no-code (or codeless) platforms and tools are only for non-technical builders. This, of course, couldn’t be further from the truth. No-code and low-code solutions are typically created by developers as a tool to speed up their own development process. This is particularly true of backend-oriented tools created to automate the redundant and/or trivial tasks that are common with setting up a backend. Once the “simple” tasks are removed, developers can focus on the elements of their project that are true differentiators, be that a gorgeous UI, innovative APIs, powerful logic and algorithms, and so on.

View more...

Visualize Stripe Payments Data in Postgres Using SQL

Aggregated on: 2021-11-04 11:20:50

When accepting payments online through Stripe, the built-in tools will be adequate to understand how your business is doing. At first. But Stripe Dashboard has some limitations:

View more...

How To Reduce Context Switching as a Developer

Aggregated on: 2021-11-04 10:20:50

Constantly switching between different tasks requires your brain to jump from one thought process to another. Developers often prefer long blocks of uninterrupted work to get into a so-called state of flow or deep work. For that reason, context switching prevents developers from reaching this state of flow. Some of the most common reasons for productivity loss are:

View more...

6 Types of AI Bias Everyone Should Know

Aggregated on: 2021-11-04 10:20:50

In my previous blog, we looked at the difference between Bias, Fairness, and Explainability in AI. I included a high-level view of what Bias is but this time we’ll go into more detail. Bias appears in machine learning in lots of different forms. The important thing to consider is that training a machine learning model is a lot like bringing up a child.

View more...

O2 a better OOP

Aggregated on: 2021-11-04 10:20:50

Since I arguably made 30 million developers angry with my last rant about OOP, I wanted to explain myself a bit more, since I don't hate OOP. In fact, quite the contrary, OOP is amazing, but for me it's like half a brain. It's nice to have half a brain, but it's better to have the whole brain. And if OOP is half the brain, then functional constructs are the rest of the brain. Before we proceed, look at this code please. It's basically a Dictionary with a string as its key and a Func (strongly typed lambda object) as its value. Then realise that this is a functional programming structure, implemented in C#. Below is its code in its entirety.

View more...

Simplifying “No Data” Applications

Aggregated on: 2021-11-03 22:35:49

What Is a “No Data” Application There are a lot of data-driven lines of business applications that will never have a million rows before they get replaced by something else. I call these "no data" applications because they have so little data the database server will never require many optimizations if any. The default settings are good enough. Postgres can find any row out of a million on your corporate craptop in a relatively slow docker for windows container in 2 ms with any reasonable index. Oddly enough, it will get much faster performance in the cloud, where the vendor has undoubtedly optimized the database code for their particular infrastructure.

View more...

Single Responsibility Principle: The Most Important Rule in the Software World

Aggregated on: 2021-11-03 22:35:49

Today, my dear readers, we will talk about the Single Responsibility Principle, or SRP, which is, in my opinion, the single most important rule in the whole software world. Its touch can be seen on almost all levels of our systems: from single class to whole application (no matter the size and architecture used) design. I will start by bringing up some basics about what the SRP is — just for everyone to be on the same page. Then I will present all places where the SRP’s touch is particularly visible. I will also add some unfunny memes in the meantext.

View more...

Idempotent Design Pattern in Mule 4

Aggregated on: 2021-11-03 22:05:49

Introduction Sometimes the same request message gets delivered more than once. It could be that the message receiver is not sure whether the message has been successfully delivered or not, or it could be that the code is not configured to check duplicates. To get rid of duplicates, we have to adapt an idempotent design pattern, which will send unique messages to the system.

View more...

How to Avoid Stalling in Reactive Java Applications

Aggregated on: 2021-11-03 21:05:49

These days, apps must be able to handle high loads and hordes of concurrent users without crashing. One scaling strategy involves increasing the number of available threads, to get around the issue of blocking code in traditional Java apps. When latency comes into play, many of these extra threads become inactive and waste resources. Writing asynchronous non-blocking code boosts performance by allowing the execution to switch to another function while the asynchronous process completes.

View more...