Tech Tutorials
My tutorials on Java, AI and technology.
Commentary, tutorials, opinions and practical development insights from TheServerSide.
Related Resources
The newest articles matching the selected resource filters. Showing up to 1000 resources.
How Replit and GitHub Copilot Approach Vibe Coding
Compare two AI coding agents as they create and test a TypeScript image watermarking service, and learn why precise prompts and human oversight matter.
AI
How LLM Tokenization Turns Prompts Into Meaning
Explore tokens, embeddings, and high-dimensional vector spaces to understand how language models process natural language prompts.
AI
A Practical Introduction to Concurrency in Go
Learn how goroutines, channels, select, and synchronization help Go programs coordinate concurrent tasks clearly and efficiently.
Spring
Build an AI Agent with a TypeScript Example
Explore the principles of autonomous AI agents and follow a TypeScript example that uses ChatGPT and weather data.
AI
Build Your First Java LLM Application
Follow practical examples for calling OpenAI from Java, configuring LangChain4j, and connecting your application to other language models.
AI
How to Use Asyncio for Concurrent Python Applications
Explore Python coroutines, event loops, asynchronous I/O, subprocesses, and producer-consumer queues while learning when async is not the right fit.
Other
Building a Lasting Role for Developers in the Age of AI
AI can accelerate routine coding, but developers still need imagination, analytical thinking, prompt skills, and testing discipline to build reliable software.
AI
Applying OOP Principles to JavaScript and React Components
Explore how React components apply encapsulation, polymorphism, and composition to extend behavior and create reusable web interfaces.
Spring
Choosing Between Stubs and Mocks for Unit Tests
Compare test stubs and mocks, their strengths and limitations, and when each replacement is most useful for isolated software testing.
Spring
Build a Prompt Chain with the OpenAI API
Use Node.js to combine GPT-4 Turbo and DALL-E 3 for research, data transformation, and AI image generation.
AI
Build AI Programs with GPTScript and Natural Language
This beginner-friendly guide covers GPTScript installation, OpenAI configuration, natural-language scripts, and tools for analyzing local files.
AI
A Practical Guide to TypeScript Generics
Explore generic types, constraints, and reusable TypeScript classes and functions with practical examples and compile-time error handling.
Spring
Understanding Sagas for Reliable Microservice Workflows
Explore saga compensations, orchestration, and choreography for managing failures across distributed business processes.
Spring
Centralize Gradle Dependencies with Version Catalogs
This tutorial shows how to publish and consume Gradle version catalogs for consistent dependency, BOM, bundle, and plugin management.
Spring
A Practical Introduction to TypeScript Generics
Explore generic syntax in TypeScript and see how type parameters improve reusable functions, interfaces, classes, and type-safe arrays.
Spring
Building and Using Method Decorators in TypeScript
Explore decorator syntax, method parameters, PropertyDescriptor, and before-and-after logging around a class method.
Spring
What a First Java Program Teaches Beginners
Explore 11 practical lessons about Java syntax, whitespace, REPL support, case sensitivity, semicolons, strings, and more.
Spring
Choosing the Best Way to Read User Input in Java
Compare Console, Scanner, JOptionPane, and System.in to find the right input strategy for your standalone Java program.
Spring
Reading Console Input with Java System.in
See how Java's standard input stream works with Scanner, InputStreamReader, and BufferedReader to handle keyboard input.
Spring
Understanding Java System.in and Console Input
Learn how Java's System.in works with Scanner, InputStreamReader, and BufferedReader to read input from the terminal.
Spring
Understanding Suppressed Exceptions in Java 7
See how try-with-resources combines primary and cleanup failures, and learn how to inspect and handle suppressed exceptions.
Spring
Java Try-With-Resources: An AutoCloseable Example
Learn how Java automatically closes resources such as connections and files with the try-with-resources statement.
Spring
A Practical Guide to Resolving Common Java Compiler Errors
Understand why frequent Java compilation problems occur and apply straightforward fixes for syntax, variables, types, methods, and control flow.
Spring
Undo One Commit with Git Revert
Follow a practical example of reverting a specific commit, reviewing its history, and comparing git revert with git reset.
DevOps
Using Epsilon GC for No-Op Java Memory Management
Explore the JVM options, benefits, risks, and performance scenarios for using Epsilon GC without memory reclamation.
Spring
Using WebAssembly Hub to Extend Envoy
Learn how developers can share WebAssembly binaries, create custom Envoy filters, and deploy them through service mesh configurations.
DevOps
Understanding Java's Eight Primitive Data Types
Learn why Java primitives are not objects and how boolean, floating-point, integral, and char types form the foundation of Java programs.
Spring
Compare Java Strings Correctly with equals()
Learn how the String pool affects equality checks and why equals() is safer than == for comparing Java String objects.
Spring
Get Started with Jenkins and Run Your First Build
This beginner-friendly guide covers Jenkins installation with the WAR package, Java setup, initial security configuration, and the admin console.
DevOps
Installing OpenJDK on Windows and Configuring JAVA_HOME
A practical walkthrough for choosing a Java distribution, installing the JDK on Windows or Ubuntu, setting environment variables, and validating the setup.
Spring
Detect and Remove Internal Java API Dependencies with JDeps
This practical example shows how to scan a JAR with JDeps, identify Unsafe and BASE64Encoder usage, and move toward supported Java APIs.
Spring
A Test-First Strategy for Java Certification Exams
Learn how test-first thinking can reshape Java certification preparation, reduce exam stress, and expose the limits of conventional testing.
Skills
Select Spring Beans Dynamically with Custom Annotations
This hands-on tutorial shows how annotations, component scanning, and reflection can reduce boilerplate when choosing beans at runtime.
Spring
Configure Jenkins to Build Code from a GitHub Repository
Follow a practical example that connects Jenkins to GitHub, retrieves Java source code, and generates Javadoc through a configured build job.
DevOps
Create a Java Web Application with Spring Boot MVC
Follow a practical example that connects Spring MVC controllers, request parameters, models, and Thymeleaf views in a simple game.
Spring
Master the Five Git Commands Every Beginner Needs
Follow practical examples for initializing repositories, configuring Git, staging files, checking status, and committing changes.
DevOps
Using Jenkins Environment Variables in Build Jobs
Create a freestyle project, print Jenkins environment values, and reference them from shell scripts or Windows batch commands.
DevOps
Package a Java Web App with Embedded Tomcat
Follow a practical Maven tutorial to build, run, and access a Java web application from an executable JAR containing Tomcat.
Spring
Resolve Log4j Build Errors with Maven Dependency Management
This hands-on Java example shows how to update pom.xml, retrieve Log4j from Maven Central, and get mvn compile working again.
Spring
Install Maven and Run Your First Java Build
Set up Maven with a JDK, generate a project from an archetype, and use the mvn command line to compile, test, and package a JAR.
DevOps
How to Create and Run a Jenkins Freestyle Build Job
Follow this beginner-friendly CI tutorial to configure a Jenkins freestyle project, execute Windows batch commands, and inspect console output.
DevOps
Secure Jenkins and GitHub Access with OAuth
Set up Jenkins, connect it to GitHub with OAuth credentials, and create a job that polls, retrieves, and compiles source code.
DevOps
A Java Developer’s Guide to TypeScript Syntax
See how familiar Java concepts such as variables, enums, loops, methods, and classes translate into TypeScript for modern web development.
Spring
Process CSV Log Data with Apache Drill
Follow a practical case study covering Drill installation, CSV configuration, SQL queries, latency analysis, and exporting results.
Other
How to Define and Namespace JavaScript in Portlets
Use external scripts, portlet namespaces, and the JavaScript module pattern to build cleaner portal applications that support multiple instances.
Spring
Integrating Spring Beans with WebSphere Portal Filters
See how to reuse annotated Spring components inside portal filters when WebSphere controls filter creation and runtime execution.
Spring
Install JDK 8 and Build Your First Java Program
Follow this beginner-friendly walkthrough to configure Java, create a Hello World class, compile it into bytecode, and run it on the JVM.
Spring
Refactoring Conditional Logic in Java
Explore Java's if, else, and switch constructs through a practical rock-paper-scissors example.
Spring
Java and JavaScript Conditional Logic Compared
Explore how if statements, else if branches, and switch cases work similarly in Java and JavaScript with a browser-based roshambo example.
Spring
Build a Rock-Paper-Scissors Game in Java
Practice Java syntax, Swing dialogs, conditional statements, compilation, and JVM execution with a simple interactive game.
Spring
A Practical Path to Polyglot Programming for Java Developers
Explore problem-driven tutorials that use rock-paper-scissors to make learning Ruby, Scala, JavaScript, and other languages more approachable.
Spring
A Practical Ruby Primer for Java Programmers
Compare Ruby and Java while building a console-based rock-paper-scissors game, from user input and conditional logic to formatted output.
Spring
Writing Clearer Conditional Statements in Ruby
Explore Ruby's conditional keywords by improving a rock-paper-scissors program and comparing them with Java's conditional constructs.
Spring
Learn JavaScript by Porting a Java Game to the Browser
Explore JavaScript fundamentals, HTML integration, event handlers, and document updates by adapting a rock-paper-scissors application.
Spring
Using Spring Cache with a Distributed In-Memory Data Grid
This tutorial shows how Spring Cache works and how to configure TayzGrid as a scalable, distributed cache for Java applications.
Spring
Build Modular Java Applications with Project Jigsaw
Explore Jigsaw samples, define module dependencies, and compile and run modular Java code using the early JDK tools.
Spring
Asynchronously invoking a second managed bean method in JavaSever Faces (JSF)
The new features added to JSF make doing an asynchronous call to the server incredibly easy, but what if you need to follow that first asynchronous call with a second asynchronous call to a JavaServer Faces managed bean? It's a bit of work, but in this tutorial, we walk you through it.
Calling JSF Backing Beans from JavaScript
Use a JSF command component and JavaScript DOM interaction to trigger managed bean methods, including asynchronous calls with f:ajax.
Spring
Build Your First Android App Using Eclipse
Follow the setup process from installing the JDK and Android tools to creating an emulator, coding a Rock Paper Scissors app, and testing it.
Spring
Building Responsive Single-Page Interfaces with JSF
This tutorial series explains how to combine Facelets templates, JSF, Ajax, CSS, and HTML5 for maintainable, responsive web applications.
Spring
Finishing a JavaServer Faces Application with Ajax
Connect Facelets page fragments to managed beans and use JSF Ajax rendering to update application content without full page reloads.
Spring
Build Dynamic Facelets Pages with JSF and Ajax
This tutorial shows how managed beans and JSF Ajax components can refresh selected Facelets content instead of reloading the entire page.
Spring
Build Reusable JSF Facelets Layouts with Includes
See how to combine ui:insert, ui:include, and XHTML fragments to organize template-based Java web applications.
Spring
Build Reusable JSF Pages with Facelets Templates
Create a consistent JSF application layout by combining Facelets ui:composition, ui:insert, and ui:define tags.
Spring
Build a Reusable Facelets Layout for JSF
This tutorial shows how to convert a static HTML and CSS page into a JSF 2.0 layout with replaceable header, content, sidebar, and footer sections.
Spring
Build reusable JSF 2.2 templates with Facelets
Explore the foundations of HTML and CSS layouts before adding dynamic JavaServer Faces functionality with the Facelets templating engine.
Spring
Register an MBean with JMX using Spring
Configure Spring lifecycle callbacks and web application settings to register an MBean with the JMX server and expose it through VisualVM.
Spring
Connect VisualVM to a Local or Remote App Server
Configure VisualVM, install the MBeans plug-in, and connect to JVMs through local processes or remote JMX connections.
Spring
Use Spring and JMX to Monitor Running Web Applications
Build a reusable application MBean that exposes version details, properties, startup information, and runtime refresh operations for remote administration.
Spring
Web Platform Highlights from O'Reilly Fluent 2014
Explore conference coverage of emerging Web technologies, JavaScript frameworks, APIs, mobile development, and application security.
Other
Create a Sliding Fade Animation with JavaScript
Build a simple rock-paper-scissors effect that moves result text downward and fades it from visible to white using HTML, CSS, and JavaScript.
Spring
Build a Rock Paper Scissors Game with JavaScript
Create a beginner-friendly browser game using HTML links, JavaScript event handlers, and simple logic for comparing player choices.
Spring
Build a Simple Game with JavaScript Events
Explore DOM event handling and event objects by connecting rock, paper, and scissors links to a browser-based Roshambo game.
Spring
Understanding PortletSession Scopes in JSR 286
Explore how portlet and application scopes control session data visibility, with examples that share state between portlets in the same WAR.
Spring
Using PortletURL to Link Forms Back to a Portlet
This JSR-286 tutorial shows how RenderURL, JSP tag libraries, and portlet request handling connect HTML forms with the correct portlet instance.
Spring
A Java Approach to Choosing Enums Over Exceptions
See how enum-based status handling can reduce exception overhead while making application error flows easier to read and maintain.
Spring
Use Java Enums to Write Simpler, More Maintainable Code
Explore practical enum techniques, including custom behavior, value mapping, text translation, and zero-based array storage.
Spring
Choosing the Right EJB Session Bean for Your Application
Learn when to use stateful, stateless, or singleton session beans, and how each option supports client state, shared resources, and session facades.
Spring
Build MVC Views with JSPs in JSR-286 Portlets
Learn to include JSP content from a portlet, access Portlet API objects, and use the portlet tag library for MVC-based rendering.
Spring
Master Request-Response Programming in JSR-286 Portlets
Explore how Portlet 2.0 handles incoming requests, rendered responses, HTTP headers, exceptions, and portlet deployment configuration.
Spring
An Introduction to Building JSR-286 Portlets
Explore portlet fundamentals, lifecycle methods, request handling, deployment descriptors, and the WAR structure behind a simple HelloWorld application.
Spring
Using Big Data to Address CMS Content Challenges
Explore how Hadoop, MapReduce, NoSQL databases, and cloud technologies help organizations manage and make sense of large volumes of content.
Other
A Practical Guide to Enterprise Mobile App Development
Explore mobile strategy, platform choices, development skills, cloud integration, lifecycle management, security, testing, and industry trends.
Other
Why Common Complaints About Spring Do Not Tell the Whole Story
This discussion examines Spring's tradeoffs, its relationship with Java EE, and how flexibility in configuration, libraries, and integration can benefit developers.
Spring
Comparing Java EE and Spring Framework Capabilities
Explore where Java EE has evolved and how Spring APIs such as JdbcTemplate reduce JDBC boilerplate and simplify application development.
Spring
Why the Spring Framework Still Matters for Java Developers
Ken Rimple explains how Spring simplifies Java enterprise development through dependency injection, inversion of control, and its lightweight container.
Spring
Using JSF to Render Server-Side Java as HTML
This video tutorial demonstrates JSF core and HTML tags, JSP deployment with Tomcat, and how server processing delivers plain HTML to clients.
Spring
Build a Multilingual JSF Hello World Application
Use JSF resource bundles and browser locale settings to serve English, French, or Spanish content automatically.
Spring
Installing JSF and Deploying a Web Application with Tomcat
This video tutorial explains how to configure JavaServer Faces and JSTL, deploy the sample WAR file, and verify the application on Tomcat.
Spring
Set Up Apache Tomcat for Java Development
Follow a practical walkthrough for installing Tomcat, configuring JAVA_HOME, verifying localhost access, and deploying WAR files.
Spring
Install the JDK and Configure JAVA_HOME
A step-by-step guide to setting up the Java Development Kit, checking the command line installation, and configuring JAVA_HOME on Windows.
Spring
Reduce Duplicate Catch Blocks with Java 7 Precise Rethrow
See how Java 7 preserves specific exception types when rethrowing from a generalized catch block, and why reassignment prevents the feature from working.
Spring
How Java 7 Numeric Underscores Improve Literal Readability
Learn the Java 7 rules for placing underscores in binary, decimal, hexadecimal, floating-point, and long numeric literals for OCPJP certification.
Skills
How to Use String Values in Java 7 Switch Statements
Learn how Java 7 added String-based switch cases, grouped conditions, type restrictions, and null-handling concerns.
Spring
Understanding Binary Literals in Java 7
Explore Java 7 binary notation, numeric type limits, literal suffixes, and certification exam considerations through practical code examples.
Skills
A Java Developer’s Guide to Cloud Application Development
Understand the tradeoffs of cloud adoption and learn how Java teams can approach scalability, PaaS, troubleshooting, and data design.
Spring
Adding CDI Support to JSF Applications on Tomcat 7
Configure Weld, CDI annotations, deployment descriptors, libraries, and application packaging for a JSF 2.0 application running on Tomcat 7.
Spring
Integrating Spring Portlet MVC with WebSphere Portal 7
A practical introduction to installing the required libraries, deploying a sample portlet, and understanding its Spring MVC configuration.
Spring
Build a Standalone JPA Application with DataNucleus
Follow a practical walkthrough for setting up DataNucleus 2.1, configuring persistence.xml, enhancing entities, and storing Java objects in MySQL.
Spring
Simplify Spring Configuration with Component Scanning
Learn how to replace a configuration class by scanning packages for @Component and @Configuration classes in a servlet-based Spring application.
Spring
Build a Servlet and JSP Web App with Spring 3.0
Learn how to configure Spring's IoC container with Java or XML, manage session-scoped beans, and connect Spring to a servlet-based application.
Spring
Understanding Java Classloading in WebSphere Applications
Explore the WebSphere classloader hierarchy, parent-first and parent-last delegation, class visibility, packaging choices, and common runtime errors.
Spring
Building Continuous Code Quality Feedback with Sonar
This guide explains how to connect Sonar, source control, reports, and developer feedback so quality problems are identified and corrected early.
DevOps
A Practical Introduction to WebSphere Portal 7
Explore the Portal architecture, launch a local installation, and learn the fundamentals of pages, portlets, and portal customization.
Spring
Migrating Hibernate 3.5 Code to the Java Persistence API
Explore how JPA can shield Java persistence code from Hibernate-specific APIs while supporting configuration, transactions, queries, and CRUD operations.
Spring
Build Generic Data Access Objects with Hibernate
This tutorial demonstrates DAO interfaces, Hibernate implementations, CRUD operations, and client-managed transaction boundaries using JPA annotations.
Spring
Persisting JPA 2.0 Entities with Hibernate 3.5
Configure a persistence unit and use the JPA EntityManager API to perform create, read, update, and delete operations with Hibernate.
Spring
Map Java Entities with Hibernate 3.5 XML Files
This tutorial shows how to define entity and column mappings in hbm.xml, configure Hibernate, and perform CRUD operations without relying on JPA.
Spring
Configure Hibernate 3.5 with JPA 2.0 from Scratch
Learn how to assemble the required JAR files, configure a MySQL schema, create a JPA entity, and run Hibernate without an IDE.
Spring
Avoiding Ambiguous Constructors in Spring Configuration
See how Spring 3 resolves constructor arguments, why XML can select the wrong overload, and how annotations and explicit type and index attributes help.
Spring
Understanding the Trade-offs of Dependency Injection with Guice
This Java guide examines Guice's injection patterns, binding limitations, object lifecycle concerns, and the impact on testing and maintainability.
Spring
A Basic Java IoC Example with Google Guice
See how Google Guice creates a simple GameSummary object through an injector, then compile and run the example from the command line.
Spring
Configure a Java Project with Google Guice
Set up the Guice libraries, create a basic injector example, and run it from the command line to confirm your environment is ready.
Spring
Configure a Spring 3 Development Environment
Set up the JDK, Spring libraries, Java classpath, and command-line workflow needed to compile and run a standalone Spring application.
Spring
Configure Spring Beans with Java or XML
Build and retrieve a GameSummary bean using Spring's annotation-based configuration and XML configuration, then compare their strengths and limitations.
Spring