DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Latest Articles - DZone

article thumbnail
The Testing Pyramid: How to Structure Your Test Suite
Traditional test structures are changing. What is the test pyramid, and is it still relevant in 2022?
April 15, 2022
by Tomas Fernandez
· 7,110 Views · 3 Likes
article thumbnail
Taking Your Database Beyond a Single Kubernetes Cluster
Running a database (or indeed any application) across multiple regions or Kubernetes clusters is tricky without proper care and planning up front.
April 15, 2022
by Christopher Bradford
· 4,789 Views · 3 Likes
article thumbnail
A Complete and Comprehensive Guide to ISO 27001 Compliance
This guide explores what your business needs to know about ISO 27001, certification requirements, and useful tips for maintaining this compliance long-term.
Updated April 14, 2022
by Matthew Cooper
· 6,949 Views · 3 Likes
article thumbnail
Roman Pichler: The Product Owner [Video]
In this Agile session, Pichler discusses topics from product manager vs. product owner vs. business analyst to linking product vision to product goal and spring goal.
April 14, 2022
by Stefan Wolpers DZone Core CORE
· 2,900 Views · 3 Likes
article thumbnail
How the TypeScript Extract Type Works
Let's take a look at how the Extract type works in TypeScript.
April 14, 2022
by Johnny Simpson
· 3,252 Views · 4 Likes
article thumbnail
Message Queuing and the Database: Solving the Dual Write Problem
Learn about message queuing and the dual write problem.
April 14, 2022
by Charlie Custer
· 6,554 Views · 4 Likes
article thumbnail
Using the PDF Embed API With Vue.js
Getting more control of PDF experiences in the browser.
Updated April 14, 2022
by Raymond Camden
· 13,474 Views · 4 Likes
article thumbnail
Go Application Vulnerability Cheatsheet
27 vulnerabilities to look out for in Go applications: Arbitrary file writes, directory traversal, deserialization, and more
April 13, 2022
by Vickie Li
· 10,838 Views · 4 Likes
article thumbnail
From Zookeeper to Raft: HA and Fault-Tolerance
Raft is an algorithm for state machine replication as a way to ensure high availability (HA) and fault tolerance. This blog shares how Alluxio has moved to a Zookeeper-less, built-in Raft-based journal system as a HA implementation.
April 13, 2022
by Tyler Crain
· 3,325 Views · 3 Likes
article thumbnail
CSS Layers Tutorial: Real CSS Encapsulation
In this tutorial, let's take a look at a new feature coming to CSS - CSS layers that are going to change how we write CSS and do real CSS encapsulation.
Updated April 13, 2022
by Johnny Simpson
· 10,867 Views · 6 Likes
article thumbnail
How to Build an Image Carousel Using SvelteTransitions
Learn how to build an image carousel using Svelte transitions including the addition of customizations, delays, duration, and easing.
April 13, 2022
by Sriram Thiagarajan
· 5,100 Views · 4 Likes
article thumbnail
How to Manage Your JDKs With SDKMAN
In this blog, you will learn how to manage several Java Development Kits (JDKs) on your Linux system using SDKMAN. Besides JDKs, several other SDKs can be managed by means of SDKMAN. Enjoy! 1. Introduction Some time ago, a colleague of mine showed me how he used SDKMAN and how easy he could maintain different versions of JDKs, Maven, etc. on his Linux system. I had heard of SDKMAN before but did not yet take the time to take a closer look at it. But now I did :-). Before getting started with SDKMAN, I looked at which JDKs were present on my Linux system (using Ubuntu 20.04.4 LTS version). First, I looked at what update-alternatives returns for Java. It seems that I have two java 11 versions on my system. Shell $ update-alternatives --list java /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/lib/jvm/jdk-11.0.3+7/bin/java But, I also have installed JDKs via IntelliJ. These can be found in your home directory in the .jdks directory. This reveals 3 other versions of Java. Shell $ ls .jdks/ openjdk-14.0.1 openjdk-16.0.2 openjdk-14.0.1-intellij-downloader-info.txt openjdk-17 My conclusion is: I made a mess out of it. Let’s see whether SDKMAN can help me with that and afterwards I will clean up my system and will remove all the redundant JDKs. 2. Installation Installation of SDKMAN is quite straightforward. Just execute the following command. Shell $ curl -s "https://get.sdkman.io" | bash ... All done! Please open a new terminal, or run the following in the existing one: source "/home//.sdkman/bin/sdkman-init.sh" Then issue the following command: sdk help Enjoy!!! And source the init file as requested. Shell $ source "/home//.sdkman/bin/sdkman-init.sh" You can verify the installation by requesting the version of SDKMAN. Shell $ sdk version ==== BROADCAST ================================================================= * 2022-03-03: jbang 0.90.2 available on SDKMAN! https://github.com/jbangdev/jbang/releases/tag/v0.90.2 * 2022-03-02: quarkus 2.7.3.Final available on SDKMAN! https://github.com/quarkusio/quarkus/releases/tag/2.7.3.Final * 2022-02-28: micronaut 3.3.4 available on SDKMAN! ================================================================================ SDKMAN 5.13.2 As you can see, the latest releases are displayed and this can be quite helpful to get notified of new available versions. That’s it for the installation! 3. List JDKs In order to know which tools can be installed with SDKMAN you can take a look at the website or you can issue the list command. The output is redirected to less where you can use the basic commands to browse and search the list. Shell $ sdk list A more specific list for available versions of the JDK can be obtained by means of the list command following java. The list of available JDKs is also available at the website. Again, the output is redirected to less. Shell $ sdk list java 4. Install JDK First, I am going to verify which version of Java is the default on my system. It seems that I am using AdoptOpenJDK version 11.0.3 which is older than I expected. Shell $ java --version openjdk 11.0.3 2019-04-16 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.3+7) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.3+7, mixed mode) From SDKMAN, choose the AdoptOpenJDK JDK which is now provided by Adoptium and is called Eclipse Temurin. Install the latest JDK 17 LTS version. Shell $ sdk install java 17.0.2-tem Downloading: java 17.0.2-tem In progress... ... Repackaging Java 17.0.2-tem... Done repackaging... Installing: java 17.0.2-tem Done installing! Setting java 17.0.2-tem as default. Verify again what the default Java version is. It has changed to the one you just installed. Shell $ java --version openjdk 17.0.2 2022-01-18 OpenJDK Runtime Environment Temurin-17.0.2+8 (build 17.0.2+8) OpenJDK 64-Bit Server VM Temurin-17.0.2+8 (build 17.0.2+8, mixed mode, sharing) Also install the JDK 11 LTS version in a similar way. At the end, the question is asked whether you want this JDK to be the default. Answer with no, JDK 17 is the latest LTS version of Java and should be ok to be the default. Shell $ sdk install java 11.0.14-tem Downloading: java 11.0.14-tem In progress... ... Repackaging Java 11.0.14-tem... Done repackaging... Installing: java 11.0.14-tem Done installing! Do you want java 11.0.14-tem to be set as default? (Y/n): n 5. Default JDK If you change your mind, and you still want JDK 11 to be the default, then you can do so by means of the default command. Shell $ sdk default java 11.0.14-tem Default java version set to 11.0.14-tem Verify this. Shell $ java --version openjdk 11.0.14 2022-01-18 OpenJDK Runtime Environment Temurin-11.0.14+9 (build 11.0.14+9) OpenJDK 64-Bit Server VM Temurin-11.0.14+9 (build 11.0.14+9, mixed mode) And set it back again to JDK 17. Shell $ sdk default java 17.0.2-tem Default java version set to 17.0.2-tem It is also possible to change the default JDK in your terminal session only, by means of the use command. Shell $ sdk use java 11.0.14-tem Using java version 11.0.14-tem in this shell. In this terminal window, the JDK is now JDK 11. Shell $ java --version openjdk 11.0.14 2022-01-18 OpenJDK Runtime Environment Temurin-11.0.14+9 (build 11.0.14+9) OpenJDK 64-Bit Server VM Temurin-11.0.14+9 (build 11.0.14+9, mixed mode) Open another terminal window and there the JDK is still JDK 17. Note that also the JAVA_HOME environment variable points to the correct Java version. Shell $ echo $JAVA_HOME /home//.sdkman/candidates/java/current 6. Remove Other JDKs Now that the JDKs are installed via SDKMAN, it is time to remove all the other JDKs which are on my system. Shell $ dpkg --list | grep jdk ii openjdk-11-jre-headless:amd64 11.0.13+8-0ubuntu1~20.04 amd64 OpenJDK Java runtime, using Hotspot JIT (headless) Remove the openjdk-11-jre-headless:amd64 version. Shell $ sudo apt remove openjdk-11-jre-headless:amd64 Verify the update-alternatives again and note that still a Java version is available. Shell $ update-alternatives --list java /usr/lib/jvm/jdk-11.0.3+7/bin/java Remove it from update-alternatives. Shell $ sudo update-alternatives --remove "java" /usr/lib/jvm/jdk-11.0.3+7/bin/java update-alternatives: removing manually selected alternative - switching java to auto mode Verify the update-alternatives. It is removed now. Shell $ update-alternatives --list java update-alternatives: error: no alternatives for java However, it is not yet removed from the file system. Navigate to the directory /usr/lib/jvm and remove the JDK. Shell $ sudo rm -rf jdk-11.0.3+7/ What is left to do, is to remove the JDKs installed by IntelliJ. These are located in your home directory in directory .jdks. Navigate to your home directory and remove the .jdks directory. Shell $ rm -rf .jdks/ 7. Use JDKs in IntelliJ Open IntelliJ and navigate to File – Project Structure. This is the location where the JDKs need to be configured. It is a bit strange that this is located in Project Structure and not in the general Settings dialog. By means of the + sign, you can add the SDKMAN JDKs. You also need to choose the JDK for your project. Build you project and in the log you will notice that the SDKMAN JDK is being used. 8. Conclusion SDKMAN is an easy to use tool to control different versions of e.g. the JDKs you use. It is definitely something for your development toolkit. I am very pleased with it. It is less a mess on my system and it is easy for me to control the different versions on my system. In order to check whether there are new updates, the upgrade command can be used.
April 13, 2022
by Gunter Rotsaert DZone Core CORE
· 5,084 Views · 3 Likes
article thumbnail
Best Practices for Apache Ranger-Based Authorization for Your Data Platform
Discover how to help any framework access any data from any storage at high performance, regardless of the environment.
April 13, 2022
by Gregory Palmer
· 3,917 Views · 2 Likes
article thumbnail
Verification and Validation in Testing
Even though they sound similar, they carry different meanings depending on what you intend to do as a tester/developer in the software development and testing process.
April 13, 2022
by Priyanka Charak
· 3,286 Views · 3 Likes
article thumbnail
Saving Form Data in Client-side Storage
A look at using vanilla JavaScript to automatically store and cache form data as a user enters information.
April 13, 2022
by Raymond Camden
· 2,797 Views · 3 Likes
article thumbnail
Don’t Have a DevOps Team? This Is Why You’re Wrong
An overview of DevOps and why you probably want a dedicated DevOps team in your company and cover those edge cases where you might not need one.
April 13, 2022
by Ofir Nachmani
· 5,598 Views · 3 Likes
article thumbnail
Building a Slack App with Native SFDC Integration: Part 3
Let's look at how to use the Slack Starter Kit and Bolt to create an application that allows users to view and change records, entirely in Slack.
April 13, 2022
by Michael Bogan DZone Core CORE
· 3,073 Views · 3 Likes
article thumbnail
5 Steps to Implementing File Upload in Node.js
This tutorial will show you how to create an HTML file with a form and wire the form to a Node.js component. We'll run the Node.js server on a local machine.
April 13, 2022
by Gilad David Maayan
· 7,436 Views · 3 Likes
article thumbnail
Benefits of Setting Initial and Maximum Memory Size to the Same Value
Setting the initial memory size the same as the maximum memory size has certain "cool" advantages. Let’s discuss them in this post.
April 13, 2022
by Ram Lakshmanan DZone Core CORE
· 22,368 Views · 6 Likes
article thumbnail
Formatting Tips and Tricks for Adobe Document Generation API
Expert tips of formatting control with the Adobe Document Generation API.
Updated April 13, 2022
by Raymond Camden
· 11,068 Views · 5 Likes
  • Previous
  • ...
  • 727
  • 728
  • 729
  • 730
  • 731
  • 732
  • 733
  • 734
  • 735
  • 736
  • ...
  • Next
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook
×