News Aggregator


Java Records vs. Lombok

Aggregated on: 2022-04-01 04:35:26

Java for a lot of time has been accused and mocked for its verbosity. Even the most passionate Java developers have to admit that it felt ridiculous to declare a bean class with two attributes. If you follow the right recommendations, you end up adding not only getters and setters, but also the implementations of toString hashcode and equals methods. The final result is a chunk of boilerplate that invites you to start learning another language.  Java   import java.util.Objects; public class Car { private String brand; private String model; private int year; public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public String getModel() { return model; } public void setModel(String model) { this.model = model; } public int getYear() { return year; } public void setYear(int year) { this.year = year; } @Override public String toString() { return "Car{" + "brand='" + brand + '\'' + ", model='" + model + '\'' + ", year=" + year + '}'; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Car car = (Car) o; return year == car.year && Objects.equals(brand, car.brand) && Objects.equals(model, car.model); } @Override public int hashCode() { return Objects.hash(brand, model, year); } }

View more...

How to Debug Selenium-Based Test Scripts

Aggregated on: 2022-04-01 04:05:26

Writing and maintaining the test automation code is not always a piece of cake. As a matter of fact, we frequently face many scenarios where automated test cases don’t work as expected and might lead to false positive or false negative results, in such cases, debugging is the only way out. Debugging is the primary skill set that an automation tester must adopt. It increases the morale and confidence in automation testers to provide a better code solution to fix the problem permanently. Debugging issues in the test automation framework become more complicated when the test automation framework has a huge number of test cases. With the expansion of features in the application, the number of test cases gradually increases. In such a scenario, fixing complex issues of hybrid frameworks might require enhanced techniques of debugging. In this article, we will deep dive into such essential debugging techniques that will not only fix script issues easily but also save a good amount of debugging time.

View more...

A Guide to API Types and Integration Specifics

Aggregated on: 2022-04-01 04:05:26

There is plenty of information on the different types of APIs, common API architectures and protocols, and such. So, instead of providing general information, I decided to take a look at all these concepts specifically from the integration perspective including: What exactly working with different types, architectures, and protocols of APIs means when you want to integrate several services with each other What tools can be useful in such cases and what aspects you might need to be aware of.  So, let’s kick off this topic with the first part – the different types of APIs and their integration.

View more...

Drawing Basic Shapes with HTML5 Canvas

Aggregated on: 2022-04-01 04:05:26

Since HTML5 Canvas is a graphic tool, it goes without saying that it allows us to draw shapes. We can draw new shapes using a number of different functions available to use via the context we set.  In this guide, we'll cover how to make some of the most basic shapes with HTML5 Canvas — squares, rectangles, circles, and triangles.

View more...

API Security Weekly: Issue 160

Aggregated on: 2022-04-01 00:50:26

This week, we have a vulnerability in the AWS API gateway that allows a potential cache-poisoning attack, disclosed at the recent BlackHat Europe conference, a guide on how to harden Kubernetes API access, a report from Forbes on the need to take API security more seriously, and predictions on what's possible on the next OWASP API security Top 10. Vulnerability: AWS API Gateway Vulnerable to HTTP Header-Smuggling Attack At the recent BlackHat Europe security conference, web security researcher Daniel Thatcher disclosed vulnerabilities relating to the AWS API gateway that allowed HTTP header smuggling. Currently, AWS has not responded to this research nor offered a comment regarding the potential vulnerabilities in their API gateway.

View more...

Software Engineers vs. Full-Stack Developers: 4 Key Differences

Aggregated on: 2022-04-01 00:05:26

Whether it’s for e-commerce platforms or financial organizations, any business that relies on its website, databases, and applications will use software engineers or full-stack developers. There’s an obvious relationship between the two roles, in fact, a full-stack developer is really a subcategory of software engineering. So, why the different job titles?

View more...

MongoDB: User Cases, Pros, and Cons.

Aggregated on: 2022-03-31 21:05:26

MongoDB is a document-based database management system commonly used for high-volume data storage. It is an easy tool to manage data and was developed to substitute the MySQL structure, as the growth of data required new tools for its management. MySQL became outdated for its lack of flexibility for reformatting data structures. The problem lies within a table-based design, as it makes the set of multivariate search queries finite. Enterprises rely on a combination of structured and unstructured data for business decisions, giving MongoDB rapid growth.  MySQL is a table-based system or open-source relational database, while MongoDB is also called an object-based system. A table-based design is the data query structure for search, where all data is related to another data point or set. Data in MongoDB, on the contrary, is non-relational. Instead of using tables and rows, MongoDB makes collections and documents. The documents are formed from key-value pairs – the core units of the system. Unlike rows, documents can store information that is complex in structure. Sets of documents and functions are united in the collections, which can be equivalent to relational database tables. MongoDB allows you to represent store arrays, hierarchical relationships, and other more complex structures.

View more...

How the Find Command Works on Linux

Aggregated on: 2022-03-31 19:50:26

The find command on Linux and Unix-like systems (i.e. macOS) is used to find files and directories in a specific directory. It is one of the most useful commands at your disposal when trying to find and process multiple files. It's also really useful during file audits. The syntax for find is shown below, where [OPTIONS] are optional settings, [LOCATION] is the location you want to find something within, and [SEARCH TERM] is the file name or directory name you want to find.

View more...

How to Master Your Software Engineering Journey, Part 2

Aggregated on: 2022-03-31 19:20:26

Software engineering is one of the most talked-about and sought-after career paths in the current world. During my journey as a software engineer, I have worked with some wonderful people, the latest technologies, and great projects. As I reflect on my humble beginnings and the gradual progression to my current role as an engineering manager, I wish I knew some key aspects of the craft of software engineering back then.

View more...

How to Become an Open-Source Database Developer

Aggregated on: 2022-03-31 18:50:26

Introduction Just like any other profession, becoming a database developer requires some effort and investment on your part. But with the right tools and resources at your disposal, it's achievable. In this post, we'll guide you through making that happen. So read on if you're interested in making a career out of being a database developer. Database developers have become a critical part of every organization’s application development process. More specifically, open-source databases have overtaken proprietary databases (like Oracle) in popularity and usage in modern apps. So these days, when you talk about becoming a database professional, you are talking about open-source.

View more...

API Integration Patterns

Aggregated on: 2022-03-31 18:50:26

Whether you're working with on-premise, cloud, and/or third-party integrations, the questions remain the same: What is the client or user experience you need to offer? And how do you align your integration strategy with it? This Refcard explores fundamental patterns for authentication, polling, querying, and more, helping you assess your integration needs and approach the design, build, and maintenance of your API integrations in the most effective ways for your business case.

View more...

Why Do We Need JDBC Transaction Management?

Aggregated on: 2022-03-31 17:20:26

In the video below, we take a closer look at why we need  JDBC transaction management with a sample program. Let's get started!

View more...

Cloud Pricing Comparison: AWS vs Azure vs Google Cloud

Aggregated on: 2022-03-31 16:50:26

Image Source AWS vs Azure vs Google: An Overview Amazon Web Services (AWS) is the world’s leading cloud computing platform. It provides Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) offerings. AWS services can provide organizations with on-demand computing power, storage, application services, and content delivery services.

View more...

Securing Your CI/CD Pipeline

Aggregated on: 2022-03-31 15:50:26

This is an article from DZone's 2022 DevOps Trend Report.For more: Read the Report Software firms have long relied on a DevOps approach to enhance agility and collaboration in software delivery. CI/CD pipelines automate processes in the software development lifecycle (SDLC) to enable seamless integration and delivery of new features. While CI/CD pipelines enhance software development through automation and agility, they involve integrating numerous tools and services, which can introduce security gaps. Identifying and remediating these security gaps is key to ensuring secure CI/CD practices. This article presents a general overview of what you need to know as you secure your CI/CD pipeline. 

View more...

How I Built a Basic Salesforce Mobile App with Lightning App Builder

Aggregated on: 2022-03-31 14:35:26

In the fall of 2018, I decided to replace an application my mother-in-law was using for her real estate business. I decided to replace the application with an Angular client and Spring Boot service running inside of AWS. The biggest lesson I learned was that I felt like I spent more time trying to understand AWS and less time making enhancements to her application. That all changed when spring 2020 arrived…

View more...

The Principles of Test Automation

Aggregated on: 2022-03-31 04:05:25

The word “test”  originally referred to “a small vessel used in assaying precious metals.” This meant that testing was a method of ascertaining the quality of gold or silver. It was also used in the process of refining valuable alloys, such as tin. Later, the term was adopted in other fields, and these days it’s common to find it in contexts such as education, medicine, or software development. Its essence, however, has not changed: testing is used to refine end value.

View more...

Making the Case for Observability to Your Boss

Aggregated on: 2022-03-31 04:05:25

One of the things the other developer relations advocates here at New Relic and I often hear from customers is, "Even though I understand why observability is important, I'm having a dickens* of a time getting leadership to buy in (literally)." Let me begin by pointing out how important it is for us — IT practitioners — to be willing and able to speak to management and leaders of the business about the work we do, and to do so in a way that is understandable and meaningful to the audience. I'm not implying you have to explain observability in a patronizing "explain it like they're five" kind of way. I mean you need to explain the WHY of observability in the context of what the audience feels is important.

View more...

How AI Is Used in Static Biometric Verification

Aggregated on: 2022-03-31 03:35:25

Static biometric verification is a commonly used AI feature that captures faces in real time and can determine whether a face belongs to a real person or not, without prompting the user to move their head or face. In this way, the service helps deliver a convenient user experience that wins positive feedback. Technical Principles Static biometric verification requires an RGB camera and is able to differentiate between a real person's face and a spoof attack (such as an image or screenshot of a face and a face mask), through details (such as the moiré pattern or reflection on a paper photo) in the image captured by the camera. The service supports data from a wide array of scenarios, including different lighting conditions, face accessories, genders, hairstyles, and mask materials. The service analyzes a face's surroundings to detect suspicious environments. 

View more...

How the chmod Command Works on Linux

Aggregated on: 2022-03-31 02:20:25

When we create a file or folder on a Unix-based system like Linux or MacOS, it has a set of permissions and access modes. These are most often manipulated using the chmod command, which allow us to change who can access and run different files. Let's look at how chmod works. To begin, the chmod command has the following syntax, where [OPTIONS] are optional settings, [MODE] are the permissions we want to give the file or folder, and x is the file we want to apply chmod to.

View more...

The Official DZone Style Guide

Aggregated on: 2022-03-30 22:05:25

Welcome to DZone!  This is the content style guide for user contributions on the site. A style guide is a document that lays out rules and guidelines to help maintain the tone and voice of the content across the site.

View more...

DZone's Article Types

Aggregated on: 2022-03-30 22:05:25

The DZone website supports nine different article types. There are shared elements between them, but they all serve a different purpose for the audience.  News News articles talk about current events at a high level. They cover the who, what, where, when, and why of a given topic. News articles can be written about topics like new versions of software, developments in enterprise environments, or other similar events.

View more...

An Introduction to AWS Step Functions

Aggregated on: 2022-03-30 22:05:25

In this blog, you will get a short introduction into AWS Step Functions. You will also create a workflow from scratch with a lambda. The output of the lambda will be transformed so that it can be used in the workflow. 1. Introduction AWS Step Functions is a low-code, visual workflow service in order to build applications. The goal is to focus on the business logic and to combine services with each other in a visual way. You can make use drag-and-drop in order to create a workflow and to integrate services. More information about AWS Step Functions can be found at the AWS website. The easiest way to discover how it looks like, is to create a workflow by yourself and that is exactly what you are going to do.

View more...

REST API Security Essentials

Aggregated on: 2022-03-30 21:35:25

API security is increasingly a focus area for both developers and security professionals, given the proliferation of APIs in modern applications. APIs are becoming the number one attack vector in 2022. This Refcard enables developers to understand the elements of API security, common vulnerabilities and attack vectors, and best practices for building secure APIs.

View more...

Designing Your First GraphQL Schema

Aggregated on: 2022-03-30 20:50:25

Building schemas are a key part of building a graph. Schemas are one of the major benefits of using GraphQL. The schema defines how clients can retrieve data from your GraphQL API. With schemas, you can easily shape and evolve your data to fit your specific business, product, or project needs. If you’re new to the GraphQL world, you might be wondering how you can build flexible and evolvable schemas. In this article, we’ll go over some principles to keep in mind when designing your own GraphQL schema. Before getting started, here are a few things you should know:

View more...

Monitor Kubernetes Events With Falco For Free

Aggregated on: 2022-03-30 20:20:25

Kubernetes is now the platform of choice for many companies to manage their applications both on-premises and in the cloud. Its emergence a few years ago drastically changed the way we work. The flexibility of this platform has allowed us to increase the productivity of the engineering teams, thus requiring new working methods more adapted to this dynamic environment. Kubernetes requested an adaptation of the security control processes to ensure the continuity of the reliability of this system. Falco is a tool that fits into this ecosystem.

View more...

Managed vs. Self-Hosted CI/CD

Aggregated on: 2022-03-30 19:20:25

This is an article from DZone's 2022 DevOps Trend Report.For more: Read the Report Continuous integration/continuous deployment (CI/CD) pipelines have matured from new forms of automation to mission-critical systems. DevOps teams rely on pipelines to deliver value to their customers by tightening developer feedback loops and standardizing processes. When a system becomes more valuable and important, it tends to increase in complexity. It must support more users, be more reliable, and perform, despite the increased load. Soon the CI/CD system built for one team has grown to support every business line in the firm. 

View more...

2 Billion MySQL Records

Aggregated on: 2022-03-30 18:05:25

Yesterday Gary Gray, a friend of mine sent me the following screenshot. He's got a database table with 2 billion records he intends to use Magic on, and he wanted to show it to me, thinking I'd probably be like, "That's cool." Gary works for Dialtone in South Africa, and is used to handling a "monster amount of data". For the record, neither Gary nor I would want to encourage anyone to handle 2 billion records in MySQL, but as you can obviously, see it is possible. This of course is a legacy system. If it was started today, Gary would obviously use ScyllaDB, Cassandra, or something similar. Simply counting the records in the table above requires 5 minutes of execution in MySQL workbench. Obviously, such sizes are not for those faint at heart. Such a database also implies a lot of inserts.  This makes it impossible to add indexes, resulting in every select query you do towards it having some sort of where clause in it that implies a full table scan. However, it is possible.

View more...

Automated Tests: You Are Doing It Wrong [Comic]

Aggregated on: 2022-03-30 16:35:25

This is an article from DZone's 2022 DevOps Trend Report.For more: Read the Report

View more...

How To Build a Strong Incident Response Process

Aggregated on: 2022-03-30 16:35:25

When building an incident response process, it’s easy to get overwhelmed by all the moving parts. Less is more: focus first on building solid foundations that you can develop over time. Here are three things we think form a key part of a strong process. I’d recommend taking these one at a time, introducing incident response throughout your organization.

View more...

SRE vs. Platform Engineering: The Key Differences, Explained

Aggregated on: 2022-03-30 15:35:25

Site Reliability Engineering (SRE) teams and Platform Engineering teams share similar goals, like maximizing automation and reducing toil, and similar methodologies. However, they have different priorities and use somewhat different tools to achieve them. What are SREs? What are platform engineers? How is each role similar and different? This article explains.

View more...

Building a Buy Now, Pay Later Payment Solution

Aggregated on: 2022-03-30 12:50:25

There was a point in my life when music was the primary focus. After high school, I decided to join a few friends to give a career in music a shot. Since I have no shame, here is a photo of me during that period of my life: If this information about me is new to you, you are likely to conclude that the dream of being a rock star did not pan out quite as I planned back in the mid-1980s. 

View more...

What Is a JDBC Statement? [Video]

Aggregated on: 2022-03-29 22:50:25

In the video below, we take a closer look at JDBC Statements with examples. Let's get started!

View more...

Release of ActiveMQ v5.17.0

Aggregated on: 2022-03-29 22:50:25

On the heels of the ActiveMQ v5.16.4 release, the Apache ActiveMQ team has released v5.17.0. Modernization Updates The v5.17.0 release will be most notable for what comes next. This release was more about aligning Java JDK and dependencies for moving forward than adding new features.

View more...

How To Store File or Retrieve File To/From a Database Table Using JDBC Program?

Aggregated on: 2022-03-29 22:05:25

In the video below, we take a closer look at how to store files or retrieve files to/from a database table using JDBC Program?. Let's get started!

View more...

Getting Started With Storing Vue Data in Vuex

Aggregated on: 2022-03-29 22:05:25

Vuex is a state management library that lets us handle and ultimately store data from our UI. In this article, we'll be introducing you to the concepts around Vuex, how to use it, and how to store your data locally with it. What Is Vuex? You are probably familiar with the concept of state, which is just a fancy way of saying data. We can store the state in Vue within the data() function itself. For example, in the below Vue component, we are storing a toggle state as false, and whenever we click our button in the template section, we set it to true:

View more...

CRUD Operations With MongoDB Using Mulesoft

Aggregated on: 2022-03-29 21:05:24

In this article, I will explain how to implement CRUD operations in Mule 4 using the MongoDB Connector. Prerequisites: 

View more...

Value Stream Management Essentials

Aggregated on: 2022-03-29 21:05:24

Value stream management (VSM) is the lean practice of monitoring, evaluating, and continually improving an organization’s software delivery process. In this Refcard, explore everything VSM has to offer, including key concepts, fundamentals, and more.

View more...

Uploading, Modifying, and Viewing Video Files with the DailyMotion API

Aggregated on: 2022-03-29 20:05:24

Image Source Dailymotion is a French video-sharing platform owned by Vivendi. In the US it is supported by partners like Vice Media, Bloomberg, and Hearst Digital Media. It is available in 183 languages with 43 localized versions. It is currently estimated to have 300 million users, which is substantial but far below that of its larger competitor, YouTube.

View more...

Multi-Threading and Spring Transactions

Aggregated on: 2022-03-29 19:35:24

As developers, we are used to applying the @Transactional annotation provided by the Spring framework and rely on the mechanisms implemented by the framework for transaction management. But is this enough? Well, the answer is clear: No. 

View more...

Portfolio Architecture Examples: Telco Collection

Aggregated on: 2022-03-29 16:20:24

This article is a continuation of a series of posts about our project named Portfolio Architectures. The previous post, Portfolio Architecture Examples: Healthcare Collection, begins with a project overview, introduction, and examples of tooling and workshops available for the project.  You may want to refer back to that post to gain insight into the background of Portfolio Architectures before reading further.   Telco Collection The collection featured today is centered around architectures in the telco domain. There are three architectures in this collection and we'll provide a short overview of each, leaving the in-depth exploration as an exercise for the reader.

View more...

Why a Site Reliability Engineer Is Important to Your CI/CD Pipeline

Aggregated on: 2022-03-29 15:05:24

This is an article from DZone's 2022 DevOps Trend Report.For more: Read the Report Continuous integration and continuous deployment are the two major components of DevOps principles. Every organization that wants to move away from the traditional way of working has to learn, design, and implement a mature CI/CD pipeline. Having a mature CI/CD pipeline is a good start for site reliability engineering, but alone, it’s not enough. The site reliability engineering (SRE) methodology brings a new perspective to the software development life cycle by aiming to achieve reliability at scale. 

View more...

Internationalizing Your Lightning Web Component (LWC)

Aggregated on: 2022-03-29 11:50:24

To state that everyone maintains at least one pet peeve is not an exaggeration. Years ago when I used to watch "That 70's Show" I felt like the Red Foreman character was a bit over the top with his opinions, pet peeves, and things that seemed to irritate him without warning. Now, several decades later, the older version of me can relate to his pearls of wisdom. Well, one or two pearls, maybe.

View more...

Framewars: The Battle Between NoSQL and Java in the Cloud Arena

Aggregated on: 2022-03-29 04:50:24

This lecture's objective is to make comparisons between points and weaknesses of Java frameworks that integrate with databases. On the one hand, the NoSQL MongoDB, Redis, Neo4J, and Cassandra, and on the other, the Java frameworks that integrate with them: Spring, Quarkus, Jakarta EE, Micronaut. The arena: the cloud! In this ring, the one who best analyzes each tool's trade-offs wins in this epic battle.

View more...

What Is Mysqld?

Aggregated on: 2022-03-29 04:05:24

Introduction The MySQL Server has many different names and has been around for decades. Some people simply call it "MySQL," some refer to it as "the MySQL daemon," and others still elect to simply combine the two and call it "mysqld" (short for "MySQL daemon"). Regardless, the fact remains that it is both extremely popular and used in almost every industry we can think of. People working with the server generally use it to support software solutions on the web, but its use cases vary from industry to industry thanks to its high availability, performance including data storage and security. Here you can read about how to Set Up MySQL 8 Replication with Linux Nodes:

View more...

Functional Interface Explained in Detail Introduced From Java 8

Aggregated on: 2022-03-29 03:50:24

Originally published August 2020 Functional interfaces are introduced as part of Java 8. It is implemented using the annotation called @FunctionalInterface. It ensures that the interface should have only one abstract method. The usage of the abstract keyword is optional as the method defined inside the interface is by default abstract. It is important to note that a functional interface can have multiple default methods (it can be said concrete methods which are default), but only one abstract method. The default method has been introduced in interface so that a new method can be appended in the class without affecting the implementing class of the existing interfaces. Prior to Java 8, the implementing class of an interface had to implement all the abstract methods defined in the interface.

View more...

7 Factors to Consider When Choosing a Network Performance Solution

Aggregated on: 2022-03-29 03:50:24

A high-performing network is integral for the maintenance of a functioning IT infrastructure in any modern company. It helps facilitate effective business communications and promotes synergy between systems. Therefore, it’s no exaggeration to say that a poorly functioning network can severely disrupt business operations or even drive a company to a standstill. Network problems are a constant issue in most companies and network managers often find themselves trying to untangle increasingly complex problems. Simply put, the business runs on the network, and if the network is compromised, so is the business. Fortunately, there is a pretty simple solution for all of this—investing in a network performance solution. 

View more...

Getting Started With ScyllaDB Cloud Using Node.js (Part 1)

Aggregated on: 2022-03-29 00:35:24

In this article, we will review the basics of ScyllaDB, then create and deploy a cluster on AWS using Scylla Cloud. What’s a CRUD App? CRUD stands for Create, Read, Update and Delete. In this article, we will build a simple application that will connect to our database and do just that using NodeJS and Scylla Cloud.

View more...

What The Next 20 Million Devs Want w/ Tiff in Tech & Stereotype Breakers' Masha Zvereva

Aggregated on: 2022-03-29 00:35:24

The world is shortly going to need another 20 million developers, and with over 1,000 engineering leaders joining us for INTERACT on April 7th, there’s no better time to talk to two people who have captured the minds of millions of developers - and will be featured at INTERACT - Tiffany Janzen and Masha Zvereva. In addition to their own tech careers, both women have become prominent voices in the dev community, Tiffany is most well-known for her Tiff in Tech YouTube channel and Masha for her company Stereotype Breakers.

View more...

Old Habits Die Hard, But Getting New Ones is Essential. Tips on Getting the Most Out of TypeScript

Aggregated on: 2022-03-28 22:50:24

In web development, no one is surprised when a new framework or library enters the stage. Implementing complex functionalities and creating UI elements from scratch only using the powers of a specific programming language is not always the most optimal way. Instead, developers either rely on the existing frameworks or create their own for internal use. In the case of programming languages, the situation is a little more complicated. A fairly large number of coders are unhappy with the limitations of the programming language that they use every day. Therefore, from time to time, we can hear about the new programming language release. The question is, will the development community adopt it as a replacement for well-established technologies? As an example, we can take a look at Dart. It was initially released in 2011 but remained quite unpopular until the Flutter framework was launched in 2017.

View more...

Javascript Map and How It Is Different From Foreach

Aggregated on: 2022-03-28 22:20:24

The map method is one of the most used functions in Javascript. It is used to take arrays, and return a new array which can be changed with an attached function. When you start developing in Javascript, you'll see map everywhere. Let's look at how it works. How Map Works in Javascript map()is a method of arrays. That means you can only use map on something which is typed as an array. For example, [ 1, 2, 3 ].map() will work, but 14.map() will not.

View more...