News Aggregator


Major Cross-browser Compatibility Issues Faced by the Developers

Aggregated on: Thu Nov 04 2021 16:50:50 GMT+0000 (Coordinated Universal Time)

Introduction The software market is constantly growing, and so are the browsers and devices. Customers are no more naive in choosing the best websites to fulfill their needs. So, it becomes necessary for the business to offer them the best user experience and services. There are so many browsers that come with new versions from time to time, making it difficult for the developers to deal with the cross-browser compatibility issues.  Cross-browser compatibility is the most critical aspect that needs special attention of the developers and has always been challenging to handle because of the different working mechanisms of various browsers available. It becomes even more complicated when it involves different device-operating system combinations. So finding how to solve cross-browser compatibility issues is a high priority job of the developers and critically important to the business.

View more...

Condition Monitoring: A Pillar of Industry 4.0

Aggregated on: Thu Nov 04 2021 16:05:50 GMT+0000 (Coordinated Universal Time)

Importance of Condition Monitoring in Industrial 4.0 Era Traditional manufacturing relies on manual health checks or scheduled maintenance checks to optimize productivity. Facing a growing shortage of workers, manufacturing is forced to become leaner and rely more on connected solutions to meet demands with desired quality at competitive price points. With Industry 4.0, the focus is shifting to improving operational efficiencies through automation. And condition monitoring solutions are front and center among the key IIoT technologies behind Industry 4.0. They leverage predictive and cognitive analytics as well as machine learning to automate and streamline preventive maintenance. Simply put, Condition Monitoring refers to monitoring parameters that reflect the health of a machine or asset. The condition data is ingested using IIoT technologies and analyzed for Predictive Maintenance purposes. However, Product Quality Control is not the only benefit that condition monitoring systems offer.

View more...

Using AsciiDoc To Generate Self-Contained Files

Aggregated on: Thu Nov 04 2021 16:05:50 GMT+0000 (Coordinated Universal Time)

When writing the top-level README.adoc for a project hosted on GitHub or GitLab, the file is converted to HTML automatically so the user can read the file, follow any links, etc. But what if you need self-contained HTML, PDF, or Docx files to share on a network drive, store in confluence, or email someone? What if your document needs to refer to images generated by CLI tools from text formats? What if you need to write a long document and (like me) just detest all that clicking and farting around in Word, but need to provide a Word doc to others?

View more...

Production Horrors – Handling Disasters: Public Debrief

Aggregated on: Thu Nov 04 2021 14:35:50 GMT+0000 (Coordinated Universal Time)

Halloween is probably the most appropriate time to start this new blog series. I talk a lot about theory in this blog, but when you’re on the front line of a production disaster, it “gets real” very fast. People often think of production disasters as crashes or sites going down like the recent Facebook downtime. While that’s an interesting subject, a lot of these things can go under the radar and hit you like a brick wall.  Today’s horror story is about a young startup that nearly went bankrupt because of caching. I was the founder of this company and I  wrote quite a bit about this in the past. It’s been a few years since and while it still hurts, I hope I can write in a more detached voice this time around.

View more...

Migrating Couchbase Bucket Based Data to Scopes and Collections via Eventing

Aggregated on: Thu Nov 04 2021 13:20:50 GMT+0000 (Coordinated Universal Time)

Migrating to Scopes and Collections in Couchbase 7.0 First I want to point out an excellent blog written by Shivani Gupta, How to Migrate to Scopes and Collections in Couchbase 7.0, which covers in great detail the non-Eventing methods of migrating bucket-based documents to Scopes and Collections in Couchbase. I encourage you to also read about the multiple non-Eventing methods that Shivani touches upon. Whether you’re new to Couchbase or a seasoned vet, you’ve likely heard about Scopes and Collections. If you’re ready to try them, this article helps you make it happen.

View more...

Creating More Intuitive Java APIs With Optional

Aggregated on: Thu Nov 04 2021 12:20:50 GMT+0000 (Coordinated Universal Time)

Creating intuitive APIs is a very important skill for you to reduce the chances of bugs and make your software more maintainable. When you don’t create intuitive APIs, your code becomes error-prone and the developers (including you) may misuse an API. Let’s see an example of a non-intuitive API.

View more...

No-code Is for Coders Too

Aggregated on: Thu Nov 04 2021 11:50:50 GMT+0000 (Coordinated Universal Time)

There is a common misconception that no-code (or codeless) platforms and tools are only for non-technical builders. This, of course, couldn’t be further from the truth. No-code and low-code solutions are typically created by developers as a tool to speed up their own development process. This is particularly true of backend-oriented tools created to automate the redundant and/or trivial tasks that are common with setting up a backend. Once the “simple” tasks are removed, developers can focus on the elements of their project that are true differentiators, be that a gorgeous UI, innovative APIs, powerful logic and algorithms, and so on.

View more...

Visualize Stripe Payments Data in Postgres Using SQL

Aggregated on: Thu Nov 04 2021 11:20:50 GMT+0000 (Coordinated Universal Time)

When accepting payments online through Stripe, the built-in tools will be adequate to understand how your business is doing. At first. But Stripe Dashboard has some limitations:

View more...

How To Reduce Context Switching as a Developer

Aggregated on: Thu Nov 04 2021 10:20:50 GMT+0000 (Coordinated Universal Time)

Constantly switching between different tasks requires your brain to jump from one thought process to another. Developers often prefer long blocks of uninterrupted work to get into a so-called state of flow or deep work. For that reason, context switching prevents developers from reaching this state of flow. Some of the most common reasons for productivity loss are:

View more...

6 Types of AI Bias Everyone Should Know

Aggregated on: Thu Nov 04 2021 10:20:50 GMT+0000 (Coordinated Universal Time)

In my previous blog, we looked at the difference between Bias, Fairness, and Explainability in AI. I included a high-level view of what Bias is but this time we’ll go into more detail. Bias appears in machine learning in lots of different forms. The important thing to consider is that training a machine learning model is a lot like bringing up a child.

View more...

O2 a better OOP

Aggregated on: Thu Nov 04 2021 10:20:50 GMT+0000 (Coordinated Universal Time)

Since I arguably made 30 million developers angry with my last rant about OOP, I wanted to explain myself a bit more, since I don't hate OOP. In fact, quite the contrary, OOP is amazing, but for me it's like half a brain. It's nice to have half a brain, but it's better to have the whole brain. And if OOP is half the brain, then functional constructs are the rest of the brain. Before we proceed, look at this code please. It's basically a Dictionary with a string as its key and a Func (strongly typed lambda object) as its value. Then realise that this is a functional programming structure, implemented in C#. Below is its code in its entirety.

View more...

Simplifying “No Data” Applications

Aggregated on: Wed Nov 03 2021 22:35:49 GMT+0000 (Coordinated Universal Time)

What Is a “No Data” Application There are a lot of data-driven lines of business applications that will never have a million rows before they get replaced by something else. I call these "no data" applications because they have so little data the database server will never require many optimizations if any. The default settings are good enough. Postgres can find any row out of a million on your corporate craptop in a relatively slow docker for windows container in 2 ms with any reasonable index. Oddly enough, it will get much faster performance in the cloud, where the vendor has undoubtedly optimized the database code for their particular infrastructure.

View more...

Single Responsibility Principle: The Most Important Rule in the Software World

Aggregated on: Wed Nov 03 2021 22:35:49 GMT+0000 (Coordinated Universal Time)

Today, my dear readers, we will talk about the Single Responsibility Principle, or SRP, which is, in my opinion, the single most important rule in the whole software world. Its touch can be seen on almost all levels of our systems: from single class to whole application (no matter the size and architecture used) design. I will start by bringing up some basics about what the SRP is — just for everyone to be on the same page. Then I will present all places where the SRP’s touch is particularly visible. I will also add some unfunny memes in the meantext.

View more...

Idempotent Design Pattern in Mule 4

Aggregated on: Wed Nov 03 2021 22:05:49 GMT+0000 (Coordinated Universal Time)

Introduction Sometimes the same request message gets delivered more than once. It could be that the message receiver is not sure whether the message has been successfully delivered or not, or it could be that the code is not configured to check duplicates. To get rid of duplicates, we have to adapt an idempotent design pattern, which will send unique messages to the system.

View more...

How to Avoid Stalling in Reactive Java Applications

Aggregated on: Wed Nov 03 2021 21:05:49 GMT+0000 (Coordinated Universal Time)

These days, apps must be able to handle high loads and hordes of concurrent users without crashing. One scaling strategy involves increasing the number of available threads, to get around the issue of blocking code in traditional Java apps. When latency comes into play, many of these extra threads become inactive and waste resources. Writing asynchronous non-blocking code boosts performance by allowing the execution to switch to another function while the asynchronous process completes.

View more...

How to Create an AWS CloudFormation Fargate Template

Aggregated on: Wed Nov 03 2021 20:35:49 GMT+0000 (Coordinated Universal Time)

In the previous post, you learnt how to deploy a basic Dockerized Spring Boot application to AWS Fargate. Wouldn’t it be great if this manual configuration could be provisioned from a plain text file which can be part of your version control system? With a single action, all necessary resources are configured in the right order. In this post, you will learn how to create an AWS CloudFormation template. Enjoy! 1. Introduction It is advised to read the previous post first because in this post, you will execute the identical steps but this time the steps are configured in a CloudFormation template. However, if you already know what AWS Fargate is, it is just fine to skip it and start right away. With CloudFormation, the configuration of your infrastructure can be provisioned easily and the infrastructure can be treated as code. Of course, the provisioning will be easy once you have configured the template correctly. The latter can be quite a challenge, but the AWS documentation and examples will help you along the way. The proof of the pudding is in the eating, so let’s see how the configuration of the previous post, where you deployed a Spring Boot application to AWS Fargate, can be transformed to a CloudFormation template. You will do so step by step because the complete template can be overwhelming at first.

View more...

Top 8 Recommended Books To Become a Better Programmer

Aggregated on: Wed Nov 03 2021 20:35:49 GMT+0000 (Coordinated Universal Time)

DZone is an ever-growing community of authors from various technical fields having a wide range of skill-sets, sharing their knowledge with the rest of the development community.  We asked our DZone Core community members to recommend books they swear helped them up-skill or improvise in their work. We received a list of awesome books that are not only helpful but an interesting read.

View more...

Keep Your Software Portfolio Up-to-Date With the TIME Framework

Aggregated on: Wed Nov 03 2021 19:20:49 GMT+0000 (Coordinated Universal Time)

As organizations grow, they must periodically revisit their software portfolio to ensure internal operations fully support their customers changing demands. The same goes for any customer-facing applications. IT leaders must ensure that software portfolios continue to deliver value in the most cost-efficient manner possible as older applications tend to become more expensive to maintain. 

View more...

Maximizing Utilization, Ignoring Slack Time

Aggregated on: Wed Nov 03 2021 18:35:49 GMT+0000 (Coordinated Universal Time)

Maximizing Utilization as a Relic From the Industrial Management Past There are plenty of failure possibilities with Scrum. Since Scrum is an intentionally incomplete framework with a reasonable yet short “manual,” this effect should not surprise anyone. For example, what if the focus of the organization is on the maximizing utilization of the “workers” of the Scrum teams? What if the organization is still stuck deeply in industrial paradigm thinking, ignoring the benefits of slack time for the creation of value in the field of knowledge work? Join me and delve into the effects of this outdated management principle in 60 seconds.

View more...

Camel Quarkus With CouchDB Component

Aggregated on: Wed Nov 03 2021 16:20:49 GMT+0000 (Coordinated Universal Time)

CouchDB Before we jump into the coding, let's take some time to understand what's CouchDB. CouchDB is one of what many are calling NoSQL solutions. Specifically, CouchDB is a document-oriented database and within each document, fields are stored as key-value maps. Fields can be either a simple key/value pair, list, or map. Each document that is stored in the database is given a document-level unique identifier (_id) as well as a revision (_rev) number for each change that is made and saved to the database.

View more...

Enable DevSecOps in Software Development Life Cycle

Aggregated on: Wed Nov 03 2021 15:50:49 GMT+0000 (Coordinated Universal Time)

In this world, where Agile and DevOps are involved in the rapidly changing application development models, organizations need to install security into their DevOps with the best technologies and development. That brings together application development, IT operations, QA testing, under the umbrella of DevOps, with the aim to integrate security into your software development workflow. In this article, We’ll dig into how you can integrate security into your software development using best practices and testing automation.

View more...

Aggregating REST APIs Calls Using Apache Camel

Aggregated on: Wed Nov 03 2021 15:50:49 GMT+0000 (Coordinated Universal Time)

What is Apache Camel? As described by the creator itself, Claus Ibsen on Apache Camel in Action, 2nd edition: At the core of the Camel framework is a routing engine—or more precisely, a routing-engine builder. It allows you to define your own routing rules, decide from which sources to accept messages, and determine how to process and send those messages to other destinations. Camel uses an integration language that allows you to define complex routing rules, akin to business processes. As shown in Figure 1.1, Camel forms the glue between disparate systems.One of the fundamental principles of Camel is that it makes no assumptions about the type of data you need to process. This is an important point, because it gives you, the developer, an opportunity to integrate any kind of system, without the need to convert your data to a canonical format.

View more...

Kappa Architecture is Mainstream Replacing Lambda

Aggregated on: Wed Nov 03 2021 15:50:49 GMT+0000 (Coordinated Universal Time)

Real-time data beats slow data. That's true for almost every use case. Nevertheless, enterprise architects build new infrastructures with the Lambda architecture that includes separate batch and real-time layers. This blog post explores why a single real-time pipeline, called Kappa architecture, is the better fit. Real-world examples from companies such as Disney, Shopify, and Uber explore the benefits of Kappa but also show how batch processing fits into this discussion positively without the need for Lambda. This post is heavily inspired by Jay Kreps' article "Questioning the Lambda Architecture" from 2014 (!) and maps his thoughts to the real-world situation in 2021. Today, almost every business solution, data storage and analytics provider, and business application leverages event streaming and asynchronous, truly decoupled event-based communication paradigms for data processing. For that reason, many move from Lambda to Kappa architectures.

View more...

How to Find Broken Images Using Selenium WebDriver

Aggregated on: Wed Nov 03 2021 15:50:49 GMT+0000 (Coordinated Universal Time)

A web product’s user experience is one of the key elements that help in user acquisition and user retention. Though immense focus should be given to the design and development of new product features, a continuous watch should be kept on the overall user experience. Like 404 pages (or dead links), broken images on a website (or web app) could also irk the end-users. Manual inspection and removal of broken images is not a feasible and scalable approach. Instead of using third-party tools to inspect broken images, you should leverage Selenium automation testing and see how to find broken images using Selenium WebDriver on your website. In this part of the Selenium Tutorial, we look at how to find broken images on websites using Selenium WebDriver. From an end-user’s perspective, even a single broken image on a page could be an experience dampener — a prime reason to find broken images on websites.

View more...

How to Use Asserts in NUnit Using Selenium

Aggregated on: Wed Nov 03 2021 15:50:49 GMT+0000 (Coordinated Universal Time)

When you are working on unit tests, there are scenarios where you wished that the execution should have stopped but alas, the most important part, "The Assertion," was missed. While developing tests using different test frameworks, my fellow developers frequently asked one question: "Should I use an assert or an exception in my test code?" It depends on what the test code should do after a certain condition is met. By the end of this article, you will get in-depth insights about NUnit asserts and how these asserts can be used with C# and Selenium. I will walk you through the Assertions’ basics and when assertions should be used to get started. We will be covering the following constraints (discussed later) used with NUnit assert:

View more...

SonarQube Analysis With Ginkgo on Mac

Aggregated on: Wed Nov 03 2021 01:35:49 GMT+0000 (Coordinated Universal Time)

Ginkgo is the testing framework of choice for many projects developed in Golang. Here is an example setup for SonarQube project analysis. Prerequisites SonarQube server installation: For the purpose of the tutorial I have a docker image running on my machine on http://localhost:9000. SonarQube project: For the purpose of the tutorial I have created a project with project key com.bdpanajotova.golang-sonar-example and name Golang Sonar Example. Golang project for analysis with Ginkgo tests: Here is the example project I use in GitHub. Here is the documentation for the fast local setup of SonarQube.

View more...

TiFS: A TiKV-Based, Partition Tolerant, Strictly Consistent File System

Aggregated on: Tue Nov 02 2021 23:05:49 GMT+0000 (Coordinated Universal Time)

TiKV is a distributed key-value storage engine, featuring strong consistency and partition tolerance. It can act either as the storage engine for TiDB or as an independent transactional key-value database. Do you know what else it is capable of? At TiDB Hackathon 2020, our team built a TiKV-based distributed POSIX file system, TiFS, which inherits the powerful features of TiKV and also taps into TiKV's possibilities beyond data storage.

View more...

You Can’t Reset Your Fingerprint

Aggregated on: Tue Nov 02 2021 23:05:49 GMT+0000 (Coordinated Universal Time)

Although passwords are a long-trusted security technology, the cyber security world has been calling to get rid of the “old faithful authentication method” in favor of technology that doesn’t even rely on typing on passwords for user authentication and seems right out of a sci-fi movie. Many people are rightly skeptical and even fearful of what this might mean for them and their precious information. However, there really is no need to be afraid. At the root of it, passwordless technology is simpler and much more trustworthy than password-based technology, it also helps prevents credential theft and many other cyber threats.  Password-based authentication is a user authentication technique that relies on knowledge-based systems, meaning that individuals trying to gain access to information must know of a phrase or word that has been previously set to secure said information. In today’s security systems, knowledge-based systems that use passwords are predominantly used for information security and user authentication. Despite their long history and wide usage, passwords and PINs have a number of shortcomings. 

View more...

How to Make Google's Data Grid Scroll Faster

Aggregated on: Tue Nov 02 2021 22:35:49 GMT+0000 (Coordinated Universal Time)

Google Search Console can be used to check indexing status and optimize the visibility of websites. You can also check which external websites link to your page, and as I was browsing the "Top linking sites" page I noticed a major scroll lag. This happens when choosing to display a larger dataset (500 rows) instead of the default 10 results.  As someone interested in frontend performance, I could not resist diving in to see if I could figure out why. After all, Google is pushing hard on web performance so one would expect them to set a good baseline in their own public-facing apps. 

View more...

Building Express Applications With Doppler and FaunaDB

Aggregated on: Tue Nov 02 2021 21:50:49 GMT+0000 (Coordinated Universal Time)

Building full-stack Express applications have always involved connecting to a database or external resources that are needed to have functional applications. When connecting to these external resources, we would need a means of verifying our identity before making a successful connection.  We use special secret keys or API keys that are specific to our application to verify our identity. These keys should always be kept secret from the public eye, as the web is an open village, or we stand to lose our application to cybersecurity attacks. 

View more...

AWS S3 Access via API Gateway, IaC, and More

Aggregated on: Tue Nov 02 2021 21:50:49 GMT+0000 (Coordinated Universal Time)

If you are currently developing or looking to start developing apps on the AWS serverless stack, I think you will find this article interesting and helpful. Earlier this year I published an article on DZone describing my journey from cloud architecture to cloud reliability engineering. This journey started with a Python Flask POC and ended with a full-fledged AWS serverless application. I also developed a DevOps pipeline with GitHub, CodeBuild, Terraform Enterprise, and an observability pipeline with CloudWatch, PagerDuty, and ServiceNow.

View more...

PyTorch Lightning Tutorial #1: Getting Started

Aggregated on: Tue Nov 02 2021 19:20:49 GMT+0000 (Coordinated Universal Time)

A High-Level Library for High Performance Research Libraries like TensorFlow and PyTorch take care of most of the intricacies of building deep learning models that train and infer fast. Predictably, this leaves machine learning engineers spending most of their time on the next level up in abstraction, running hyperparameter search, validating performance, and versioning models and experiments to keep track of everything.  There’s a lot more to deep learning than just gluing some layers together.

View more...

DevOps Predictions For 2022: Key Trends

Aggregated on: Tue Nov 02 2021 18:05:49 GMT+0000 (Coordinated Universal Time)

As enterprises are embarking on the route of digital transformation, DevOps has become more crucial than ever. It has come out as the call for the hour for the current IT firms to fill the gap between the development team and the operations team. Apart from encouraging a collaborative culture, DevOps has fostered rapid and reliable software delivery, improved customer satisfaction, enhanced time-to-market, and much more. Given such services, DevOps practices have become critical for most enterprises and are rising in fame with time. Markets and Markets report says the DevOps market size is likely to climb from $2.90 Billion in 2017 to $ 10.31 Billion by 2023. With the change in the business scenario and the new-edge technology evolving at high speed, DevOps has also grown to suit the changing needs. Let’s take a glance at some of the 2021 rising DevOps trends expected to reshape the business landscape in the coming future.

View more...

Some Thoughts on Perl Template Processing

Aggregated on: Tue Nov 02 2021 16:50:49 GMT+0000 (Coordinated Universal Time)

Template processors and engines are one of those pieces of software where it seems every developer wants to reinvent the wheel. Goodness knows I did it earlier in my career. Tell me if this sounds familiar: You need to mix data into a document so you start with Perl's string interpolation in "double quotes" or sprintf formats. (Or maybe you investigate formats, but the less said about them the better.) You realize your documents need to display things based on certain conditions, or you want to loop over a list or some other structure. You add these features via keyword parsing and escape characters, thinking it's OK since this is just a small bespoke project. Before you know it you've invented another domain-specific language (DSL) and have to support it on top of the application you were trying to deliver in the first place. Stop. Just stop. Decades of others who have walked this same path have already done this for you. Especially if you're using a web framework like Dancer, Mojolicious, or Catalyst, where the template processor is either built-in or pluggable from CPAN. Even if you're not developing a web application, there are several general-purpose options of various capabilities like Template Toolkit and Template::Mustache. Investigate the alternatives and determine if they have the features, performance, and support you need. If you're sure none of them truly meet your unique requirements, then maybe, maybe consider rolling your own.

View more...

Tests are for the Future

Aggregated on: Tue Nov 02 2021 16:20:49 GMT+0000 (Coordinated Universal Time)

Imagine this: You’ve just written some code for a new feature. You’re wrapping up writing some unit tests. As you’re writing your tests, you begin to have an existential crisis. “Why am I writing these tests?” you ask yourself. “I’ve already manually verified that my code works, and I even had another developer test it out themselves as well. What’s the point?” The answer lies in one crucial realization: Your tests are for the future.

View more...

What Is Zero Trust Security?

Aggregated on: Tue Nov 02 2021 15:35:49 GMT+0000 (Coordinated Universal Time)

Automation has been around for decades in various forms, and it’s only now that we’re starting to see its full potential. Automating the software development lifecycle (SDLC) can significantly improve quality assurance, developer productivity, and reductions in time spent on specific tasks. Companies have started to invest more in security practices throughout their SDLCs to protect their data and prevent malware attacks. Security practices are continuously evolving as the industry changes. There has been a shift from traditional security practices where security was considered to be outside of the development team’s scope, to making security a priority in the SDLC. Adopting a shift-left mentality is on the rise, which means starting with security before the development phase of the SDLC. This has helped companies adopt a more agile approach to handling cybersecurity.

View more...

The Debugger Checklist – Part II

Aggregated on: Tue Nov 02 2021 15:05:49 GMT+0000 (Coordinated Universal Time)

In the  Debuggers Checklist Part I, I introduced some of the high-level concepts and reviewed some of the common things you can do. In this part, we'll get down to the process. Again, it's important to stress that this is boiled down and concentrated.  Is this thing even working?

View more...

Deploy Quarkus applications to Kubernetes using a Helm chart

Aggregated on: Tue Nov 02 2021 14:35:49 GMT+0000 (Coordinated Universal Time)

Serverless functions are driving the fast adoption of DevOps development and deployment practices today. Knative on Kubernetes is one of the most popular serverless platforms to adopt serverless function architectures successfully. But developers must understand how serverless capabilities are specified using a combination of Kubernetes APIs, Knative resources, and function-oriented programming. DevOps teams also need to standardize runtime stacks (that is, application runtime, builder image, deployment configuration, and health check) to execute the functions on Kubernetes. What if you, a developer, could set this up with familiar technology and practice? This article guides you on the way developers can get started with serverless function deployment with the Quarkus Helm chart on Kubernetes. Furthermore, developers can avoid the extra work of developing a function from scratch, optimizing the application, and deploying it to Kubernetes.

View more...

A Brief Introduction to MySQL Transactions

Aggregated on: Tue Nov 02 2021 14:35:49 GMT+0000 (Coordinated Universal Time)

Introduction When managing a database, several operations can execute that may need to be tracked in case of errors. For example, when you want to withdraw money at an ATM, you enter the amount you wish to withdraw, and the system checks the database to determine whether you are allowed to withdraw the requested amount. If so, the system deducts the money from the database and sends a success message to you. However, if there was a power outage, the withdrawal process may fail while in progress. Transactions help us keep track of any modifications made to the database and handle them more accurately. For cases like this, the changes can be rolled back or overwritten. What Is a Transaction? A transaction is a logical work unit in a database that conducts a single or several actions. Transactions can be made up of a single read, write, delete, or update operation or a mix of all actions.

View more...

Cloud-Native Essentials: Abstracted Endpoints

Aggregated on: Tue Nov 02 2021 10:35:49 GMT+0000 (Coordinated Universal Time)

Among the most fundamental of distributed computing concepts is the endpoint. We know every piece of software – objects, microservices, applications, you name it – by its inputs and outputs, and we call such points of interaction endpoints. Over the history of distributed computing, endpoints have come in many flavors: sockets, IP addresses, interfaces, Web Services, and ingress, to name a few. Regardless of their nature, other pieces of software must be able to find the appropriate endpoints, connect (or bind) to them, and interact with them.

View more...

Is Next.js Here to Stay? A Closer Look at JavaScript Development Frameworks

Aggregated on: Tue Nov 02 2021 09:20:49 GMT+0000 (Coordinated Universal Time)

In the sphere of digital information and how software and scripts are all working together to bring a coherent interface together for consumers of all ages and stages, there is a hidden industry known only to web developers and SEO professionals. The Javascript development frameworks. What Are Javascript Development Frameworks? If you’re reading this you probably don’t need an introduction to Javascript, but for all intents and purposes, we’ll define it quickly. In a nutshell, Javascript frameworks provide the necessary foundation for creating Javascript-based applications. Not only does this save developers a ton of time from having to build Javascript from scratch, but it also means that coders don’t have to go through the entire Javascript learning process and will be able to modify them to suit their needs. Think about them as templates or applications that give developers the power to customize them accordingly. 

View more...

A Real-world Introduction To Event-driven Architecture

Aggregated on: Tue Nov 02 2021 08:50:49 GMT+0000 (Coordinated Universal Time)

What Is an Event? An event indicates a state change: that something has happened. This ‘something’ could be a hardware sensor reading that passes a threshold, or a software event from game logic, or user input such as a keystroke or mouse click. Events are used to signal to interested parties that a state change occurred The World is Event-driven Let's use a real-world analogy to illustrate how events can be handled. Suppose you live in a shared house with a group of other people. You all like cake and one of your housemates, Bob, bakes a delicious chocolate cake every day. Bob works shifts so you can't predict when he is baking. You prefer cake fresh from the oven, but how do you know when to go to the kitchen?

View more...

What is Domain Testing in Software Testing?

Aggregated on: Tue Nov 02 2021 08:20:49 GMT+0000 (Coordinated Universal Time)

Domain testing is the most common software testing technique in which we break a domain into subdomains and then test each subdomain's values. For example, if a website has been given for testing, we will be dividing the website into small parts (subdomain) for the ease of testing. In other words, domain testing is a software testing method in which we select a small number of test cases from an infinite number of test cases and test a software application to see if it meets user requirements. For example, if we have an e-Commerce website, we will check the basic features first, such as adding items to the cart, checking out, and payment processing, and then we will check whether the order was successfully placed or not.

View more...

How to Start an Infrastructure as Code Project

Aggregated on: Mon Nov 01 2021 23:50:48 GMT+0000 (Coordinated Universal Time)

Infrastructure as Code (IaC) has been a trend for many years. While some standards are being defined today, we continue to hear about new methods or tools to improve and make our lives easier by automating our daily tasks as much as possible. Fortunately or unfortunately, today, we have the choice between multiple automation tools like Ansible, Pulumi, Terraform, etc, each one having its own benefits and disadvantages. Thus, choosing the right tool is not the easiest part. It requires a team collaboration to identify, test, and define the right tool. This collaboration is the key to success, it is important to ensure the engagement of the other teams to the IaC project to properly automate the process of each team.

View more...

How to Use Active Storage on Rails 6.2

Aggregated on: Mon Nov 01 2021 23:35:48 GMT+0000 (Coordinated Universal Time)

Understanding Active Storage in Rails 6.2 Active storage is an inbuilt gem in Rails that developers widely use to handle file uploads. Combined with the encrypted credentials feature in the latest releases of Rails, active storage is a safe and easy method to upload, serve, and analyze files onto cloud-based storage services as well as local storage. To start with, we need to install the active storage gem. This step is followed by declaring attachment associations, uploading attachments, processing attachments, and adding validations.

View more...

Make Linux Apps for Notion, Mastodon, or Any Web App Using Nativefier

Aggregated on: Mon Nov 01 2021 22:50:48 GMT+0000 (Coordinated Universal Time)

I use Notion and Mastodon every day, and Ubuntu has been my desktop of choice for the last few years. I prefer dedicated apps for my daily drivers so I’ve had to use the browser to access Notion and Mastodon for now. Thankfully I wasn’t the only one who thought Linux faced a dearth of dedicated apps. And someone managed to do something about it. Nativefier takes a URL and wraps it into an Electron app running Chromium under the hood for Windows, Mac, or Linux. And using Nativefier is as simple as that.

View more...

Top 5 Git Tips and Tricks to Improve Your Workflow

Aggregated on: Mon Nov 01 2021 22:20:48 GMT+0000 (Coordinated Universal Time)

Becoming a Git power user is on the bucket list of every developer. Here are five Git tips that will help you level up your workflow and bring you one step closer to Git mastery. Tip #1: Modify the Previous Commit Without Changing the Commit Message You’ve just committed your changes on your local copy with a detailed and thought-through message, but the moment you hit RETURN, you realize you forgot to add that one change that really belongs there. If only there was a way to update the previous commit instead of creating a new one…

View more...

Inserting Dynamic Data Into Jekyll Static Sites Using Python or Bash

Aggregated on: Mon Nov 01 2021 22:20:48 GMT+0000 (Coordinated Universal Time)

Jekyll, the static site generator, uses the _config.yml for configuration. The configurations are all Jekyll-specific. But we can also define variables with our own content in these files and use them throughout our website. In this article, I’ll highlight some advantages of dynamically creating Jekyll config files. On my local laptop, I use the following command to serve my Jekyll website for testing:

View more...

Are You Ready for a Leadership Position?

Aggregated on: Mon Nov 01 2021 21:50:48 GMT+0000 (Coordinated Universal Time)

I have worked with some excellent managers, people who were not only good at what they did, but also had great leadership potential. Sadly though, these managers didn’t invest in their own growth. They were so busy attending to the daily demands of the management job — putting out fires, resolving production issues, solving for customer escalation, moving from one delivery timeline to another — that they failed to build the skills required to become a great leader someday. Like many managers in their position, they kind of assumed that by doing their job fairly well and staying in it for too long, they will automatically earn the leadership title. And I don’t blame them for this kind of thinking. For years, we have seen leaders rise through the ranks of the corporate ladder who had no business to be in those positions. When you see examples of bad leadership all around you, it’s kind of easy to assume you can be a leader too — after all, you consider yourself better than them. If they can be in those positions, you can be too. If they can jump through a fire hoop, you can jump too.

View more...

5 Questions to Ask Before Choosing a SIEM Platform in 2021 and Beyond

Aggregated on: Mon Nov 01 2021 21:50:48 GMT+0000 (Coordinated Universal Time)

You've probably never heard any company tout the fact that theirs is a "legacy solution." Of course not. The term legacy carries a negative connotation — it's the opposite of "new and improved" in the language of marketers. But, in reality, some solutions indeed are legacy, and others represent the next generation of technology. Both next-gen and legacy are overused terms that have no consistently precise meaning. Marketing folks can use them however they choose. So how do you determine which SIEM platforms are deserving of either the legacy or next-gen moniker?

View more...