News Aggregator


Azure Data Factory Interview Questions

Aggregated on: Wed Jun 28 2023 16:01:01 GMT+0000 (Coordinated Universal Time)

As cloud computing continues to gain popularity, more and more organizations are adopting cloud-based data solutions to manage their ever-growing data needs. One of the most popular data integration services in the cloud is Azure Data Factory, a fully managed, cloud-based data integration service that allows you to create, schedule, and orchestrate ETL and ELT workflows. With the increasing demand for Azure Data Factory expertise, it's no surprise that experienced professionals in the field are in high demand. If you're looking to land a job as an Azure Data Factory expert or simply looking to improve your knowledge in the area, it's important to be well-prepared for the interview process.

View more...

Build RAML-Based API Specification Using MuleSoft Platform

Aggregated on: Wed Jun 28 2023 15:46:01 GMT+0000 (Coordinated Universal Time)

In earlier blogs, we saw many languages like Python, C++, Java, and so on that developers use to develop applications that we use to retrieve and insert data. In this blog, we shall learn about RAML which is a language used to create API specification. Introduction to RAML RAML stands for RESTful API Modelling Language. It is a YAML /JSON-based modeling language. The language is simple and structured, which is readable by both humans and computers. We use HTTP methods to call the resources while creating API specifications. 

View more...

Seven Basic Principles of Good Software Engineering

Aggregated on: Wed Jun 28 2023 15:16:01 GMT+0000 (Coordinated Universal Time)

DRY (Don't Repeat Yourself)  The DRY (Don't Repeat Yourself) principle is a fundamental concept in software engineering that promotes code reuse. It states that if you have written a piece of code, then it should be reused throughout the codebase rather than repeated somewhere else. It advocates for avoiding duplication of code or logic and encourages developers to strive for a single source of truth. By adhering to DRY, you'll get the following benefits: Improved Code Quality: Duplicated code is prone to inconsistencies. By adhering to the DRY principle, developers ensure that code is written once and reused whenever needed, which greatly improves the quality of the system. Time and Effort Savings: Duplicated code requires redundant efforts. When changes or updates need to be made, developers have to modify the code in multiple places, which consumes time and also increases the risk of introducing errors. The DRY principle helps save valuable time and effort by centralizing code logic. Read more about the DRY principle here. 

View more...

Hot-Cold Data Separation: What, Why, and How?

Aggregated on: Wed Jun 28 2023 15:01:01 GMT+0000 (Coordinated Universal Time)

Apparently, hot-cold data separation is hot now. But first of all: What Is Hot/Cold Data? In simple terms, hot data is the frequently accessed data, while cold data is the one you seldom visit but still need. Normally in data analytics, data is "hot" when it is new and gets "colder" and "colder" as time goes by. 

View more...

Do We Need Event Sourcing?

Aggregated on: Wed Jun 28 2023 15:01:01 GMT+0000 (Coordinated Universal Time)

Before we start, I would definitely recommend getting familiar with the definition and benefits of Event Sourcing. Sara did an amazing job in explaining what Event Sourcing is in more detail and comparisons. Let's briefly touch upon some Event Sourcing aspects that are going to be important for this article. In order to validate a business rule and/or make any decision in our software, we need to create a model representation of our domain. For the purposes of this article, I'm going to call this model the Decision Model. There are different ways of storing this model durably. 

View more...

You Are What You Build: Making Your Code More Human

Aggregated on: Wed Jun 28 2023 14:46:01 GMT+0000 (Coordinated Universal Time)

The world is what we make it. Tech — and AI — follow the same principles. On this week’s episode of Dev Interrupted, we sit down with Christina Enchevta, a Director of Engineering at GitHub, to unravel the link between the values we hold and the things we build. We delve into how AI applications mirror our values, intentionally or not, and how this can lead to surprising outcomes, no matter how benevolent our intentions are.

View more...

How To Upgrade to Jakarta EE 10 and GlassFish 7

Aggregated on: Wed Jun 28 2023 14:16:01 GMT+0000 (Coordinated Universal Time)

Upgrading to Jakarta EE 10 from an older version of Jakarta EE or Java EE can be a bit tricky and may require some extra attention to detail. One of the main things you may encounter is making sure your existing code and libraries are compatible. Some libraries may still be using the javax package, which can cause conflicts when trying to run your applications on a Jakarta EE server like Eclipse GlassFish 7. You might also run into problems with some deprecated APIs that were removed in Jakarta EE 10.  But don’t worry; there are automation tools to help you with the upgrade and examples of how to use them, which I created in the OmniFish GitHub repository.

View more...

Software Architecture Metrics Interview With Neal Ford

Aggregated on: Wed Jun 28 2023 14:01:01 GMT+0000 (Coordinated Universal Time)

Neal Ford is Director, Software Architect, and Meme Wrangler at Thoughtworks, a software company and community of passionate, purpose-led individuals who think disruptively to deliver technology to address the most demanding challenges, all while seeking to revolutionize the IT industry and create positive social change. Neal is an internationally recognized expert on software development and delivery, especially at the intersection of Agile engineering techniques and software architecture. He has authored magazine articles, nine books (and counting), dozens of video presentations, and spoken at hundreds of developers’ conferences worldwide. Neal’s topics include software architecture, continuous delivery, functional programming, and cutting-edge software innovations, and he includes a business-focused book and video on improving technical presentations.  Apiumhub had the opportunity to do an interview with Neal Ford, a Global Software Architecture Summit speaker, to get to know what metrics he normally uses and learn more about his chapter in the Software Architecture Metrics book that was recently published by O’Reilly.

View more...

The Most Incredible Article About AWS Networking Essentials

Aggregated on: Wed Jun 28 2023 14:01:01 GMT+0000 (Coordinated Universal Time)

When you start learning AWS, you should have a clear understanding of networking essentials. After you get an AWS account, AWS creates a default network space for you. Either you can use that or if you have a different use case, you have to configure different networking components under AWS. This article will guide developers to start their journey on AWS by introducing networking fundamentals with easy-to-understand examples. After you go through the article, I am sure that you will be in a good spot to tackle different networking challenges faced in your career.

View more...

Scalability Testing Tutorial: A Comprehensive Guide With Examples and Best Practices

Aggregated on: Wed Jun 28 2023 13:46:01 GMT+0000 (Coordinated Universal Time)

Scalability testing is an approach to non-functional software testing that checks how well applications and infrastructure perform under increased or decreased workload conditions. The organization can optimize infrastructure costs and create the best user experience by determining server-side robustness and client-side degradation. It makes it easier to fix defects and ensure software applications' flawless functioning. As part of the testing process, testers usually draft test scenarios that force the system to meet new requirements.

View more...

Database Sharding and Its Challenges

Aggregated on: Wed Jun 28 2023 12:46:01 GMT+0000 (Coordinated Universal Time)

Database sharding is a powerful technique employed to manage large databases more effectively. It involves partitioning a large database into smaller, more manageable parts, known as shards. The term "shard" signifies a small fragment of a whole, aptly describing this method of breaking down a large database into smaller, more manageable pieces. Sharding is often applied to databases for several reasons, including improving query performance, facilitating data organization, and enhancing scalability. By distributing data across multiple servers, sharding can significantly reduce the response time for data queries, provide a more organized data structure, and allow for easier scaling as the amount of data grows. The above diagram presents a visual representation of a sharded database. The primary database is segmented into smaller shards, each of which is stored on a distinct server.

View more...

Introduction to Semaphores

Aggregated on: Tue Jun 27 2023 18:01:00 GMT+0000 (Coordinated Universal Time)

Semaphores are an important tool for managing concurrency in computer programs. They are used to manage access to shared resources in a multi-threaded environment and help prevent synchronization issues and coordinate access to shared resources. The concept of semaphores was first introduced by Edsger Dijkstra in 1965, and they have since become a fundamental tool for developing efficient and effective software. This article will explore semaphores, how they work, and some best practices for using them in your programs.

View more...

Building Observable Applications With OpenTelemetry

Aggregated on: Tue Jun 27 2023 17:01:00 GMT+0000 (Coordinated Universal Time)

In the ever-evolving landscape of software development, complexity is a constant companion. As applications grow and evolve, they become increasingly intricate, making it more challenging to monitor, understand, and optimize their behavior. Developers are increasingly responsible for adding instrumentation into their code so the inner workings of their applications can be observed externally. That data then provides valuable insights to stakeholders across the business.  This is where the concept of observability comes into play. Observability, in the context of software, refers to the ability to understand the internal state of a system by examining its outputs. It's like being able to understand what's happening inside a machine by just looking at the dials and gauges on its control panel. 

View more...

Angular Best Practices For Developing Efficient and Reliable Web Applications

Aggregated on: Tue Jun 27 2023 17:01:00 GMT+0000 (Coordinated Universal Time)

The Google-created Angular framework that uses JavaScript is quite popular in developing web applications. The AngularJS framework has been completely rewritten, and Angular is intended specifically for creating dynamic programming structures. Angular allows developers to create clean, maintainable, and high-performing applications with its robust features and comprehensive ecosystem. Modules, components, metadata, templates, data binding, services, directives, and dependency injection are the fundamental building elements of Angular. It's essential to keep up with the latest Angular development best practices as the technological landscape changes.  In the following article, we will look at the top Angular best practices for 2023 to help you create squeaky-clean and fast web applications.

View more...

What Is Model Ops?

Aggregated on: Tue Jun 27 2023 16:16:00 GMT+0000 (Coordinated Universal Time)

The rapid implementation of various new applications, cloud services, and other technologies has complicated IT environments too much for humans to handle, negatively affecting profits. It is difficult for companies to pursue digital transformation in a highly competitive market despite the significant investments they've put into artificial intelligence. They cannot streamline all organizational models, making it difficult to gain valuable insights from the models and make informed business decisions. Scaling all available models from the dev region to the CI/CD pipeline to the deployment region can be a challenging process for DevOps teams within traditional siloed environments. The challenge gets even more difficult when you have to monitor and manage all these models in production for performance, drift, bias, and other risks. All this while adhering to international and local regulations until the model decays or is retired.

View more...

The Impact of Microservices: The Good, the Bad, and the Ugly

Aggregated on: Tue Jun 27 2023 16:16:00 GMT+0000 (Coordinated Universal Time)

Reliance on technology has come full circle since the start of the COVID-19 pandemic. The increased utilization of digital applications for needs such as banking, shopping, and especially healthcare services during the past three years has ushered in a need for consumers to trust technology to assist them in all aspects of daily living. Not coincidentally, the demands placed on app engineers, developers, and designers today require them to offer a level of versatility within their software that was not needed just a few years ago. At a time when the incidence of cybersecurity attacks is at an all-time high, it is now necessary for apps to be built and scalable in a more flexible manner so that they can be addressed appropriately in the event of an incident that requires intervention. Microservices architecture is a more suitable way to improve the reliability and scalability of today’s software systems. In a microservices cloud-based architecture, a large application is broken down into smaller, independent services that communicate with each other through application programming interfaces (APIs). This allows for more focused development and deployment and easier maintenance and scaling. A microservices approach is in stark contrast to monolithic software applications, which are built as single, unified units that are more complicated and time-consuming to build and deploy.

View more...

How to Convert Excel and CSV Documents to HTML in Java

Aggregated on: Tue Jun 27 2023 16:01:01 GMT+0000 (Coordinated Universal Time)

When it comes to organizing, structuring, and formatting data for everyday report presentations and report-sharing scenarios, Excel is decisively the world’s go-to spreadsheet solution. And that’s for good reason – Excel’s extensive and endlessly updated features are perfect for most of our manual data manipulation needs, allowing us to quickly generate stylish rows and columns with slick graphs and other forms of visuals. The open-XML .XLSX format also transitions nicely into plain text formats like CSV, making it equally straightforward to export and upload Excel’s tabular data to a broader range of compatible applications.  Despite its myriad features and format conversion fluidity; however, document compatibility concerns are always lurking when we look to share Excel report content with the broadest possible audiences.   Of course, we don’t have to look very far to find a global, standardized solution to this long-standing challenge. Where fully formatted and finished data reports are concerned, PDF represents the ideal export format, owing largely to its universal compatibility and secure design. Excel and CSV documents converted to PDF format are viewable on any browser, and these PDFs can be formed as vector or raster files depending on the document creator’s personal preference.

View more...

PyCharm Fix for Certificate Verify Failed: Unable To Get Local Issuer Certificate

Aggregated on: Tue Jun 27 2023 16:01:01 GMT+0000 (Coordinated Universal Time)

When your organization installs a security monitoring app like Zscaler on your workstation, it could hinder your productivity by blocking many existing third-party apps you have been using for your development or testing deliverables.  In many cases, once installed, you will have no problem accessing public URLs via browser but will still face challenges when trying to access via terminal or IDE. Although when organizations install security apps, they add company-generated certificates in the system cert, some applications like Java, Python, IDE, NPM, etc. do not use default system cert and have their own custom trust store, which fails to validate Zscaler-generated server certificates, and the TLS connection fails.

View more...

Frequency for Performing Database Integrity Checks in SQL Server

Aggregated on: Tue Jun 27 2023 16:01:01 GMT+0000 (Coordinated Universal Time)

In this article, we will learn some recommendations for checking the database's integrity in an SQL Server. We will see how often we should perform an integrity check and how to automate this process. What Is Database Integrity? SQL Server can have problems with the tables, indexes, catalogs, etc. When we check integrity, we verify that there are no consistency errors in the database.

View more...

Managing Schema Validation in a Data Lake Using Data Version Control

Aggregated on: Tue Jun 27 2023 15:46:00 GMT+0000 (Coordinated Universal Time)

It’s not uncommon for a data team to be dependent on many other “third parties” that send in the data. They often change the schema of the data without communicating anything or letting the data team know too late. Whenever that happens, data pipelines break, and the data team needs to fix the data lake. This is a manual process filled with heavy-lifting tasks. Typically, teams engage in a blame game, trying to prove that the schema has changed.

View more...

Unraveling the Power of Python: A Beginner's Guide to Using Python for Website Analysis

Aggregated on: Tue Jun 27 2023 15:16:00 GMT+0000 (Coordinated Universal Time)

Welcome to this beginner's guide to using Python for website analysis! As a programming language, Python has been around for over 30 years, but its popularity has skyrocketed in recent years due to its ease of use and versatility. Python is now used by companies such as Google, Instagram, and Spotify and is widely considered one of the most popular programming languages in the world.  In this blog post, we'll be diving into the power of Python and how it can be used for website analysis. Whether you're a complete beginner or someone looking to expand your programming knowledge, this guide will provide you with all the tools you need to start using Python for website analysis. So, let's get started!

View more...

It's Elementary Privacy, Watson!

Aggregated on: Tue Jun 27 2023 15:01:00 GMT+0000 (Coordinated Universal Time)

In today's (mostly) digital world, maintaining data privacy and data security should be an ongoing discussion in all businesses, especially those developing applications, both internal business shops and software shops selling solutions. That said, compliance and privacy issues are not restricted to just digitally-stored data and may, in fact, be a larger issue for older, analog records that aren't as front-and-center as I realized this past weekend.

View more...

Continuous Architecture Principles and Goals

Aggregated on: Tue Jun 27 2023 15:01:00 GMT+0000 (Coordinated Universal Time)

Creating and maintaining software architecture that remains sustainable over time is a challenge for software architects and developers. Software Architects used to meet every requirement, provide every feature, and plan every system component at once with big software architecture upfront, which involves completing and perfecting architectural designs before implementations are started. Alternatively, teams might produce emergent architectures, where development teams start delivering functionality and let architectural designs emerge with little upfront planning. Unfortunately, none of those methods is consistently successful in delivering sustainable architecture.  Continuous Architecture Principles As for “Continuous Architecture,” this is about using the appropriate tools to make the right decisions and support Continuous Delivery, Continuous Integration, and Continuous Testing. “Continuous Architecture” is an approach based on a toolbox — not a formal process. 

View more...

Automation, Ansible, AI

Aggregated on: Tue Jun 27 2023 15:01:00 GMT+0000 (Coordinated Universal Time)

Today, we are living in the world of artificial intelligence (AI). With Generative AI, writing code has become simpler. Coding is not about linting, formatting, and debugging anymore.  In this article, you will learn about how Ansible is bringing AI tools to your Integrated Development Environment to make your automation coding experience simpler, smoother, and more efficient. 

View more...

Six Ways That Programming Helps To Develop Abstract Thinking

Aggregated on: Tue Jun 27 2023 14:16:00 GMT+0000 (Coordinated Universal Time)

Have you ever tried to imagine a concept or idea without a physical or concrete example? If you have, then you've engaged in abstract thinking. Abstract thinking is the ability to understand complex concepts that are real but not physically tangible. It is a key cognitive function that allows us to comprehend things like values, emotions, or the very idea of 'infinity.' In our daily lives, abstract thinking plays a significant role. It enables us to plan for the future, understand other people's perspectives, solve problems, and even appreciate art or literature. It's an essential skill for many professional fields, including science, mathematics, philosophy, and, yes, you guessed it — programming.

View more...

Building an Event-Driven Architecture Using Kafka

Aggregated on: Tue Jun 27 2023 14:16:00 GMT+0000 (Coordinated Universal Time)

Event-driven architecture (EDA) is a software design pattern that focuses on the generation, detection, and consumption of events to enable efficient and scalable systems. In EDA, events are the central means of communication between components, allowing them to interact and respond to changes in real time. This architecture promotes loose coupling, extensibility, and responsiveness, making it well-suited for modern, distributed, and highly scalable applications. EDA has emerged as a powerful solution to enable agility and seamless integration in modern systems. In an event-driven architecture, events represent significant occurrences or changes within a system. Various sources, such as user actions, system processes, or external services, can generate these events. Components, known as event producers, publish events to a central event bus or broker, which acts as a mediator for event distribution. Other components, called event consumers, subscribe to specific events of interest and react accordingly.

View more...

Using Query Parameters and Headers in REST API Design

Aggregated on: Tue Jun 27 2023 14:01:00 GMT+0000 (Coordinated Universal Time)

In today's fast-paced digital landscape, REST APIs are essential for connecting and exchanging data between different systems and applications. But with so many different components and considerations, it can be a challenge to design an API that is both efficient and user-friendly. One key aspect of REST API design is the use of query parameters and headers. Query parameters allow you to pass information to the API in a simple and flexible manner, while headers provide important information about the request and the response. When used together, query parameters and headers can greatly enhance the performance, security, and user experience of your REST API.

View more...

Transferring Data From OneStream Cube to SQL Table

Aggregated on: Tue Jun 27 2023 14:01:00 GMT+0000 (Coordinated Universal Time)

In today's data-driven business environment, efficiently transferring data from one system to another is crucial for informed decision-making. This article will guide you through the process of loading data from a OneStream cube to a SQL table, enabling seamless integration between these two powerful platforms. By following these steps, you can ensure accurate and timely data transfer for enhanced reporting and analysis. Step 1: Understand the OneStream Cube Structure. Before beginning the data loading process, it is important to have a clear understanding of the structure and organization of the OneStream cube. Familiarize yourself with the dimensions, hierarchies, and measures within the cube, as well as the specific data you want to extract and load into the SQL table.

View more...

Exploring Unit Testing in Golang

Aggregated on: Tue Jun 27 2023 14:01:00 GMT+0000 (Coordinated Universal Time)

Unit testing is a fundamental practice in software development that focuses on testing individual units of code, typically at the function or method level. A unit is the smallest testable part of an application, such as a function, method, or class. The objective of unit testing is to verify that each unit of code works as expected in isolation. Here Are Some Key Aspects of Unit Testing Isolation Unit tests are designed to be independent and isolated from other units of code. This means that each unit(a.k.a functions, methods) is tested in isolation, without dependencies on other units or external resources. This is usually achieved by using test doubles, such as mock objects or stubs, to simulate the behavior of dependencies.

View more...

Ory vs Keycloak vs SuperTokens

Aggregated on: Tue Jun 27 2023 13:01:00 GMT+0000 (Coordinated Universal Time)

Compared to a couple of years ago, open-source authentication has seen huge progress. In this post, we’ll compare three of the leading open-source authentication providers - Ory, Keycloak, and SuperTokens. Each of these providers has its own set of pros and cons. We’ll evaluate each independently and summarize the relative strengths and weaknesses towards the end of the post.

View more...

How AI Is Improving Cybersecurity

Aggregated on: Tue Jun 27 2023 11:01:00 GMT+0000 (Coordinated Universal Time)

AI is already preventing the most common types of cyberattacks in several ways. Here are four examples: Malware detection: AI detects malware by analyzing its code or behaviour. For example, AI can be used to identify known malware signatures or to detect anomalous behaviour that is indicative of malware.

View more...

Techniques for Optimizing Costs on AWS DynamoDB Tables

Aggregated on: Mon Jun 26 2023 22:46:00 GMT+0000 (Coordinated Universal Time)

AWS DynamoDB, a fully managed NoSQL database service, provides high performance and scalability for applications. While DynamoDB offers incredible capabilities, it is important to implement cost-saving strategies to optimize the usage of DynamoDB tables. In this article, we will explore some techniques and technical approaches to save costs on AWS DynamoDB tables while maintaining performance and scalability. Right-Sizing Provisioned Capacity To optimize costs, accurately estimate the required provisioned capacity for your DynamoDB tables. Provisioned capacity requires specifying a fixed number of read and write units. Monitor your application's traffic patterns using Amazon CloudWatch metrics and DynamoDB's built-in dashboard. Analyze the data and adjust the provisioned capacity based on the observed usage patterns. By avoiding overprovisioning and underutilization, you can significantly reduce costs associated with provisioned throughput.

View more...

Evaluating Apache APISIX vs. Spring Cloud Gateway

Aggregated on: Mon Jun 26 2023 22:01:00 GMT+0000 (Coordinated Universal Time)

Given the number of API Gateways available on the market, I'm regularly asked which is better. Better is a very subjective term. However, there's no denying that if you're advocating for a product, you should know your product and its competitors. In this post, I'd like to share my understanding of Spring Cloud Gateway and how it compares to Apache APISIX. I'm cautious when comparing products because most comparisons I read are heavily biased. That's a risk, especially when working on one of the products one is comparing. I'll also avoid "benchmarketing" - when you benchmark products in a context that favors your own; I'll focus on the so-called Developer Experience.

View more...

Reliability Testing Tutorial: Comprehensive Guide With Best Practices

Aggregated on: Mon Jun 26 2023 19:46:00 GMT+0000 (Coordinated Universal Time)

Reliability testing is a part of the software development process that helps ensure that a software application or system performs seamlessly in each environmental condition as expected over time. It incorporates the test results from functional and non-functional testing to determine issues in software design. Have you ever thought about the long-term performance of the products or systems daily? Whether it's our smartphones, cars, or even appliances in our homes, we expect them to work correctly and consistently over time.

View more...

Adhering to Privacy Laws When Preserving System History

Aggregated on: Mon Jun 26 2023 19:01:00 GMT+0000 (Coordinated Universal Time)

Privacy laws worldwide prohibit access to sensitive data in the clear such as passport numbers and email addresses. It is no different when persisting to operational logs. One approach can be to anonymize the data before persisting it. However, this only allows for technical and business investigations. Another approach is to rely on the operating system to prevent unauthorized access using security groups or some such mechanism. This might be the easiest way to gain compliance. However, this approach relies heavily on human effort, and humans make mistakes. Furthermore, system administrators with root access will be able to view sensitive data in the clear. Another approach that comes to mind is to share a symmetric key between the system doing the logging and all entities vetted for read access. In such a scheme, the application will encrypt selectively before writing to the log, allowing for users to decrypt when required. This approach begs the normal questions of how to share the key securely for the first time or during the key rotations mandated by the organization’s security policies. Not to mention the security risk of so many entities having access to the key.

View more...

The Importance of API Versioning and Best Practices for Microservices

Aggregated on: Mon Jun 26 2023 18:46:00 GMT+0000 (Coordinated Universal Time)

Microservices architecture has emerged as a popular solution for building complex and scalable applications. In a microservices architecture, an application is broken down into a collection of loosely coupled, independently deployable services that communicate with each other via APIs. This approach offers many benefits, including improved scalability, reliability, and flexibility. However, managing the APIs in a microservices architecture can be challenging, especially as the number of services grows. This is where API versioning comes in. API versioning is the practice of creating multiple versions of an API to support different clients and use cases. It helps ensure that changes to an API don't break existing clients and provides a way to evolve the API over time.

View more...

Reshaping the Cloud To Meet Modern Workloads

Aggregated on: Mon Jun 26 2023 18:16:00 GMT+0000 (Coordinated Universal Time)

The Amazon Prime Video team recently published a blog post that made waves among the cloud and developer communities. In the post, the team detailed how moving one of their monitoring tools from a distributed serverless architecture to a monolith helped lower costs and increase scalability. So, is this the end or serverless, as some are calling it? Hardly. Just because the Prime Video team realized that a monolith architecture worked best in this use case does not mean that it should be the go-to architecture for monitoring tools. Those decisions should be made by individual teams choosing the best technologies and architecture for their own cloud deployments. Serverless makes a lot of sense for a multitude of use cases, especially streaming video.

View more...

Can a Team Have 150 People in It? FAST Agile Says Yes

Aggregated on: Mon Jun 26 2023 18:01:00 GMT+0000 (Coordinated Universal Time)

FAST agile is the most interesting organizational practice I’ve learned about in a while. Today I share what FAST agile is, and explore whether it’s worth experimenting with. TL;DR? Quite compelling, but still experimental. What Is FAST Agile? FAST Agile is an agile software variant. FAST focuses on self-organization within very large teams. These large teams are called Collectives. They can be a few people, to as many as 150 people1.

View more...

The Saga Is Antipattern

Aggregated on: Mon Jun 26 2023 18:01:00 GMT+0000 (Coordinated Universal Time)

The Saga pattern is often positioned as a better way to handle distributed transactions. I see no point in discussing Saga's advantages and disadvantages because Saga should not be used at all in the microservices-based systems: If you need distributed transactions across a few microservices, most likely you incorrectly defined and separated domains.

View more...

Agile Git Branching Strategies in 2023

Aggregated on: Mon Jun 26 2023 17:46:00 GMT+0000 (Coordinated Universal Time)

I have experience working on many projects, and I have found that the right choice for a branching strategy is essential for project success. In this article, I’ll describe different branching strategies. Nowadays, Git-Flow is very popular and well-documented. However, there are a few other alternatives like GitHub-Flow and the Trunk-based approach that exist, and some teams tend to move away from git-flow, and this article will describe why some other branching models may work better for your and your team. Why Do We Need Git? The reason why we have to use a (distributed) version control system like Git, and another, seems very obvious since it is used in almost every project, and having (D)VCS seems a standard nowadays. However, the question is why it is so. The answer is we are using version control because, as a team, we want to collaborate our effort to work on the same product and the same goal, and with the use of (distributed) version control systems like Git, we can integrate our individual contributions into a single product.

View more...

Unleashing the Power of Site Reliability Engineers

Aggregated on: Mon Jun 26 2023 17:16:00 GMT+0000 (Coordinated Universal Time)

As IT operations and software development strategies change and coalesce, site reliability engineers (SREs) emerge as a pivotal piece of the DevOps puzzle. SREs are incredibly valuable because they bring crucial knowledge to their organization: a keen understanding of coding and a dedication to keeping systems running smoothly.  The SRE role was born out of a desire to enhance software deployment and maintenance by empowering developers to contribute their expertise in a new way. Gone are the days when software development teams would pass the baton to the IT department — SREs are here to revolutionize the game. 

View more...

Jira Automation Guide With Examples

Aggregated on: Mon Jun 26 2023 15:46:00 GMT+0000 (Coordinated Universal Time)

Jira has many flaws that have been picked on by countless competitors like monday.com. Yet there’s a reason why Atlassian dominates the project management market with a whopping 86.63% in the bug-and-issue-tracking market: the flexibility and customizability of their solutions. Jira Automation 101 Jira Automation is a no-code feature that allows Jira users to create if this – then that conditions based on a wide selection of events and triggers like, for example, an issue being moved from “todo” to “in progress” or all subtasks of a parent issue being moved to “done.”

View more...

Useless Agile Metrics

Aggregated on: Mon Jun 26 2023 15:16:00 GMT+0000 (Coordinated Universal Time)

Ideally, a metric is a leading indicator for a pattern change, allowing your Scrum team to analyze the cause in time and take countermeasures. However, what if you picked the wrong metrics? What if these useless agile metrics lead you in the wrong direction while providing you with the illusion that you know where your team is heading? Learn more about useless agile metrics, from individual velocity to estimation accuracy to utilization rates.

View more...

Minimum Viable Architecture

Aggregated on: Mon Jun 26 2023 15:01:00 GMT+0000 (Coordinated Universal Time)

Many software architects try to design the entire product upfront and have persistent issues of over-architecture. They try to think about what might be needed in one year, and in most cases, it ends up in the bin because their work was based on assumptions and not actual requirements.  What Is Minimum Viable Architecture? Minimum Viable Architecture, or “Just enough architecture,” is the architecture that’s good enough for the product to be released and needs to be continually improved during the lifetime of the product.

View more...

Infrastructure as Code (IaC) Tools, Part 1: Overview of Tools

Aggregated on: Mon Jun 26 2023 15:01:00 GMT+0000 (Coordinated Universal Time)

IaC revolutionizes the way infrastructure is managed by applying software engineering practices to infrastructure provisioning and configuration. IaC relies heavily on the utilization of tools, which play a vital role in the process. These tools streamline and simplify infrastructure management by offering automation, reproducibility, scalability, consistency, collaboration, and integration capabilities. Their presence is indispensable in successfully implementing and leveraging IaC principles and practices in practical situations. Deciphering the Tool Selection Conundrum When it comes to selecting Infrastructure as Code (IAC) tools, organizations may encountervarious difficulties. Here are a few typical challenges that they might come across:

View more...

Ten Ways AI Is Making Developers’ Lives Simpler and Easier

Aggregated on: Mon Jun 26 2023 15:01:00 GMT+0000 (Coordinated Universal Time)

Artificial intelligence (AI) is rapidly transforming the software development landscape, making it easier for developers to write code, find bugs, and stay up-to-date with the latest trends. AI Gathers Requirements for Software Development AI-powered test automation tools analyze user feedback and data to identify the needs of users. This helps developers build software that meets the needs of users. Some examples of requirements-gathering tools include UserZoom, Hotjar, and UserTesting.

View more...

IoT Security: How To Design Hack-Proof Connected Solutions

Aggregated on: Mon Jun 26 2023 14:46:00 GMT+0000 (Coordinated Universal Time)

Working with IoT startups worldwide, I've noticed that many of my customers do not fully understand the importance of IoT security. Meanwhile, an independent study by SAM Seamless Network claims that more than a billion IoT devices were hacked last year. Given that there are roughly 15 billion connected products worldwide, it means every fifteenth device — from Bluetooth-enabled fitness trackers to smart coffee makers and warehouse robots — fell victim to a cyberattack, compromising user data, becoming part of an orchestrated botnet, or simply shutting down.

View more...

Building an Investment Portfolio GPT Companion With OpenAI, Python LLaMA, and Flask

Aggregated on: Mon Jun 26 2023 14:46:00 GMT+0000 (Coordinated Universal Time)

In this tutorial, I venture into the exciting world of OpenAI and LLM and share my experience of building an Investment Portfolio GPT Companion web application using OpenAI, Llama, and Python Flask. If you're curious to see a product demo and explore the code behind this app, I invite you to read the rest of this article, which includes step-by-step guidance on how I brought together these cutting-edge technologies to create an insightful tool for investment portfolio analysis. The Investment Portfolio GPT Companion is a single-page application (SPA) that utilizes a proprietary investment portfolio LLM model to provide answers and insights related to the assets in the investment portfolio. I will explain how to construct the LLaMA model using OpenAI and contextual information obtained from a market data API. You can find the complete code for this application in this GitHub repository.

View more...

Understanding SQL Database Isolation Levels

Aggregated on: Mon Jun 26 2023 13:46:00 GMT+0000 (Coordinated Universal Time)

Database isolation is a property that defines how and when the changes made by one operation become visible to other concurrent operations. Isolation is one of the ACID (Atomicity, Consistency, Isolation, Durability) properties. There are four isolation levels in SQL databases, as defined by the SQL standard:

View more...

Return of the Graph: The Year of the Graph Newsletter Spring 2023

Aggregated on: Mon Jun 26 2023 12:46:00 GMT+0000 (Coordinated Universal Time)

New Types of Graphs, and a New Era for the Year of the Graph Newsletter The Year of the Graph Newsletter, keeping track of all things Graph year over year, is back after a long hiatus. Read on to learn more about how the evolution of the newsletter follows the evolution of the domain and how to be involved, as well as industry news and analysis hot off the press:

View more...