News Aggregator


Code Quality Software That Makes A Difference

Aggregated on: 2021-10-19 16:26:54

"There is no single question to what does the best quality mean? However, one proven approach is comparing how well a given code interacts with its neighbors in the same technical domain." In the world of software development, code quality often comes to mean a certain level of complexity in a code. The code that is too complex for users or developers to understand or use easily is considered low in quality. Sometimes this means that the code is too complex for even the programmers to understand.

View more...

How to Export All Modules to All Modules at Runtime in Java

Aggregated on: 2021-10-19 15:56:54

Due to the new module system, Java 9 does not allow an application by default to see all classes from the JDK, unlike all previous versions of Java. If we try to access some reserved module, we obtain an error like this:module <module-name> does not "opens <package-name>" to unnamed module. Everyone knows that we can solve this exception by using the JVM parameters --add-exports or add-opens, but what if we have more environments, and we don't want to have to change JVM arguments across these environments?

View more...

Externalizing Your Configurations With Vault for Scalable Deployments

Aggregated on: 2021-10-19 15:11:54

Table of Contents: Introduction The Solution Setting Up Vault Creating API Admin Policy Creating Read-Only user policy Creating Token attached with API read-only policy 1. Linux Shell Integration 2. Java Integration 3. Python Integration 4. Nodejs Integration 5. Ansible Integration Conclusion Introduction: To implement automation for microservices or applications deployed to a large number of systems, it becomes essential to externalize the configurations to a secure, scalable, centralized configuration store. This is necessary to be able to deploy the application in multiple environments with environment-specific parameters without requiring human intervention and without requiring modification to the core application during automated deployments, scaling, and failover recoveries. Besides the fact that manually managed configurations involve the risk of human error, they are also not scalable for 24x7 large-scale deployments, particularly when we are deploying several instances of microservices across various infrastructure platforms.

View more...

Angular/Spring Boot Feature Activation by Spring Profile

Aggregated on: 2021-10-19 11:41:54

Use Case Description Sometimes there is the use-case for a system that has the same basic requirements but needs some different logic in the core for different customers. The question is: Do the differences warrant a new microservice or do you put the logic in the same? Basically, the question is: A monolith or a zoo of microservices? The answer depends on the requirements and both extremes are probably wrong.  

View more...

Azure Function - An Introduction

Aggregated on: 2021-10-19 11:41:54

Today, in this article we will discuss basic concepts of Azure Function. An Azure Function is a perfect example of Serverless architecture or computes service. Using Azure Function, we can run the event-based code without managing any infrastructure. Since the Azure function is a trigger-based service, so it always executes a script of a block of code in response to a variety of events.  An Azure Function can also be used to achieve the decoupling, high throughput or response, reusability of code, etc. So, we will discuss the Azure Functions in all aspects in four parts. Today, in the first part of this article series, we will discuss the below topics:

View more...

AWS Audit and Security Strengthening

Aggregated on: 2021-10-18 23:22:22

After my previous article on AWS DDoS resiliency, I have decided to take on some of the AWS services which should be a part of any enterprise architecture. These services will help users in raising the posture of the overall security and help in meeting the core security and compliance requirements. AWS has already mentioned security as one of the pillars of their architecture framework and, to support that, AWS provides a wide range of features and services. As a consumer and business owner, we need to understand that it is more of a shared model where AWS is contributing by developing new features based on their rich experience and exposure of multiple domains, and it is up to us to figure out how we can reinforce our security framework using these capabilities. 

View more...

How to Find the Right Collaborative Coding Tool for Remote Pair Programming

Aggregated on: 2021-10-18 21:22:22

Remote development is clearly here to stay, and when you need to collaborate with your team, starting a Zoom meeting or Hangout (er … Google meeting) is probably something you think of doing first. However, several developer-focused solutions that are much better suited for remote development are available today — but how do you know which one to pick? This guide will help you make that decision. As you read this guide, you might wonder how I know an awful lot about these solutions. The fact is, I work for Genuitec, which makes CodeTogether. What you see below is the result of our continuing study of this landscape to see how we stack up against our competitors and to decide what we need to focus on next. This guide aims to be factual, and in an effort to remain unbiased, I do not delve too deeply into the quality or capabilities of each feature.

View more...

Making Parameters Optional or Required in RESTful Web Services With Spring Framework | Spring Boot

Aggregated on: 2021-10-18 21:22:22

In the video below, we take a closer look at making parameters optional or required - RESTful Web Services with Spring framework | Spring Boot. Let's get started!

View more...

Easy Access to OAuth 2.0 Protected Resources With the Spring WebClient

Aggregated on: 2021-10-18 20:07:22

Spring Framework 5.0 introduced Spring WebClient as part of the WebFlux reactive web stack. WebClient is a reactive HTTP client that provides a functional and fluent API based on Reactor, allowing declarative composition of asynchronous non-blocking requests.  No need to  manage concurrency issues. Support for filter registration means it can intercept and modify requests, which can be used for cross-cutting concerns such as authentication, as demonstrated in this tutorial. The WebTestClient is also an HTTP client designed for application testing. With a testing interface wrapper to check replies, WebClient can be used to execute end-to-end HTTP testing and connect to a live server. It can also bind to a controller or application context and simulate requests and responses without requiring a running server.

View more...

REST Services With Apache Camel

Aggregated on: 2021-10-18 18:37:22

Microservices are becoming a very popular architectural style for developing greenfield applications and also for brownfield solutions. People are moving away from the monolith solutions due to added advantages like faster development and go-to-market, increased adoption of containerization and small teams, and a lighter codebase.  You can use either Spring Boot, Quarkus, or Lagom frameworks to develop the REST services. I would like to show how we can use Apache Camel, a leading opensource integration framework, to write REST services easier and quicker using the REST domain-specific language (DSL).

View more...

Kotlin and FaaS, An Impossible Union?

Aggregated on: 2021-10-18 17:52:22

Some time ago, I read a post describing how to run a serverless Kotlin function on OpenFaaS. While the content is technically correct, I believe the concept itself is very wrong. Such posts can lead people to make ill-advised decisions: "because we can" is hardly a winning strategy. In this post, I'd like to first explain why the JVM platform is a bad idea for FaaS. Then, I'll proceed to propose alternatives to use Kotlin nonetheless. I deliberately chose not to link to the original post to avoid lending it any credibility. If you want to read it anyway, Google is your friend.

View more...

Automation-Driven Cloud Migration — An Introduction

Aggregated on: 2021-10-18 17:52:21

Cloud adoption is now increasing day by day. Today, nearly 30% of all IT budgets are allocated to adopting cloud computing services. To ensure the cost-effectiveness of such budget allocation, maximize your cloud migration processes through automation. Automating cloud migrations creates reliable, repeatable results across multiple environments to accelerate and simplify the entire migration process.  Achieve cloud migration automation through a variety of tools to help you automate complex or time-intensive processes such as assessments, planning and design, integration, and deployment of infrastructure. Automation is the most reliable way to speed up the migration process while minimizing errors.

View more...

Postman Collection for Salesforce: Mock Servers and Code Snippets

Aggregated on: 2021-10-18 17:07:21

Introduction Whether you’re a longtime Salesforce developer or you’re new to the platform, Postman brings you all the tools you need to streamline the Salesforce API integration process to be easier and faster. In this article, we’ll show how mock servers and code snippets in Postman can help you build the core of your API-driven integration with Salesforce.

View more...

10 Books Every New Software Developer Should Read

Aggregated on: 2021-10-18 16:22:21

If you want to be a good software developer you have to be constantly learning. One of the best ways to learn is through reading good books. Here is a list of some of the best books new software developers can learn from. I’ve selected books with long-lasting advice that will remain relevant many years from now.

View more...

Keyword Search in Oracle Tables

Aggregated on: 2021-10-18 16:22:21

In the Oracle Database, we can easily find a text or keyword that we are looking for in tables within a schema. As we can search all tables in the schema, we can also search within a desired table belonging to that schema. As shown in the PL/SQL block below, the text/keyword that we will search is carried out over the varchar columns of the related tables.

View more...

Impact of AI on Software Development and Testing: Ethical and Productivity Implications of Intelligent Code Creation (ICC)

Aggregated on: 2021-10-18 16:07:21

AI technology is changing the working process of software engineers and test engineers. It is promoting productivity, quality, and speed. Businesses use AI algorithms to improve everything from project planning and estimation to quality testing and the user experience. Application development continues to evolve in its sophistication, while the business increasingly expects solutions to be delivered faster than ever. Most of the time, organizations have to deal with challenging problems like errors, defects, and other complexities while developing complex software. Development and Testing teams no longer have the luxury of time when monthly product launches were the gold standard. Instead, today’s enterprises demand weekly releases and updates that trickle in even more frequently.

View more...

Why We Micromanage

Aggregated on: 2021-10-18 15:37:21

No one likes to be micromanaged. And yet, it happens all the time. So why do we do it? What drives someone to be a micromanager? We micromanage for one of two reasons: We don’t trust the person to do the job well, or we don’t trust the person to get the job done on time.

View more...

Leveraging AWS for Backup and Disaster Recovery — 8 Best DR Practices

Aggregated on: 2021-10-18 15:07:21

Today, all companies are technology companies. Yet, Invenio IT reports that every 1 in 5 organizations does not have a disaster recovery plan. A company without a disaster recovery is prone to the type of IT disaster including server corruption, data center failures, cyberattacks, etc., that can disrupt the entire functioning of day-to-day operations. Most organizations back up their data on tapes, which are pretty expensive and difficult to maintain. The restoration process is also time-consuming and such solutions are often not viable for backups. AWS offers extremely reliable backup and disaster recovery solutions that are not just secure but are highly flexible and scalable. It is also extremely effective for better RPO (Recovery Point Objective) and RTO (Recovery Time Objective) in disastrous situations. 

View more...

Porting Software to ARM: Here’s What We Learned

Aggregated on: 2021-10-18 13:37:21

AWS’s release of its Graviton instance in 2019 has sparked a lot of interest in server-side ARM. And for good reason--moving to Graviton can save up to one-third of compute costs without sacrificing performance. With high demand, but constrained infrastructure budgets, this is a big deal!  While there has been great interest in using ARM in the data center for a long time, adoption has been slow - it was too hard to source ARM-based servers and port the entire software stack to ARM. With the introduction of Graviton, it’s now as easy to spin up an ARM instance as an x86 instance. But what about porting your software? 

View more...

Rails Encrypted Credentials on 6.2

Aggregated on: 2021-10-18 13:07:21

Any Rails program would have secrets to be stored, for at least the secret key base with tokens for third-party APIs. Post version updates and handling secrets have become easier. Initially, there were two methods to handle secrets: 

View more...

Stealing Data and Source Code From Java Application

Aggregated on: 2021-10-18 13:07:21

Attack Scenarios In this article, we review possible ways how to inject malware code in JVM/to sniff JVMs traffic/etc. The key objective of this article is to explain how to protect your application. The plan is to perform the next attacks: Read sensitive data from the dump. Steal source code by injecting malware in an external dependency. Stealing Data From Java Dump If someone got access to the Java process he might be able to read sensitive information like passwords or database addresses. Let's take a look into the next DataSource configuration:

View more...

Dataweave 2.4.0 Dates Module Functions

Aggregated on: 2021-10-18 12:07:21

DataWeave is a programming language designed for transforming data. It is the primary language of MuleSoft for data transformation and an expression language for components and connectors configuration. Mulesoft released Dataweave 2.4.0 for Mule Version 4.4. The 2.4.0 version of DataWeave introduced many new features. In this post, we will see one of the newly introduced DataWeave modules.

View more...

Use Ketch to Deploy Apps on Kubernetes Without YAML

Aggregated on: 2021-10-17 19:26:44

Ketch, a relatively new open source project from application-as-code platform Shipa, offers a simple command-line interface that developers can use to deploy and manage applications on any Kubernetes cluster without writing YAML configuration files. Kubernetes is the ubiquitous standard for orchestrating containerized and microservices-based applications. However, operating Kubernetes requires developers to overcome a rather steep learning curve. Running Kubernetes successfully means gaining expertise in Kubernetes concepts, objects, and how to write and manage YAML files. Ketch eliminates much of that complexity by deploying applications directly to Kubernetes clusters, rendering YAML files unnecessary and easing entry for developers.

View more...

8 Keys to Failproof App Modernization

Aggregated on: 2021-10-17 18:26:44

"God was able to create the world in seven days because God didn't have to worry about legacy” – Enzo Torresi. Enterprise customers, unfortunately, do not have that luxury. They must deal with legacy in various degrees of complexity and scale. This article presents a practitioner’s perspective of the trends, good practices and gotchas that one must watch out for in a complex (legacy) application modernization program.

View more...

How To Discover Personal Data in Cloud Storage

Aggregated on: 2021-10-17 18:11:44

Data loss prevention tools are often employed to discover and monitor personal data in the cloud, but how effective and costly are they? Personal data laws have been a bit of a spanner in the works and made everyone have a bit of a rethink about how they store client data that could be classified as “personal”. The thing is, which data can be classed as personal can change depending on whether it is paired with other data. This means that data that has the potential to be personal could be pretty much anywhere.

View more...

Returning Object as JSON or XML Representation - RESTful Web Services With Spring Boot

Aggregated on: 2021-10-17 18:11:44

In the video below, we take a closer look at returning objects as JSON or XML representation - RESTful Web Services with Spring Boot. Let's get started!

View more...

Run Hundreds of Experiments with OpenCV and Hydra

Aggregated on: 2021-10-17 17:26:44

Feature Matching Problem Image matching is an important task in computer vision. Real-world objects may be captured on different photos from any angle with any lightning conditions and may be occluded. But while images contain the same objects they must be categorized accordingly. For this purpose, computer vision gives us invariant feature extractors that help to match objects on different images Detectors, Descriptors, and Matchers Image matching is a three-step algorithm. Fortunately, they are all covered in the OpenCV library

View more...

5 Types of Software Testing Models

Aggregated on: 2021-10-17 16:56:44

One of the critical aspects of the software development life cycle is software testing. Today, there are a plethora of different software development models to choose from, each with its own set of benefits and drawbacks. As a result, depending on the project's requirements and difficulties, you must choose just the right model. Let's look at various software testing models, their advantages and disadvantages. Types of Software Testing Models Different types of software testing models are as follow:

View more...

The Right Way to Use Favicons

Aggregated on: 2021-10-17 16:56:44

How to Add a Favicon To make an icon display, you need to add a file with a graphic image of the icon to a tab. To add an icon to your website, you need to follow the mandatory browser requirements and use a minimum set of favicons, which we will now consider in detail. Why a set and not a single icon? The fact is that browsers and screens are constantly evolving. More modern formats are usually supported by more modern browsers. For example, you might think that you can add a single SVG icon and the browser will render it correctly. However, not all browsers still support the SVG format for favicons. The following table illustrates the browsers that support the SVG format.

View more...

CockroachDB TIL: Volume 3

Aggregated on: 2021-10-17 16:26:44

Previous Articles Volume 1 Volume 2 Topic 1: Force Lookup Join Instead of Merge or Hash Join To make the optimizer prefer lookup joins over merge or hash joins when performing foreign key checks, set the prefer_lookup_joins_for_fks session variable to on (merge joins are the default for single-row inserts and hash joins are likely to appear with more rows. There are times when a lookup join will be more efficient than the chosen plan by the optimizer. The lesson here is to test all available options and not to accept the defaults! set prefer_lookup_joins_for_fks=on;

View more...

Externalize Application Configuration With Spring Cloud Config

Aggregated on: 2021-10-17 16:26:44

Introduction One of the principles from the 12 Factor App, states that we have to separate our application configuration from the code. The configuration varies based on the environment and it's better to organize them based on the environment your application is running.  So in this article, we will be looking at how we can externalize configurations with Spring Cloud Config.

View more...

7 Steps To Improve Data Security During Cloud Migration

Aggregated on: 2021-10-17 15:26:44

In 2020, there were over 1,001 reported cases of data breaches in the United States alone. In today’s market, data is now the most important asset for all industries. It’s critical to protect this asset at all costs with comprehensive data security, whether you are migrating to the cloud or maintaining your on-premise servers. Unfortunately, during the cloud migration process, there are times where data is vulnerable and exposed. Consider this case study of Keepnet Lab’s Data Breach, where the contractor turned off the firewall for ten minutes while migrating to ElasticSearch. This move exposed the database to attackers who breached over 5 billion data records. 

View more...

How to Use Pattern Matching for instanceof From JDK16

Aggregated on: 2021-10-17 15:26:44

The new LTS version (version 17) of Java was released in September. And since the previous LTS (version 11), many cool features were added. One of the coolest ones is “Pattern Matching for instanceof“. Until Java 15, when we checked whether an object is an instance of a particular class, the compiler didn’t infer the variable’s type, even if the object passed the condition. Because of that, we always had to cast after the instanceof check.

View more...

Building a Holistic Security System for DevOps Projects

Aggregated on: 2021-10-17 15:26:44

DevOps aligns the work of software developers and other IT professionals to ensure better quality, faster time to market, and increased productivity. It emphasizes communication, collaboration, integration, and automation of all aspects of software delivery, from development to testing to deployment. A DevOps approach to software development enables an organization to have systems in place that support the production of software in a fast, reliable, and incremental way.

View more...

Effective Solutions to Backup iCloud to An External Hard Drive

Aggregated on: 2021-10-17 14:26:44

Summary: "Apple Inc. provides cloud storage in every Apple device. This cloud computing service is known as iCloud. Unfortunately, Everyone gets only 5GB of cloud storage for free. Therefore, we need to manage this free cloud space effectively. This article will help you understand how to backup iCloud to an external hard drive and why we need to backup iCloud on an external hard drive?" iCloud securely stores photos, files, notes, contacts, and more in the cloud space. It keeps your data secure in iCloud and allows you to access the data with any of your Apple devices. However, this will cause your iCloud space out of storage as you have only 5GB of storage space available in it. Hence, you have to backup iCloud to an external hard drive to utilize your iCloud space efficiently.

View more...

Kubeflow Fundamentals Part 3: Distributions and Installations

Aggregated on: 2021-10-17 11:56:11

Welcome to the third blog post in our “Kubeflow Fundamentals” series specifically designed for folks brand new to the Kubelfow project. The aim of the series is to walk you through a detailed introduction of Kubeflow, a deep-dive into the various components, and how they all come together to deliver a complete MLOps platform. If you missed the previous installments in the “Kubeflow Fundamentals” series, you can find them here:

View more...

UnifiedFlow: Git Branching Strategy

Aggregated on: 2021-10-16 23:50:21

Pros Every branches fork from a stable state. Prevent side-effects (defect/ad-hoc/config) from merging develop into feature, release and main. Group stable features according to release plan. Easily remove features from release. Cons Require optional merge branch if using with Pull-Request. PR will merge the target branch on your feature; may cause unknown side-effects and stall you for days to fix it. Multiple merge conflicts in develop and release. Getting Started init: main fork: main -> develop

View more...

Cloud Data Warehouse Comparison: Redshift vs. BigQuery vs. Azure vs. Snowflake for Real-Time Workloads

Aggregated on: 2021-10-16 21:05:21

Data helps companies take the guesswork out of decision-making. Teams can use data-driven evidence to decide which products to build, which features to add, and which growth initiatives to pursue. And, such insights-driven businesses grow at an annual rate of over 30%. But, there’s a difference between being merely data-aware and insights-driven. Discovering insights requires finding a way to analyze data in near real-time, which is where cloud data warehouses play a vital role. As scalable repositories of data, warehouses allow businesses to find insights by storing and analyzing huge amounts of structured and semi-structured data.

View more...

Benchmark Your Apps Against the AWS Well-Architected Framework

Aggregated on: 2021-10-16 20:35:21

AWS introduced best practices to review and improve traditional or proposed architectures through its widely renowned AWS Well-Architected Framework. The framework introduces five pillars where each pillar is composed of separate practices for a better application and workload architecture to solve challenges many customers were having. Those challenges involve a lack of internal knowledge, rightsizing cloud environments, reducing costly overheads, a lack of automation, and executing AWS best practices. The Well-Architected framework is gaining popularity among clients seeking infrastructure performance that only keeps getting better over time. The supporting Well-Architected Review was created to improve the customer experience and help sharpen up AWS environments. The best way to proactively utilize this framework is for building secured, efficient, and reliable application infrastructure. Additionally, consultants help companies through the AWS Partner Network (APN) to facilitate this framework by evaluating current architectures to make design changes through a Well-Architected Review.

View more...

Machine Learning and React Native: Feasible for Web Development?

Aggregated on: 2021-10-16 20:35:21

Unless you have been living under a rock, there is no way you have not heard of at least artificial intelligence. Of course, this is because of the potent tool it has proven to be over the past decade. This popularity, then, led to the emergence of machine learning as well as deep learning. Now, they are both technically subsets of artificial intelligence, but the plethora of their advantages have ensured they were each able to establish their distinct identities in the market. Now, machine learning serves to help systems use input data to improve themselves.  Meanwhile, deep learning, which involves the use of algorithms based on the human brain’s structure and function, is enabling the achievement of unparalleled results in computer vision, ML, etc.

View more...

Incident Review For the Facebook Outage

Aggregated on: 2021-10-16 20:05:21

Marking a highly unusual state of events, Facebook, Instagram, WhatsApp, Messenger, and Oculus VR were down simultaneously around the world for an extended period of time Monday.   The social network and some of its key apps started to display error messages before 16:00 UTC. They were down until 21:05 UTC, when things began to gradually return to normality.  

View more...

Why Don't Developers Write More Tests?

Aggregated on: 2021-10-16 20:05:21

I regularly speak at conferences about testing microservices, and one of the first questions I ask attendees is whether they write tests or not. The room is usually split 50-50 between developers who write tests for their code and those who do not. This disparity gets more pronounced when I give guest lectures at coding bootcamps where I’ve found that fewer than 1 in 10 grads actually know how to write a unit test. My anecdotal observations have been backed up by surveys as well. Diffblue found 42% of developers skip writing tests and Stack Overflow found 37% of developers don’t write tests for their code at work.

View more...

5 Things to Consider Before You Build Your App

Aggregated on: 2021-10-16 20:05:21

When mobile app development came on the market, it was a game-changer. It allowed for an unprecedented level of mobile optimization that has never been seen before. With mobile apps now being one of the most popular ways to not just run your business but also promote and advertise it, many people are considering getting into mobile app development themselves. However, there are several things to think about before developing an app to ensure that you want to pursue it in the long run. When you're making mobile apps, you must have a clear idea about what mobile platform it will be on. Will it be a native app, a hybrid app, or even a progressive web app (PWA)? Then there's the dilemma of whether to use an existing mobile development provider or not. In this blog post, we'll cover these important factors that you should think about before commencing mobile development and building your app!

View more...

The Performance Impact of java.lang.System.getProperty()

Aggregated on: 2021-10-16 20:05:21

‘java.lang.System.getProperty()’ is a common API used by Java developers to read the System properties that are configured during application startup time. i.e. when you pass “-DappName=buggyApp” as your application’s startup JVM argument, the value of the ‘appName’ system property can be read by invoking the ‘java.lang.System.getProperty()’. Example: Java   public static String getAppName() { String app = System.getProperty("appName");   return app; }

View more...

The Ultimate JSON Library: JSON.simple vs. GSON vs. Jackson vs. JSONP

Aggregated on: 2021-10-16 19:35:21

JSON is the accepted standard these days for transmitting data between servers and web applications. We often don’t think about the JSON libraries we use, but there are some differences between them. JSON is often used to transport and parse big files. This is a scenario that is common in data processing applications running in Hadoop or Spark clusters. Given the size of these files, you can be looking at significant differences in parsing speed between libraries.

View more...

Allow Google Account Sign Ins Without a GMS Phone

Aggregated on: 2021-10-16 19:05:21

If users have not installed GMS on their phones, they cannot directly sign in to your app using a Google account. In this case, you can let them sign in to your app in web mode by obtaining the access token for sign-in authentication from Google. The procedure is as follows: Sign in to the Google Play Console, click Credentials, and create an OAuth 2.0 client ID with the Type set to Web application.

View more...

Micronaut, Quarkus, and Spring Boot Help You Develop Native Java Apps

Aggregated on: 2021-10-16 18:35:21

For decades, Java has been able to invoke native programs on an operating system. JNI (Java Native Interface) and JNA (Java Native API) are commonly used to invoke native programs (Java Native Access). In recent years, Java has gained the ability to run JVM apps natively. In other words, the JVM apps are binary executables with no dependency on the Java runtime. Now Java apps start up in milliseconds, instead of seconds. seconds. This is a game-changer if you're scaling up to accommodate millions of requests, while saving money by adopting a serverless environment. For years, developers have chosen to use serverless environments with Node.js, Python, and Go. The ability to go serverless with Java (or Kotlin) brings the opportunity to an important developer community.

View more...

Getting Started With Kubernetes In 2 Days

Aggregated on: 2021-10-16 15:50:21

Kubernetes (commonly abbreviated as K8s) is an open-source platform for container orchestration that we use extensively at Shipyard. It automates many of the tasks involved in maintaining a container-based app, such as deploying, scaling, load-balancing, and auto-scaling. Kubernetes Done Wrong Kubernetes is a major asset for modern container management and has streamlined deployment for thousands of companies. However, it is infamous for its steep learning curve. Simply put, Kubernetes is difficult to get right.

View more...

Java: On Its Deathbed Or More Alive Than Ever?

Aggregated on: 2021-10-16 14:35:21

Introduction You can often hear statements that "Java is dying" and all modern people should switch to modern languages like Go as soon as possible. They say that it will be good with them, but it will be bad with old languages that everyone is about to give up. But is this true? You can see two different variants in the "pre-death" statements. Some people say "Java is dying" quite literally: the time for the popularity of the language has passed, fewer and fewer people need it, and those remaining people are about to abandon it. Others believe that Java may be all right in terms of popularity, but technologically it is stuck in the last century, so it is not respectable to write in it now. 

View more...

Fluent Assertions Reloaded

Aggregated on: 2021-10-16 11:50:21

If you’re not using fluent assertions in your tests yet and just rely on basic JUnit assertions, you might be missing out on a simple but very effective tool to write high-quality test code. The article starts with a short recap about the virtues of fluent assertions and how they address the shortcomings of basic assertions. But while very much in favor of fluent assertion I think that current implementations don’t realize their full power: Problems are demonstrated in AssertJ, the main fluent assertion library for Java. Finally, I present a new solution to overcome these issues.

View more...