News Aggregator


A Guide to Enhanced Debugging and Record-Keeping

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

As developers working with third-party REST APIs, it is often necessary to store the request and response details for potential future reference, especially when issues arise. This could serve as invaluable data to liaise with third-party vendors, providing a first-hand look at the raw interaction that occurred. In my role, I am constantly orchestrating API’s with multiple partner services. Therefore, I sought a generic solution to store these third-party API requests and responses seamlessly. The Spring Framework's RestTemplate, a widely used synchronous HTTP client, proves to be a handy tool for consuming RESTful services. This framework provides an interface called ClientHttpRequestInterceptor, which allows us to take certain actions on the request and response.

View more...

Demystifying AWS Security: 8 Key Considerations for Secure Cloud Environments

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

Amazon Web Services (AWS) provides a robust and scalable cloud computing platform that is widely adopted by organizations. However, with the increasing reliance on AWS services, ensuring proper security measures is crucial to protect sensitive data and maintain the integrity of cloud environments. In this article, we will demystify AWS security and discuss key considerations to establish a secure cloud environment on AWS. Before we dive into the eight points, let's quickly discuss an interesting case study that will make what we will discuss later in this article more pertinent.  Case Study: Capital One Data Breach In 2019, Capital One experienced a significant data breach that exposed sensitive customer information. The breach affected approximately 100 million individuals in the United States and approximately 6 million in Canada, with a hacker illicitly accessing a total of about 140,000 Social Security numbers and approximately 80,000 linked bank account numbers of secured credit card customers.

View more...

For Entry-Level Data Engineers: How To Build a Simple but Solid Data Architecture

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

This article aims to provide a reference for non-tech companies who are seeking to empower their business with data analytics. You will learn the basics about how to build an efficient and easy-to-use data system, and I will walk you through every aspect of it with a use case of Apache Doris, an MPP-based analytic data warehouse. What You Need This case is about a ticketing service provider who wants a data platform that boasts quick processing, low maintenance costs, and ease of use, and I think they speak for the majority of entry-level database users. A prominent feature of ticketing services is the periodic spikes in ticket orders, you know before the shows go on. So, from time to time, the company has a huge amount of new data rushing in and requires real-time processing of it so that they can make timely adjustments during the short sales window. But at other times, they won't want to spend too much energy and funds on maintaining the data system. Furthermore, for a beginner in digital operation who only require basic analytic functions, it is better to have a data architecture that is easy to grasp and user-friendly. After research and comparison, they came to the Apache Doris community, and we help them build a Doris-based data architecture.

View more...

Building for Failure: Best Practices for Easy Production Debugging

Aggregated on: Wed Jul 12 2023 16:16:09 GMT+0000 (Coordinated Universal Time)

Quite a few years ago, I was maintaining a database-driven system and ran into a weird production bug. The column I was reading from had a null value, but this wasn’t allowed in the code, and there was no place where that value could have been null. The database was corrupt in a bad way, and we didn’t have anything to go on. Yes, there were logs. But due to privacy concerns, you can’t log everything. Even if we could, how would we know what to look for? Programs fail. That’s inevitable. We strive to reduce failures, but failure will happen. We also have another effort, and it gets less attention: failure analysis. There are some best practices and common approaches, most famously logging. I’ve often said before that logs are pre-cognitive debugging, but how do we create an application that’s easier to debug?

View more...

Big Data, Bigger Possibilities: Exploring Apache Spark for Developers

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

In the era of big data, the ability to process and analyze large datasets efficiently is crucial. Apache Spark, a powerful open-source unified analytics engine, has emerged as a preferred tool for big data processing. Understanding Apache Spark Apache Spark is a distributed processing system designed for big data workloads. Provides an interface for programming entire clusters with implicit data parallelism and fault tolerance. The key features and components of Apache Spark include Spark Core, Spark SQL, Spark Streaming, MLlib for machine learning, and GraphX for graph processing.

View more...

IVR Testing in the Age of AI: Bridging the Gap Between Humans and Machines

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

In this article, we delve into the transformative role of Artificial Intelligence (AI) in Interactive Voice Response (IVR) systems and its implications on IVR testing. Beginning with an exploration of the evolution of IVR systems, we discuss the advent of AI in enhancing these systems to deliver more natural, personalized customer interactions. We then examine the significant impact of AI on IVR testing, the challenges it presents, and the strategies and techniques for effectively testing AI-based IVR systems. The article also includes case studies showcasing successful AI-based IVR testing implementations in various industries. Looking to the future, we explore the exciting potential of AI to drive further advancements in IVR testing, creating more reliable, effective, and human-like IVR systems. The article concludes with the assertion that AI holds the key to bridging the gap between humans and machines in the realm of IVR, reshaping customer interactions in significant ways. The Evolution of IVR Systems Interactive Voice Response (IVR) systems have been instrumental in the field of customer service since the late 20th century. Initially, these systems were simple, capable of understanding only specific touch-tone commands. The goal was to automate and streamline customer interaction, reducing the burden on human operators and speeding up response times.

View more...

What Is the Difference Between API Rate Limiting and Throttle Controls?

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

What Are API Rate Limiting and Throttle Controls? API rate limiting and throttle controls are techniques used to regulate the rate at which API requests are processed. They play a crucial role in managing the flow of incoming requests to an API, preventing overloading, and ensuring optimal performance and resource utilization. Rate limiting involves setting a maximum limit on the number of API requests that can be made within a specific time frame. Once the limit is reached, additional requests may be blocked or delayed until the next time frame. Rate limiting helps prevent API overloads, improves stability, and ensures fair usage among API consumers.

View more...

Leveling Up Your Developer Career

Aggregated on: Wed Jul 12 2023 15:16:09 GMT+0000 (Coordinated Universal Time)

Recently (on July 7, 2023), I was involved in a discussion around this topic along with other panelists. This was part of a larger event around Empowering Developers to Build Faster and Innovate More. Since I think it's worth sharing some insights, I wanted to write a post to review our discussion. It's a topic close to my heart (developer enablement) and it's a good change-up from the usual stuff I usually write about.

View more...

Ensuring REST API Contract Compliance

Aggregated on: Wed Jul 12 2023 15:16:09 GMT+0000 (Coordinated Universal Time)

In software development, RESTful APIs have become a standard for communication between different components of a system. These APIs define a contract or agreement between the backend API provider and the frontend or third-party consumers. The contract outlines the expected behavior, data formats, and rules for exchanging information. Why Respecting API Contracts Is Important? Testing REST API contracts is highly significant for the following reasons:

View more...

Securing RESTful Endpoints

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

Welcome back, developers and security enthusiasts! In the previous blog, “Implementing RESTful endpoints: a step-by-step guide,” we covered the essential foundations of API security, including authentication, authorization, and secure communication protocols. Now, it's time to level up and delve into advanced API security. Building upon our previous discussions, this blog takes us deeper into protecting our applications and data from potential threats.

View more...

What Is Quality Assurance? A Getting Started Guide

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

The Quality Assurance process involves establishing standards, guidelines, and procedures to ensure the integrity of the software product or service throughout its development and to prevent quality issues. The purpose of software Quality Assurance is to ensure that a product meets the quality requirements. As a preventive process, it aims to provide a quality environment for the software product being developed by establishing correct methodology and standards. Regardless of what industry it is, the success of a business entirely depends on the quality of its product. If the product quality is compromised, customer satisfaction and sales decline. Here, the role of Quality Assurance in ensuring the success of a business lies in maintaining the desired level of product quality. Quality Assurance measures enable businesses to enhance customer satisfaction, boost sales, and build a positive brand image.

View more...

An Introduction To Bare Metal Provisioning

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

Bare metal plays a variety of roles in the modern data center. Essentially, legacy hardware, core business apps like ERP, and specific apps required by an organization often drive the requirement for bare-metal workloads in the data center. This is down to the fact that bare-metal servers are a good fit for high-performance computing (HPC) applications because they are free from normal virtualization overhead. What Is Bare Metal?  Bare metal describes a computer framework that does not have a base operating system (OS) or installed applications. It is a computer's hardware assembly, structure, and components that are installed with either the firmware or basic input/output system (BIOS) software utility or no software at all.

View more...

Observability Architecture: Financial Calculations Example

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

Cloud-native technology has been changing the way payment services are architected. In 2020, I presented a series with insights from real implementations adopting open-source and cloud-native technology to modernize payment services. The architectures presented were based on open-source cloud-native technologies, such as containers, microservices, and a Kubernetes-based container platform. The major omission in this series was to avoid discussing any aspect of cloud-native observability. This series will take a look at fixing that omission with an open-source standards-based cloud-native observability platform that helps DevOps teams control the speed, scale, and complexity of a cloud-native world for their financial payments architecture.

View more...

GraalVN Features and Future

Aggregated on: Tue Jul 11 2023 22:16:08 GMT+0000 (Coordinated Universal Time)

GraalVM, as the name suggests, represents the Holy Grail of modern cloud-native development by boosting the performance of Java applications and, at the same time, making highly efficient and seamless polyglot programming a reality. But what exactly lies behind these claims? In this article, we will look into the platform’s evolution and prospects to understand why you will benefit from integrating the technology in production. We will also summarize the key aspects of GraalVM licensing, including the new license introduced by Oracle in 2023. Benefits of GraalVM for Java Development GraalVM is a platform based on Java HotSpot VM implemented in Java. It includes the Java Development Kit (JDK), the advanced just-in-time compiler, the ahead-of-time compiler, and tools for adding programming languages to the project. Its goal is accelerating JVM-based applications and providing a foundation for multilingual programming. The benefits of the technology for Java developers can be summarized as follows:

View more...

Managing for Quality With Dr. Joseph Juran

Aggregated on: Tue Jul 11 2023 22:01:08 GMT+0000 (Coordinated Universal Time)

The Juran Trilogy: Empowering Management, Testers, and Development Teams for Quality Planning We can plan for quality. Dr. Joseph Juran showed many companies how to do this. The Juran Trilogy helps management plan for quality, and it can also be used by testers and development teams to do the same. Joseph Juran was born in Romania and moved to the USA. He worked with Walter Shewhart at Bell Telephones and he later taught quality control at New York University. After World War Two he helped to rebuild the Japanese economy where his techniques became part of the management culture. He went on to work with many others including Steve Jobs [1]. The Emperor of Japan and the President of the USA gave Juran honors.

View more...

How to Turn Images Into Prompts With the Img2Prompt AI Model: A Step-by-Step Guide

Aggregated on: Tue Jul 11 2023 21:46:08 GMT+0000 (Coordinated Universal Time)

Have you ever come across a stunning image and wished you could instantly generate a captivating text prompt that matches its style? Look no further. In this guide, we'll explore an incredible AI model called "img2prompt" which allows you to generate approximate text prompts that align with the style of any given image. Whether you're an artist, a writer, or simply looking to explore the creative possibilities of AI, this model will revolutionize the way you approach image-to-text generation. To kick things off, let's take a closer look at the img2prompt model on AIModels.fyi and understand how we can utilize this powerful tool to bring our imaginative ideas to life.

View more...

API Testing Automation: How and Why Automate API Testing

Aggregated on: Tue Jul 11 2023 21:46:08 GMT+0000 (Coordinated Universal Time)

APIs are everywhere, and in most cases, we don’t give them much thought, even when using them multiple times a day. Whenever you log into a website using your Google or Facebook account, check the location of a new restaurant on Google Maps right from the restaurant’s website, or pay for your purchase on an eCommerce site using your PayPal account, you get to witness APIs in action. But while APIs usually serve a single purpose and are not particularly large or complex software products, it takes a lot of testing on the developers’ side to ensure the spotless performance, complete functionality, and strong security of an API. And many organizations now prefer to automate API testing to save time and money on QA and get more consistent results. In today’s guide, we are going to talk about why and how to use API automation testing in your company.

View more...

Playing Around With AWS Vault for Fun and Profit

Aggregated on: Tue Jul 11 2023 21:16:08 GMT+0000 (Coordinated Universal Time)

AWS Vault is an open-source tool by 99Designs that enables developers to store AWS credentials in their machine keystore securely. After using it for a while at Jit, I decided to dig deeper into how it works and learned a lot along the way. In this article, I will summarize and simplify the information I learned to help others with their AWS Vault adoption and lower the barrier to usage. I will start with a basic explanation of AWS access keys, the Session Token Service, and its helpful API calls. Then I will show how AWS Vault uses it to provide a secure way to access AWS resources, reducing the risk of exposing AWS credentials. In addition, I will represent a typical AWS account pattern, and again we'll see how AWS Vault works perfectly with it.

View more...

Third Generation Data Platforms: A First Look at Microsoft Fabric

Aggregated on: Tue Jul 11 2023 20:46:08 GMT+0000 (Coordinated Universal Time)

Evolution Towards the end of 2019, Azure SQL Data Warehouse was integrated as 'Dedicated SQL pools' into Synapse Analytics. Synapse brought in additional Serverless and Big Data Analytics capabilities.  Microsoft Fabric, now in Public Preview, represents the next evolution of data platforms in the Azure cloud, unifying a bunch of PaaS services into a single SaaS platform.  Fabric is presented as an end-to-end, unified analytics platform serving engineers, data scientists, business analysts, and business users alike. The components of this new platform are of two main types: 

View more...

Data Integration in IoT (Internet of Things) Environments: Enhancing Connectivity and Insights

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

In the dynamic world of the Internet of Things (IoT), data integration plays a crucial role in harnessing the full potential of connected devices. By seamlessly combining data from diverse sources, data integration enables organizations to unlock valuable insights, optimize operations, and make informed decisions. This blog will explore the significance of data integration in IoT environments, its techniques, benefits, and future trends.   Understanding Data Integration in IoT  Data integration in the context of IoT refers to gathering, consolidating, and transforming data from various IoT devices, sensors, and systems into a unified format for meaningful analysis. Data integration presents a holistic view of scattered data in a singular space, improving accessibility and decision-making speed. 

View more...

An Introduction to BentoML: A Unified AI Application Framework

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

Navigating the journey from building machine learning (ML) models to deploying them in production can often be a rocky road. It’s an essential yet complex process where data scientists and engineers must bridge their knowledge gap. Data scientists, adept at creating models, might stumble when it comes to production deployment. On the other hand, engineers may struggle with the continuous iteration of ML models, leading to inefficient, error-prone operations. Consider this specific scenario: you have just created an ML model for text summarization, which performs brilliantly in tests. You plan to share this model with your team to build an application on top of it. However, shipping this model poses a unique challenge: ensuring your team can use your model without fiddling with code or environment setups.

View more...

Unleashing Cross-Platform App Development: Mastering the Vital Tech Stack for Unprecedented Success

Aggregated on: Tue Jul 11 2023 18:16:08 GMT+0000 (Coordinated Universal Time)

In today's digital landscape, cross-platform app development has emerged as a powerful approach to reach a wider audience and maximize success. By leveraging the right tech stack, developers can unlock unparalleled growth opportunities and achieve unprecedented success.  With the staggering number of smartphone and tablet users worldwide, the mobile app industry is thriving like never before. People are glued to their mobile devices, checking them an average of 262 times a day, spending a whopping 88% of their mobile time on apps. This presents a golden opportunity for app developers and publishers, but success hinges on two crucial factors: getting users to download your app and ensuring they actually use it. 

View more...

API’s Role in Digital Government, 10 National Best Practices

Aggregated on: Tue Jul 11 2023 18:01:08 GMT+0000 (Coordinated Universal Time)

As the digital revolution reshapes government operations worldwide, Application Programming Interfaces (APIs) have emerged as a critical tool in driving digital transformation. Through APIs, governments can ensure smoother interoperability between various systems, facilitate data sharing, and innovate public services. Here, we look at 10 best practices for using APIs in digital government based on national examples from around the globe. “APIs are instrumental in public digital service provision for their connective nature”. According to the publication: Application Programming Interfaces in Governments: Why, what, and How.

View more...

Streaming Analytics With Snowflake

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

Snowpipe Streaming Snowflake introduced Snowpipe Streaming and is set to be a key technology for near-real-time streaming workloads. Data ingestion is, however, only one part of the story.

View more...

Exploring Cloud-Based AI/ML Services for IoT Edge Devices

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

The world of AI and ML is professing with leaps and bounds, and it wouldn’t be wrong to call them robust analytical tools for optimizing and analyzing immense volumes of data. Combining artificial intelligence and machine learning can help filter out the noise IoT devices collect so you can only access relevant data. Ranging from self-driving cars to active web search and speech recognition, there are various advancements that we’ve seen which are accredited to ML and AI. So, if you are ready to explore artificial intelligence and machine learning to curate cutting-edge IoT devices, we are sharing the details with you!

View more...

ChatGPT Functions: Observations, Tips, and Tricks

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

Recently introduced ChatGPT functions represent a huge leap forward that lets ChatGPT use your local files, data, and system services. So, if you supply proper functions to ChatGPT, you can ask it something like “Email Kate Bell with birthday greetings” and see a new email message pop up with correct email address, correct subject and generated email text with birthday best wishes.  Pretty cool, right?  

View more...

Platform Engineering: Building Your Developer Portal With Backstage (Part 1)

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

In my previous article, we looked at platform engineering: what it is, how it became a thing, platform engineering vs. DevOps, and how it could help improve security.  Today, let's get hands-on and build a developer portal from scratch!

View more...

Rust and Sustainability: Programming for a Greener Future

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

In an era where sustainable practices are more important than ever, the selection of programming languages has shifted to include factors such as environmental impact alongside performance, ease of use, and scalability. Rust has emerged as a standout choice in this context, driving us toward a greener future in programming. This article will delve into Rust's potential for a sustainable future, the hurdles to its adoption, and strategies for a successful transition to Rust. Why Choose Rust for Sustainability? Rust's promise in the landscape of sustainable coding springs from its unique attributes. Its low-level functionality allows it to operate close to system hardware without needing a garbage collector. This lack of overhead reduces the computational power and energy needed to run applications, promoting efficiency. Rust's inherent support for concurrent programming and absence of a global garbage collector optimizes multi-core processor usage, leading to better resource management. It also guarantees memory safety without garbage collection, lessening the likelihood of resource-wasting memory leaks. Moreover, Rust offers predictable performance characteristics, minimizing unexpected excessive use of computational resources.

View more...

(Hopefully) The Final Article About Equals and HashCode for JPA Entities With DB-Generated IDs

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

In this article, we’ll explore the proper implementation of the equals() and hashCode() methods for JPA entities. While you can find a lot of implementations on the internet, it's crucial to understand the reasoning behind the chosen implementations to avoid potential issues. By reading the entire article, you will:  Gain insights about default equals() and hashCode() implementations; Discover issues you might encounter using common equals() and hashCode() implementations found on the internet; Learn a lot of interesting things about proxies in Hibernate. However, if you're short on time, you can skip to the end, copy the proper equals() and hashCode() methods, and paste them into your code :).  Should We Override Equals and HashCode at All? Let's begin with a simple example. We have an online school application. Now, we need to create a REST endpoint that retrieves all students whose names start with specific letters and have an average grade lower than a certain value. Luckily, we already have a service with methods that can help us complete this task.  Java   @Getter  @Setter  @Entity  @Table(name = "student")  public class Student {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    @Column(name = "id", nullable = false)    private Long id;      @Column(name = "name")    private String name;      @Column(name = "average_grade")    private Short averageGrade;  } Java   {    Set findByAverageGradeLessThan(Short averageGrade);    Set findByNameStartsWithIgnoreCase(String name);  }" data-lang="text/x-java"> public interface StudentRepository extends JpaRepository<Student, Long> {    Set<Student> findByAverageGradeLessThan(Short averageGrade);    Set<Student> findByNameStartsWithIgnoreCase(String name);  } Java   getStudentsWithNameStartsWith(String letter) {      return studentRepository.findByNameStartsWithIgnoreCase(letter);    }      @Transactional    public Set getStudentsWithAverageGradeLessThan(Short averageGrade) {      return studentRepository.findByAverageGradeLessThan(averageGrade);    }  } " data-lang="text/x-java"> @Service  public class StudentService {      private final StudentRepository studentRepository;      public StudentService(StudentRepository studentRepository) {      this.studentRepository = studentRepository;    }      @Transactional    public Set<Student> getStudentsWithNameStartsWith(String letter) {      return studentRepository.findByNameStartsWithIgnoreCase(letter);    }      @Transactional    public Set<Student> getStudentsWithAverageGradeLessThan(Short averageGrade) {      return studentRepository.findByAverageGradeLessThan(averageGrade);    }  } So, the controller with the corresponding REST endpoint will look like this: 

View more...

The Art of Landing a DevRel Role

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

In this week's episode of Dev Interrupted, we’re focusing on the increasingly valuable role of DevRels. Francesco Ciulla, Developer Advocate at the open-source daily.dev community — which has more than 100,000 daily active users — joins us for a DevRel deep dive. Listen as Francesco explains how a career change in his thirties set him on a path towards becoming a developer, being hired by the European Space Agency and, eventually, landing a role as a developer advocate, crediting much of his success on his ability to leverage social media to advance his career. 

View more...

Fortifying Networks: Unlocking the Power of ML, AI, and DL for Anomaly Detection

Aggregated on: Tue Jul 11 2023 16:16:08 GMT+0000 (Coordinated Universal Time)

Artificial Intelligence: Definition and Practical Applications Artificial intelligence (AI) refers to the development of computer systems that can perform tasks that typically require human intelligence. It involves the creation of algorithms and models that enable machines to perceive and interpret information, reason, make decisions, learn from data, and interact with their environment. AI encompasses various techniques, including machine learning, natural language processing, computer vision, and robotics. The uses of artificial intelligence are vast and continue to expand across various industries. In healthcare, AI is utilized for disease diagnosis, drug discovery, personalized medicine, and patient monitoring. In finance, AI algorithms assist in fraud detection, risk assessment, and algorithmic trading. In the realm of transportation, AI is driving advancements in autonomous vehicles and optimizing traffic flow. Additionally, AI finds applications in areas such as manufacturing, customer service, agriculture, climate modeling, gaming, and personalization of user experiences. Overall, artificial intelligence enhances efficiency, enables data-driven decision-making, and tackles complex problems across sectors, contributing to advancements and improvements in numerous fields.

View more...

Creating a Better StackOverflow With ChatGPT

Aggregated on: Tue Jul 11 2023 15:46:08 GMT+0000 (Coordinated Universal Time)

By now, you've probably heard the news about OpenAI turning off internet searches on ChatGPT. At AINIRO, we believe that software evolution by itself is a higher purpose, so we created AINIRO Oracle, the Search Engine that uses ChatGPT to answer questions. To understand our motivation, imagine the following use case where you want to find the answer to the following question:

View more...

SAAS Security: 6 Best Practices and Strategies

Aggregated on: Tue Jul 11 2023 14:16:08 GMT+0000 (Coordinated Universal Time)

The rise of cloud computing and SaaS (Software as a Service) has dramatically reshaped the digital landscape, offering companies numerous benefits like scalability, cost-efficiency, and flexibility. In fact, the five largest SaaS companies in the U.S. have a combined market capitalization of $742.4 billion USD. The second largest SaaS company in the U.S. list, Salesforce serves over 150,000 customers across the globe, with customers from industries not limited to professional services, manufacturing, retail, banking, finance, media, life sciences, insurance, and real estate, to name a few. However, these benefits at this scale also come with a load of security challenges, making SaaS security an integral part of operations and IT. By following some best practices and strategies, organizations can better combat security risks and mitigate potential threats. A recent incident that I discovered that created waves across the SaaS security landscape was the Salesforce data leaks earlier this year. An alarming number of companies, including banks, governmental agencies, and healthcare providers, were unwittingly leaking sensitive and private information due to a misconfiguration in public Salesforce Community websites. The security flaw allowed unauthenticated users to access records typically reserved for logged-in users. One such case was discovered in the state of Vermont, where at least five different Salesforce Community sites were found to expose sensitive data such as full names, Social Security numbers, addresses, phone numbers, emails, and bank account numbers of users and the general public. This was especially concerning for a Pandemic Unemployment Assistance program. Vermont's Chief Information Security Officer Scott Carbee stated that the flawed sites were hastily created in response to the COVID-19 pandemic and thus did not undergo a standard security review.

View more...

Databases Used in Modern Software Development

Aggregated on: Tue Jul 11 2023 13:01:08 GMT+0000 (Coordinated Universal Time)

A database is an organized collection of data stored and accessed electronically. Databases are widely used in businesses, organizations, and institutions to manage data efficiently. A database is a collection of data organized to allow for easy retrieval, modification, and management of the data. Databases are used extensively in the field of computing for various purposes, such as online transaction processing, data warehousing, customer relationship management, and more. There are different types of databases, each with its strengths and weaknesses. In this article, we will explore the different types of databases and some of the newer types of databases that have emerged in recent years. Relational Databases Relational databases are the most widely used type of database. They are based on the relational model, which organizes data into tables or relations. Each table consists of rows and columns, with each row, representing a record and each column representing a field or attribute. The relations between the tables are established using keys, which are used to link the data in different tables. SQL (Structured Query Language) is the standard language used to interact with relational databases. Some of the popular relational databases are:

View more...

Implementation Architecture of Istio and API Gateway

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

With the advent of microservices, cloud, and containers, architects and the DevOps team need to reimagine and rethink how to simplify the network complexity and achieve zero-trust network security before one is in deep waters.  There are limitations to API gateways in the app modernization journey when we consider Istio versus API gateways. However, this article will discuss different scenarios to implement Istio with your existing API gateway infrastructure.

View more...

MQTT Reason Code Introduction and Quick Reference

Aggregated on: Tue Jul 11 2023 03:46:08 GMT+0000 (Coordinated Universal Time)

Reason Code The primary purpose of a Reason Code in MQTT is to provide more detailed feedback to the client and server. For example, we can feed back the Reason Code corresponding to the wrong username or password to the client in the CONNACK packet, so that the client can know why it cannot connect. Reason Code in MQTT 3.1.1 Although MQTT 3.1.1 already supports Reason Codes, it doesn't define many available Reason Codes. In fact, they are very limited.

View more...

The Art of Community Building With Postman's Head of Developer Relations, Joyce Lin

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

What does building an engaged community really mean for your business? When we look at a company like Postman with over 20 million active users and one of the most passionate groups of evangelizers in tech, we find that Postman's story is really a story of community success. In fact, after product-market fit, community has become a must-have for any startup looking to survive.  But community building is a tricky thing, so where and how do you start?

View more...

Introduction to Array Data Structures

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

Introduction One of the most frequently utilized data structures in computer science is arrays. They are used to store a group of identical data-type elements, such as integers, characters, or strings. Arrays offer a practical method for efficiently and compactly storing and accessing data. We will delve deeply into the properties, functions, and uses of the array data structure in this article. What Is an Array? An array is a collection of elements of the same data type, arranged in a contiguous block of memory. Each element in the array is identified by an index or a position within the array. The index of the first element is typically 0, and the index of the last element is n-1, where n is the number of elements in the array.

View more...

Addressing Bias in Facial Recognition Systems: A Novel Approach

Aggregated on: Mon Jul 10 2023 19:46:08 GMT+0000 (Coordinated Universal Time)

Facial recognition systems have gained significant popularity and are being widely used across various applications, such as law enforcement, mobile phones, and airports. However, recent studies have highlighted the presence of bias in these systems, leading to differential performance among different demographic groups. The implications of bias in facial recognition systems are concerning, as they can perpetuate systemic inequalities and have adverse effects on individuals' lives.  Bias in facial recognition systems can have detrimental effects in real-world scenarios. Here is a notable case study that exemplifies the potential consequences of biased facial recognition technology:

View more...

Create Your Own ChatGPT Application Using Spring Boot

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

In this blog, I will try to explain how to integrate with OpenAI chat completion APIs to use them and create your own version of ChatGPT. This will utilize the classic Spring Boot app with core Java and OpenAI chat completion API. We will expose a REST endpoint that will take the query from the end user in the form of requestParam, process it, and return the response in human-readable text format.

View more...

Angular v16: A New Era of Angular Development

Aggregated on: Mon Jul 10 2023 18:01:08 GMT+0000 (Coordinated Universal Time)

Angular v16, the latest major release of the Angular framework, introduces a number of exciting new features and improvements. These features are designed to make Angular development more efficient, scalable, and secure. Rethinking Reactivity One of the most significant changes in Angular v16 is the introduction of a new reactivity model. The new model is designed to be more efficient and scalable while also providing a simpler mental model for developers.

View more...

How DevOps Teams Can Boost Kubernetes Performance

Aggregated on: Mon Jul 10 2023 18:01:08 GMT+0000 (Coordinated Universal Time)

Kubernetes (also called K8s) remains the most in-demand container for developers. Originally developed by engineers at Google, K8s has achieved global fame as the go-to solution for hosting across on-premise, public, private, or hybrid clouds. Insights from Statista show the Kubernetes market share of the public cloud went from 16% in 2021 to 45% in 2022. Another report on the state of Kubernetes in 2022 by VMware revealed that the adoption of Kubernetes has skyrocketed among large enterprises with 1,000 employees or more— from 27% in 2018 to 48% in 2020.   However, despite its rise in popularity, some challenges persist, disallowing DevOps teams from reaping the full benefits of building cloud-native applications with K8s. How do they walk the tightrope and deliver their best projects? Let’s take a quick trip together.

View more...

Choosing the Right Data Transfer Protocol for Efficient Cloud Migration

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

In today's rapidly evolving digital landscape, cloud migration has become a strategic imperative for businesses seeking enhanced scalability, flexibility, and cost efficiency. However, a successful cloud migration heavily relies on efficient and secure data transfer from on-premises infrastructure to the cloud environment. Choosing the right data transfer protocol plays a pivotal role in ensuring a smooth and optimized migration process. In this blog, we will explore the importance of selecting the appropriate data transfer protocol and provide insights into choosing the right protocol for efficient cloud migration.  1. Understanding Data Transfer Protocols To make an informed decision about the right data transfer protocol, it's essential to understand the various options available. Here are some common protocols: 

View more...

How To Use GitLab for Simultaneous Execution of Jobs (Part 2)

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

In part one of this series — How To Use GitLab for Simultaneous Execution of Jobs — the reader was introduced to the basics of GitLab, as well as continuous integration and continuous deployment/delivery. In this part of the series, the reader will learn how to solve the bottlenecks discussed in part 1 of this series by executing the jobs in parallel

View more...

Designing High-Performance APIs

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

Welcome back to our series on API design principles for optimal performance and scalability. In our previous blog post, we explored the importance of designing high-performance APIs and the key factors that influence API performance. Today, we continue our journey by delving into the specific API design principles that contribute to achieving optimal performance and scalability. In this article, we will build upon the concepts discussed in the previous blog post. If you haven't had the chance to read it yet, we highly recommend checking it out to gain a comprehensive understanding of the foundational aspects of API performance optimization.

View more...

A Step-By-Step Guide to Data Migration: Unlocking Distributed Database Potential With ShardingSphere

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

As the business continues to develop, the volume of data and concurrency reach a certain level. Traditional standalone databases may experience performance, scalability, and availability issues. In response to this, the industry has proposed NoSQL solutions to address these problems through data sharding and horizontal scaling. However, NoSQL databases usually do not support transactions and SQL. Apache ShardingSphere is a distributed database ecosystem that provides data migration solutions to facilitate the smooth transition of traditional single-node databases to ShardingSphere. It allows the conversion of standalone databases into distributed databases and enhances the original database through capabilities such as data sharding, elastic scaling, and encryption.  In this blog post, we will delve into ShardingSphere's data migration function and provide you with a comprehensive, step-by-step guide on how to build a distributed database. Assuming little prior knowledge, we'll explore the intricacies of data migration, allowing you to leverage ShardingSphere's power for seamless database transitions. Data Migration With ShardingSphere: A Closer LookLet's now explore one of the core features of ShardingSphere — data migration — and gain insights into its functionality and benefits. Whether it is for database upgrades or backups, you can directly use the built-in data migration functionality in ShardingSphere-Proxy. There is no need to introduce additional modules so that the project's development and maintenance process can be simplified. In this section, we'll focus on using MySQL as the target database and provide a step-by-step demonstration of the entire migration process. Scope of Data Migration SupportCurrently, ShardingSphere data migration supports the following database types: MySQL PostgreSQL openGauss Furthermore, ShardingSphere facilitates data migration across homogeneous and heterogeneous databases that support the aforementioned protocols. This flexibility allows businesses to seamlessly migrate data between different database systems, regardless of their underlying architecture. Supported Database Versions and Configuration ExamplesTo ensure compatibility, ShardingSphere provides data migration support for various database versions. The table below showcases the database versions and offers configuration examples for a smooth migration: Database Supported Version

View more...

Is ChatGPT Outsmarting Us? An Exploration Through the Lens of the Turing Test

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

Artificial Intelligence (AI) has been a driving force behind numerous technological advancements, propelling us toward a future that was once the realm of science fiction. At the heart of these advancements lies a profound question: Can machines think? This query, raised by Alan Turing, the pioneering British mathematician and computer scientist, has served as a benchmark for evaluating the progress of AI. One of the latest entrants in the arena of AI, pushing the boundaries of what machines can do, is ChatGPT, an advanced language model developed by OpenAI. It's a digital interlocutor capable of generating human-like text based on the input it receives. It can draft emails, write code, create poetry, and even provide tutoring in a variety of subjects. 

View more...

10 Game-Changing Software Development Trends You Need To Know in 2023

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

In the fast-paced world of technology, staying ahead of the curve is crucial for software developers and businesses alike. To maintain a competitive edge, it is essential to be aware of the latest trends and advancements in the field of software development. In this comprehensive article, we will explore the top 10 game-changing software development trends that you need to know in 2023. By embracing these trends, you can enhance your skills, deliver cutting-edge solutions, and drive innovation in the industry. 1. Artificial Intelligence and Machine Learning Artificial Intelligence (AI) and Machine Learning (ML) continue to revolutionize the software development landscape. From predictive analytics to natural language processing, AI-powered solutions are becoming increasingly prevalent. In 2023, we can expect a surge in AI and ML adoption, enabling developers to build intelligent applications that can learn, adapt, and make informed decisions. By leveraging AI and ML technologies, businesses can automate processes, gain valuable insights from data, and enhance user experiences.

View more...

API and Database Performance Optimization Strategies

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

In today's fast-paced digital landscape, performance optimization plays a pivotal role in ensuring the success of applications that rely on the integration of APIs and databases. Efficient and responsive API and database integration is vital for achieving high-performing applications. Poorly optimized performance can lead to sluggish response times, scalability challenges, and even user dissatisfaction. By focusing on performance optimization, developers can enhance the speed, scalability, and overall efficiency of their applications. This not only leads to improved user satisfaction but also lays the foundation for future growth and success. Investing time and effort in optimizing performance upfront can prevent performance bottlenecks, reduce maintenance costs, and provide a solid framework for handling increased user loads as the application scales.

View more...

Visualize Real-Time Data With Python, Dash, and RisingWave

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

Real-time data is important for businesses to make quick decisions. Seeing this data visually can help make decisions even faster. We can create visual representations of data using various data apps or dashboards. Dash is an open-source Python library that provides a wide range of built-in components for creating interactive charts, graphs, tables, and other UI elements. RisingWave is a SQL-based streaming database for real-time data processing. This article will explain how to use Python, Dash, and RisingWave to make visualizations of real-time data. How To Visualize Data in Real-Time We know that real-time data is data that is generated and processed immediately, as it is collected from different data sources. Sources can be typical databases such as Postgres or MySQL, and message brokers like Kafka. A real-time data visualization consists of a few steps: first, we ingest, then process, and finally show this data in a dashboard.

View more...