News Aggregator


How To Automate Shadow DOM in Selenium WebDriver

Aggregated on: Wed Jul 26 2023 17:01:17 GMT+0000 (Coordinated Universal Time)

I came across one of the test cases in my previous projects where I had to click on a button to navigate to the next page. I searched for the element locator of the button on the page and ran the tests hoping it would click the button and navigate to the next page. But to my surprise, the test failed as it couldn’t locate the element, and I received NoSuchElementException in the console logs. I was not happy to see that error as it was a simple button that I was trying to click, and there was no complexity.

View more...

Reliable Microservices Data Exchange With Streaming Database

Aggregated on: Wed Jul 26 2023 16:01:17 GMT+0000 (Coordinated Universal Time)

Nowadays, we usually build multiple services for a single product to work, and client apps need to consume functionality from more than one service. Microservices architecture has become a popular approach for building scalable and resilient applications. In a microservices-based system, multiple loosely coupled services work together to deliver the desired functionality. One of the key challenges in such systems is exchanging data between microservices reliably and efficiently. One pattern that can help address this challenge is the Outbox pattern. In this article, we will explore how to implement the outbox pattern with a streaming database which can provide a reliable solution for microservices or multiple services data exchange.

View more...

Edition-Based Redefinition: Revolutionizing Online Application Upgrades

Aggregated on: Wed Jul 26 2023 14:01:17 GMT+0000 (Coordinated Universal Time)

In today's fast-paced digital landscape, businesses need to adapt and upgrade their applications without interrupting their operations. Traditional application upgrades often require downtime, causing inconvenience for users and potential revenue loss for companies. However, with edition-based redefinition (EBR), a revolutionary feature introduced in Oracle Database 11g Release 2, businesses can now perform online application upgrades seamlessly, ensuring uninterrupted availability and a superior user experience. In this comprehensive guide, we will explore the concept of edition-based redefinition and its significance in achieving high availability during application upgrades. We will delve into the capabilities offered by EBR, understand how it works, and discuss its benefits and use cases. So, let's embark on this journey to discover how edition-based redefinition is transforming the landscape of online application upgrades.

View more...

Introduction to Data Structures

Aggregated on: Wed Jul 26 2023 12:46:17 GMT+0000 (Coordinated Universal Time)

Data structures are fundamental components of computer programming that allow for the organization and manipulation of data in a manner that is efficient, flexible, and accessible. A data structure is essentially a collection of data items that are organized in a specific way to facilitate their management and utilization within a computer program. There are a wide variety of data structures that have been developed over the years, each with its own unique strengths and weaknesses.  Data structures are an essential component of computer science and software engineering. They are used to organize and manage data in a way that makes it easy to access, modify and store. Data structures can be broadly categorized into two types - linear and non-linear. Linear data structures are those in which the data elements are arranged in sequential order, while non-linear data structures are those in which the data elements are arranged in a hierarchical or tree-like structure.

View more...

Explainability of Machine Learning Models: Increasing Trust and Understanding in AI Systems

Aggregated on: Tue Jul 25 2023 21:01:17 GMT+0000 (Coordinated Universal Time)

There have been major advances made in the use of machine learning models in a variety of domains, including natural language processing, generative AI, and autonomous systems, to name just a few. On the other hand, as the complexity and scale of models increase, the visibility of how they work inside decreases, which results in a lack of transparency and accountability. The idea of a model's ability to be explained has recently come to the forefront as an important field of research to address this problem. This article explores the significance of machine learning model explainability, as well as the difficulties associated with it and the solutions that have been devised to improve interpretability. Explainability, which enables model openness and insights that humans can understand, not only builds trust in AI systems but also fosters the responsible adoption of AI in applications that are used in the real world. Concerns regarding the lack of interpretability in the decision-making processes of artificial intelligence (AI) and machine learning (ML) models have been raised due to the increasing integration of these models in various domains. The ability of artificial intelligence systems to provide insights into their predictions or classifications that are comprehensible to humans is referred to as model explainability. This article explores the significance of explainability in models, its applicability to various fields, and the influence that interpretability has on the reliability of artificial intelligence.

View more...

Navigate Serverless Databases: A Guide to the Right Solution

Aggregated on: Tue Jul 25 2023 20:01:17 GMT+0000 (Coordinated Universal Time)

Serverless architecture, a paradigm that has been around for several years, has been transforming the way we build and deploy applications. In this approach, developers can focus on writing code without worrying about the underlying infrastructure. Instead of managing servers or virtual machines, they can rely on cloud providers to handle the scaling, maintenance, and availability of their applications. While Serverless architecture has been around for a long time, it is only in recent years that the concept of Serverless databases has gained significant attention. Traditionally, databases, with their stateful and performance-sensitive nature, posed challenges in adopting a Serverless approach. However, the essence of databases is to simplify data management, allowing developers to concentrate on their core business goals. In this context, exploring and understanding Serverless databases can be valuable in the sense of enabling developers. 

View more...

Database APIs: Benefits, Limitations, and When You Should Switch to Datasets

Aggregated on: Tue Jul 25 2023 18:46:17 GMT+0000 (Coordinated Universal Time)

Choosing the right data solution for your business can be a challenging process because there's a wide selection of them, and even the same data can be processed and packaged differently. I'm here to help you understand when you should consider using database APIs, why this solution is popular, and when it might not be the right choice for your company.

View more...

Battling Technical Debt

Aggregated on: Tue Jul 25 2023 18:46:17 GMT+0000 (Coordinated Universal Time)

This is an article from DZone's 2023 Development at Scale Trend Report.For more: Read the Report When we talk about technical debt, we're talking about an accumulation of legacy systems, applications, and data that have suffered from a lack of code reviews, bug testing, and comprehensive documentation. Not all technical debt is inherently bad compared to the commercial and end-user benefits of meeting application deadlines and shipping faster than your competitors; however, there does come a time when unaddressed technical debt can leave a company in a world of pain. 

View more...

Building Resilient, Scalable Cloud-Native Applications

Aggregated on: Tue Jul 25 2023 16:46:17 GMT+0000 (Coordinated Universal Time)

This is an article from DZone's 2023 Development at Scale Trend Report.For more: Read the Report Back in 1986, I relocated to Boulder, CO, to work for my uncle's start-up company. When we arrived at the office that first day, he helped me to a nearby desk supporting a Compaq Portable computer. On top of the system was a book focused on using dBase II. My job was to build an application to track orders for his company. My uncle knew I had an interest in computers, and I couldn’t wait to get started. This became my first experience in learning how applications were built in an era of microcomputers. The flow was quite simple: 

View more...

How Do I Run My Go Applications in a Serverless Way?

Aggregated on: Tue Jul 25 2023 15:01:17 GMT+0000 (Coordinated Universal Time)

The Go programming language has always had rich support for building REST APIs. This includes an excellent standard library (net/HTTP) along with many popular packages such as Gorilla mux, Gin, Negroni, Echo, Fiber, etc. Using AWS Lambda Go runtime, you can use Go to build AWS Lambda functions. Imagine a web app that needs to authenticate users, store user data, and send emails. A Serverless approach for this would be to implement each functionality/API as a separate Lambda function. For example, you could have a Lambda function to handle user registration, another to handle user login, and so on.

View more...

Python Variables Declaration

Aggregated on: Tue Jul 25 2023 14:31:17 GMT+0000 (Coordinated Universal Time)

This article will explore the intricacies of Python variables declaration, including its syntax, data types, and best practices. We will answer frequently asked questions to solidify your understanding of this crucial concept.  Python, a powerful and versatile programming language, provides developers with various tools and functionalities to build robust applications. One of the fundamental aspects of Python programming is a variable declaration. 

View more...

Application Integration

Aggregated on: Tue Jul 25 2023 12:46:17 GMT+0000 (Coordinated Universal Time)

In today's interconnected digital landscape, businesses rely on a multitude of software applications to manage various operations and functions. However, these applications often operate in isolation, resulting in data silos, inefficient workflows, and fragmented customer experiences. This is where application integration becomes crucial. Application integration refers to the process of seamlessly connecting different software applications to enable data flow, streamline processes, and enhance overall business efficiency. It has become increasingly important as organizations strive for a unified and holistic approach to their operations.

View more...

Two Is Better Than One: How To Combine AI and Automation to Create a Powerful Quality Engineering Process

Aggregated on: Tue Jul 25 2023 12:46:17 GMT+0000 (Coordinated Universal Time)

Over the past decade, the rapid pace of innovation has created a seemingly ever-evolving digital landscape. Due to this changing technological space, organizations are eager to implement tools and adopt platforms and applications that allow them to operate more efficiently and serve customers more effectively. For instance, AI has become increasingly popular as a way to optimize and enhance processes, better differentiate and compete in the marketplace, engage with customers, build new business models, and more. While AI is an excellent tool to bolster almost any operation, combining it with automation can create even more efficient processes. This super-tool is called AI-assisted automation.  For Quality Engineering, in particular, three forms of AI have already proved to be very useful when layered with automation:  visual AI, self-healing AI, and risk AI. When these types of AI are combined with automation, Quality Engineering can be enhanced, and companies can become more efficient. 

View more...

Safeguarding the IoT Landscape With Data Masking Techniques

Aggregated on: Tue Jul 25 2023 04:16:16 GMT+0000 (Coordinated Universal Time)

As businesses aim to provide personalized experiences to their customers, they are increasingly integrating connected IoT devices into their operations. However, as the IoT ecosystem expands, protecting data from malicious individuals who may try to access and misuse personal information becomes essential. According to MarketsandMarkets forecasts, the global IoT security Market size will grow from USD $20.9 billion in 2023 to USD $59.2 billion by 2028 at a Compound Annual Growth Rate (CAGR) of 23.1% during the forecast period.  One of the key strategies for safeguarding data in this complex ecosystem is data masking. It can impact the IoT landscape and its role in protecting Personally Identifiable Information (PII), preserving data utility, and mitigating cybersecurity risks.

View more...

Yes! OpenTelemetry Is a Critical Part of Securing Your Systems

Aggregated on: Tue Jul 25 2023 03:31:16 GMT+0000 (Coordinated Universal Time)

OpenTelemetry (OTel) is an open-source standard used in the collection, instrumentation, and export of telemetry data from distributed systems. As a framework widely adopted by SRE teams and security teams, OTel is more than just one nice-to-have tool among many; it is critical. In this post, we’ll explore the role that OTel plays in system security. We’ll look at how telemetry data is used to secure systems along with how OTel securely handles telemetry data. Then, we’ll consider concrete practices — basic and advanced — that you can adopt as you use OTel in your organization.

View more...

Three Stages of the Product Development Process

Aggregated on: Mon Jul 24 2023 21:31:16 GMT+0000 (Coordinated Universal Time)

A product can be anything; a product manager's role and responsibilities change across different industries. In this post, I will remove some myths about the Product Manager role and share a bird-eye view of the product development process and some frameworks that may be useful in remembering the overall process. Product Manager Role Product Managers are not managers of anybody except for school interns who aspire to become product managers themselves. The PM acts as a central node in the product development process and is ultimately responsible for the product's success. The role brings all the viewpoints together and is designed with no direct reports so that the engineering/design team can develop an open-communication relationship to express their ideas and concerns.

View more...

How To Download and Install Maven?

Aggregated on: Mon Jul 24 2023 21:01:16 GMT+0000 (Coordinated Universal Time)

The Apache Group created the well-liked open-source build tool Maven to build, publish, and deploy multiple projects simultaneously for improved project management. The lifecycle framework can be built and documented using the provided tool.  Maven is built in Java and is used to create projects in C#, Scala, Ruby, and other languages. This tool, which is based on the Project Object Model (POM), has made the life of Java developers simpler when producing reports, checking builds, and testing automated settings. 

View more...

Improving Inventory Management Using Machine Learning and Artificial Intelligence

Aggregated on: Mon Jul 24 2023 19:31:16 GMT+0000 (Coordinated Universal Time)

In today's digital age, managing inventory efficiently and accurately is a challenge that many businesses face. The use of Artificial Intelligence (AI) can greatly enhance the effectiveness of inventory management systems, helping to forecast demand, optimize stock levels, and reduce waste. Let's delve into the details and illustrate with practical examples. AI has the ability to analyze large amounts of data quickly and accurately. In inventory management, this translates into capabilities like predicting product demand, identifying patterns in sales, detecting anomalies, and making recommendations for restocking. Here's how you might use AI to accomplish these tasks:

View more...

Tips To Keep Track of Code and Infrastructure Security Risks

Aggregated on: Mon Jul 24 2023 18:31:16 GMT+0000 (Coordinated Universal Time)

Nowadays, most people take it as a fact that the software we use daily is secure, and that is not really representative of the reality we live in in the software industry. A lot of the software on the market today has been written with the priority of being in production as soon as possible and without much consideration for the security aspect. This neglect of code and infrastructure security risks poses a significant threat. A single security vulnerability can lead to a wide variety of problems, including data breaches, financial losses, legal concerns, and a long list of harms to customers and to companies as well. In this article, we will go through potential security vulnerabilities that can be found in the code and in the infrastructure, specifically focusing on code and infrastructure security risks. By understanding these risks, we can better address the challenges associated with maintaining secure software systems. Additionally, we will explore some metrics that can be useful to keep track of potential security vulnerabilities and mitigate them effectively.

View more...

Continuous Integration for iOS and macOS

Aggregated on: Mon Jul 24 2023 17:46:16 GMT+0000 (Coordinated Universal Time)

This is an article from DZone's 2023 Development at Scale Trend Report.For more: Read the Report The no-code approach to continuous integration (CI) on mobile projects works reasonably well when teams start with one or two developers, a small project, and a cloud service. Over time, as a team grows and a project becomes more complex, it is natural to transition to self-hosted runners for faster feedback, more reliable tests, and code in production. This is the low-code approach to automation, as it has evolved. 

View more...

Transforming Text Messaging With AI: An In-Depth Exploration of Natural Language Processing Techniques

Aggregated on: Mon Jul 24 2023 16:31:16 GMT+0000 (Coordinated Universal Time)

In today's fast-paced world, text messaging has become an integral part of our daily communication. With billions of messages exchanged every day, the need for more efficient, engaging, and personalized messaging experiences has grown exponentially. Thanks to the advancements in Artificial Intelligence (AI) and Machine Learning (ML), we are witnessing a transformative shift in the way text messaging platforms operate. This article delves into the deep technical aspects of how Natural Language Processing (NLP) techniques are at the forefront of this transformation, enhancing the capabilities of text messaging and revolutionizing the way we communicate. Understanding Natural Language Processing At the core of the AI revolution in text messaging lies Natural Language Processing. NLP is a subfield of AI that focuses on enabling machines to understand, interpret, and generate human language. Its applications in text messaging encompass a wide range of tasks, such as sentiment analysis, part-of-speech tagging, named entity recognition, and more. NLP algorithms process unstructured text data and extract meaningful information, paving the way for more intelligent and context-aware conversations. 

View more...

Is It Okay To Stop Running Your Tests After the First Failure?

Aggregated on: Mon Jul 24 2023 15:46:16 GMT+0000 (Coordinated Universal Time)

Running tests is the necessary evil. I have never heard two or more engineers at the water cooler talking about the joys of test execution. Don't get me wrong, tests are great; you should definitely have plenty of them in your project. It is just not a pleasant experience to wait for their execution. If they start to fail, that is even worse. Most probably, someone could become very popular if they could reliably tell which tests will fail before executing them. As for the rest of us, I think we should keep running our tests. Can We Somehow Reduce the Execution Time at Keast? We can at least try! We could start by understanding the problem more and looking at solutions later.

View more...

Data Warehouse Using Azure

Aggregated on: Mon Jul 24 2023 15:31:16 GMT+0000 (Coordinated Universal Time)

Businesses in the modern, data-driven economy significantly rely on data to make wise decisions. A data warehouse is an essential part of data architecture because it offers a centralized location for storing, managing, and analyzing massive amounts of data from many sources. Microsoft Azure provides a robust and scalable platform for developing and deploying data warehouses. With the help of real-world examples, we will walk you through the steps of creating a data warehouse using Azure services in this step-by-step manual. 1. Requirements It's important to have a clear understanding of your data warehouse requirements. Identify the different data sources, the volume of data, the types of data, and the reporting and analytics needs. Connect with stakeholders to create a solid foundation for your data warehouse project.

View more...

Software Project Management Methodologies

Aggregated on: Mon Jul 24 2023 12:31:16 GMT+0000 (Coordinated Universal Time)

Software development projects are complex endeavors that require careful planning, execution, and monitoring to ensure successful outcomes. Software project management methodologies are a set of practices, techniques, and frameworks that guide the planning, execution, and control of software projects. These methodologies are designed to ensure that software development projects are completed on time, within budget, and meet the quality requirements of stakeholders. These methodologies provide a systematic approach to software development, from planning to deployment, to ensure that the software project is completed on time, within budget, and meets quality standards. Several software project management methodologies are widely used in the industry. Each methodology has its own unique characteristics, advantages, and disadvantages and is suitable for different types of projects.

View more...

Getting Started With Raspberry Pi Pico Programming in IoT

Aggregated on: Mon Jul 24 2023 04:31:16 GMT+0000 (Coordinated Universal Time)

Raspberry Pi Pico is a popular microcontroller (MCU) option for hobbyists and IoT professionals alike. It holds a special place in the IoT world because of its small physical size paired with relatively high processing power and low energy consumption.  Add to that the huge mainstream adoption of its larger siblings (Raspberry Pi 1 through 4) making Raspberry Pi hardware well-known throughout the IoT world. The Pico is also exceptionally cheap, especially compared to the siblings, and you can get started with one in just minutes. You don’t need extensive programming knowledge, and there’s enough documentation online to keep you busy experimenting for weeks on end.  

View more...

E-commerce Cybersecurity: How to Protect Customer Data and Online Transactions

Aggregated on: Mon Jul 24 2023 04:01:16 GMT+0000 (Coordinated Universal Time)

With the COVID-19 outbreak, the e-commerce industry experienced significant growth, as the demand for online sales increased exponentially. With the decrease in live sales, multiple organizations, which ignored the online world or just hadn’t prioritized this marketing and sales channel before, understood the importance of e-commerce. Nevertheless, organizations became vulnerable right after applying e-commerce tools and practices. E-commerce is, in many ways, about operating sensitive data including personal details and financial information. This fact poses specific and strict demands to cybersecurity in e-commerce—whenever a site falls victim to a global incident or clients just have the reason to doubt the protection of their data, you lose reputation and profits.

View more...

Introduction to Lean Methodology

Aggregated on: Sun Jul 23 2023 13:46:15 GMT+0000 (Coordinated Universal Time)

In today’s fast-paced business world, efficiency and productivity have become key drivers of any company’s success. One of the most effective ways to achieve this is to adopt the Lean methodology. Lean is a customer-centric approach that focuses on reducing waste, improving quality and maximizing value for the customer. In this article, we will explore the history, principles and benefits of the Lean method. History of Lean Methodology The lean method originated in Japan in the 1950s and 1960s. The Japanese car manufacturer Toyota was the pioneer of this approach. The company faced several challenges at the time, including high costs, low productivity, and quality issues. Toyota’s management realized that the traditional manufacturing approach, which focused on producing large batches, was not efficient. They found that this led to overproduction, excess inventory, and long lead times.

View more...

The State of Data Streaming for Retail in 2023

Aggregated on: Sun Jul 23 2023 13:16:15 GMT+0000 (Coordinated Universal Time)

This blog post explores the state of data streaming for the retail industry in 2023. The evolution of omnichannel customer experiences, hybrid shopping models, and hyper-personalized recommendations requires an optimized end-to-end supply chain, fancy mobile apps, and integration with pioneering technologies like social commerce or metaverse. Data streaming allows integrating and correlating data in real-time at any scale. I look at retail trends to explore how data streaming helps as a business enabler, including customer stories from Walmart, Albertsons, Otto, AO.com, and more. A complete slide deck and on-demand video recording are included. General Trends in the Retail Industry Several disruptive trends impact innovation in the retail industry to reduce costs, increase the customer experience, and keep customer retention and revenue high:

View more...

How To Handle Dependencies Between Pull-Requests

Aggregated on: Sun Jul 23 2023 09:01:15 GMT+0000 (Coordinated Universal Time)

In the dynamic environment of software development, effective management of dependencies between pull requests (PRs) is pivotal to enabling smooth collaboration and seamless code integration.  But let’s face it, juggling dependencies manually can be a real challenge!

View more...

How To Optimize Kubernetes Costs?

Aggregated on: Sat Jul 22 2023 21:16:15 GMT+0000 (Coordinated Universal Time)

Cloud containers come with the flexibility to lift and shift applications to any environment, cloud or virtual or bare metal without worrying about the virtual OS, hypervisors, etc.  Simplified management, paced-up delivery and agility compel cloud developers to hail containerization. Kubernetes aka k8s (if you are wondering what k8 means, it’s just a replacement of 8 letters “Kubernetes”) is a popular open-source containerization platform cloud developers adopt widely. According to a recent report by CNCF, there is a 67% increase in Kubernetes developers worldwide which manifests the popularity. The sad news is the surge in adoption and usage comes with a compromise in the IT infrastructure budget. Enterprises could be wasting nearly 80% of Kubernetes's expenses on unintentional resources that are not helping organizations to hit their goals as planned. Let’s see in this blog what are the challenges and ways to optimize.

View more...

Introduction to Linear Data Structures

Aggregated on: Sat Jul 22 2023 21:01:15 GMT+0000 (Coordinated Universal Time)

Introduction Data structures are important in computer science because they make it easier for programmers to efficiently organize and work with data. A data structure is a way to arrange data in the memory of a computer so that it can be used effectively. There are numerous different types of data structures, each with unique advantages and disadvantages. A linear data structure is an everyday type of data structure.  One of the basic data structures that is frequently employed in computer science is the linear data structure. They are an excellent option for beginners because they are clear and simple to understand. These structures are especially helpful in circumstances where data access is required sequentially or linearly. 

View more...

How To Expose a Kubernetes Service Using an Ingress Resource?

Aggregated on: Fri Jul 21 2023 21:46:15 GMT+0000 (Coordinated Universal Time)

Ingress means the act of going in or entering. Also, a means or place of entry or entryway. That’s the job of a Kubernetes Ingress Resource.

View more...

Revolutionizing Infrastructure Management: The Power of Feature Flags in IaC

Aggregated on: Fri Jul 21 2023 20:16:14 GMT+0000 (Coordinated Universal Time)

The world of infrastructure management is constantly evolving, with new technologies and strategies emerging all the time. One such strategy that has gained traction in recent years is the use of feature flags in Infrastructure as Code (IaC). This powerful technique allows developers to control the release of new features and changes, minimizing the risk of disruption to critical systems. By using feature flags, teams can release new code with confidence, knowing that any issues can be quickly and easily rolled back. In this article, we'll explore the benefits of feature flags in IaC and how they can revolutionize the way we manage infrastructure. Whether you're a seasoned developer or new to the world of IaC, read on to discover how this technique can help you streamline your development process, improve your code quality, and deliver better outcomes for your organization.

View more...

Effective Coding With Java Observability

Aggregated on: Fri Jul 21 2023 19:46:14 GMT+0000 (Coordinated Universal Time)

There are many common mistakes I’ve seen repeated over the years while trying to make observability initiatives successful. However, the most critical and fundamental of these organizational stumbles is the irresistible infatuation with technology and toolings themselves. It should not come as a surprise. Many "let’s add observability platform X" projects start off with plenty of fanfare but also a very hazy sense of direction and extremely muddled criteria for success. The vision of what effective observability can do to actually help developers work better is suspiciously missing from the preaching of many of its commercial vendors and oracles. Ask yourself: how often do you find yourself taking your eyes off the code in the IDE to find out what you can learn from its execution data? 

View more...

Introduction to MQTT Control Packets

Aggregated on: Fri Jul 21 2023 18:01:14 GMT+0000 (Coordinated Universal Time)

MQTT control packets are the smallest unit of data transfer in MQTT. MQTT clients and servers exchange control packets for performing their work, such as subscribing to topics and publishing messages. Currently, MQTT defines 15 types of control packets. If we classify them based on their functionality, we can categorize these packets into three categories: connection, publishing, and subscribing.

View more...

Mastering API Data Retrieval: A Comprehensive Guide to Filtering and Sorting

Aggregated on: Fri Jul 21 2023 17:46:14 GMT+0000 (Coordinated Universal Time)

APIs can return vast amounts of data, making it challenging for developers to retrieve only the information they need. This is where filtering and sorting come in.Filtering and sorting are two essential features of API design that allow developers to efficiently retrieve specific data from an API. Filtering enables developers to narrow down the results of an API query by specifying criteria that the returned data must meet. Sorting, on the other hand, lets developers arrange the returned data in a specific order, such as by date or alphabetical order.Properly implementing filtering and sorting in APIs can significantly enhance performance and user experience. In this article, we'll dive into the specifics of filtering and sorting in APIs, discussing best practices and common mistakes to avoid. By the end of this guide, you'll have a thorough understanding of how filtering and sorting can streamline API data retrieval and improve your software integration processes. Filtering in APIs What is filtering in APIs? Filtering in APIs is the process of narrowing down the results of a query to retrieve only the data that meets specific criteria. When an API receives a request, it can filter the data based on parameters such as dates, keywords, IDs, or other user-defined criteria. By filtering the data, developers can reduce the amount of information returned in a query, making it more efficient and easier to work with. Effective filtering is crucial for APIs that return large datasets, as it can significantly improve performance and reduce the amount of data that needs to be transmitted over the network.

View more...

A Detailed Guide on Flaky Tests: Causes, Detection, and Solutions

Aggregated on: Fri Jul 21 2023 17:16:14 GMT+0000 (Coordinated Universal Time)

Flaky tests are a common challenge faced by software developers and testers during the software development lifecycle. Flaky tests refer to tests that produce inconsistent results, passing or failing unpredictably, without any changes to the code under test. These tests can be frustrating and time-consuming as they lead to decreased productivity and unreliable test results. In this tutorial, we will delve into the concept of flaky tests, exploring their causes, detection techniques, and effective solutions to mitigate their impact. By understanding the intricacies of flaky tests and equipping ourselves with the knowledge to tackle them head-on, you can ensure the reliability and accuracy of our test suites, leading to more efficient software development processes.

View more...

Test Design Specification: Comprehensive Guide With Best Practices

Aggregated on: Fri Jul 21 2023 14:01:14 GMT+0000 (Coordinated Universal Time)

The test design specification is a document that defines test conditions, a detailed test approach, and high-level test cases associated with a test item. It determines which test suites and test cases to run and which to skip. Using test design specifications, you can simplify your understanding of the current testing cycles. Simple questions like "What are we doing?", "How are we doing?" and "Why are we doing this?" are all answered in this document. However, to achieve the result, many things must flow correctly in creating specifications to make perfect sense.

View more...

Revolutionizing Inventory Management With Artificial Intelligence: A Comprehensive Guide

Aggregated on: Fri Jul 21 2023 13:16:14 GMT+0000 (Coordinated Universal Time)

Inventory management is an essential component of any business that sells physical products. It involves keeping track of stock levels, forecasting future needs, and ensuring that there's always enough product to meet customer demand, but not so much that money is wasted on overstocking. Effective inventory management can significantly reduce costs and improve customer satisfaction, making it a key driver of business success. However, traditional inventory management methods, which often rely heavily on manual processes and guesswork, can fall short in today's rapidly changing and increasingly complex business environment. Human error, unpredictable changes in demand, and a lack of real-time visibility into stock levels are just a few of the challenges that businesses can encounter when managing their inventory.

View more...

Low-Code Approach to Application Development

Aggregated on: Fri Jul 21 2023 13:01:14 GMT+0000 (Coordinated Universal Time)

This is an article from DZone's 2023 Development at Scale Trend Report.For more: Read the Report Traditional software development involves a lot of manual coding, which requires technical experts who can design and develop applications from scratch. Although it is more flexible, those methods are time-consuming, costly, and complex. Today, enterprises are seeking to expedite their application development procedures whilst catering to customer demands. It's for this reason that the low-code approach has become an efficient solution. 

View more...

Java vs. Other Programming Languages: A Comparative Analysis

Aggregated on: Fri Jul 21 2023 01:16:14 GMT+0000 (Coordinated Universal Time)

In the vast world of software development, choosing the right programming language is crucial to the success of any project. Java, a stalwart language renowned for its versatility and portability, has been a dominant force in the industry for decades. However, with the emergence of new and specialized languages, developers often find themselves wondering which language is best suited for their needs. In this article, we will conduct a comparative analysis of Java against other popular programming languages, exploring their strengths, weaknesses, and ideal use cases, to help you make informed decisions for your next development endeavor. 1. Java: The King of Portability and Reliability

View more...

The Agile, the Fragile, and the Iron Fist of Branching Strategies

Aggregated on: Fri Jul 21 2023 00:46:14 GMT+0000 (Coordinated Universal Time)

Whether you love it or hate it, Git has proven to be the nearly ubiquitous method engineering organizations employ to ship code today. However, when you’re just getting started and building your team, you may be thinking about which strategy is the right one for you to choose based on your current and future needs.   We recently wrote a longer article about effective branching strategies, and the considerations involved when selecting your branching strategy of choice. However, we still believe it could be useful to dive in more deeply into the underlying philosophy for each branching strategy, to help you decide what code shipping strategy is the right one for your engineering team.

View more...

Comparing Message Queues and Message Brokers: Understanding the Differences

Aggregated on: Fri Jul 21 2023 00:16:14 GMT+0000 (Coordinated Universal Time)

In modern distributed computing systems, messaging has become an essential way of enabling different applications and systems to communicate with each other in a microservice architecture. Message queues and message brokers are two popular technologies used in messaging systems, but many people confuse or use the two terms interchangeably. In this article, we will explore the key differences between message queues and message brokers and provide an understanding of when and why you would use one technology over the other. Additionally, the article will clarify whether it’s possible to use message queues and message brokers together for communication between software applications. By the end of this article, you will better understand what message brokers and message queues are alongside their differences. Let’s get started!

View more...

Learning from Incidents Is Not the Goal

Aggregated on: Fri Jul 21 2023 00:01:14 GMT+0000 (Coordinated Universal Time)

Learning from incidents has become something of a hot topic within the software industry, and for good reason. Analyzing mistakes and mishaps can help organizations avoid similar issues in the future, leading to improved operations and increased safety. But too often we treat learning from incidents as the end goal, rather than a means to achieving greater business success. The goal is not for our organizations to learn from incidents: It’s for them to be better, more successful businesses. I know, how corporate. The more we learn, the more successful we are, and the cycle continues. We learn because we want to succeed. The Growing Gap Between Theory and Practice You might conclude that I don’t care about learning from incidents; I do, deeply. But I care about learning from incidents because more informed, more experienced people are going to be more effective at their jobs, and likely happier, too. A culture of learning is good for the people that work here, it’s good for our customers, and ultimately, that’s good for business. The more we learn, the more successful we are, and the cycle continues. We learn because we want to succeed. I’ve seen a considerable amount of research and effort being applied to study of learning from incidents in software, and a lot of interesting and thought provoking material shared as a result. Often though, what I see highlights a growing gap between the academia and the practical challenges that most face on a day-to-day basis. I’m not ashamed to say I’ve given up on reading papers or watching some talks because they felt so wildly disconnected as to be useless. I spend every working day thinking about, and talking with people about incidents and it feels impenetrable to me — that feels wrong. Most Organizations Are Struggling With the Basics At incident.io, I’m fortunate to work with a diverse set of customers: from 10-person startups to enterprises with tens of thousands of employees. For the majority of these customers, the problem isn’t anchored in academic concepts and complex theories. It’s a lot more fundamental. Many struggle to define what an incident is, how they should react when something goes wrong, or how to make sure the right people are looped into the right incidents so things run as smoothly as possible. When it comes to post-incident activities, they don’t know how to run an incident debrief, they can’t keep track of follow-up actions, and they’re stuck trying to convince their senior leaders that targeting an ever reducing mean time to recovery isn’t a great idea (Pro tip: It’s not a good idea). Connecting Learning, Change, and Business Outcomes If you’re are trying to improve the incident culture at your organization, or convince your management that an investment of time to really learn from a major incident is a good idea, an academic approach just doesn’t work. Telling someone who wants a report on the root cause that there’s “no root cause” alienates the very people we need to convince. If we want buy-in from the top, more needs to be done to take people on the journey of zero-to-one, and that means connecting learning and change to tangible business outcomes. None of this is meant to criticize the good work of the incident community. There are plenty of folks doing excellent work and extolling the value of more practically focused incident management. But I’ve equally seen what I consider to be semi-harmful advice given too. Advice around devoting days or weeks of effort to investigate even the smallest of incidents. I’m almost certain you’ll be able to learn something, but does the return on investment justify it? And then there’s all the things people are told they shouldn’t be doing, like reducing incidents down to numbers for comparison. Yes, MTTR is fundamentally flawed metric, but when you have a conversation about replacing it with people who believe it’s useful, what are you suggesting? Most people are time constrained and if they’re told to draw the rest of the owl, they simply won’t. Practical Advice for Incorporating Learning into Your Organization I've been at the business end of highly effective incident management programs, semi-broken ones, and many in between.  What’s common among the high performers is the fact that a healthy culture has started from a position of engaging the whole organization. Learning is connected to practical benefits that everyone understands, and there’s been a person (or group of people) at the heart of the culture, applying time and effort to meet people where they are and bring them on the journey. Learning has never been positioned as the primary motivator, it’s been a side-benefit of more business-oriented objectives. So, to make this a little more action focused, here’s a few tidbits of advice for how to practically synthesize learning alongside your role. Think Carefully About the Return on Investment of Your Actions  Nothing will put roadblocks up faster than work being done without good justification for how it helps the business. Whether you think it’s meaningful or not, if you’re spending a week performing a thorough investigation of an incident that degraded a small part of your app for a few minutes, you’re unlikely to win over anyone who cares about delivering on the broader priorities of the organization. This might mean less time (or no time) spent on these incidents, in favour of using more significant ones. Use Transparency as a Catalyst for Serendipitous Learning  Whether you like it or not, folks learn. Collisions of teams, individuals, and systems result in knowledge transfer and a front row seat to expertise in action. If you’re looking for the fastest way to learn from incidents, the best starting point is making them very visible to the whole organization, and actively celebrate great examples of incidents that have been done well. Don’t underestimate the power of implicit learning that happens alongside everyone just doing their job. Sell the Upside of Changes, Rather Than Telling People What They Shouldn’t Do  If your leaders believe a monthly report on shallow incident data, like MTTR and number of incidents, is the most useful for way for them to understand the risks facing the business, you’ll struggle to wrestle it out of their hands. And if you haven’t got a concrete answer for what they should be looking at instead, telling them what they shouldn’t do simply isn’t helpful. First, find a better way. Give them a qualitative assessment of the risks and a handful of key learnings alongside their numbers. If what you have is more valuable and useful, removing the numbers becomes an easy task. Ultimately, if you’re struggling to make change to how your organization learns from incidents, start small, start practical, and connect the activity to something that advances the goals of your business. It’s absolutely fine to cherry-pick more academic concepts and sequence them alongside less valuable practices that many organizations are anchored to today. Incremental improvements compound over time, and every small change can aggregate to something meaningful.

View more...

How Developers Can Work With Generative AI Securely

Aggregated on: Thu Jul 20 2023 23:46:14 GMT+0000 (Coordinated Universal Time)

If you work in software development, or indeed within any sector of the technology industry, you will have undoubtedly been part of discussions about, read headlines on, or even trialed a platform for generative artificial intelligence (AI). Put simply, this new and quickly evolving technology is everywhere. Yet along with the exciting promise of greater productivity with AI code generation tools — GitHub argues the increase in developer productivity due to AI could boost global GDP by over $1.5 trillion — there is also increased risk. These risks include concerns around code quality, as AI models can produce complex code that is both difficult to understand and explain.

View more...

zkEVMs and the Future of Blockchain Scalability

Aggregated on: Thu Jul 20 2023 22:46:14 GMT+0000 (Coordinated Universal Time)

The hype around blockchain technologies may have quieted, but the builders are still building. The toughest technical problems that kept blockchain from mass adoption over the past few years—slow and expensive transactions—are being solved by layer 2s. zkEVMs, and Linea in particular, are a key part of this solution. Let’s look at layer 2s on Ethereum—their architecture, why they are needed, what zkEVMs are and how they work, and the details of the new Linea mainnet release.

View more...

What Is a Modern Developer?

Aggregated on: Thu Jul 20 2023 20:46:14 GMT+0000 (Coordinated Universal Time)

This is an article from DZone's 2023 Development at Scale Trend Report.For more: Read the Report If you are reading this, you are a coder. The modern developer is an overarching term covering a large variety of different roles, responsibilities, and skills. From using only a simple form, to hand coding low-level machine code, to building multi-tier machine learning applications — the breadth and depth of who coders are and what they do is broad. For some of us, this comes naturally; you want to solve problems, build solutions, and never manually do the same thing twice.

View more...

API Testing With Cypress

Aggregated on: Thu Jul 20 2023 20:01:14 GMT+0000 (Coordinated Universal Time)

Is it possible to test everything using a single tool? Seems like a dream, but I would say it is almost possible with Cypress, a JavaScript frontend testing framework. Cypress is primarily designed for end-to-end testing of web applications, which includes both the frontend user interface (UI) and the backend API interactions. With Cypress, you can write tests that cover the entire application flow, from interacting with the UI elements to making API requests and validating the responses. This makes Cypress a versatile tool that allows you to test the integration between the UI and the API.

View more...

Understanding the Basics of Neural Networks and Deep Learning

Aggregated on: Thu Jul 20 2023 18:46:14 GMT+0000 (Coordinated Universal Time)

Neural networks and deep learning have revolutionized the field of artificial intelligence and machine learning by enabling remarkable advancements in various domains.  This research article aims to comprehensively introduce the fundamentals of neural networks and deep learning. 

View more...

What Is GraphQL?

Aggregated on: Thu Jul 20 2023 17:01:14 GMT+0000 (Coordinated Universal Time)

GraphQL is an open-source query language and runtime for APIs (Application Programming Interfaces) that Facebook developed. It provides a more efficient and flexible approach to fetching and manipulating data compared to traditional RESTful APIs. GraphQL allows clients to request only the specific data they need, making it more efficient in terms of network usage and reducing over-fetching or under-fetching of data. GraphQL was initially developed by Facebook in 2012 to address the challenges they faced with their mobile applications. They needed a more efficient way to retrieve data from their servers, as the traditional RESTful APIs led to over-fetching of data and multiple roundtrips to the server. Facebook introduced GraphQL internally in 2012 and later released it publicly in 2015.

View more...