/images/vidhya-gravatar.png

👨‍💻 Vidhya03 - Full stack engineer

You B|

Java 17 migration tips/checklist

Navigating the Java 17, Spring 6, and Spring Boot 3 Upgrade Journey can be a challenging yet rewarding endeavor. As you embark on this journey, it’s crucial to understand the scope of the upgrade and the key considerations involved in each component’s migration. In this article, we’ll delve into essential aspects of upgrading, including migrating from Java EE to Jakarta EE in Spring 6, updating Hibernate configurations for Java 17 and Spring 6, upgrading API documentation from Swagger to OpenAPI, transitioning to Apache HttpClient 5, and migrating to Java 17 with Spring Boot 3 using OpenRewrite.

Eliminating Repetitive Version Changes in Multiple Repositories: Automating Efficiency and Saving Time

In the fast-paced world of software development, staying up-to-date with version changes is crucial. However, repetitive tasks like manually updating version properties across multiple repositories can be time-consuming and prone to errors. In this blog post, we’ll explore a real-life example inspired by James Surowiecki’s concept of "addition by subtraction" and discuss how automating version changes not only solves a common problem but also saves valuable time.

The Challenge of Manual Version Changes - The Friction Point:

Imagine a scenario where a software development team is responsible for maintaining different repositories for their projects. With each release, the team must manually update the version property in each repository, commit the changes, and raise a pull request. This laborious process not only consumes a significant amount of time but also introduces the risk of inconsistencies and human errors in versioning.

Building Trust | Preventing Content Spoofing | Defending Against Attacks: How Subresource Integrity Can Safeguard Your web apps

  • Ensuring the security and integrity of web resources is crucial in today’s interconnected digital landscape.
  • Subresource integrity (SRI) is W3C specification a powerful web security concept designed to protect against risks associated with external resource loading.
  • SRI verifies the integrity of external resources, preventing tampering and ensuring their trustworthiness.
  • By incorporating SRI into web development practices, you can enhance the security and trustworthiness of your applications.
  • This blog will explore SRI, covering its concepts, benefits, implementation guidelines, and real-world use cases.
  • It aims to equip web developers, security enthusiasts, and curious individuals with the knowledge needed to effectively utilize SRI.
  • Understanding subresource integrity will provide insights into its inner workings and seamless integration into projects.
  • Let’s embark on a journey into the fascinating realm of subresource integrity, where trust, security, and the integrity of web resources converge.

Subresource Integrity (SRI) is a powerful security feature in web development that ensures the integrity and authenticity of external resources loaded by web pages. It revolves around verifying that these resources, such as scripts, stylesheets, or fonts, have not been modified or tampered with since their original publication.

The Secret to Developer Productivity: Discover SDKMAN

  • SDKMAN is a command-line tool for managing software development kits (SDKs).
  • It simplifies the process of installing, managing, and switching between different SDK versions.
  • It supports popular SDKs like Java, Maven, Gradle, Groovy, Scala, Kotlin, and more.
    Tip
    Personally I use for maven gradle and Java (JDK)
    
  • SDKMAN provides a centralized repository of SDKs with various versions.
  • It automates the installation and configuration of SDKs, saving developers time and effort.
  • Developers can easily list available SDKs, install specific versions, and switch between them seamlessly.
  • Open your terminal or command prompt. for windows run from gitbash
  • Run the following command to download and install SDKMAN:
      curl -s "https://get.sdkman.io" | bash
  • After the installation completes, run the following command to initialize SDKMAN:
      source "$HOME/.sdkman/bin/sdkman-init.sh"
  • To verify that SDKMAN is installed correctly, run the following command:
      sdk version
  • It should display the version of SDKMAN installed.

To effectively manage SDKs with SDKMAN, follow these steps:

Getting started with MetalLB - A Load Balancer for Kubernetes on Bare Metal

  • MetalLB is an open-source load balancer for Kubernetes on bare metal hardware.
  • It solves the problem of load balancing in bare metal environments, where it’s not natively available, leading to scalability and high availability limitations.
  • MetalLB supports layer 2 and layer 3 modes and can be customized to work with specific network topologies.
  • It’s a reliable and scalable choice for organizations running Kubernetes on bare metal hardware.
  • MetalLB using standard routing protocols.
  • Kubernetes lacks a native implementation of network load-balancers (Services of type LoadBalancer) for bare metal clusters.
  • The built-in Network LB implementations in Kubernetes are designed to work with IaaS platforms like GCP, AWS, and Azure.
  • When attempting to create Load Balancers in a bare metal environment using the built-in Network LB implementations, they will remain in a pending state indefinitely.
  • This limitation can lead to scalability and high availability issues for organizations running Kubernetes on bare metal hardware.
  • Basic understanding of Kubernetes is necessary to use MetalLB.
  • You should know how to deploy applications on Kubernetes and create/manage Kubernetes objects using kubectl or YAML manifests.
  • MetalLB is designed to work with Kubernetes clusters running on bare metal hardware.

Installing MetalLB in your Kubernetes cluster is a straightforward process. You can install MetalLB using either kubectl or Helm, depending on your preference.

Instantly Set Up Your Development Environment with DevContainer's One-Click Setup

👋 Are you tired of dealing with frustrating issues when setting up a development environment on a new machine? Or struggling with collaboration problems due to different setups across team members 👥👥 ?

With DevContainers, you can:

  • âś… Define a set of tools, configurations, and dependencies in a Docker container
  • 🚀 Instantly set up your development environment with just one click
  • 🌀 Create consistent and isolated development environments that can be shared and reused across different machines and platforms

In this blog post, we’ll explore the features and benefits of using DevContainers. We’ll discuss how they can streamline your development workflow, make collaboration with other developers easier, and solve the “works on my machine” problem.