Web Development Tutorials & Protips

How to format a date in JavaScript

#JavaScript

How to merge two maps in Java

#Java

How to get and set cookies in JavaScript

#JavaScript

JavaScript Template Literals

#JavaScript

Working with FormData API in JavaScript

#JavaScript

How to split a string in JavaScript

#JavaScript

How to download a file in JavaScript

#HTML#JavaScript

How to check if Java is installed

#Linux#Java#DevOps

How to install RabbitMQ on macOS and Ubuntu 20.04

#Ubuntu#macOS#DevOps

Mongoose connect using async/await

#Node.js#Mongoose#MongoDB

Introduction to Mongoose Models

#Node.js#Mongoose#MongoDB

Introduction to Mongoose schema types

#Node.js#Mongoose#MongoDB

How to use ES6 classes to create Mongoose schemas

#Node.js#Mongoose#MongoDB

Introduction to classes in JavaScript

#JavaScript

How to use Mongoose timestamps

#Node.js#Mongoose#MongoDB

Getting started with Mongoose virtuals

#Node.js#Mongoose#MongoDB

Introduction to Mongoose Schemas

#Node.js#Mongoose#MongoDB

Getting started with Mongoose in Node.js

#Node.js#Mongoose#MongoDB

Setting up a local MongoDB connection in Node.js

#Node.js#Mongoose#MongoDB

How to install MongoDB on macOS using Homebrew

#macOS#DevOps#MongoDB

How to install and use Homebrew on macOS

#macOS#DevOps

How to add days to a date in JavaScript

#JavaScript

JavaScript DOM — Detect Internet Explorer Browser

#Protip #JavaScript

JavaScript DOM — Toggle password visibility

#Protip #JavaScript

JavaScript DOM — Append to an element

#Protip #JavaScript

JavaScript DOM — Detect if caps lock is on

#Protip #JavaScript

JavaScript DOM — Detect if an element has focus

#Protip #JavaScript

JavaScript DOM — Check if document is ready

#Protip #JavaScript

JavaScript DOM — Create a one-off event handler

#Protip #JavaScript

JavaScript DOM — Remove an event handler

#Protip #JavaScript

JavaScript DOM — Add an event handler

#Protip #JavaScript

JavaScript DOM — Stop propagation of an event

#Protip #JavaScript

JavaScript DOM — Replace a CSS class of an element

#Protip #JavaScript

JavaScript DOM — Toggle a CSS class of an element

#Protip #JavaScript

JavaScript DOM — Add a CSS class to an element

#Protip #JavaScript

JavaScript DOM — Set the value of an attribute

#Protip #JavaScript

JavaScript DOM — Get the value of an attribute

#Protip #JavaScript

JavaScript DOM — Check if an element has children

#Protip #JavaScript

JavaScript DOM — Check if an attribute exists

#Protip #JavaScript

JavaScript DOM — Remove all children of an element

#Protip #JavaScript

JavaScript DOM — Replace an element

#Protip #JavaScript

JavaScript DOM — Clone an element

#Protip #JavaScript

JavaScript DOM — Get all siblings of an element

#Protip #JavaScript

JavaScript DOM — Get closest element by selector

#Protip #JavaScript

JavaScript DOM — Get the children of an element

#Protip #JavaScript

JavaScript DOM — Get the parent of an element

#Protip #JavaScript

JavaScript DOM — Select elements by name

#Protip #JavaScript

How to access data in Thymeleaf templates

#Spring Boot#Thymeleaf

4 ways to clone objects in JavaScript

#JavaScript

How to merge two objects in JavaScript

#JavaScript

6 ways to create an object in JavaScript

#JavaScript

How to deep clone an array in JavaScript

#JavaScript

How to flatten an array in JavaScript

#JavaScript

How to merge two arrays in JavaScript

#JavaScript

How to shuffle an array in JavaScript

#JavaScript

How to copy an array in JavaScript

#JavaScript

How to compare two arrays in JavaScript

#JavaScript

How to empty an array in JavaScript

#JavaScript

How to edit an XML file with Node.js

#Node.js

How to convert XML to JSON in Node.js

#Node.js#JSON#XML

How to rename a directory in Node.js

#Node.js

How to create a directory in Node.js

#Node.js

How to delete a file in Node.js

#Node.js

How to convert HTML to Markdown with JavaScript

#Node.js#JavaScript

How to install Nginx on Ubuntu 18.04

#Ubuntu#DevOps

JavaScript DOM — Select an element by ID

#Protip #JavaScript

JavaScript DOM — Select elements by tag name

#Protip #JavaScript

JavaScript DOM — Select elements by class name

#Protip #JavaScript

JavaScript DOM — Select elements by CSS selectors

#Protip #JavaScript

How to set CSS styles using JavaScript

#JavaScript

DOM Style Property in JavaScript

#JavaScript

Introduction to NodeList in JavaScript

#JavaScript

How to decode a URL using JavaScript

#JavaScript

How to encode a URL using JavaScript

#JavaScript

for...of vs for...in Loops in JavaScript

#JavaScript

The for...of loop in JavaScript

#JavaScript

Spring Boot Optional Path Variables

#Spring Boot

Displaying a Custom Error Page in Spring Boot

#Spring Boot#Thymeleaf

Spring Boot and Thymeleaf File Upload Example

#Spring Boot#Thymeleaf

Working with Thymeleaf Layout Dialect in Spring Boot

#Spring Boot#Thymeleaf

How to use fragments in Thymeleaf

#Thymeleaf

HTML Form Handling in Thymeleaf and Spring Boot

#Spring Boot#Thymeleaf

Working with Enum Values in Thymeleaf

#Thymeleaf

How to construct URLs in Thymeleaf

#Thymeleaf

How to handle null values in Thymeleaf

#Thymeleaf

How to use conditionals in Thymeleaf

#Thymeleaf

How to use Thymeleaf with Spring Boot

#Spring Boot#Thymeleaf

Introduction to Spring Boot Starters

#Spring Boot

Uploading and Parsing CSV File using Spring Boot

#CSV#Spring Boot#Thymeleaf

How to install MySQL on Ubuntu 18.04

#MySQL#Ubuntu#DevOps

How to scaffold a Spring Boot application

#Spring Boot

Reading and Writing XML in Java

#Java#XML

How to format LocalDate in Java

#Java

How to compare dates in Java

#Java

How to delete a file in Java

#Java

How to create a file in Java

#Java

How to get a file size in Java

#Java

How to split a string in Java

#Java

How to Read JSON from a File using Gson

#Java#JSON

How to Write JSON to a File using Gson

#Java#JSON

Pretty Print JSON Output using Gson

#Java#JSON

How to Read JSON from a File using Jackson

#Java#JSON#Jackson

How to Write JSON to a File using Jackson

#Java#JSON#Jackson

How to create a JSON Object using Jackson

#Java#JSON#Jackson

How to create a JSON array using Jackson

#Java#JSON#Jackson

Working with Tree Model Nodes in Jackson

#Java#JSON#Jackson

Convert Java Object to JsonNode using Jackson

#Java#JSON#Jackson

Pretty Print JsonNode to JSON String using Jackson

#Java#JSON#Jackson

Convert JSON String to JsonNode using Jackson

#Java#JSON#Jackson

Mapping a Dynamic JSON Object with Jackson

#Java#JSON#Jackson

Ignoring unknown JSON properties with Jackson

#Java#JSON#Jackson

Pretty Print JSON Output using Jackson

#Java#JSON#Jackson

How to Ignore Null Fields with Jackson

#Java#JSON#Jackson

Convert JSON String to and from Map using Jackson

#Java#JSON#Jackson

Convert Java Object to and from JSON using Jackson

#Java#JSON#Jackson

How to read and write JSON using Jackson in Java

#Java#JSON#Jackson

Spring Boot RestTemplate Error Handling

#Spring Boot

Reading and Writing JSON Files in Java

#Java#JSON#Jackson

Spring Data JPA Auditing using Spring Boot and MySQL

#MySQL#Spring Boot#Spring Data JPA

Dynamic Queries with Spring Data JPA Specifications

#Spring Boot#Spring Data JPA

Introduction to Spring Data JPA Repositories

#Spring Data JPA

Spring Data JPA Composite Primary Key Mapping Example

#Spring Boot#Spring Data JPA

Spring Data JPA Many To Many Relationship Mapping Example

#MySQL#Spring Boot#Spring Data JPA

Spring Data JPA One To Many Relationship Mapping Example

#MySQL#Spring Boot#Spring Data JPA

Spring Data JPA One To One Relationship Mapping Example

#MySQL#Spring Boot#Spring Data JPA

Pagination with Spring Data JPA

#Spring Boot#Spring Data JPA

Sorting Query Results with Spring Data JPA

#Spring Boot#Spring Data JPA

How to Use Spring Data JPA Named Queries

#Spring Boot#Spring Data JPA

Spring Data JPA Custom Queries using @Query Annotation

#Spring Boot#Spring Data JPA

Derived Query Methods in Spring Data JPA

#Spring Boot#Spring Data JPA

Accessing Data with Spring Data JPA and MySQL

#MySQL#Spring Boot#Spring Data JPA

Spring Data JPA with H2 DataBase and Spring Boot

#Spring Boot#Spring Data JPA

Getting Started with Spring Data JPA

#Spring Boot#Spring Data JPA

How to Install Node.js and NPM on Ubuntu 18.04

#NPM#Node.js#Ubuntu#DevOps

How to read cookies in Spring Boot

#Spring Boot

Express File Upload with Multer in Node.js

#Node.js#Express.js

How to install Gradle on Ubuntu 18.04

#Ubuntu#DevOps#Gradle

How to install Java on Ubuntu 18.04

#Java#Ubuntu#DevOps

How to Increase Tomcat Default Memory Size

#Java#DevOps

RestTemplate Basic Authentication Example

#Spring Boot

The for...in loop in JavaScript

#JavaScript

How to sort a Map in Java

#Java

How to Install MongoDB on Ubuntu 18.04

#Ubuntu#DevOps#MongoDB

How to Create a Sudo User on Ubuntu 18.04

#Ubuntu#DevOps

How to Add and Delete Users on Ubuntu 18.04

#Ubuntu#DevOps

Reading and Writing Files in Node.js

#Node.js

How to Schedule Tasks in Spring Boot

#Java#Spring Boot

Introduction to JavaScript URL Object

#JavaScript

How to get current year in Thymeleaf

#Thymeleaf

How to upload a file with Ajax in Spring Boot

#Spring Boot#Ajax

Making HTTP Requests using RestTemplate in Spring Boot

#Spring Boot#Spring Web

Understanding JSON.parse() and JSON.stringify()

#JSON#JavaScript

Introduction to Maps in JavaScript

#JavaScript

Introduction to Sets in JavaScript

#JavaScript

How to use async/await in JavaScript

#JavaScript

How to use the Fetch API in JavaScript

#JavaScript

How to use Promise.all() in JavaScript

#JavaScript

Introduction to Promises in JavaScript

#JavaScript

4 ways to reverse a string in JavaScript

#JavaScript

How to use cookies in Spring Boot

#Spring Boot

How to change the default Java version on Ubuntu

#Java#Ubuntu#DevOps

Serving Static Resources in Express

#Node.js#Express.js

How to Make HTTP Requests using Axios in Node.js

#Node.js#JavaScript

How to upload files in Node.js and Express

#Node.js#Express.js

Upgrade Ubuntu 18.10 to 19.04 Disco Dingo

#Ubuntu#DevOps

Export & Download Data as CSV File in Spring Boot

#Java#CSV#Spring Boot

Add Deep Anchor Links to Your Blog using JavaScript

#JavaScript#jQuery

Uploading and downloading files using Spring Boot REST API

#Spring Boot#Thymeleaf#RESTful

Parsing XML Response in Spring Boot

#Spring Boot#RESTful#XML

Accepting credit card payments with Stripe in Spring Boot

#Spring Boot#Thymeleaf#RESTful

Data Type Conversions in Java

#Java

Spring Boot Console Application

#Spring Boot

Processing JSON Data in Spring Boot

#Spring Boot#JSON#Jackson

Export PostgreSQL Table Data as JSON

#PostgresSQL#JSON

Spring Boot Thymeleaf Pagination

#Spring Boot#Thymeleaf

Sending Emails using Amazon SES in Node.js

#Node.js#Amazon Web Services

7 Ways to Make HTTP Requests in Node.js

#Node.js#Express.js

Upgrade Debian 8 Jessie to Debian 9 Stretch

#Debian#DevOps

Setup White-Label Name Servers using AWS Route 53

#Amazon Web Services

Serverless Application with Express.js using AWS Lambda and Claudia.js

#Express.js#Amazon Web Services

How to smooth scroll to a page section with jQuery

#JavaScript#jQuery

How to use Amazon SES to send transactional emails in Spring Boot

#Spring Boot#Amazon Web Services

✨ Learn to build modern web applications using JavaScript and Spring Boot

I started this blog as a place to share everything I have learned in the last decade. I write about modern JavaScript, Node.js, Spring Boot, core Java, RESTful APIs, and all things web development.

The newsletter is sent every week and includes early access to clear, concise, and easy-to-follow tutorials, and other stuff I think you'd enjoy! No spam ever, unsubscribe at any time.