News AggregatorProcess Flow for Deployment in DevOpsAggregated on: Mon May 08 2023 23:30:29 GMT+0000 (Coordinated Universal Time) The DevOps deployment process is a continuous delivery model that streamlines software development, testing, and deployment through automation and collaboration between development and operations teams. DevOps has become increasingly popular in recent years due to its ability to deliver high-quality software quickly and efficiently. In this article, we'll discuss the various stages of the DevOps deployment process, the tools used, and best practices for successful implementation. View more...Maximizing API Success: The Importance of Wireframing and ModelingAggregated on: Mon May 08 2023 23:30:29 GMT+0000 (Coordinated Universal Time) So, you're developing an API alongside a mobile or web interface? Well, wireframing the user interface is going to be your new best friend. These wireframes won't give you every feature you need, but they will help you focus on what's important: what the end user wants to do and how they want to do it. Trust us, this will have a huge impact on your API. The user interface requires more complex interactions, which means your API will need to support those interactions. Don't be fooled into thinking that your API only needs simple data-access functionality. The gaps in your API will be revealed through the user interface. It will also show you how many API calls are required to accomplish a given task. In mobile applications, every HTTP call to an API takes place over an unreliable cellular network, making this particularly crucial. View more...How To Boost AI Model Training With a Distributed Storage SystemAggregated on: Mon May 08 2023 23:00:29 GMT+0000 (Coordinated Universal Time) Traditional machine-learning models can be stored on standalone machines or local hard drives when working with small datasets and simple algorithms. However, as deep learning advances, teams increasingly encounter storage bottlenecks when handling larger datasets and more complex algorithms. This highlights the importance of distributed storage in the artificial intelligence (AI) field. JuiceFS, an open-source, high-performance distributed file system, provides a solution to this problem. View more...FileNet Integration ProcessAggregated on: Mon May 08 2023 23:00:29 GMT+0000 (Coordinated Universal Time) FileNet is an enterprise content management (ECM) platform developed by IBM. It provides various tools and services for managing content, processes, and workflows within an organization. Documentum product is an enterprise content management (ECM) platform. It provides a wide range of tools and services for managing content and information in organizations. Documentum was originally developed by Documentum, Inc. and was later acquired by EMC Corporation, which was, in turn, acquired by Dell Technologies. Below are some of the benefits of migrating FileNet into Documentum. View more...ShardingSphere's Built-In Metadata Handling Function for Sharded Database EnvironmentsAggregated on: Mon May 08 2023 22:30:29 GMT+0000 (Coordinated Universal Time) Apache ShardingSphere is a widely recognized and trusted open-source data management platform that provides robust support for key functionalities such as sharding, encryption, read/write splitting, transactions, and high availability. The metadata of ShardingSphere encompasses essential components such as rules, data sources, and table structures, which are fundamental for the smooth operation of the platform. ShardingSphere leverages the advanced capabilities of governance centers like ZooKeeper and etc., for efficient sharing and modification of cluster configurations, enabling seamless horizontal expansion of computing nodes. In this informative blog post, our emphasis will be on gaining a comprehensive understanding of the metadata structure employed by Apache ShardingSphere. We will delve into the intricacies of the three-layer metadata structure within ZooKeeper, which encompasses crucial components such as metadata information, built-in metadata database, and simulated MySQL database. Metadata StructureFor a comprehensive grasp of the metadata structure utilized in Apache ShardingSphere, a closer examination of the cluster mode of ShardingSphere-Proxy can be beneficial. The metadata structure in ZooKeeper adopts a three-layer hierarchy, with the first layer being the governance_ds. This layer encompasses critical components such as metadata information, built-in metadata database, and simulated MySQL database. governance_ds --metadata (metadata information) ----sharding_db (logical database name) ------active_version (currently active version) ------versions --------0 ----------data_sources (underlying database information) ----------rules (rules of logical database, such as sharding, encryption, etc.) ------schemas (table and view information) --------sharding_db ----------tables ------------t_order ------------t_single ----------views ----shardingsphere (built-in metadata database) ------schemas --------shardingsphere ----------tables ------------sharding_table_statics (sharding statistics table) ------------cluster_information (version information) ----performance_schema (simulated MySQL database) ------schemas --------performance_schema ----------tables ------------accounts ----information_schema (simulated MySQL database) ------schemas --------information_schema ----------tables ------------tables ------------schemata ------------columns ------------engines ------------routines ------------parameters ------------views ----mysql ----sys --sys_data (specific row information of built-in metadata database) ----shardingsphere ------schemas --------shardingsphere ----------tables ------------sharding_table_statistics --------------79ff60bc40ab09395bed54cfecd08f94 --------------e832393209c9a4e7e117664c5ff8fc61 ------------cluster_information --------------d387c4f7de791e34d206f7dd59e24c1cThe metadata directory serves as a repository for storing essential rules and data source information, including the currently active metadata version, which is stored under the active_version node. Meanwhile, the versions stored within the metadata directory house different iterations of rules and database connection details. On the other hand, the schemas directory is designated for storing comprehensive tables and viewing information from the logical database. ShardingSphere meticulously preserves the decorated table structure information after applying the rules. For instance, in the case of sharding tables, it retrieves the structure from one of the actual tables, replaces the table name, and omits the real encrypted column information in the table structure, allowing users to conveniently operate on the logical database directly. The built-in metadata database, located within the metadata directory, boasts a structure that resembles that of the logical database. However, it is specifically designed to house certain built-in table structures such as sharding_table_statics and cluster_information, which will be elaborated on in subsequent discussions. In addition, the metadata directory also includes other nodes such as performance_schema, information_schema, mysql, sys, and more, which emulate the data dictionary of MySQL. These nodes serve the purpose of supporting various client tools to connect to the proxy, and future plans involve expanding data collection to facilitate queries on these data dictionaries. The three-layer metadata structure of ShardingSphere consists of governance_ds, metadata, and a built-in metadata database, is designed to provide compatibility with different database formats. For instance, PostgreSQL has a three-layer structure consisting of instance, database, and schema, whereas MySQL has a two-layer structure of database and table. Therefore, ShardingSphere adds an identical logical schema layer for MySQL to ensure logical uniformity. The meticulously designed three-layer metadata structure of ShardingSphere, encompassing governance_ds, metadata, and a built-in metadata database, has been formulated to ensure seamless compatibility with diverse database formats. For instance, while PostgreSQL follows a three-layer structure comprising instance, database, and schema, MySQL adopts a two-layer structure of database and table. To ensure logical uniformity, ShardingSphere introduces an additional logical schema layer for MySQL.Gaining a comprehensive understanding of the metadata structure employed in Apache ShardingSphere is of utmost significance for developers seeking to utilize the platform optimally. By thoroughly examining the metadata structure of ShardingSphere, developers can gain valuable insights into how the platform effectively stores and manages data sources and table structures. In the preceding section, we examined ShardingSphere's integrated metadata database, encompassing two tables: sharding_table_statistics (a table for collecting sharding information) and cluster_information(a table for storing version information). We also explored the potential of the metadata database to house both internal collection data and user-defined information (yet to be implemented).In this section, we will delve into the inner workings of the built-in metadata database, including its data collection and query implementation mechanisms. Data CollectionThe ShardingSphere's integrated metadata database relies on data collection to aggregate information into memory and synchronizes it with the governance center to ensure consistency across clusters. To illustrate the process of data collection into memory, let's use the sharding_table_statistics table as an example. The ShardingSphereDataCollectorinterface outlines a method for data collection: Java collect(String databaseName, ShardingSphereTable table, Map shardingSphereDatabases) throws SQLException; }" data-lang="text/x-java"> public interface ShardingSphereDataCollector extends TypedSPI { Optional<ShardingSphereTableData> collect(String databaseName, ShardingSphereTable table, Map<String, ShardingSphereDatabase> shardingSphereDatabases) throws SQLException; } The aforementioned method is invoked by the ShardingSphereDataCollectorRunnable scheduled task. The current implementation initiates a scheduled task on the Proxy for data collection, utilizing the built-in metadata table to differentiate data collectors for specific data collection tasks. It is worth noting that based on feedback from the community, this approach may evolve into an e-job trigger method for collection in the future. The logic for collecting information is encapsulated in the ShardingStatisticsTableCollectorclass. This class employs the underlying data source and sharding rules to query relevant database information and extract statistical data. Query ImplementationUpon completion of the data collection process, the ShardingSphereDataScheduleCollector class compares the collected information and the data stored in memory. In the event of any inconsistencies, it triggers an event EVENTBUSto notify the governance center. Subsequently, upon receiving the event, the governance center updates the information of other nodes and executes memory synchronization accordingly. The code for the event listening class is depicted below: Java public final class ShardingSphereSchemaDataRegistrySubscriber { private final ShardingSphereDataPersistService persistService; private final GlobalLockPersistService lockPersistService; public ShardingSphereSchemaDataRegistrySubscriber(final ClusterPersistRepository repository, final GlobalLockPersistService globalLockPersistService, final EventBusContext eventBusContext) { persistService = new ShardingSphereDataPersistService(repository); lockPersistService = globalLockPersistService; eventBusContext.register(this); } @Subscribe public void update(final ShardingSphereSchemaDataAlteredEvent event) { String databaseName = event.getDatabaseName(); String schemaName = event.getSchemaName(); GlobalLockDefinition lockDefinition = new GlobalLockDefinition("sys_data_" + event.getDatabaseName() + event.getSchemaName() + event.getTableName()); if (lockPersistService.tryLock(lockDefinition, 10_000)) { try { persistService.getTableRowDataPersistService().persist(databaseName, schemaName, event.getTableName(), event... View more...SASE: The Ultimate Guide To Secure Access Service EdgeAggregated on: Mon May 08 2023 22:30:29 GMT+0000 (Coordinated Universal Time) As enterprises move towards the cloud and mobility becomes the norm, networking and security solutions must evolve accordingly. Secure Access Service Edge (SASE) enters the picture here. SASE is an up-and-coming technology category that aims to offer specific network security features. The Secure Access Service Edge (SASE) architecture reduces external traffic normally sent back to the data center. This article will delve into the definition of SASE, the problems it solves, and its benefits and drawbacks. View more...The Emerging World of Data Security Posture ManagementAggregated on: Mon May 08 2023 22:00:29 GMT+0000 (Coordinated Universal Time) The post-COVID world has seen more organizations adopt remote and hybrid work, allowing employees the flexibility to work from anywhere (WFA). While the move to a remote-hybrid work model for business operations comes with several benefits — like reduced cost and employee retention — it has not been without some challenges. For one, the proliferation of remote-hybrid work also meant that more organizations began migrating their workloads to multi-cloud environments as teams sought to work effectively without interruptions. In fact, one article on Forbes notes that the cloud is the backbone of remote work. But with more employees working remotely from different parts of the world and sensitive data moving across multi-cloud and hybrid IT architectures, companies are faced with several security risks. From unsecured Wi-Fi networks used by employees to weaker security controls, to cloud misconfigurations, and more, the WFA model has widened the attack surface more than ever before. To put this in a practical perspective, Fortinet’s most recent “Work-From-Anywhere Global Study” shows that over the past 2 to 3 years since COVID-19, “nearly two-thirds of companies have experienced a data breach due to their WFA-employee vulnerabilities.” View more...Preventing Data Loss With Kafka Listeners in Spring BootAggregated on: Mon May 08 2023 22:00:29 GMT+0000 (Coordinated Universal Time) Data loss is one of the biggest problems developers face when building distributed systems. Whether due to network issues or code bugs, data loss can have serious consequences for enterprises. In this article, we'll look at how to build Kafka listeners with Spring Boot and how to use Kafka's acknowledgment mechanisms to prevent data loss and ensure the reliability of our systems. Apache Kafka Apache Kafka is a distributed message platform used to store and deliver messages. Once a message is written to Kafka, it will be kept there according to a retention policy. The consumer groups mechanism is used to read out messages. The offset for each consumer group is used to understand the stage of message processing and to keep track of the progress of each consumer group in reading messages from a partition. It allows each consumer group to independently read messages from a topic and resume reading from where it left off in case of failures or restarts. In a simplified way, this can be represented as follows: View more...A Guide To Troubleshooting the 500 Internal Server Error on NginxAggregated on: Mon May 08 2023 21:30:29 GMT+0000 (Coordinated Universal Time) The "500 Internal Server Error" message is certainly known to website owners and web developers. Including Nginx, this issue might happen on any web server. It is a frustrating error that could stop your website from functioning, giving users a bad experience. We will provide you with a thorough explanation of how to resolve the 500 Internal Server Error Nginx in this post, allowing you to quickly restore the functionality of your website. What Does “500 Internal Server Error” Mean? The web server is having trouble, but it is unable to identify the exact problem, as indicated by the HTTP status code 500 Internal Server Error. View more...Telemetry With Scala, Part 1: OpenTelemetryAggregated on: Mon May 08 2023 20:45:29 GMT+0000 (Coordinated Universal Time) This blog post is the first of a series of articles aimed to show a landscape of metrics and telemetry solutions possible to use in different Scala ecosystems, including some examples of APM solutions. I possibly won't cover all possible solutions or a combination of those but will try to cover the main one. Please, NOTE: this series is not going to compare telemetry as whole products between each other; instead, it focuses on how to use each telemetry framework in different Scala ecosystem and perhaps highlight some pitfalls from this perspective only. View more...Use AWS Controllers for Kubernetes To Deploy a Solution Consisting of Lambda, DynamoDB, and API GatewayAggregated on: Mon May 08 2023 20:30:29 GMT+0000 (Coordinated Universal Time) In this blog post, you will be using AWS Controllers for Kubernetes on an Amazon EKS cluster to put together a solution where HTTP requests sent to a REST endpoint exposed by Amazon API Gateway are processed by a Lambda function and persisted to a DynamoDB table. AWS Controllers for Kubernetes (also known as ACK) leverage Kubernetes Custom Resource and Custom Resource Definitions and give you the ability to manage and use AWS services directly from Kubernetes without needing to define resources outside of the cluster. The idea behind ACK is to enable Kubernetes users to describe the desired state of AWS resources using the Kubernetes API and configuration language. ACK will then take care of provisioning and managing the AWS resources to match the desired state. This is achieved by using Service controllers that are responsible for managing the lifecycle of a particular AWS service. Each ACK service controller is packaged into a separate container image that is published in a public repository corresponding to an individual ACK service controller. View more...Mobile DevOps PlaybookAggregated on: Mon May 08 2023 20:30:29 GMT+0000 (Coordinated Universal Time) The rapidly evolving landscape of mobile app development demands the ability to deliver high-quality applications quickly and efficiently. As someone who has navigated the complexities of mobile app development, I am excited to share that my first book, titled, "Mobile DevOps Playbook: A practical guide for accelerating the delivery of high-quality mobile applications, has been published by Packt! The book is now open for pre-orders globally on Amazon. In this article, I'll overview the book, touch on some key topics covered, and explain how the "Mobile DevOps Playbook" can empower you and your team to optimize your mobile app development process. View more...Empowering Weak Primitives: File Truncation to Code Execution With GitAggregated on: Mon May 08 2023 20:00:29 GMT+0000 (Coordinated Universal Time) During recent security research, I came up with a fun "trick" that I later shared in a Capture the Flag challenge for the Hack.lu CTF and my Code Security Advent Calendar. I received good feedback and wanted to share the details with a broader audience. Let's say that you discovered a code vulnerability that allows you to truncate arbitrary files. It sounds like a pretty weak exploitation primitive, but if you are dealing with an application that involves operations on a Git repository under your control, you're in luck! View more...Agile NegotiationsAggregated on: Mon May 08 2023 19:45:29 GMT+0000 (Coordinated Universal Time) TL; DR: Life Is a Negotiation; Why Would Scrum Be Different? Life is a negotiation. Why would Scrum be different, particularly given its egalitarian nature? As you may recall, no one on a Scrum team can tell anyone else what to do, how to do it, or when to do it. Instead, solving your customers’ problems in a complex environment requires communication skills, empathy, patience, diplomacy, and professionalism. So let’s have a look at some typical agile negotiation scenarios. Agile Negotiation Levels For Scrum to work well, it’s essential that the Scrum Team and stakeholders continuously discuss how to align their objectives, expectations, practices, and principles. These conversations guarantee the team can deliver customer value within the given constraints while contributing to the organization’s sustainability. While the Scrum Guide mentions several examples of this agile negotiation, many others derive from practicing agility in established organizations. View more...Pairwise TestingAggregated on: Mon May 08 2023 19:45:29 GMT+0000 (Coordinated Universal Time) Software testing is an essential process in software development, which ensures that software products are reliable, efficient, and bug-free. There are various testing techniques available for software testing, including unit testing, integration testing, system testing, and acceptance testing. One of the most commonly used testing techniques is pairwise testing. This article will discuss pairwise testing, its advantages, and its limitations. What Is Pairwise Testing? Pairwise testing is a black-box testing technique used to test the interactions between two input parameters of a software program. The goal of pairwise testing is to reduce the number of test cases required to try all possible combinations of input parameters while ensuring that all combinations are tested at least once.Pairwise testing is based on the observation that most software defects are caused by the interaction between two input parameters rather than by individual parameters. By testing all possible combinations of two input parameters, pairwise testing can identify defects caused by interactions between parameters while reducing the required test cases. View more...Mastering Data Integration for Seamless Cloud Migration Approaches Benefits and ChallengesAggregated on: Mon May 08 2023 19:15:29 GMT+0000 (Coordinated Universal Time) As an increasing number of organizations transition to cloud-based infrastructures, data integration has emerged as a crucial component of the cloud migration process. Data integration encompasses integrating data from disparate sources into a consolidated perspective. The context of cloud migration pertains to the transfer of data from on-premise systems to cloud-based platforms while ensuring data consistency, accuracy, and usability. This article delves into various data integration methodologies for cloud migration, including application integration, and scrutinizes the merits and demerits of each approach. View more...Impact Of ChatGPT on Software Testing CompaniesAggregated on: Mon May 08 2023 18:45:29 GMT+0000 (Coordinated Universal Time) From social media to the world of technology, ChatGPT has become the buzzword. And it is very natural to witness all the hype considering the massive potential that the tool holds. From influencers to coders and Software testing companies, ChatGPT has proven to be an aid to sales, operations, app development, and of course, software testing. View more...The High-Stakes Game of Cybersecurity: Why Your Data Is a Prime Target for HackersAggregated on: Mon May 08 2023 17:45:29 GMT+0000 (Coordinated Universal Time) In the digital age, information is the most valuable currency. As the world becomes more connected, our computers and other devices hold an immense amount of personal, financial, and sensitive data. However, with great value comes great risk. The dark side of data is the treasure trove it offers to hackers, turning your computer into a goldmine for cybercriminals. In this post, we will uncover the reasons why hackers target personal computers and provide actionable tips on how to protect yourself from becoming their next victim. The Allure of Personal Data The primary reason why hackers are attracted to personal computers is the sensitive information stored within them. This may include passwords, credit card numbers, social security numbers, and even medical records. Hackers can exploit this information for financial gain, identity theft, or to gain unauthorized access to other online accounts. Another valuable asset is Cryptocurrency. Cryptocurrency has exploded in popularity in recent years, and many individuals store their digital currencies on their computers. Hackers can steal these valuable assets by exploiting security weaknesses or by installing malware that tracks keystrokes to reveal private keys. Lastly, people often store personal photos, videos, and other media on their computers. Hackers can use this content to blackmail victims or sell the materials on the dark web, causing emotional distress and reputational damage. View more...SQL vs. NoSQL: ExplainedAggregated on: Mon May 08 2023 16:00:29 GMT+0000 (Coordinated Universal Time) There are two primary databases that are generally used for storing digital data: SQL and NoSQL. From engineers and IT decision-makers to analysts, everyone is familiar with relational and non-relational databases. Both methods are used to store data effectively, but they vary in their structures, relationships, scalability, language, and support. However, the large variety and depth of database systems in today's world can be very dizzying. With the increased amount of unstructured data, the processing power, the availability of storage, and the transforming analytic requirements have ignited interest in different technologies. View more...How AI Will Change Agile Project ManagementAggregated on: Mon May 08 2023 14:45:29 GMT+0000 (Coordinated Universal Time) AI's impact on Agile Project Management and Scrum Mastery will go from "interesting" to "total game-changer" faster than you think. My team and I have spent years at the intersection between AI and software creation. As a result, we have some fascinating conversations with product managers, product owners and project managers, Scrum masters, and the like. Probably people like you. View more...Docker Swarm vs. Kubernetes: Who Wins the Container War?Aggregated on: Mon May 08 2023 13:45:29 GMT+0000 (Coordinated Universal Time) As organizations increasingly adopt containerization for their applications, container orchestration platforms have become essential tools for managing and scaling containerized workloads. Two of the most popular container orchestration platforms today are Docker Swarm and Kubernetes.While both platforms share some similarities, they differ in architecture, scalability, high availability, container management, and learning curve. The question of which of these platforms wins the container war is a common one among developers, architects, and IT teams. This article will discuss Docker Swarm vs. Kubernetes and compare their features, strengths, and weaknesses to help you choose the best platform for your specific needs. View more...Write a Smart Contract with ChatGPT MetaMask Infura, and TruffleAggregated on: Mon May 08 2023 12:30:29 GMT+0000 (Coordinated Universal Time) You’ve probably heard that Generative AI has demonstrated the potential to disrupt a huge number of industries and jobs—and web3 is no exception. But how well can ChatGPT create smart contracts? Can using ChatGPT to code smart contracts make you a 10x developer? In this article, we’ll try it out and see. We’ll walk through writing and deploying an Ethereum smart contract using MetaMask, Infura, and Truffle … and we will ask ChatGPT for instructions on how to do everything from the code to the deployment. The goal is to see if we can break down the task of creating a smart contract into a set of simple prompts. Ideally, ChatGPT can parse those prompts and give good (and accurate) answers to them, making us a faster, and better, developer. View more...Commonly Occurring Errors in Microsoft Graph Integrations and How To Troubleshoot Them (Part 5)Aggregated on: Sun May 07 2023 21:30:29 GMT+0000 (Coordinated Universal Time) Microsoft Graph is a powerful tool that allows developers to access various Microsoft services, including OneDrive, SharePoint, Outlook, and more. One feature of Microsoft Graph that is particularly useful for productivity is the ability to read attachment content of To-Do task and event attachments. This allows users to access important information and files directly from their To-Do tasks and events, without having to switch between different applications. If you haven’t read the first parts of this series, here they are: View more...Spring Boot and Time Series Data in ScyllaDBAggregated on: Sun May 07 2023 20:30:29 GMT+0000 (Coordinated Universal Time) The following tutorial walks you through how to use Spring Boot apps with ScyllaDB for time series data, taking advantage of shard-aware drivers and prepared statements. It’s a shorter version of a ScyllaDB University (self-paced free training) lab. About This Spring Boot and Time Series Data Tutorial This tutorial provides a step-by-step demonstration of how to use the popular Spring Boot framework to build a sample stock application. ScyllaDB is used to store the stock price (time series data). The application has several APIs that support the create, get, and delete operations on stocks with the date and price. Additionally, an HTTP API tool, Postman, is used to interact with our application and to test the API functionality. By the end of the tutorial, you’ll have a running Spring Boot app that serves as an HTTP API server with ScyllaDB as the underlying data storage. You’ll be able to create stocks with prices and dates and get a list of stock items. And you’ll learn how ScyllaDB can be used to store time series data. Note that ScyllaDB University offers a number of videos with additional background that are helpful for this lesson. For example: View more...Load Balancer High Availability With CockroachDB and HAProxyAggregated on: Sun May 07 2023 19:30:29 GMT+0000 (Coordinated Universal Time) For reference: Checkout my previous article where I discuss connection pool high availability, "Connection Pool High Availability With CockroachDB and PgCat." Motivation The load balancer is a core piece of architecture for CockroachDB. Given its importance, I'd like to discuss the methods to overcome the SPOF scenarios. View more...Boosting Application Performance With MicroStream and Redis IntegrationAggregated on: Sun May 07 2023 19:00:29 GMT+0000 (Coordinated Universal Time) In today's fast-paced digital world, application performance has become critical in delivering a seamless user experience. Users expect applications to be lightning-fast and responsive, no matter the complexity of the task at hand. To meet these expectations, developers constantly look for ways to improve their application's performance. One solution that has gained popularity in recent years is the integration of MicroStream and Redis. By combining these two cutting-edge technologies, developers can create ultrafast applications that deliver better results. In this post, we will explore the benefits of this integration and how developers can get started with this powerful combination. View more...Spring Boot and Apache Kafka [Video Tutorials]Aggregated on: Sat May 06 2023 22:00:28 GMT+0000 (Coordinated Universal Time) This article has a series of video tutorials about Spring Boot, explore: Use Swagger to make your REST API's documentation interactive and accessible. Custom objects can be sent and received in Kafka topics. How you can consume messages from the Kafka server installed in Amazon EC2 Instance An example of using Spring Boot with Kafka producers and consumers, along with a REST client, to connect to a Kafka server running on an Amazon EC2 Instance The producer and consumer exchange messages with the Kafka server on the Amazon EC2 Instance Produce code to send Kafka messages to the Amazon EC2 instance server. Spring Kafka consumer and producer example with Spring Boot Send/consume custom objects to/from an Apache Kafka server running on an Amazon EC2 Instance Let's get started! View more...You Love GraphQL – Here’s How To Make Sure Your Organization Does, TooAggregated on: Fri May 05 2023 23:30:28 GMT+0000 (Coordinated Universal Time) How do enterprises start their API modernization journeys? More often than not, it’s with a single developer who recognizes all that production-grade GraphQL API adoption can bring to the table—and decides to act as the catalyst for organizational change. As a fully open-source technology, the GraphQL API query language gives developers more efficient workflows and streamlined access to enterprise scalability. Because GraphQL enables applications to collect all the data they require by making a single API request (and control that data directly), the development pace, simplicity, and stability of working with GraphQL provide night-and-day advantages over legacy REST APIs. For enterprise developers, there’s no real difficulty in setting up GraphQL and getting a server up and running. The challenge usually begins when they need to win their organization’s full backing to achieve a lasting implementation with all the stability and security an enterprise requires from Day One. View more...Five Java Books Beginners and Professionals Should ReadAggregated on: Fri May 05 2023 23:00:28 GMT+0000 (Coordinated Universal Time) There's a good reason why Java is one of the most widely used programming languages: it's very powerful and flexible. Because of its adaptability and power, it may be used in a wide variety of applications, including the development of web applications and Android applications. However, it may be difficult for newcomers to know where to begin since there is so much information out there. But worry not! You won't need to go elsewhere after reading this article. We have compiled a list of the five best Java books for beginners, each of which is simple to read and understand while yet doing an excellent job of explaining the fundamentals of the language. View more...Enterprise Software Integration: How To Build a Unified IT EnvironmentAggregated on: Fri May 05 2023 23:00:28 GMT+0000 (Coordinated Universal Time) As part of the DZone Expert Insights Series — a collection of contributed articles written by industry experts in enterprise software categories — Siarhei Valenda, Head of Automated Information Systems Development at LeverX Group, explains why enterprise software integration is crucial for smooth company operation and how to build a unified IT ecosystem. Siloed enterprise systems have always been a significant obstacle to smooth operation. In practice, software from various suppliers, developed using different technologies, couldn’t ensure this. Instead of operating seamlessly, companies locked access to valuable and relevant data, lost orders, partially completed agreements, and lost revenue opportunities. In 2020, the impact of these issues became far more apparent due to COVID-19 and accelerated Cloud migration. View more...Future of Software Development: Generative AI Augmenting Roles and Unlocking Co-InnovationAggregated on: Fri May 05 2023 22:30:28 GMT+0000 (Coordinated Universal Time) Generative AI is transforming software development by automating tasks, enhancing collaboration, and accelerating innovation. This cutting-edge technology is poised to augment various software roles, creating diverse perspectives and opportunities for co-innovation. In this article, I will delve into the future of Generative AI in software development, discuss the ethical considerations, and summarize the potential impact on the industry. Developers: AI-Powered Code Generation and Collaboration Generative AI will enable developers to focus on more complex, creative tasks by automating mundane coding activities. AI-powered code generation will help developers solve intricate problems more efficiently and accurately. In addition, Generative AI will enhance collaboration among team members by suggesting code snippets or assisting with debugging, making it easier for developers to work together on large-scale projects. While AI-generated code promises increased productivity, developers must remain vigilant in reviewing and verifying its quality, ensuring adherence to best practices, and addressing potential biases or security vulnerabilities. View more...Green APIs: How Cloud Can Help Embed Sustainability Into Your Enterprise AppsAggregated on: Fri May 05 2023 22:30:28 GMT+0000 (Coordinated Universal Time) The world has awoken; global business and government leaders have recognized that the global climate is changing. The United States Senate voted 98–1 in early 2015 that "climate change is real and not a hoax." With a papal encyclical on climate change, Pope Francis has taken unprecedented steps to influence climate action. Academics are continuing their research into energy forecasts — a recent Stanford study demonstrated that it is possible to convert the United States to 100 percent renewable energy by 2050 — which is influencing the Solution Project, a social awareness campaign to transition the world to 100 percent clean, renewable energy. The benefits of driving value creation for all stakeholders and assisting in the achievement of the UN's 2030 Agenda for Sustainable Development Goals (SDGs) extend beyond good corporate citizenship. According to a recent Accenture study, the "Twin Transformers" — companies that find new value at the intersection of digital technologies and sustainability — will be the most successful businesses of the future. They are 2.5x more likely to outperform their peers when powered by these twin engines of growth. View more...Building a Data Warehouse for Traditional IndustryAggregated on: Fri May 05 2023 22:00:28 GMT+0000 (Coordinated Universal Time) This is a part of the digital transformation of a real estate giant. For the sake of confidentiality, I'm not going to reveal any business data, but you'll get a detailed view of our data warehouse and our optimization strategies. Now let's get started. View more...Top Five Challenges To Consider When Building Your Mobile Testing StrategyAggregated on: Fri May 05 2023 21:45:28 GMT+0000 (Coordinated Universal Time) The number of mobile devices operating worldwide will likely reach 18.22 billion by 2025. As the number of mobile devices continues to rise, so do customer expectations for seamless mobile experiences. High-performing applications increase customer satisfaction. This underscores the importance of organizations integrating mobile testing into their comprehensive testing strategy, building out mobile and web experiences in parallel. However, creating an effective and efficient end-to-end mobile testing strategy is not an easy feat. There are five major challenges that development teams typically face as they build and execute their mobile testing strategy. But fortunately, there are solutions to each of these challenges. Managing Tests Across Devices Device management is the first step in any team's mobile testing process and is a critical step to ensure you’re delivering the best end-user experience. Managing devices can feel cumbersome at the onset, as there are 30+ different types of mobile manufacturers and two primary operating systems each, with a long list of older supported versions. However, investing time and resources upfront to adequately manage devices will help deliver quality throughout the testing process and ultimately save your team time down the road. View more...Agile Transformation — Gaining Executive Leadership SupportAggregated on: Fri May 05 2023 21:45:28 GMT+0000 (Coordinated Universal Time) As an executive leader, I know Agile can produce great results. Why would I not want to jump on board the bandwagon? My organization can do more with the same amount of people. All we need to do is change some processes that we use. I encourage or direct my groups to implement a new framework to accelerate all the above improvements and come back to me with a budget for what it will take. The opposite side of the coin can also be proper. Why would executives expect that implementing Agile would take this level of change? Did anyone tell them how the organization needs to change and how much they will need to be involved in the transformation? Probably not. View more...Choosing the Right Azure Storage ServiceAggregated on: Fri May 05 2023 21:15:28 GMT+0000 (Coordinated Universal Time) Azure Storage is Microsoft's cloud-based storage solution. It goes beyond traditional file storage, offering a comprehensive range of modern storage services. In this article, we will explore the various services available and their specific use cases, enabling you to select the service that best suits your needs. Azure Blob Storage: Storing Unstructured Data With Ease Azure Blob Storage is a powerful and scalable storage service designed specifically for storing unstructured data. Whether it's images, videos, documents, backups, logs, or any other type of file, Blob Storage provides a cost-effective and reliable solution for managing vast amounts of data in the cloud. View more...Efficient Sharing Data in AnsibleAggregated on: Fri May 05 2023 20:45:28 GMT+0000 (Coordinated Universal Time) In certain scenarios, you may need to retrieve data from a cloud provider or perform complex calculations, which can be time-consuming. Let’s assume you use an API for launching a virtual machine, and then you would like to reuse data and share among other roles. We assume, in the beginning, we don’t know the IP address of the machine. Once we know the IP, we want to launch configuring only one machine. For different reasons. It might be the speeding up of the execution and the desire not to waste time. Example 1: YAML - name: Configure frontends hosts: frontends gather_facts: no roles: - Create users - Setup sshd - name: Configure backends hosts: backends gather_facts: no roles: - Create users - Setup sshd View more...Unleashing the Power of Generative AI: A Game-Changer for Next-Generation Recommender SystemsAggregated on: Fri May 05 2023 20:15:28 GMT+0000 (Coordinated Universal Time) Recommender systems have become indispensable tools for users seeking relevant and personalized content in today's information-saturated landscape. Generative AI, a rapidly advancing subfield of artificial intelligence, holds the potential to revolutionize recommender systems by overcoming their limitations and enhancing their capabilities. This article delves into the various ways generative AI can contribute to more efficient, versatile, and accurate recommender systems. 1. Background: Generative AI and Recommender Systems Generative AI models, including Generative Adversarial Networks (GANs) and Variational Autoencoders (VAEs), excel at generating novel, high-quality data by learning from existing samples. Their ability to create new data can significantly benefit recommender systems, which rely on data to understand user preferences and make accurate suggestions. View more...Integrating Customer 360 Systems With GPT APIs: A Technical Architecture PerspectiveAggregated on: Fri May 05 2023 20:15:28 GMT+0000 (Coordinated Universal Time) Customer 360 is a comprehensive approach to understanding and managing customer data across multiple touchpoints. It is essential for organizations to have a holistic view of their customers' interactions, preferences, and needs in order to deliver personalized experiences and services. Integrating AI-powered language models like GPT APIs can significantly enhance the capabilities of Customer 360 systems, adding value through natural language processing, text generation, and data analysis. This article dives into the technical architecture of integrating GPT APIs with Customer 360 systems, exploring various integration approaches, architectural components, and use cases. Understanding GPT APIs GPT (Generative Pre-trained Transformer) APIs are a set of web services that provide access to powerful AI language models. These models, like OpenAI's GPT series, have the ability to generate human-like text, analyze content, and make predictions based on input data. In the context of Customer 360 systems, GPT APIs can be used for tasks such as customer sentiment analysis, content generation, and automating customer support responses. View more...What Developers Need to Know About the Price Checker AppAggregated on: Fri May 05 2023 19:45:28 GMT+0000 (Coordinated Universal Time) Mobile apps and tools have become an integral part of our daily activities; the apps and tools development industry is steadily becoming very lucrative. Developers leave no stone unturned to ensure governments, organizations, and individuals conduct less stressful transactions. According to Statista, the number of mobile devices worldwide should hit 18.22 billion in 2025; the statistics show that more people are reverting to mobile devices and will need relevant tools to carry out their daily routines. One critical area people need tools for is making their purchases, as most purchases are online. View more...Surviving SVB's Collapse and Outsmarting Uber with Kyte's Head of Product and Engineering, Nick CobbAggregated on: Fri May 05 2023 19:45:28 GMT+0000 (Coordinated Universal Time) It hasn't been smooth sailing for startups this year. As this week's guest Nick Cobb puts it, "You can add bank runs to the list of things founders have to deal with." Of course, it hasn't been easy going for engineering leaders either. That's why Nick, the VP of Engineering and Head of Product at Kyte, sat down with us to discuss how to build an engineering culture with a bias toward action, why he deleted his team's staging environment, and what it takes to outmaneuver his former employer, Uber. View more...Apache Kafka + Apache Flink = Match Made in HeavenAggregated on: Fri May 05 2023 17:30:28 GMT+0000 (Coordinated Universal Time) Apache Kafka and Apache Flink are increasingly joining forces to build innovative real-time stream processing applications. This blog post explores the benefits of combining both open-source frameworks, shows unique differentiators of Flink versus Kafka, and discusses when to use a Kafka-native streaming engine like Kafka Streams instead of Flink. The Tremendous Adoption of Apache Kafka and Apache Flink Apache Kafka became the de facto standard for data streaming. The core of Kafka is messaging at any scale in combination with a distributed storage (= commit log) for reliable durability, decoupling of applications, and replayability of historical data. View more...Server-Side Rendering in Rust: A Dall.E Use-CaseAggregated on: Fri May 05 2023 16:30:28 GMT+0000 (Coordinated Universal Time) Last week, I decided to see the capabilities of OpenAI's image generation. However, I noticed that one has to pay to use the web interface, while the API was free, even though rate-limited. Dall.E offers Node.js and Python samples, but I wanted to keep learning Rust. So far, I've created a REST API. In this post, I want to describe how you can create a Web app with server-side rendering. The Context Tokio is a runtime for asynchronous programming for Rust; Axum is a web framework that leverages the former. I already used Axum for the previous REST API, so I decided to continue. View more...Top Six React Development ToolsAggregated on: Fri May 05 2023 01:00:26 GMT+0000 (Coordinated Universal Time) React, a popular JavaScript library for building user interfaces, has gained widespread adoption among web developers due to its flexibility, performance, and reusability. As React applications become more complex, having the right tools in your arsenal can greatly enhance your productivity and streamline your development workflow. View more...Protecting Your Server Room: 5 Best Practices for Physical SecurityAggregated on: Fri May 05 2023 00:15:26 GMT+0000 (Coordinated Universal Time) Welcome to the world of server rooms — the beating heart of every digital enterprise. Whether you're an entrepreneur or a seasoned IT professional, you know that the security of your server room is of utmost importance. Without adequate physical security measures, your servers are vulnerable to theft, vandalism, and damage from natural disasters. Within the realm of safeguarding server rooms, a multifaceted approach to physical security is necessary, encompassing four distinct strata of fortification: namely, perimeter security, facility controls, computer room controls, and cabinet controls. The following are various physical security practices that may effectively preserve the sanctity and security of server rooms. View more...ClickHouse: A Blazingly Fast DBMS With Full SQL Join Support — Under the Hood — Part 2Aggregated on: Fri May 05 2023 00:15:26 GMT+0000 (Coordinated Universal Time) In our previous post, we reviewed the SQL JOIN types that are available in ClickHouse. As a reminder: ClickHouse comes with full SQL Join Support. In this post, we’ll explore the internals of join execution in ClickHouse, so that you can optimize joins for queries used by your applications. Here, you’ll see how ClickHouse integrates these classical join algorithms into its query pipeline in order to execute the join types as fast as possible. View more...Generating MongoDB Annotations for Java POJOs from JSON Schema Using the JSONSchema2Pojo PluginAggregated on: Thu May 04 2023 23:30:26 GMT+0000 (Coordinated Universal Time) MongoDB is a popularly used NoSQL database that stores data in a document format. Each record in MongoDB is a collection of key-value pairs. JSONSchema2Pojo is a popular Java tool that generates Java classes from JSON schema, which are typically used for data serialization and deserialization. While this plugin generates Jackson annotations for serialization and deserialization by default, it's also possible to utilize it for generating custom annotations. In this article, we will demonstrate how to generate MongoDB annotations using this plugin. When working with MongoDB, Java objects are commonly used to represent collections and documents. To insert data into MongoDB using the Spring framework, it's necessary to generate POJO classes based on the collection schema. The Spring framework is a popular Java framework used to build backend applications and provides support for MongoDB integration. View more...Three Tips for Success as Product and Engineering GrowAggregated on: Thu May 04 2023 23:30:26 GMT+0000 (Coordinated Universal Time) Building a new version of your product is an exciting endeavor, but it can also be an overwhelming one. In the earliest days of a startup, there tends to be little formal structure in place, which is usually for the best! Everyone’s wearing numerous hats and just trying to get the product and company off the ground. It’s a time of innovation and creativity. When we built the first version of our product, we didn’t have a dedicated product team. That changed with version two, bringing new opportunities and challenges along with it. Through trial and error, we moved through several iterations of workflow, communication, and reporting. The key was balancing input from both the engineering and product teams while also balancing planning and innovation. We learned a lot from this endeavor and, in addition to successfully updating our core offering, gained some important insights about how to set yourself up for success even (and especially) as your company grows. View more...Building and Deploying Serverless Applications With OpenFaaSAggregated on: Thu May 04 2023 23:30:26 GMT+0000 (Coordinated Universal Time) Serverless computing is gaining more and more popularity in the software development industry these days. It provides a way to build and deploy applications without worrying about the underlying infrastructure. One of the most popular open-source serverless platforms is OpenFaaS. In this article, we will discuss the basics of building and deploying serverless applications with OpenFaaS. What Is OpenFaaS? OpenFaaS (Functions as a Service) is an open-source framework that allows developers to build and deploy serverless functions on any cloud or on-premises infrastructure. It is built on top of Docker and Kubernetes, which means it can be deployed on any platform that supports Docker containers. OpenFaaS provides a simple and easy-to-use interface for developers to write, package, and deploy serverless functions. View more...How To Run the Latest Version of PostgreSQL Using DockerAggregated on: Thu May 04 2023 22:00:26 GMT+0000 (Coordinated Universal Time) What Is PostgreSQL? PostgreSQL, commonly referred to as "Postgres," is an ORDBMS that prioritizes extensibility and adherence to standards. Its main purpose as a database server is to securely store data and retrieve it upon request from software applications, whether they are on the same machine or on a network. Postgres is capable of handling workloads of varying sizes, ranging from small single-machine applications to large, internet-facing applications with multiple users. Additionally, recent versions of Postgres offer database replication for enhanced security and scalability. PostgreSQL is a highly versatile database management system that adheres to the SQL:2011 standard and follows the ACID compliance model, which ensures reliable and accurate data transactions. It utilizes multi-version concurrency control (MVCC) to avoid locking issues and provides immunity to dirty reads and full serializability. PostgreSQL supports a wide range of SQL queries using advanced indexing methods not available in other databases. It also offers features such as updateable views, materialized views, triggers, foreign keys, support functions, and stored procedures. Furthermore, PostgreSQL is highly extensible and offers a plethora of third-party extensions. It can also migrate data from major proprietary and open-source databases using standard SQL support and migration tools. The software's extensibility allows it to emulate many proprietary extensions through built-in and third-party open-source compatibility extensions, such as those for Oracle. View more... |
|
|