News Aggregator


Unlocking Four Requirements for Enterprise-Grade Kubernetes

Aggregated on: 2022-08-24 18:07:59

For enterprises of all shapes and sizes, Kubernetes has become a go-to-choice for shipping software and improving delivery time, visibility, and control of CI/CD workflows. But integrating enterprise-grade Kubernetes management practices that cover your entire pipeline – from code to cloud – can be challenging. Critical requirements demand best practices for K8s to meet those requirements. These critical items will span four key topic areas – source code, CI/CD integration, Kubernetes cluster lifecycle management, and workload administration. Let’s get started! Source Code When it comes to source code, it all starts with using Git-based workflows for automated software delivery and declarative infrastructure with tracking and to support rollbacks when there are failures. It is a best practice to keep secrets encrypted and outside the container. Implementing internal training and awareness programs is the best way to ensure this is happening is relatively simple. By ensuring this is a best practice for your organization and becomes a routine part of the development process, you avoid exposing them during a CI/CD deployment. Similarly, it is essential to ensure that application secrets are not embedded into your Helm charts or Kubernetes YAML files.

View more...

Smarter Data Compression With RavenDB

Aggregated on: 2022-08-24 16:52:59

If you had to guess the highest priorities of database designers, the ability to compress data would probably be high on your list. The more you can compress your data, the more of it fits on your disk - seems pretty essential. But you may have noticed that most of the popular database engines offer little or no data compression features out of the box. RavenDB is an odd duck in that regard. Why is that? The usefulness and efficiency of compressing data are very dependent on circumstances. For one thing, data storage space isn’t usually a limiting factor for most applications. The speed of the database often is. 

View more...

Build a Real-time Analytics Application With TiDB Cloud

Aggregated on: 2022-08-24 15:52:59

Disclaimer: PingExpress_DemoCorp is a dummy company. It does NOT reflect or imply any real company. This tutorial is for demonstration purposes only. Do NOT use any material (including but not limited to code and commands) from this tutorial in production environments. PingExpress_DemoCorp is a supply chain management company in the United States. With more people shopping online due to the pandemic,  PingExpress_DemoCorp’s business has scaled rapidly. They’re delivering tens of billions of packages a year.

View more...

Cypress.io — The Rising Future of Web Automation Testing

Aggregated on: 2022-08-24 14:07:59

Cypress.io is the new kid on the block when it comes to web automation testing tools. It has quickly gained a following among developers due to its simplicity and power.  Cypress is a relatively new entrant in the web automation testing space. It has quickly gained popularity due to its user-friendly interface and features that make it easy to use. Cypress has been designed to make web automation testing more efficient and reliable.

View more...

Microservices Orchestration

Aggregated on: 2022-08-24 12:22:59

This is an article from DZone's 2022 Microservices and Containerization Trend Report.For more: Read the Report Does your organization use a microservices-style architecture to implement its business functionality? What approaches to microservices communication and orchestration do you use? Microservices have been a fairly dominant application architecture for the last few years and are usually coupled with the adoption of a cloud platform (e.g., containers, Kubernetes, FaaS, ephemeral cloud services). Communication patterns between these types of services vary quite a bit.

View more...

Adopt Site Reliability Engineering to Win

Aggregated on: 2022-08-24 03:07:59

The coronavirus pandemic accelerated the offering of online services even in the most traditionally "offline" sectors: fitness, banking, retail, and government.  As more companies started moving their offerings online, the reliability of these critical services has garnered particular attention from the public. In early July, Rogers, a Canadian telecom behemoth, experienced an outage that lasted 19 hours, disrupting internet and telecom services for over 10 million Canadians. For the duration of the incident, critical services, 911, and hospitals were interrupted. 

View more...

Top 10 Hugging Face Datasets

Aggregated on: 2022-08-24 03:07:59

The most important task in any machine learning model is finding or building a dataset that perfectly accommodates your algorithm. Without the correct foundation, your machine learning model may not perform in its intended way. While well-known sites such as Kaggle allow you to download and utilize thousands of adequate datasets, a few other dataset providers are increasing in popularity. In this article, we will cover one known as Hugging Face.

View more...

CarePet Tutorial: An Example IoT Use Case with Go and ScyllaDB

Aggregated on: 2022-08-24 02:52:59

To help people get started with ScyllaDB NoSQL, we published CarePet: a project that demonstrates a generic Internet of Things (IoT) use case. The application is written in Go and allows tracking of pets’ health indicators. It consists of three parts: A collar that reads and pushes sensors data A web app for reading and analyzing the pets’ data A database migration tool In this article, I will cover the main points. Check out the GitHub repo with the full code. You can find more extensive lessons for this use case in these guides.

View more...

OAuth2 for Spring RESTful API

Aggregated on: 2022-08-24 02:07:59

In this article, I'll first give a refresher of essential OAuth2 notions, then help you set up a complete testing environment on your desktop, and lastly, take a deeper dive into configuring security for Spring RESTful APIs.  Google, Facebook, GitHub, Office365, and many others use OAuth2. Why is it so popular and superior to plain old login/password in each application?

View more...

WebRTC Video Calls With Angular and Spring Boot

Aggregated on: 2022-08-24 01:22:59

WebRTC video calls have been added to the AngularPwaMessenger project. The back end supports WebSocket connections that are secured by JWT tokens to enable WebRTC signaling. The current browsers support video calls with WebRTC. The Angular front end supports the WebRTC calls and needs to access the camera and the microphone. The browsers need to be able to connect to each other directly and use the server backend to do that. That means that home/company networks that prevent incoming connections prevent the creation of a video call. Installing the PWA on a smartphone does work because no router/firewall stops the connections. For development, a setup with a self-signed certificate is used that enables testing inside a firewalled network. WebRTC Documentation The Mozilla Development Network has WebRTC documentation. The WebRTC protocol is documented here and the AngularPwaMessenger backend provides a STUN server implementation for the ICE protocol. The signaling and video calls are documented here. The diagrams/code show the creation of the connection for the video call.

View more...

On Some Aspects of Big Data Processing in Apache Spark, Part 4: Versatile JSON and YAML Parsers

Aggregated on: 2022-08-23 21:07:59

In my previous post, I presented design patterns to program Spark applications in a modular, maintainable, and serializable way—this time I demonstrate how to configure versatile JSON and YAML parsers to be used in Spark applications.  A Spark application typically needs to ingest JSON data to transform the data, and then save the data in a data source. On the other hand, YAML data is needed primarily to configure Spark jobs. In both cases, the data needs to be parsed according to a predefined template. In a Java Spark application, these templates are POJOs. How to program a single parser method to process a wide class of such POJO templates with data taken from local or distributed file systems?

View more...

How To Create a Spring Boot Kubernetes Controller

Aggregated on: 2022-08-23 20:37:59

In this article, we will look at creating a Kubernetes Controller using Spring Boot that will handle requests when a CRD instance is created, updated, or deleted. Project Setup Let’s go to https://start.spring.io and create a new project with the following dependencies.

View more...

Increase Your Vector Database Read Throughput with In-Memory Replicas

Aggregated on: 2022-08-23 20:22:59

With its official release, Milvus 2.1 comes with many new features such as in-memory replicas, support for string data type, embedded Milvus, tunable consistency, user authentication, and encryption in transit to provide convenience and a better user experience. Though the concept of the in-memory replica is nothing new to the world of distributed databases, it is a critical feature that can help you boost system performance, increase database read throughput, and enhance the utilization of hardware resources in an effortless way.  Therefore, this post sets out to explain what in-memory replica is and why it is important, and then introduces how to enable this new feature in Milvus, a vector database for AI. Concepts Related to In-Memory ReplicaBefore getting to know what in-memory replica is and why it is important, we need to first understand a few relevant concepts, including replica group, shard replica, streaming replica, historical replica, and shard leader. The image below is an illustration of these concepts. Replica concepts Replica GroupA replica group consists of multiple query nodes that are responsible for handling historical data and replicas. More specifically, the query nodes in the Milvus vector database retrieve incremental log data and turn them into growing segments by subscribing to the log broker, loading historical data from the object storage, and running hybrid searches between vector and scalar data. Shard ReplicaA shard replica consists of a streaming replica and a historical replica, both belonging to the same shard (i.e., Data manipulation language channel, abbreviated as DML channel in Milvus). Multiple shard replicas make up a replica group. And the exact number of shard replicas in a replica group is determined by the number of shards in a specified collection. Streaming ReplicaA streaming replica contains all the growing segments from the same DML channel. A growing segment keeps receiving the newly inserted data till it is sealed. Technically speaking, a streaming replica should be served by only one query node in one replica. Historical ReplicaA historical replica contains all the sealed segments from the same DML channel. A sealed segment no longer receives any new data and will be flushed to the object storage, leaving new data to be inserted into a freshly created growing segment. The sealed segments of one historical replica can be distributed on several query nodes within the same replica group. Shard Leader A shard leader is the query node serving the streaming replica in a shard replica.

View more...

Node.js vs PHP

Aggregated on: 2022-08-23 19:52:59

Web development is a wide field that incorporates many features you need comprehensive knowledge about. Node.js vs PHP are some of the most developed technologies that are mostly featured in web development activities. These two technologies take part in the development of the server-side. However, Node.js tend to serve the client-side and the server-side development.  According to research, 34.88% of the available websites are currently hosted on PHP. In addition, PHP has been in existence for more than three decades, making it serve approximately 78% of the entire web. In terms of comparison, Node.js is relatively new in the industry compared to PHP, although it is growing significantly. 

View more...

On Some Aspects of Big Data Processing in Apache Spark, Part 3: How To Deal With Malformed Data?

Aggregated on: 2022-08-23 19:37:58

In my previous post, I presented design patterns to program Spark applications in a modular, maintainable, and serializable way. This time I demonstrate a solution to deal with malformed date/time data, and how to set a default value to malformed data. When I worked on a big data project, my tasks were to load data in different formats (JSON, orc, etc) from different sources (Kafka, Hadoop Distributed File System, Apache Hive, Postgres, Oracle), then transform the data, and to save the data to the same or different sources. The simplest task was to load data from a single data source (Postgres), and then save the data to another source (Hive), without any transformations. 

View more...

Things Every Product Manager Must Know About Testing

Aggregated on: 2022-08-23 18:07:58

Being responsible for the development and maintenance of a rapidly evolving tech product is arguably one of the most technical and fast-paced jobs out there. The fact that the whole landscape of relevant technologies is also evolving outside your company and product adds another layer of complexity to the mix.   New devices, new features on your favorite cloud platform, latest APP frameworks, new DB paradigms, best IDE for your team, etc. The number of right decisions that a product team needs to make to ensure a smooth functioning application is quite large.

View more...

Is Namespace-As-A-Service the Evolution of Cluster-As-A-Service?

Aggregated on: 2022-08-23 16:37:58

Choosing a Namespace-as-a-Service strategy will incur cost and development time upfront; cluster-as-a-service defers operational complexity and cost until cluster count grows. However, as cluster counts grow in large organizations, perhaps Namespace-as-a-Service is an evolution of Cluster-as-a-Service. Kubernetes Cluster-As-A-Service (k8sCaaS) Each user or team is provided with a cluster that they manage and control. They don’t undertake the installation and build process, which is automated, and depending on the level of development of the k8sCaaS service, additional standardized components and other necessary capabilities such as cluster access and storage are also provisioned. Once provisioned, the day-to-day operation of the cluster is undertaken by the user. The users have the equivalent of superuser access and the most or all of the responsibility for operational security. In some cases, there is oversight from a k8sCaaS team; in other cases, none.

View more...

Cloud Data: Observability Is the Forgotten Data

Aggregated on: 2022-08-23 15:37:58

This article is a continuation of a series of posts to better understand how the pitfalls around the collection, maintenance, and storage of your cloud data can mean the difference between failure and success within your cloud strategy.  The concepts in this series stem from brainstorming with my good friend Roel Hodzelmans and are additionally inspired by reactions from the audience to a talk given previously in Dublin, Ireland. The initial post provided an introduction to cloud and data, and what that means in a cloud-native architecture beyond just storage. In this second article, we discuss the forgotten data that is often overlooked when planning for cloud-native architectural solutions.

View more...

How to Plant the Right Cybersecurity Seeds to Create Opportunities in IoT

Aggregated on: 2022-08-23 14:37:58

We can’t deny the fact that incorporating cybersecurity best practices in developing IoT systems is swiftly becoming the need of the hour. And businesses must put their best foot forward since customer engagement and trust begin with the assurance of information security.  But the question is, what additional steps must every IoT vendor and developer take to reinforce security and build trust since everyone already has its own security mechanisms?

View more...

Approaches to Cloud-Native Application Security

Aggregated on: 2022-08-23 12:07:58

This is an article from DZone's 2022 Microservices and Containerization Trend Report.For more: Read the Report Securing cloud-native applications requires proper understanding of the interfaces (boundaries) being exposed by your microservices to various consumers. Proper tools and mechanisms need to be applied on each boundary to achieve the right level of security. Properly securing the infrastructure on which your application runs is also very important. This includes securing container images, securely running container runtimes, and properly configuring and using the container orchestration system (Kubernetes). 

View more...

Building a Data Pipeline Using QuestDB and Confluent Kafka

Aggregated on: 2022-08-23 05:06:54

A data pipeline, at its base, is a series of data processing measures that are used to automate the transport and transformation of data between systems or data stores. Data pipelines can be used for a wide range of use cases in a business, including aggregating data on customers for recommendation purposes or customer relationship management, combining and transforming data from multiple sources, as well as collating/streaming real-time data from sensors or transactions. For example, a company like Airbnb could have data pipelines that go back and forth between their application and their platform of choice to improve customer service. Netflix utilizes a recommendation data pipeline that automates the data science steps for generating movie and series recommendations. Also, depending on the rate at which it updates, a batch or streaming data pipeline can be used to generate and update the data used in an analytics dashboard for stakeholders.

View more...

API Proxy vs. API Gateway: What Are the Differences and Which Should You Use?

Aggregated on: 2022-08-23 04:36:54

In this article, we will take a high-level look at the differences between an API proxy and an API gateway. When a developer publishes a public API, it’s necessary for that API to have security policies and a way to hide backend logic from API consumers. Decoupling your API from your backend services allows you to shield your apps from backend code changes, and allows users to call your API without worrying about availability. If changes are being made to an endpoint or if a new version is released, users can continue on without interruption. Additionally, an API proxy or an API gateway can help you easily and uniformly secure your API endpoints. This can add another layer of defense and prevent attackers from infiltrating your system.

View more...

A First Look at Bun: Will It Take Node’s Crown?

Aggregated on: 2022-08-23 04:36:54

Bun is a new and ambitious JavaScript toolset and runtime. Early adopters have been reporting that Bun is incredibly fast — so fast that it has been touted by some as a Node.js killer. Curious, I decided to check out Bun for myself and benchmark it against the competition. Is it as fast as people are saying? How stable is it? Is it really better than Node? And can I use it with continuous integration?

View more...

Roll Your Own Static Site Host on VPS With Caddy Server

Aggregated on: 2022-08-23 03:36:54

I recently had to work on a project with some interesting requirements: Host a static website With a user-friendly file upload process Running on a custom domain With an SSL certificate And have root access to the server (for…reasons) Most of those requirements would actually be very easy to fulfill with a 3rd party provider, but that last one: that’s the tricky one. Most service providers don’t give you root-level access, which means I’d have to do this all myself on a Virtual Private Server (VPS).

View more...

Simplify Your Microservices Architecture With a Data API

Aggregated on: 2022-08-23 02:36:54

This is an article from DZone's 2022 Microservices and Containerization Trend Report.For more: Read the Report Have you encountered challenges in how to manage data in a microservices architecture? In this article, we examine traditional approaches and introduce the data API gateway (also sometimes known as a "data gateway"), a new type of data infrastructure. We explore the features of a data API gateway, why you should implement it, and how to apply it to your architecture. 

View more...

Feature Store - Why Do You Need One?

Aggregated on: 2022-08-22 22:51:54

A feature store is a storage system for features. Features are properties of data calculated through an ETL process or feature pipeline. This pipeline takes raw data and calculates a property from it. This property - usually a numeric value - will be useful to a machine learning model. It is important to find adequate, correct, and quality features. The quality of those features is the most important contributor to a model's success. The model will use the features either to train itself or to make predictions. A feature store will help to organize and use those features. At its core, a feature store is only a database. More specifically, there are usually two databases. There is an offline store equipped to store large sums of data, like an HBase or S3. There is also an online store equipped for fast data serving, like Cassandra. Features are organized in feature groups, which can be thought of as tables. Features that are used together are stored in the same feature group so access to them is faster and without joins. There are many ETL processes (think Spark) that write to the offline store. Data from the offline store replicates to the online store to keep them consistent. Data streams can also write both to the online and offline stores, for fast real-time data access.

View more...

Top Alternatives to Django for Web Development

Aggregated on: 2022-08-22 21:06:54

One of the steadily growing popularity frameworks is Django. It has proven to be among the best web development means for developers. And in our development team, it is also a common part of many cases’ tech stacks. Thus, I’ve decided to overview what are the top alternatives to Django on the market and which of them could bring more productivity.  Let’s have a look at Statista research. They made a sum-up to conclude how the rank for most popular backend frameworks changed throughout the 10 years gap. And as we can see, Django was in the top 5 all the time, aside from 2018. Currently, in 2022 it is recognized as almost the best one among competitors, and I think Django’s worth it. Here are a few reasons why:

View more...

What Is Iterative and Incremental Development

Aggregated on: 2022-08-22 20:36:54

Different types of projects have different management styles, organizational structures, and life cycles. There is no perfect one for each. Every project has its place, optimal balance, and development process, which can be either iterative, or with a high degree of change in the requirements and environment, or incremental, the one that delivers results on a regular basis. What does that mean? Let’s have a look at what is iterative software development first.

View more...

Serverless Reference Architecture

Aggregated on: 2022-08-22 20:06:54

This article is a part of a series that looks at serverless from diverse points of view and provides pragmatic guides that help in adopting serverless architecture, tackling practical challenges in serverless, and discussing how serverless enables reactive event-driven architectures. The articles stay clear of a Cloud provider serverless services, only referring to those in examples (AWS being a common reference). The articles in this series are published periodically and can be searched with the tag “openupserverless.” Brief Background To recap on the broad-based meaning of serverless, serverless is any offering that abstracts out the infrastructure choices and provisioning from DevOps and works on a usage-based cost model. The usage is defined in the context of the service by the platform vendors. 

View more...

Open-Source SPL Boosts MongoDB Computing Ability

Aggregated on: 2022-08-22 18:36:54

MongoDB is a typical NoSQL database. Its document-oriented structure makes both storage and access convenient and efficient. But the database has rather weak computing ability. Computations on MongoDB data, particularly complex ones, are hard to handle. A data computing engine having powerful computing capability is needed to work with MongoDB to achieve relevant computing tasks. The open-source esProc SPL is a specialized structured data computation engine. It supplies rich class libraries and all-around, database-independent computational capabilities. SPL has an independent procedural syntax that is particularly good at handling complex computations. It can help MongoDB increase its ability to compute, accomplish grouping and aggregation, joins, subqueries, and all the other computing tasks effortlessly.

View more...

Data Pipeline Orchestration

Aggregated on: 2022-08-22 15:36:54

The spectrum of tasks data scientists and engineers need to do today is tremendous. The best description of it you will find in this article: The AI Hierarchy of Needs. A long road of technical problems needs to be completed before you can start working on the real business problem and build valuable data products.  Most of the time is spent on infrastructure, data security, transition, processing, storing, provisioning, testing, and operational readiness/healthiness.  As a data engineer, I need a single interface or operating system with composable capabilities provided in distributed hybrids environments and extensible for future implementations.

View more...

Role of AI and ML in DevOps Transformation

Aggregated on: 2022-08-22 14:06:54

As advanced technologies like AI (Artificial Intelligence) and ML (Machine Learning) are gradually shaping the ways we live and work, DevOps teams are no exception. According to a study published on Gartner, DevOps teams are likely to start using AI integrated Infrastructure monitoring apps and solutions for IT operations platforms by 2023. Artificial Intelligence has incredibly changed the way we approach DevOps and other IT operations. Increased focus on the security of apps and solutions is a significant impact of AI and ML on DevOps development operations.

View more...

A Security Team’s Most Critical Skill? No-Code Automation

Aggregated on: 2022-08-22 13:36:54

Security teams today are facing a major hurdle to their success: too much work and not enough people. I saw it time and again in my fifteen years working in both incident response and overseeing security teams. The problem isn't necessarily on the personnel side, though. The problem is the mundane, repetitive tasks those teams do every day — too much manual work that's clogging the team's productivity. Security analysts are looking for a solution to reduce those monotonous, manual tasks so they can be freed up to work on high-value projects for their organization and do what they do best: analysis.  No-code automation is that solution. Imagine having the ability to simply automate following up on suspicious log-ins or conducting secure employee onboarding and offboarding with only a few simple clicks — no need to know how to code. It not only has the potential to save a team time, but it's also a way to work smarter, not harder.

View more...

Popular Design Patterns for Microservices Architectures

Aggregated on: 2022-08-22 12:06:54

This is an article from DZone's 2022 Microservices and Containerization Trend Report.For more: Read the Report Applications have been built with monolithic architectures for decades; however, many are now moving to a microservices architecture. Microservices architectures gives us faster development speed, scalability, reliability, the flexibility to develop each component with the best tech stack suitable, and much more. Microservices architectures rely on independently deployable microservices. Each microservice has its own business logic and database consisting of a specific domain context. The testing, enhancing, and scaling of each service is independent of other microservices. 

View more...

Scaling a Node JS Application

Aggregated on: 2022-08-21 23:21:53

Whenever we build an awesome product we first build it standalone but sooner or later it attracts more users and then our minds start thinking about how to accommodate more users and there comes the need of scaling the application. Generally scaling means providing more elasticity to the application so that it can sustain the high influx of users and run smoothly without any glitches. Software scalability is an attribute of a tool or a system to increase its capacity and functionalities based on its users’ demands. Scalable software can remain stable while adapting to changes, upgrades, overhauls, and resource reduction

View more...

Bun - What Can I Use It For?

Aggregated on: 2022-08-21 22:21:53

In recent years, the web development landscape has discovered that, while super stylized websites and web applications with tons of very rich interactions made with Javascript might be appealing to users, the loading time of the page can be a hundred times more influential to the user's perspective of the experience. As a result, there has been a ton of effort to reduce the loading time metrics of websites. Many frameworks and patterns have (re-)emerged to give solutions to this problem, like Server-Side Rendering and Static Site Generation. Enter Jarred Sumner. Jarred noticed that an action as simple as printing to the console was extremely slow in Node.js. Here's an example of the time it takes to execute a "Hello world" program in Node.js and Rust.

View more...

Setup Jira With MySQL Docker.

Aggregated on: 2022-08-21 21:06:53

Hello Everyone, I am here again after a long gap. I have something new and interesting. In this article, we are going to set up a Jira DataCenter/Server-based instance on our host machine.

View more...

Backend-for-Frontend: The Demo

Aggregated on: 2022-08-21 20:36:53

In one of my earlier posts, I described the Backend-for-Frontend pattern. In short, it offers a single facade over multiple backend parts. Moreover, it provides each client type, e.g. desktop, mobile, exactly the data that it needs and not more in the format required by this client type. The Use-case Imagine the following use case. In an e-commerce shop, the home page should display multiple unrelated data at once.

View more...

Container vs. VM Security: Which Is Better?

Aggregated on: 2022-08-21 20:06:53

Containers and Virtual Machines (VMs) have a lot in common. They both make using IT infrastructure more efficient, but they do it in different ways. While both solutions can often solve the same problem, one of them is usually the better choice. In this post, we're going to look at the security of containers and VMs. Is one more secure than the other?

View more...

Kubernetes: Persistent Disk or StatefulSet?

Aggregated on: 2022-08-21 16:36:53

Kubernetes users are confused about when one should make a Deployment with a PVC and when they should use a StatefulSet with a PVC. There is also a general lack of understanding regarding disk access policies, what RWO/RWX means, and what they allow you to do. These concepts are complicated and require a deep level of understanding to avoid users making bad decisions that they come to regret later. In the talk, Portainer co-founder Neil Cresswell explores when one should use each type and what should be considered before deciding: from disk access policy, understanding what RWO really is and how RWX disk access changes the equation for persistence.

View more...

The Lifecycle Objects on CDI [Video]

Aggregated on: 2022-08-21 14:51:53

When we talk about a system OOP, we naturally, work with objects: those objects exist in memory until you destroy them. Object lifecycle routines allow the creation and destruction of object references. In enterprise system architecture design, we can imagine several cases, such as a @Connection instance, where when we create an instance, need to open the connection, and then don't need this instance. We can close and then destroy it.

View more...

Xpath in Selenium: A Complete Guide

Aggregated on: 2022-08-21 14:06:53

When writing a selenium automation script, we must locate elements. If we can't locate the elements using locators like id, class, name, etc., we use XPath to locate an element on the webpage. The ability to select any locator to support your condition is provided by XPath, which allows a choice to search a web element dynamically. However, XPath is not the only procedure Selenium provides to discover any element.

View more...

How a Service Mesh Simplifies Microservice Observability

Aggregated on: 2022-08-21 14:06:53

This is an article from DZone's 2022 Microservices and Containerization Trend Report.For more: Read the Report Service meshes and observability are hot topics within the microservices community. In this Trend Report, we’ll explore in detail how a service mesh, along with a good observability stack, can help us overcome some of the most pressing challenges that we face when working with microservices. 

View more...

How to Convert a PDF to Text (TXT) Using Java

Aggregated on: 2022-08-21 14:06:53

There is perhaps no file type more ubiquitous (by design) than the Portable Document Format (PDF). Capable of holding an impressive variety of content/object types and working seamlessly on any operating system you can think of, PDFs dominate personal and professional project landscapes as a destination format for bulky and/or specially formatted files. File types like PowerPoint’s PPTX, for example, are often so large that exporting the file as a PDF is the only efficient way to make the project shareable; PDF’s vector and raster graphics capabilities offer an ideal solution, maintaining a perfect representation of the original document while achieving much better compression for sharing. Formats like Microsoft Word DOCX simply can’t be opened as intended on many operating systems; the PDF version easily retains the same fonts and formatting edits included in the original, allowing the end viewer to see an exact visual representation of the document as it was intended. The list of *insert document* to PDF conveniences goes on and on. If there is one major drawback to PDF documents, it is that they are notoriously difficult to edit. In fact, almost everything that makes PDFs such an ideal solution for reformatting externally/manually generated material conversely makes them one of the more challenging formats to manipulate. Because PDFs handle so many different content types in one file, they go through extensive compression to achieve an easily portable size, which means opening a PDF document and changing its contents is never a straightforward task. It doesn’t help that they are designed and programmed to be difficult to edit in the first place; it’s part of what makes PDFs a secure and reliable format in the first place.

View more...

Optimal Transport and its Applications to Fairness

Aggregated on: 2022-08-21 13:51:53

Having its roots in economics, optimal transport was developed as a tool for how to best allocate resources. The origins of the theory of optimal transport itself date back to 1781, when Gaspard Monge studied the most efficient way to move earth to build fortifications for Napoleon’s army. In its full generality, optimal transport is a problem of how to move all of the resources (e.g. iron) from a collection of origin points (iron mines) to a collection of destination points (iron factories), while minimizing the total distance the resource has to travel. Mathematically, we want to find a function that takes each origin and maps it to a destination while minimizing the total distance between the origins and their corresponding destinations. Despite its innocuous description, progress on this original formulation of the problem, called the Monge formulation, remained stalled for nearly 200 years.  The first real leap toward a solution happened in the 1940s, when a Soviet mathematician named Leonid Kantorovich tweaked the formulation of the problem into its modern version and what is now referred to as the Monge-Kantorovich formulation. The novelty here was to allow some iron from the same mine to go to different factories. For example, 60% of the iron from a mine could go to one factory and the remaining 40% of the iron from that mine could go to a different factory. Mathematically, this is no longer a function because the same origin is now mapped to potentially many destinations. Instead, this is called a coupling between the distribution of origins and the distribution of destinations and is shown in the figure below; picking a mine from the blue distribution (origin) and traveling vertically along the figure shows the distribution of factories (destinations) where that iron was sent. 

View more...

A Quick Guide to Mobile Application Testing

Aggregated on: 2022-08-21 12:51:53

Smartphones are advancing at a rapid pace, and so are mobile applications. That’s why there has been a significant increase in the demand for mobile app developers. The market is indeed brimming with mobile applications of all kinds. Today, you can find an application for almost anything — whether you need to shop for clothes or find a doctor. In this cut-throat and competitive market, every company is aiming to provide the best-in-class applications to their customers. Applications need to be innovative and interesting, and in order to make an application effective and free from any glitches, mobile app testing is a crucial step in the process.

View more...

How to Debug an Unresponsive Elasticsearch Cluster

Aggregated on: 2022-08-21 04:51:53

Elasticsearch is an open-source search engine and analytics store used by a variety of applications from search in e-commerce stores, to internal log management tools using the ELK stack (short for “Elasticsearch, Logstash, Kibana”). As a distributed database, your data is partitioned into “shards” which are then allocated to one or more servers. Because of this sharding, a read or write request to an Elasticsearch cluster requires coordinating between multiple nodes as there is no “global view” of your data on a single server. While this makes Elasticsearch highly scalable, it also makes it much more complex to setup and tune than other popular databases like MongoDB or PostgresSQL, which can run on a single server.

View more...

Offline-First Apps: Why Should Apps Be Made to Work in an Offline State?

Aggregated on: 2022-08-21 04:21:53

People often experience network or internet connectivity issues while traveling, most often when they are on a subway. But not only in this particular case — one can encounter such issues anywhere where the network connectivity is poor. Browsing a mobile application in those situations can lead to a poor and frustrating user experience if it doesn’t possess the ability to work in the offline state. This is where the role of offline-first apps comes into play. Users carry a strong negative emotion for apps that are not optimized for low connectivity. And do you know latency is the number one reason why people in the U.S. decide to bounce from mobile pages? Though the stats don’t reveal whether it is when they are stuck in a low network area or it is the application’s slow nature despite a good network, the point that we want to put stress on is that a mobile app’s inability to load quickly can leave users highly dissatisfied and compel them to abandon the application. This, along with an increase in churn rate, can result in revenue loss as well. This has pushed "appreneurs" toward adopting an offline-first approach or building offline-first apps to tackle limited connectivity issues.

View more...

The Next Frontier for Observability: Data Ownership With OpenTelemetry

Aggregated on: 2022-08-21 03:51:53

Observability is a mindset that lets you use data to answer questions about business processes. In short, collecting as much data as possible from the components of your business — including applications and key business metrics — then using an AI-powered tool to help consolidate and make sense of this huge volume of data gives you observability into your business. Having observability for your business and applications lets you make smarter decisions, faster. You save time troubleshooting and can proactively solve problems before they impact customers.

View more...

Difference Between Jenkins vs. GitLab CI

Aggregated on: 2022-08-21 03:51:53

Organizations increasingly rely on DevOps to streamline business processes in the software-dense world. Meanwhile, their success with DevOps, in turn, can be attributed to the principles of continuous integration and continuous delivery. And the reason is — the best CI/CD tools efficiently use the power of automation to create a streamlined software delivery pipeline. CI/CD introduces continuous monitoring and continuous testing throughout the lifecycle of applications. So choosing a proper tool is essential, whether it’s reducing the complexity of tasks in continuous delivery pipelines, building automation in workflows, or efficiently managing code changes and bugs.

View more...