News Aggregator


The Cloud Challenge: Choice Paralysis and the Bad Strategy of “On-Premising” the Cloud

Aggregated on: Wed Mar 02 2022 19:35:06 GMT+0000 (Coordinated Universal Time)

The cloud is vast. It is natural that we look at the cloud and understand it through the narrow lens of our previous experiences. This can translate into solutions that underutilize/overutilize one area of the cloud over other areas. Innovative and robust solutions often require the use of the full spectrum. Most companies are migrating to the cloud because they want to unlock new business opportunities, but many of them stumble because they continue to build solutions that are only suitable for on-premises. Imagine your IT workloads are on servers that sit in the basement of your corporate office. Would moving these servers to the first floor of that office open any new opportunities for your business? Of course not. Lifting and shifting your servers to the cloud might save you money, but it certainly won’t take you any further. The first and most important thing to remember about the cloud is that the cloud is not a place, it is a model. Building for the cloud requires a mindset change, not a location change. 

View more...

How to Use Native Image Kit With the Quarkus Framework

Aggregated on: Wed Mar 02 2022 16:35:06 GMT+0000 (Coordinated Universal Time)

BellSoft issued a new version of Liberica Native Image Kit (NIK), 22.0.0.2, so in this short article, I will provide a tutorial on how to use it with the Quarkus framework. Liberica NIK is based on the open-source project GraalVM (Community Edition) and is compatible with many platforms, including lightweight musl-based Alpine Linux. Liberica NIK in essence is a utility that converts JVM-based applications into native executables (AOT compilation).

View more...

Add Secure HarperDB APIs Using SuperTokens in React

Aggregated on: Wed Mar 02 2022 03:50:06 GMT+0000 (Coordinated Universal Time)

Adding authorization and authentication to an app is a common task for developers. When you're launching a new product, a startup, or a side project, it can feel like a mission. This tutorial will teach us how to make a music player app that uses SuperTokens for authentication and HarperDB for the backend. Some of the App's Most Essential Features  On Backend Side:1. Secure your API with almost significantly less and zero configurations.2. Secure your third-party API on the server side using SuperTokens.3. Session management is simple.On the Front-end side:1. For login, use SuperTokens' library component, which is available as an npm package.2. There's no need to develop any extra code for authentication.3. There's no need to maintain tokens on the UI side.4. You won't have to worry about managing token refresh calls on the UI side because SuperTokens will take care of it for you.

View more...

Difference Between Cross-Browser Testing and Responsive Testing

Aggregated on: Wed Mar 02 2022 03:50:06 GMT+0000 (Coordinated Universal Time)

A website has become an information hub for users worldwide. Whether you want to buy a product or service, learn about a subject, or obtain important information about any specific thing, a website is always there for you. In order to enhance the level of a website in terms of compatibility, usability, responsiveness, robustness, scalability, performance, and functionality, the inclusion of cross-browser testing and responsive testing comes into perspective.  Cross-browser testing deals with interoperability and functionality, and when it comes to responsive testing, it deals with adaptability and aesthetics. In this article, you will get to know the differences between cross-browser testing and responsive testing.    

View more...

7 Must-Haves For Ultimate AWS Security

Aggregated on: Wed Mar 02 2022 03:50:06 GMT+0000 (Coordinated Universal Time)

AWS makes our life easier in many ways. But, as it often happens, in an attempt to address all possible needs, it ended up with just too many features to keep an eye on. Newbies or small teams that cannot have a dedicated AWS admin, may get lost or spend too much time managing and configuring it. In our new series, we want to help everyone in setting up an AWS account completely from scratch.We will be sending you to the AWS docs quite often. Our goal for writing this blog series is to have all useful links for you in one place and to point you to the facts that may have skipped your attention before.

View more...

The Most Comprehensive Guide on WebRTC

Aggregated on: Wed Mar 02 2022 03:20:06 GMT+0000 (Coordinated Universal Time)

WebRTC or Web Real-Time Communications, though a relatively new web technology, has taken web-based communication at an entirely new level with the promise of heralding into a brave new world of communication on the horizon. The free, open-source WebRTC project makes use of a set of JavaScript APIs to facilitate peer-to-peer communication between web browsers and different devices. The question remains what makes it so popular. A big draw with WebRTC is it eliminates the use of plugins or third-party software to facilitate real-time communication, helping achieve the ultimate goal of moving in a plugin-free world.

View more...

PostgreSQL Rewrite Rules

Aggregated on: Tue Mar 01 2022 23:05:06 GMT+0000 (Coordinated Universal Time)

Since version 10, PostgreSQL supports the concept of rewrite rules, which allow you to change how queries are executed.  In fact, rewrite rules are how views are implemented in PostgreSQL. When you access a view, your query is actually rewritten according to the rule that was created when you created the view. A view is basically a rewrite rule, as we're about to see.

View more...

MongoDB to Couchbase for Developers, Part 1: Architecture

Aggregated on: Tue Mar 01 2022 22:35:06 GMT+0000 (Coordinated Universal Time)

Introduction With this article on MongoDB to Couchbase comparison, I'm starting a new, detailed series for MongoDB developers to learn Couchbase by comparison. Two years ago, I wrote a single high-level comparative article on MongoDB and Couchbase.  I recommend you read that for a bird's view comparison. Both MongoDB and Couchbase have done multiple major releases since then, and developers need a deeper treatment of topics. As developers know, the devil is in the details :-)  This series will be similar to the series for Oracle developers to learn Couchbase by comparison, but for MongoDB developers.  

View more...

Calling YouTube API via Mule

Aggregated on: Tue Mar 01 2022 21:20:06 GMT+0000 (Coordinated Universal Time)

To start developing API in Mule for this use case, we need to first create a project in Google Cloud Platform. So let us first complete the setup for it. Setting Up Google Cloud Platform Log in to Google Cloud Platform using your credentials. Now we need to create a project and configure authentication to access it securely via REST API. We can use either OAuth client ID or API Key to secure our project access. For this, navigate to API and Services > Credentials > Create Credentials. To make use of the API key, you just need to select the API key and you will be getting a key that you need to use to access your project. To make use of OAuth client ID follow the below steps. Click on create OAuth Client ID. For the application type, select Web Application and also provide an APP Name. Then add the redirect URL http://localhost:8091/callback as shown below and click on save. You will receive the client ID and client secret. Keep these details handy as we will need it to configure in Mule Flow. Now navigate to API and Services > OAuth consent screen and edit the application you have created. Add the user support email and developer support email as those are mandatory fields and then click on save and continue for the rest of the steps. Once done, publish the app for testing. The last step is to Enable YouTube Data API v3 from the library section for us to access YouTube APIs. Creating Mule Application Create a Mule flow and drag and drop an HTTP Listener and an HTTP Request component. Also, add OAuth Module from the exchange because we need to configure OAuth Authentication in HTTP Request.

View more...

What D'Hack Is DPoP?

Aggregated on: Tue Mar 01 2022 20:20:06 GMT+0000 (Coordinated Universal Time)

OAuth2.0/OpenID connect is considered the fastest-growing protocol used by many application developers for access delegation and single-sign-on. This is due to its flexibility and high security compared to other protocols in the market. In contrast, the world is full of hackers who are desperately looking for flaws that you make when developing an application. Single Page applications or public clients which do not use MTLS secure transport layers are considered to be the most vulnerable source of an attack.  Standard Token Flow Despite the application type, the standard OAuth2.0/OpenID connect flow is similar to the below diagram (Figure 2). There are three actors involved: Client, Resource Server, and Authorization Server. The client will initiate the authorization request. Upon user authentication, the authorization server will issue an access token and refresh token for the user with an expiry time. Then, the client can use these tokens to access the protected resource from the resource server.

View more...

An Introduction to AWS Serverless Application Model

Aggregated on: Tue Mar 01 2022 20:20:06 GMT+0000 (Coordinated Universal Time)

In this blog, the AWS Serverless Application Model (AWS SAM) is introduced. You will learn what SAM is and where it can be used for. You will also get your hands dirty, because you will create an AWS SAM project from scratch. Enjoy! 1. Introduction AWS SAM is, according to the official documentation, a framework that you can use to build serverless applications on AWS . A serverless application consists of several lambda’s and other resources working together. In order to define all of these components, a SAM template is used. This SAM template is used to deploy the application to AWS. During deployment, the SAM template is converted to a CloudFormation template which will actually create the resources defined in the SAM template. An introduction to AWS CloudFormation is given in a previous post. SAM can be seen as a CloudFormation++ where less configuration is needed in the template itself. E.g. the Events property in a SAM template will create an API gateway for the Lambda but with less yaml than you would need in a CloudFormation template. You will see for yourself later on in this post. Another big advantage of SAM is that you can easily test it locally on your dev machine.

View more...

Spring Boot: User Login API Test Client Using Rest Assured

Aggregated on: Tue Mar 01 2022 17:50:06 GMT+0000 (Coordinated Universal Time)

In the following Spring Boot video tutorial, we take a closer look at the User Login API Test Client and API automation using Rest Assured. Let's get started!

View more...

Julia vs. Python: Key Differences To Consider

Aggregated on: Tue Mar 01 2022 17:50:06 GMT+0000 (Coordinated Universal Time)

Concurrent to the increased demand for data manipulation and scientific computing, a more efficient data processing language was required. As a result, Julia was developed in 2021 by Alan Edelman, Viral B. Shah, Jeff Bezanson, and Stefan Karpinski. It has become an essential tool in data science, visualization, machine learning, and AI. Julia is an excellent alternative to Python for arithmetic coding, whereas Python is a long-time favorite among programmers. Julia was created to help Python with data processing. Facebook, Instagram, Spotify, Netflix, ILM, Dropbox, Yahoo! and Google use Python.

View more...

Change Management Approach

Aggregated on: Tue Mar 01 2022 02:50:05 GMT+0000 (Coordinated Universal Time)

The following article contains adapted content from the author's book "WE CAN LEAD: A Guidebook of Personal Leadership and Self-Coaching." “If you are entrusted with bringing about change, you are

View more...

Evolving Your RESTful APIs: A Step-by-Step Approach

Aggregated on: Tue Mar 01 2022 00:50:05 GMT+0000 (Coordinated Universal Time)

Designing an intuitive, user-friendly RESTful API is a tough job. It might already be a massive task if it’s your first attempt. Planning for the lifecycle management of your API is likely to be an afterthought. But it’s possible anyway: In this post, I’d like to propose a no-nonsense approach to evolving your APIs, even if it was not planned. The Initial Situation Let’s consider a sample application that says "Hello" when using it.

View more...

Configure SSO for CockroachDB Dedicated With Microsoft Identity Platform and OpenID

Aggregated on: Tue Mar 01 2022 00:20:05 GMT+0000 (Coordinated Universal Time)

Motivation CockroachDB Dedicated is a fully-managed, reserved CockroachDB cluster ideal for a cloud database. We frequently get asked how to set up SSO for the individual CockroachDB Dedicated clusters and we have a detailed tutorial to walk you through that with a local, self-hosted cluster. What was unclear was that you can use the same steps to set up SSO with Dedicated. Based on this detailed document, CockroachDB Dedicated supports OIDC authentication for the DB Console today. In a future release, we are going to bring OIDC integration across the stack. Today, we're going to provide details on how to leverage OIDC specifically with the CockroachDB Dedicated DB Console and Microsoft using the OpenID Connect protocol. Previous Articles on OpenID Connect OpenID Connect and Google OAuth OpenID Connect and Okta High-Level Steps Provision a dedicated cluster Configure Microsoft identity platform integration Configure CockroachDB with the OpenID details Verify Step-by-Step Instructions Provision a Dedicated Cluster Follow this tutorial to set up a Dedicated cluster.

View more...

What If You Don't Want To Be a Developer Anymore? w/ CTO Connection's Peter Bell

Aggregated on: Tue Mar 01 2022 00:20:05 GMT+0000 (Coordinated Universal Time)

It used to be that in order to make your parents proud you had to go into management. Then along came the self-contained IC career path. Today, this dual-track career path remains the unchallenged standard of companies everywhere. Or does it?

View more...

FOSDEM 2022 Conference Report

Aggregated on: Mon Feb 28 2022 23:50:05 GMT+0000 (Coordinated Universal Time)

FOSDEM took place February 5-6. The European-based event is one of the most significant gatherings worldwide focused on all things Open Source. Named the "Friends of OpenJDK", in recent years the event has added a devroom/track dedicated to Java. The effort is led by my friend and former colleague Geertjan Wielenga. Due to the pandemic, the 2022 event was virtual once again. I delivered a couple of talks on Jakarta EE as well as Diversity & Inclusion. Fundamentals of Diversity & Inclusion for Technologists I opened the second day of the conference with my newest talk titled "Fundamentals of Diversity and Inclusion for Technologists". I believe this is an overdue and critically important subject. I am very grateful to FOSDEM for accepting the talk. The reality for our industry remains that many people either have not yet started or are at the very beginning of their Diversity & Inclusion journey. This talk aims to start the conversation in earnest by explaining the basics. Concepts covered include unconscious bias, privilege, equity, allyship, covering, and microaggressions. I punctuate the topic with experiences from my own life and examples relevant to technologists. The slides for the talk are available on SpeakerDeck. The video for the talk is now posted on YouTube.

View more...

Vue Quick Tips: Globally Registering Vue Components

Aggregated on: Mon Feb 28 2022 22:35:05 GMT+0000 (Coordinated Universal Time)

When we use vue, it's common to register a component within another component. In this tutorial, we're going to look at how you can globally register a component in Vue, so you never have to reference it in your component again - instead, you can use it straight in your <template> tag.  If you are new to Vue, check out our guide on creating your first Vue application before starting.

View more...

Migrating Spring Java Applications to Azure App Service (Part 1: DataSources and Credentials)

Aggregated on: Mon Feb 28 2022 22:35:05 GMT+0000 (Coordinated Universal Time)

Originally published July 23, 2019 Running on the cloud is not only for cool new applications following 12-factor principles and coded to be cloud-native. Many applications could be converted to be cloud-ready with minimal adjustments — just to be able to run in the cloud environment. In the following few articles we will demonstrate how to address the most common migration items in legacy Spring applications — handling JNDI, and credentials, externalizing configuration, remote debugging, logging, and monitoring.

View more...

Problems With Kafka Streams

Aggregated on: Mon Feb 28 2022 21:35:05 GMT+0000 (Coordinated Universal Time)

Originally published December 11, 2017 Before diving straight into the main topic, let me introduce you to Kafka Streams first.

View more...

Remote Debugging Cloud Foundry Apps

Aggregated on: Mon Feb 28 2022 20:05:05 GMT+0000 (Coordinated Universal Time)

Context While debugging Java applications in an IDE like IntelliJ Idea is straightforward, it involves slightly more effort to debug a remotely running app. While debugging a remotely running app in production is generally not a good idea, the ability to remote debug apps in lower environments, like integration testing, may be useful. Cloud Foundry is a platform that allows you to deploy and run your workloads easily and intuitively. IntelliJ Idea is a popular IDE, especially for Java developers.

View more...

When NOT To Use Apache Kafka

Aggregated on: Mon Feb 28 2022 17:20:05 GMT+0000 (Coordinated Universal Time)

Apache Kafka is the de facto standard for event streaming to process data in motion. With its significant adoption growth across all industries, I get a very valid question every week: When do I NOT use Apache Kafka? What limitations does the event streaming platform have? When does Kafka simply not provide the needed capabilities? How do I qualify Kafka out as not the right tool for the job?  This blog post explores the DOs and DONTs. Separate sections explain when to use Kafka, when NOT to use Kafka, and when to MAYBE use Kafka.

View more...

Comparing Ethereum Blockchain and Classical Java Enterprise Architecture

Aggregated on: Mon Feb 28 2022 16:20:05 GMT+0000 (Coordinated Universal Time)

Blockchain and Java: Are They Comparable? In simple terms, blockchain is a special distributed network and Java is a programming language. So how we can compare it? Does it seem that we can't? Wait a Minute! There Are Still Many Similarities They are different, but they have many things in common or that are similar between the two. Blockchain networks now have an embedded programming language. For example, Ethereum has Solidity. At the same time, Java has integration with a huge ecosystem and can create solutions similar to blockchain (in some way). 

View more...

Processing Files With Special Language Characters Using Mule 4

Aggregated on: Mon Feb 28 2022 03:35:05 GMT+0000 (Coordinated Universal Time)

Working with data, there are several scenarios to transform data from input files using the Mule 4 connector. There are several scenarios for files with special characters or language-based characters.

View more...

Why Classical Singleton Is an Antipattern: How To Make It Great Again Using IOC

Aggregated on: Sun Feb 27 2022 22:05:05 GMT+0000 (Coordinated Universal Time)

Classical Singleton Introduction Classical Singleton is one of the most well-known structural patterns. It is widely used in production and is responsible for creating only one single instance. This pattern was mentioned in the GOF patterns book. How is it possible that it became an antipattern? Before we start, let's remember what a classical Singleton looks like.   Classical Singleton Implementation Classical implementation of Singleton assumes that class contains two things:

View more...

Mule 3 DataWeave(1.x) Script To Resolve Wildcard Dynamically

Aggregated on: Sun Feb 27 2022 21:35:05 GMT+0000 (Coordinated Universal Time)

Mulesoft DataWeave is a simple powerful tool to transform data inside a flow. Numerous core operators and functions are already present to perform various operations such as capitalize, camelize, upper, and lower. For string operations, there are no core functions present to resolve a wildcard. I hope the DataWeave(DWL 1.0) function below helps you to perform a requirement where you want to resolve a wildcard using a set of parameters.

View more...

Double-Checked Locking Design Pattern in Java

Aggregated on: Sun Feb 27 2022 21:05:05 GMT+0000 (Coordinated Universal Time)

In the video tutorial below, we take a closer look at the double-checked locking design pattern in Java. This tutorial includes an introduction, implementation, and out-of-order writes. Let's get started!

View more...

Building a Simple Front-End for Your ArangoDB Datasource

Aggregated on: Sun Feb 27 2022 19:35:05 GMT+0000 (Coordinated Universal Time)

A major pain point around building apps is designing the UI elements. Fortunately, with Appsmith, you create a custom frontend in minutes. Connecting datasources with Appsmith takes a few minutes, and you can easily build tools on top of the database of your choice. For example, you can build admin panels to manage product catalogs, read content data from your database and use that to populate your e-commerce website, and then write more data and update your existing orders in the database. The possibilities are countless. In this blog, I will teach you how to build a frontend that can connect to ArangoDB as a datasource.

View more...

How Milvus Deletes Streaming Data in a Distributed Cluster

Aggregated on: Sun Feb 27 2022 17:50:05 GMT+0000 (Coordinated Universal Time)

Featuring unified batch-and-stream processing and cloud-native architecture, Milvus 2.0 poses a greater challenge than its predecessor did during the development of the DELETE function. Thanks to its advanced storage-computation disaggregation design and the flexible publication/subscription mechanism, we are proud to announce that we made it happen. In Milvus 2.0, you can delete an entity in a given collection with its primary key so that the deleted entity will no longer be listed in the result of a search or a query. Please note that the DELETE operation in Milvus refers to logical deletion, whereas physical data cleanup occurs during the Data Compaction. Logical deletion not only greatly boosts the search performance constrained by the I/O speed, but also facilitates data recovery. Logically deleted data can still be retrieved with the help of the Time Travel function.

View more...

IaC Hot Reload With Pulumi Watch

Aggregated on: Sun Feb 27 2022 17:50:05 GMT+0000 (Coordinated Universal Time)

Do you like using hot reload when developing applications? How about using hot reload when developing the cloud infrastructure of an application? Keep reading because that's what we are going to talk about. Developing and Deploying Cloud Infrastructure When doing Infrastructure as Code for a cloud application we usually do the following steps:

View more...

The Economics of TDD

Aggregated on: Sun Feb 27 2022 17:20:05 GMT+0000 (Coordinated Universal Time)

From a management standpoint, Test-Driven Development (TDD) can be a difficult sell. It involves a relatively large upfront investment, has no obvious business benefits, and (most important of all) the customer is paying for functionality, not tests. Tempting as it is to cut testing in order to reach the next milestone in the project, it is a mistake because, as we’ll see, TDD can help us accelerate development and reduce costs over a project’s lifecycle.

View more...

Cypress Automation Tutorial

Aggregated on: Sun Feb 27 2022 17:20:05 GMT+0000 (Coordinated Universal Time)

What Is Test Automation? Test Automation is a way of verifying and validating test scenarios via specific tools and frameworks. QAs create automated scripts, feed them into automation tools that launch the application, run through the test scenario, and mark the test as passed or failed. Test Automation is recommended for repetitive scenarios only since it saves time and effort that would otherwise have to be put in by human testers.

View more...

Cross-Region Lambda Invocation in AWS

Aggregated on: Sun Feb 27 2022 16:50:05 GMT+0000 (Coordinated Universal Time)

AWS Lambda makes it easy to build highly available serverless applications quickly. However, setting up resources in multiple regions makes it difficult to manage the applications since cross-region access is limited by design in AWS for security and performance reasons. Fortunately, AWS makes it easy to access resources across regions in your intend to do so.  In this example. I'll show you how to invoke a Lambda in one region from a Lambda in another region.

View more...

Pulsar in Python on Pi for Sensors

Aggregated on: Sun Feb 27 2022 16:50:05 GMT+0000 (Coordinated Universal Time)

I have a new Raspberry Pi with a Breakout Garden with a thermal camera, 1.12" OLED screen, and a CO2+ sensor. We first need to install the Pulsar Python Client, if you are running on certain architectures you will need to compile the Apache Pulsar C++ Client first.

View more...

Node.js vs. PHP: Modernity vs. Tradition

Aggregated on: Sun Feb 27 2022 16:50:05 GMT+0000 (Coordinated Universal Time)

For many years, both PHP and JavaScript have been on top of web development technologies popularity lists. These languages have a large audience, there's no shortage of developers using them daily, and the number of projects implemented with their use is uncountable. Besides, there are dozens of pretty popular frameworks that allow developers to make more with less coding, such as Laravel (PHP) or React (JS), for example. The thing is, PHP and JS are often considered phenomena from different worlds. JS is often seen as a tool exclusively for creating the frontend part of the web application and implementing user interaction functionality. PHP, in its turn, is a server scripting language that steers everything related to the back-end. However, there's a scenario where JS and PHP can compete in the same field. Node.js is a JavaScript framework that enables executing JS code on the server, making it an alternative to PHP. Today, we'll consider both these technologies' main pros and cons and the types of projects they will better suit.

View more...

Messaging Design Pattern (MDP) In Java

Aggregated on: Sat Feb 26 2022 22:50:04 GMT+0000 (Coordinated Universal Time)

In this video tutorial below, we take a closer look at Messaging Design Pattern(MDP) in Java. This tutorial includes an introduction and implementation of a proxy, adapter, and web service. Let's get started!

View more...

How To Use Watchers in Vue

Aggregated on: Sat Feb 26 2022 20:20:04 GMT+0000 (Coordinated Universal Time)

In any web application, it's normal to have input data that alters a page. For example, a user may update their username, or submit a post. In vue, we can watch for these changes using watchers. Watchers allow us to check on a specific data element or prop and see if it's been altered in any way. If you are brand new to Vue, get started with our guide on making your first Vue app here, before diving into watchers.

View more...

Spring Boot Delete User Details API Test Client Using Rest Assured | API Testing Using Rest Assured

Aggregated on: Sat Feb 26 2022 20:20:04 GMT+0000 (Coordinated Universal Time)

In the below video, take a closer look at Spring boot- delete user details API test client using Rest Assured. Let's get started!

View more...

Tips for Optimizing Slow Tests

Aggregated on: Sat Feb 26 2022 18:50:04 GMT+0000 (Coordinated Universal Time)

From developers to testers, from business analysts to management, everyone in your organization must be committed to keeping tests in top condition. If you have an extensive test suite, you’ll need a plan to focus the effort. Check out our 5-step framework for identifying and optimizing slow tests if you’re not sure where to start. Software development is modulated by the tools supporting it. Of these, testing is the most widespread and has the largest impact. Keeping tests fast and responsive leads to improved productivity, better code quality, and higher deployment frequency.

View more...

Unusual Java: StackTrace Extends Throwable

Aggregated on: Sat Feb 26 2022 18:05:04 GMT+0000 (Coordinated Universal Time)

There are things you can do in Java you rarely see, generally because there is no use for it. However, there are some unusual things in Java that could be surprisingly useful. Chronicle Software uses a number of different usual patterns in its low-level libraries most developers wouldn’t generally come across.

View more...

Using Watermarks in iText 7

Aggregated on: Sat Feb 26 2022 17:35:04 GMT+0000 (Coordinated Universal Time)

Preface The iText 7 is a powerful library for PDF manipulation. This article is the third one in the dedicated series to the iText library. The previous articles in this series are: Introduction to iText 7 Using Barcodes in iText 7 There are several articles for adding a watermark into PDF (e.g. https://kb.itextpdf.com/home/it7kb/faq/how-to-watermark-pdfs-using-text-or-images). Unfortunately, none of them served me well. This led me to summarizing my investigation here.

View more...

Deployment Frequency vs. Development Time

Aggregated on: Sat Feb 26 2022 17:35:04 GMT+0000 (Coordinated Universal Time)

Markets, competitors, and your business are constantly in flux. How quickly can you get new features, fixes, and functions in front of users? While there are multiple software-related factors that can impact business agility, two key ones are development speed and deployment cadence (frequency). 

View more...

Using a Custom CockroachDB Image With Docker and Kubernetes

Aggregated on: Sat Feb 26 2022 17:05:04 GMT+0000 (Coordinated Universal Time)

Motivation Cockroach Labs ships new images when a new maintenance release is available, typically on monthly basis. CockroachDB does not rely on the base OS image for any third-party libraries except for geospatial and kerberos packages. That said, OS images may be vulnerable to security exposures depending on their age. Given CockroachDB is written in Golang, replacing the OS can be a trivial task. Originally, CockroachDB image was shipped with a Debian OS image. CRL then switched to UBI to accommodate a wider scope of use cases including Red Hat OpenShift. UBI images are shipped regularly with CVE patches and given the nature of security vulnerabilities, it is common that the latest and greatest images may or may not have CVEs. Given the preamble, we're going to cover how to replace the base image for CockroachDB and use it in Kubernetes.

View more...

Developing and Testing Services Among a Sea of Microservices

Aggregated on: Sat Feb 26 2022 16:35:04 GMT+0000 (Coordinated Universal Time)

Microservices are great. They allow you to create large, complex applications using a large development team, without each team member needing to understand the complexities of the entire application. Each developer must understand only the service(s) for which they are ultimately responsible. However, with all the advantages of building microservice-based production services, very little attention is being paid to the complexities of how you test a microservice. While there are many options, one option stands out for most situations.

View more...

Kubernetes Hardening Tutorial Part 2: Network

Aggregated on: Sat Feb 26 2022 16:35:04 GMT+0000 (Coordinated Universal Time)

In the first part of this tutorial, we discussed how to enhance your Pod security in your K8s cluster. If you haven't read it yet, here's the link. Today, we will walk you through networking-related security issues in a Kubernetes cluster and how to enhance them. After reading this tutorial, you will be able to:

View more...

Unpacking MySQL Semi-Synchronous Replication: Durability, Consistency and Split-Brains

Aggregated on: Fri Feb 25 2022 22:50:04 GMT+0000 (Coordinated Universal Time)

MySQL semi-synchronous is a plugin mechanism on top of asynchronous replication that can offer better durability and even consistency. It helps in high availability solutions, but can in itself reduce availability. In this article, we will look at some basics and follow up to present scenarios requiring higher-level intervention to ensure availability and avoid split-brains. Overview As a quick recap, semi-synchronous replication is a mechanism where a commit on the primary does not apply the change onto the internal table data and does not respond to the user until the changelog is guaranteed to have been persisted (though not necessarily applied) on a preconfigured number of replicas. We limit our discussion to MySQL 5.7 or equivalent.

View more...

Introduction to DevSecOps

Aggregated on: Fri Feb 25 2022 22:20:04 GMT+0000 (Coordinated Universal Time)

With DevSecOps, you can reach higher security standards while following DevOps principles. This Refcard will show you how to get started with DevSecOps with key themes, crucial steps to begin your journey, and a guide to choosing security tools and technologies to build your DevSecOps pipeline.

View more...

DataWeave Tip #8: The write Function

Aggregated on: Fri Feb 25 2022 19:50:03 GMT+0000 (Coordinated Universal Time)

Originally published February 26, 2019Recently I have been working on a really simple case. When an HTTP server returned an error and a non-empty body, I needed to embed this body into an error structure. Although this is a simple case, I got a problem with implementing it in Mule 4. In the previous Mule edition, it was a little bit simpler. So let's see what it is all about. Case First, we have a look at the case that I have to implement. I have a mule application that is calling an external HTTP server via an HTTP request component. When the server responds with an error like 4xx, 5xx, and the returned body will is not empty, we would like to forward that response to the calling application.

View more...

Using Google Analytics: Universal Analytics Enhanced Ecommerce to Analyze User Interactions

Aggregated on: Fri Feb 25 2022 18:50:03 GMT+0000 (Coordinated Universal Time)

Using traditional e-commerce data analysis tools, we can only analyze the order sales data of products, and cannot have a global understanding of product conversion. Google Analytics: Universal Analytics Enhanced e-commerce provides great convenience for developers to understand customer behavior and sales results, thus exploring many new opportunities. With the enhanced e-commerce function, developers can easily track user interactions with your product during their shopping journey. Such interactions include product displays, product clicks, viewing product details, adding the product to the shopping cart, checking out, transactions, and refunds.

View more...