News AggregatorCommunity Over Code Keynotes Stress Open Source's Vital RoleAggregated on: 2025-02-06 21:20:24 At the ASF's flagship Community Over Code North America conference in October 2024, keynote speakers underscored the vital role of open-source communities in driving innovation, enhancing security, and adapting to new challenges. By highlighting the Cybersecurity and Infrastructure Security Agency's (CISA) intensified focus on open source security, citing examples of open source-driven innovation, and reflecting on the ASF's 25-year journey, the keynotes showcased a thriving but rapidly changing ecosystem for open source. View more...Best Practices for Scaling Kafka-Based WorkloadsAggregated on: 2025-02-06 20:05:24 Apache Kafka is known for its ability to process a huge quantity of events in real time. However, to handle millions of events, we need to follow certain best practices while implementing both Kafka producer services and consumer services. Before start using Kafka in your projects, let's understand when to use Kafka: View more...How to Maximize the Azure Cosmos DB AvailabilityAggregated on: 2025-02-06 18:50:24 Most of the e-commerce applications are zero-tolerant of any downtime. Any impact on application resources can impact the overall availability metrics of the site. Azure Cosmos database is one of the major NoSQL databases used across the industry. Though the Azure Cosmos itself provides 99.99% minimum availability for a single region without an availability zone, how do we further improve the database availability with the options available in the Azure Cosmos? Multi-Region Read and Write Single-region reads will impact the availability and will also lead to a single point of failure. So, read-heavy applications should at least have multi-region read enabled, though multi-region writes are not an option for an application. But, multi-region write provides a greater availability on both read and write-heavy applications. View more...How to Add Comments in Terraform CodeAggregated on: 2025-02-06 15:35:24 In Terraform, comments are lines or sections of code that are ignored during execution but are useful for providing context, explanations, or notes within the code. They ensure team members can quickly grasp the purpose and functionality of configurations, reducing confusion and improving efficiency. In this article, we’ll cover the types of comments in Terraform, how to use them effectively, and best practices for writing clear, concise annotations. View more...React’s Unstoppable Rise: Why It’s Here to StayAggregated on: 2025-02-06 14:20:24 React, introduced by Facebook (now Meta) in 2013, forever changed how developers build user interfaces. At that time, the front-end ecosystem already had heavyweights like AngularJS, Backbone.js, and jQuery, each solving specific needs. Yet React's approach — treating the UI as a function of state — stood out. Instead of manually orchestrating data and DOM updates, React lets developers describe how the UI should look given certain conditions. Then, using an internal mechanism called the Virtual DOM, it efficiently computed and applied the necessary changes. This innovation, along with React's component-based architecture and a massive community, catapulted it to the forefront of front-end development. Since its debut, React has evolved significantly. Version after version introduced incremental improvements, with major shifts like the Fiber rewrite, Hooks, Concurrent Mode previews, and upcoming Server Components. The result is a library that stays modern while preserving backward compatibility. In what follows, we'll explore the factors that made React dominant, how it overcame early criticisms, and why it's likely to remain the top UI library for years to come. View more...Implementing Exponential Backoff With Spring RetryAggregated on: 2025-02-06 13:20:24 Hi, engineers! Have you ever been asked to implement a retry algorithm for your Java code? Or maybe you saw something similar in the codebase of your project? Java = maxRetries) { System.out.println("Max retries attempt”); throw new RuntimeException("Unable to complete task after " + maxRetries + " attempts", e); } System.out.println("Retrying"); } } }" data-lang="text/x-java"> public void someActionWithRetries() { int maxRetries = 3; int attempt = 0; while (true) { attempt++; try { System.out.println("attempt number = " + attempt); performTask(); System.out.println("Task completed"); break; } catch (Exception e) { System.out.println("Failure: " + e.getMessage()); if (attempt >= maxRetries) { System.out.println("Max retries attempt”); throw new RuntimeException("Unable to complete task after " + maxRetries + " attempts", e); } System.out.println("Retrying"); } } } View more...Build a URL Shortener With Neon, Azure Serverless FunctionsAggregated on: 2025-02-06 12:20:24 Neon is now available on the Azure marketplace. The new integration between Neon and Azure allows you to manage your Neon subscription and billing through the Azure portal as if Neon were an Azure product. Azure serverless and Neon are a natural combination — Azure serverless frees you from managing your web server infrastructure. Neon does the same for databases, offering additional features like data branching and vector database extensions. That said, let's try out this new integration by building a URL shortener API with Neon, Azure serverless, and Node.js. View more...How Spring Boot Starters Integrate With Your ProjectAggregated on: 2025-02-05 22:20:24 When developers set up and integrate services, they often face challenges that can take up a lot of time. Starters help simplify this process by organizing code and making it easier to manage. Let's take a look at creating two starters, configuring their settings automatically, and using them in a service. So, what are Spring Boot Starters, exactly? What benefits do they provide? View more...The Role of DQ Checks in Data PipelinesAggregated on: 2025-02-05 21:20:23 Overview One of the key principles of writing a good data pipeline is ensuring accurate data is loaded into the target table. We have no control over the quality of the upstream data we read from, but we can have a few data quality (DQ) checks in our pipeline to ensure any bad data would be caught early on without letting it propagate downstream. DQ checks are critical in making sure the data that gets processed every day is reliable, and that downstream tables can query them safely. This will save a lot of time and resources, as we will be able to halt the data flow, giving us some time to do RCA and fix the issue rather than pass incorrect data. View more...Demystifying Sorting Assertions With AssertJAggregated on: 2025-02-05 20:20:23 There are times when a new feature containing sorting is introduced. Obviously, we want to verify that the implemented sorting works correctly. AssertJ framework provides first-class support for such tasks. This article shows how to write such tests. In this article, you will learn the following: View more...Detecting Patterns in Event Streams With FlinkCEPAggregated on: 2025-02-05 19:20:23 We call this an event when a button is pressed; a sensor detects a temperature change, or a transaction flows through. An event is an action or state change that is important to an application. Event stream processing (ESP) refers to a method or technique to stream the data in real-time as it passes through a system. The main objective of ESP is to focus on the key goal of taking action on the data as it arrives. This enables real-time analytics and action, which is important in scenarios where low-latency response is a prerequisite, e.g., fraud detection, monitoring, and automated decision-making systems. Patterns play a big role in ESP as they help spot important sequences or behaviors in data that keep flowing non-stop. View more...How to Use AI With WordPressAggregated on: 2025-02-05 18:35:23 Artificial intelligence (AI) lets you manage WordPress in many ways, including generating AI content, creating images, improving SEO, and more. You can use AI to do the following: View more...Mastering the Transition: From Amazon EMR to EMR on EKSAggregated on: 2025-02-05 17:20:23 Amazon Elastic MapReduce (EMR) is a platform to process and analyze big data. Traditional EMR runs on a cluster of Amazon EC2 instances managed by AWS. This includes provisioning the infrastructure and handling tasks like scaling and monitoring. EMR on EKS integrates Amazon EMR with Amazon Elastic Kubernetes Service (EKS). It allows users the flexibility to run Spark workloads on a Kubernetes cluster. This brings a unified approach to manage and orchestrate both compute and storage resources. View more...Docker Performance Optimization: Real-World StrategiesAggregated on: 2025-02-05 16:05:23 After optimizing containerized applications processing petabytes of data in fintech environments, I've learned that Docker performance isn't just about speed — it's about reliability, resource efficiency, and cost optimization. Let's dive into strategies that actually work in production. The Performance Journey: Common Scenarios and Solutions Scenario 1: The CPU-Hungry Container Have you ever seen your container CPU usage spike to 100% for no apparent reason? We can fix that with this code below: View more...AI Regulation in the U.S.: Navigating Post-EO 14110Aggregated on: 2025-02-05 15:20:23 As the Trump administration revokes Executive Order 14110, the U.S. shifts toward a market-driven AI strategy, departing from the Biden administration’s regulatory framework. While proponents see this as a catalyst for innovation and economic growth, critics warn of increased risks, regulatory fragmentation, and strained transatlantic relations. With Europe reinforcing its AI Act and states like California exploring their own regulations, the future of AI governance in the U.S. remains uncertain. Will deregulation accelerate progress, or does it open the door to new challenges in ethics, security, and global cooperation? Just days after taking office, Donald Trump, the 47th President of the United States, issued a series of executive actions aimed at dismantling key initiatives from the Biden administration. Among them was the revocation of Executive Order (EO) 14110, a landmark policy that established a framework for AI governance and regulation. View more...Build A Stateless Microservice With GitHub Copilot in VSCodeAggregated on: 2025-02-05 14:20:23 Microsoft CEO Satya Nadella recently announced that GitHub Copilot is now free for all developers in VSCode. This is a game-changer in the software development industry. Github Copilot is an AI code assistant that helps developers finish their coding tasks easily and quickly. It also helps suggest code snippets and autocomplete functions. In this article, we will learn how to use GitHub Copilot using VSCode in a step-by-step manner for creating the first stateless flask microservice. This is a beginner-friendly guide showcasing how Copilot helps reduce the development time and simplify the process. View more...Optimizing Front-End PerformanceAggregated on: 2025-02-05 13:35:23 This is especially important in the modern world of web development, where it can be challenging for a site to load in a reasonable amount of time. End customers experience delays when visiting slow-loading sites, higher bounce rates, and lost business prospects. It's to overcome this challenge that front-end performance has become the norm or optimization among developers. It entails optimizing relative to the performance standards of the user interface elements of a site. Through optimization methods, companies can present value propositions that engaged users will be able to navigate with minimal hiccups Lazy Loading: Efficient Content Delivery Lazy loading is a front-end optimization concept that loads front-end sources such as images, videos, iframes, and others on a website when the page is loaded. Lazy loading serves more content than the original page load; it loads only as much content as the user can see when the page is loaded. Other content is loaded on the page as the user scrolls down the page, thus making the process an Ajax function. View more...Shared vs Shielded Context: Testers and Devs Writing Tests TogetherAggregated on: 2025-02-05 12:20:23 How do you get testers and developers to cooperate on tests? If developers help out with tests at all — that's already a good start. But even then, there are differences in approach. View more...Keycloak and Docker Integration: A Step-by-Step TutorialAggregated on: 2025-02-04 22:35:23 Keycloak is a powerful authentication and authorization solution that provides plenty of useful features, such as roles and subgroups, an advanced password policy, and single sign-on. It’s also very easy to integrate with other solutions. We’ve already shown you how to connect Keycloak to your Angular app, but there’s more you can do. For example, by integrating this technology with Cypress, you can enable the simulation of real-user login scenarios, including multi-factor authentication and social logins, ensuring that security protocols are correctly implemented and functioning as expected. View more...Teradata Performance and Skew Prevention TipsAggregated on: 2025-02-04 21:05:23 Understanding Teradata Data Distribution and Performance Optimization Teradata performance optimization and database tuning are crucial for modern enterprise data warehouses. Effective data distribution strategies and data placement mechanisms are key to maintaining fast query responses and system performance, especially when handling petabyte-scale data and real-time analytics. Understanding data distribution mechanisms, workload management, and data warehouse management directly affects query optimization, system throughput, and database performance optimization. These database management techniques enable organizations to enhance their data processing capabilities and maintain competitive advantages in enterprise data analytics. View more...Productivity and Organization Tips for Software EngineersAggregated on: 2025-02-04 20:20:23 I’ve been a software engineer for a little over a decade now, and I like to think I’m a pretty organized person. I have a system for everything, and these systems help my mind and my day run more smoothly. Organization isn’t something that comes naturally to everyone, so today, I thought I’d share some of my strategies that help me have a productive and fulfilling work day. View more...Leveraging Neo4j for Effective Identity Access ManagementAggregated on: 2025-02-04 19:20:23 A while ago, I explored Neo4j, a powerful graph database, earlier for the implementation of the "six degrees of separation" concept. I like the way it simplified the complexity of the relationship visually with the advantage of flexible schema representation. After some time, while exploring another use case in Identity Access Management (IAM) policies, I revisited Neo4j. I was amazed by the analytical capabilities it offered and the potential for building Generative AI applications using Neo4j’s GraphRAG. View more...A Guide to Automating AWS Infrastructure DeploymentAggregated on: 2025-02-04 18:20:23 When it comes to managing infrastructure in the cloud, AWS provides several powerful tools that help automate the creation and management of resources. One of the most effective ways to handle deployments is through AWS CloudFormation. It allows you to define your infrastructure in a declarative way, making it easy to automate the provisioning of AWS services, including Elastic Beanstalk, serverless applications, EC2 instances, security groups, load balancers, and more. View more...Data Governance Essentials: Policies and Procedures (Part 6)Aggregated on: 2025-02-04 17:05:23 What Is Data Governance, and How Do Data Quality, Policies, and Procedures Strengthen It? Data governance refers to the overall management of data availability, usability, integrity, and security in an organization. It encompasses people, processes, policies, standards, and roles that ensure the effective use of information. Data quality is a foundational aspect of data governance, ensuring that data is reliable, accurate, and fit for purpose. High-quality data is accurate, complete, consistent, and timely, which is essential for informed decision-making. View more...Processing Cloud Data With DuckDB And AWS S3Aggregated on: 2025-02-04 16:20:23 DuckDb is a powerful in-memory database that has a parallel processing feature, which makes it a good choice to read/transform cloud storage data, in this case, AWS S3. I've had a lot of success using it and I will walk you through the steps in implementing it. I will also include some learnings and best practices for you. Using the DuckDb, httpfs extension and pyarrow, we can efficiently process Parquet files stored in S3 buckets. Let's dive in: View more...SOC 2 Made Simple: Your Guide to CertificationAggregated on: 2025-02-04 15:05:23 No matter where your company is located and in which field it operates, one thing is always true: today, SOC 2 is one of the standards tech companies should meet to be recognized for their security practices. If you’re tackling an audit for the first time, it can feel like you don’t even know where to start. And let’s be honest, hiring expensive security consultants isn’t always an option, especially if cash is tight. That’s exactly why I’m writing this — a practical guide with just enough theory to get you through it. View more...4 Reasons Agentic AI Is Reshaping Enterprise SearchAggregated on: 2025-02-04 14:20:23 Generative AI has been the cutting-edge technology that greatly reshaped the enterprise search landscape. But now, artificial intelligence (AI) development communities are delving into a new industry-leading innovation — Agentic AI. Agentic AI is a system that exhibits a high degree of autonomy. It designs workflow and uses available tools to take action independently on behalf of the users and solve complex problems that require multi-step solutions. It also interacts with external environments and goes beyond the data on which the system's machine learning models were trained. View more...Build Modern Data Architectures With Azure Data ServicesAggregated on: 2025-02-04 13:35:24 Modern data architecture is necessary for organizations trying to remain competitive. It is not a choice. Organizations are finding it difficult to use the exponentially expanding amounts of data effectively. Importance of Modern Data Architectures Modern data architectures remain relevant, considering that they offer businesses and foster a systematic way of dealing with large quantities of data and, in return, make faster and quicker decisions. Modern businesses rely on these architectures because they provide real-time processing, powerful analytics, and numerous data sources. View more...Limitations of LLM ReasoningAggregated on: 2025-02-04 12:20:23 Large language models (LLMs) have disrupted AI with their ability to generate coherent text, translate languages, and even carry on conversations. However, despite their impressive capabilities, LLMs still face significant challenges when it comes to reasoning and understanding complex contexts. These models, while adept at identifying and replicating patterns in vast amounts of training text, often struggle with tasks that require true comprehension and logical reasoning. This can result in problems such as inconsistencies in long conversations, errors in connecting disparate pieces of information, and difficulties in maintaining context over extended narratives. Understanding these reasoning problems is crucial for improving the future development and application of LLMs. View more...Building a Full-Stack Resume Screening Application With AIAggregated on: 2025-02-03 22:20:22 The release of the DeepSeek open-source AI model has created a lot of excitement in the technology community. It allows developers to build applications entirely locally without needing to connect to online AI models such as Claude, ChatGPT, and more. Open-source models have opened doors to new opportunities when building enterprise applications that integrate with generative AI. In this article, you will learn how to run such a model locally on your personal machine and build a full-stack React and NodeJS-powered application that is not just another chatbot. You will be able to use this application to analyze resumes faster and make smarter hiring decisions. Before you build the application, it is important to understand the benefits of open-source LLMs. View more...Exploring the Purpose of Pytest Fixtures: A Practical GuideAggregated on: 2025-02-03 21:20:22 To set the groundwork for this article, let's first understand what Pytest is. Pytest is a popular testing framework for Python that simplifies the process of writing scalable and maintainable test cases. It supports fixtures, parameterized testing, and detailed test reporting, making it a powerful choice for both unit and functional testing. Pytest's simplicity and flexibility have made it a go-to framework for developers and testers alike. View more...Java Stream API: 3 Things Every Developer Should Know AboutAggregated on: 2025-02-03 20:35:22 Time flies! I remember the time when Java 8 was such a reference, and everybody was talking about it like something new and revolutionary. Frankly speaking, it was new and revolutionary. But now, projects using Java 8 might be labeled "legacy." If Java 8 itself became a legacy, the features introduced in that version would still be actual. And let’s talk today about one of them — Stream API. In case you don’t know, Java Stream API is a powerful tool that allows programmers to write Java code in a functional programming style. Introduced long ago, it makes working with collections easier by enabling filtering, transformation, and aggregation. View more...Best Practices for API Rate Limits and QuotasAggregated on: 2025-02-03 19:20:22 Like any online service, your API users expect high availability and good performance. This also means one customer should not be able to starve another customer's access to your API. Adding rate limiting is a defensive measure that can protect your API from being overwhelmed with requests and improve general availability. Similarly, adding quota management also ensures customers stay within their contract terms and obligations, ensuring you're able to monetize your API. This is even more important for Data and GenAI APIs, where the cost of an API can be high and part of your COGS (Cost of Goods Sold). Without quota management, a customer could easily use far more resources than their plan allows, even if they stay within your overall server rate limits. View more...Managing Distributed System Locks With Azure StorageAggregated on: 2025-02-03 18:20:22 Distributed systems have been there for a while now and there are well-known patterns already established when designing them. Today, we will discuss one of the popular patterns: "locks." Simply put, locks are how processes gain exclusive access to a resource to perform a certain action. For example, imagine there are a bunch of Blobs in a storage account, and you need one instance of your service to process each blob to avoid duplicate processing. The way to do it would be to acquire a lock on the blob, complete processing, and release it. However, a potential issue arises if a process fails before releasing the lock, either because the process died or due to a network partition, leaving the resource locked indefinitely. This can lead to deadlocks and resource contention. View more...MuleSoft OAuth 2.0 Provider: Password Grant TypeAggregated on: 2025-02-03 17:05:22 OAuth 2.0 is a widely used authorization framework that allows third-party applications to access user resources on a resource server without sharing the user's credentials. The Password Grant type, also known as Resource Owner Password Credentials Grant, is a specific authorization grant defined in the OAuth 2.0 specification. It's particularly useful in scenarios where the client application is highly trusted and has a direct relationship with the user (e.g., a native mobile app or a first-party web application). This grant type allows the client to request an access token by directly providing the user's username and password to the authorization server. While convenient, it's crucial to implement this grant type securely, as it involves handling sensitive user credentials. View more...All You Need to Know About Apache SparkAggregated on: 2025-02-03 16:20:22 Apache Spark is a general-purpose and lightning-quick cluster computing framework and an open-source technology based on a wide range of data processing platforms. Moreover, it reveals development APIs that succeed data workers in achieving streaming, machine learning (ML), and SQL workloads. It also requires repeated accessibility to the data sets. Spark can perform stream processing and batch processing. For context, stream processing deals with data streaming, whereas batch processing means processing the previously gathered task in a single batch. View more...90% Cost Reduction With Prefix Caching for LLMsAggregated on: 2025-02-03 15:20:22 Do you know there’s a technique by which you could slash your LLM inference cost by up to 90%? Prefix caching is the idea that could save your application those much needed dollars. A game changing optimization technique that is not just for giants like Anthropic but also available to anyone using open- source LLMs. Let's pull back the curtain on this technique! View more...Building Neural Networks With Automatic DifferentiationAggregated on: 2025-02-03 14:20:22 One of the biggest reasons for the fast pace of research and progress in modern AI is due to the availability of Python libraries such as PyTorch, TensorFlow, and JAX. Python itself is considered one of the easiest programming languages to pick up, and these ML/DeepLearning libraries make prototyping and testing sophisticated ML models much more accessible to engineers, researchers, and even enthusiasts. One key idea that has driven tremendous success in training large ML and neural network models is automatic differentiation (AD). It is the mechanism that enables backpropagation in neural networks. The main idea behind AD is to recursively calculate the partial derivatives (using the chain rule) for a neural network, which is represented as a directed acyclic graph (DAG). It’s a simple technique but very powerful. View more...Building RAG Apps With Apache Cassandra, Python, and OllamaAggregated on: 2025-02-03 13:20:22 Retrieval-augmented generation (RAG) is the most popular approach for obtaining real-time data or updated data from a data source based on text input by users. Thus empowering all our search applications with state-of-the-art neural search. In RAG search systems, each user request is converted into a vector representation by embedding model, and this vector comparison is performed using various algorithms such as cosine similarity, longest common sub-sequence, etc., with existing vector representations stored in our vector-supporting database. View more...Pydantic: Simplifying Data Validation in PythonAggregated on: 2025-02-03 12:05:22 While exploring AI agents, I came across two interesting libraries - Pydantic and Logfire. In this article, you will learn about Pydantic with code examples and understand what Pydantic brings to the table in the world of Data validation for Python developers. Pydantic is a powerful Python library that uses type annotations to validate data structures. It's become an essential tool for many Python developers, especially those working on web applications, APIs, and data-intensive projects. View more...The Quest for HA and DR in LokiAggregated on: 2025-01-31 22:35:21 According to the 2016 Ponemon Institute research, the average downtime cost is nearly $9,000 per minute. These downtimes not only cost money, but also hurt the competitive edge and brand reputation. The organization can prepare for downtime by identifying the root causes. For that, they need information on how the software and infrastructure is running. Many software programs help aggregate this information, and one of the popular and most used tools is Loki. However, keeping Loki active under pressure is another problem. Recently, our team ran the single monolith instance of Loki as a private logging solution for our application microservices rather than for observing Kubernetes clusters. The logs were stored in the EBS filesystem. We wanted our system to be more robust and resilient, so we implemented High Availability (HA) and Disaster Recovery (DR) for our microservice application. View more...Building Custom Tools With Model Context ProtocolAggregated on: 2025-01-31 21:20:21 Model Context Protocol (MCP) is becoming increasingly important in the AI development landscape, enabling seamless integration between AI models and external tools. In this guide, we'll explore how to create an MCP server that enhances AI capabilities through custom tool implementations. What Is Model Context Protocol? MCP is a protocol that allows AI models to interact with external tools and services in a standardized way. It enables AI assistants like Claude to execute custom functions, process data, and interact with external services while maintaining a consistent interface. View more...Web Scraping With LLMs, ScrapeGraphAI, and LangChainAggregated on: 2025-01-31 19:50:21 Now that we can scrape websites using Python and its libraries like BeautifulSoup, Requests, and Pandas, let’s take a step ahead and learn how we could simplify it further using LLM. Before we talk about the scraping part, let us understand the terminologies and what an LLM is. You are in the right place to learn about all these words if you are unfamiliar with LangChain, AI, or NLP. What Is LLM? LLM stands for large language model. It is a machine learning model trained on a large amount of data, referred to as a corpus, which consists of vast textual data. Large in the sense that there is a lot of data — terabytes — contained in the data. For example, an LLM may have seen terabytes of data, while a file on your computer system may be sized in gigabytes (GB). LLMs are able to respond to inquiries based on such textual data because of their thorough training. By utilizing them wisely, large language models may be applied to a variety of tasks, including summaries, Q&As, and translations. Just as Python provides libraries and frameworks, LLMs also have these resources. View more...Creating a Service for Sensitive Data With Spring and RedisAggregated on: 2025-01-31 18:28:56 Many companies work with user-sensitive data that can’t be stored permanently due to legal restrictions. Usually, this can happen in fintech companies. The data must not be stored for longer than a predefined time period and should preferably be deleted after it has been used for service purposes. There are multiple possible options to solve this problem. In this post, I would like to present a simplified example of an application that handles sensitive data leveraging Spring and Redis. Redis is a high-performance NoSQL database. Usually, it is used as an in-memory caching solution because of its speed. However, in this example, we will be using it as the primary datastore. It perfectly fits our problem’s needs and has a good integration with Spring Data. View more...Magic of Aspects: How AOP Works in SpringAggregated on: 2025-01-31 16:46:10 It is from modern applications that one expects a clean and maintainable codebase in order to be able to manage the growing complexity. This is where Aspect Oriented Programming (AOP) comes in. AOP is a paradigm that enables the developers to separate the cross-cutting concerns (such as logging, metrics, and security) from the business logic of the application, making the code both modular and easy to maintain. Why Is It Important to Know AOP? I’ll begin with a simple analogy: There are some things that you should do when building a house: you should think about the design of the house, about the rooms and the decor of the rooms. View more...Getting Started With Agentic AIAggregated on: 2025-01-31 15:31:10 Advancements in AI and automation have paved the way toward agentic automation. Integrating advanced AI techniques, agentic automation enables autonomous agents to handle complex, unstructured tasks with minimal human intervention. In this Refcard, you will learn about the key components of AI agents, design principles for building intelligent agents, and practical applications of agentic automation — all demonstrated via a real-world use case. View more...Page Transactions: A New Approach to Test AutomationAggregated on: 2025-01-31 15:31:10 Guará is the Python implementation of the design pattern Page Transactions. It is more of a programming pattern than a tool. As a pattern, it can be bound to any driver other than Selenium, including the ones used for Linux, Windows, and Mobile automation. The intent of this pattern is to simplify test automation. It was inspired by Page Objects, App Actions, and Screenplay. Page Transactions focus on the operations (transactions) a user can perform on an application, such as Login, Logout, or Submit Forms. View more...CAP and PACELC Theorems in Plain EnglishAggregated on: 2025-01-31 14:01:10 Modern distributed systems are all about tradeoffs. Performance, reliability, scalability, and consistency don't come for free — you always pay a price somewhere. That's where the CAP theorem comes in: it's the starting point for understanding the unavoidable compromises in distributed design. Why is the CAP theorem true? What does it actually explain? And, most importantly, is it enough? In this post, we'll explore the CAP theorem, its limitations, the critiques it has faced, and how newer ideas like PACELC are pushing the conversation forward. Let's dive in. View more...Front-End Debugging Part 3: NetworkingAggregated on: 2025-01-31 12:31:10 Debugging network communication issues is a critical skill for any front-end developer. While tools like Wireshark provide low-level insight into network traffic, modern browsers like Chrome and Firefox offer developer tools with powerful features tailored for web development. In this post, we will discuss using browser-based tools to debug network communication issues effectively. This is a far better approach than using Wireshark for the vast majority of simple cases. View more...Understanding the Two Schools of Unit TestingAggregated on: 2025-01-30 22:16:09 Unit testing is an essential part of software development. Unit tests help to check the correctness of newly written logic as well as prevent a system from regression by testing old logic every time (preferably with every build). However, there are two different approaches (or schools) to writing unit tests: Classical (a.k.a Detroit) and Mockists (or London) schools of unit testing. In this article, we’ll explore these two schools, compare their methodologies, and analyze their pros and cons. By the end, you should have a clearer understanding of which approach might work best for your needs. View more... |
|