Web Development Tutorials & Protips

How to get a UTC timestamp in JavaScript

#JavaScript

How to add years to a date in JavaScript

#JavaScript

How to add hours to a date in JavaScript

#JavaScript

How to copy a file using Node.js

#Node.js

How to validate an email address in JavaScript

#Node.js#JavaScript

How to upsert a document in Mongoose

#Node.js#Mongoose#MongoDB

How to query documents with "like" statement in Mongoose

#Node.js#Mongoose#MongoDB

How to increment or decrement a number value in Mongoose

#Node.js#Mongoose#MongoDB

How to query for distinct values in Mongoose

#Node.js#Mongoose#MongoDB

How to query documents at a specific date in Mongoose

#Node.js#Mongoose#MongoDB

How to delete a field from a document in Mongoose

#Node.js#Mongoose#MongoDB

How to query documents where value is not null in Mongoose

#Node.js#Mongoose#MongoDB

How to push or pull item from an array in Mongoose

#Node.js#Mongoose#MongoDB

How to delete documents in Mongoose

#Node.js#Mongoose#MongoDB

How to update documents in Mongoose

#Node.js#Mongoose#MongoDB

How to find documents in Mongoose

#Node.js#Mongoose#MongoDB

Introduction to Mongoose Queries

#Node.js#Mongoose#MongoDB

Introduction to Mongoose Subdocuments

#Node.js#Mongoose#MongoDB

Introduction to Mongoose Documents

#Node.js#Mongoose#MongoDB

How to format a string in Java

#Java

How to download a file using Node.js

#Node.js

How to merge two maps in Java

#Java

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

How to connect with MongoDB using 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

How to clone an element using JavaScript

#JavaScript

How to access data in Thymeleaf templates

#Spring Boot#Thymeleaf

How to clone an object in JavaScript

#JavaScript

How to merge two objects in JavaScript

#JavaScript

How 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

The complete guide to JavaScript arrays

#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

How to set CSS styles using JavaScript

#JavaScript

Introduction to NodeList in JavaScript

#JavaScript

How to decode a URL using JavaScript

#JavaScript

How to encode a URL using JavaScript

#JavaScript

How to use for...of loop in JavaScript

#JavaScript

Spring Boot Optional Path Variables

#Spring Boot

How to display 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

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

How to upload and parse a 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

How to read and write XML using Java

#Java#XML

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

Convert Java Object to JSON 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

Convert JSON string to JsonNode using Jackson

#Java#JSON#Jackson

How to map a dynamic JSON object with Jackson

#Java#JSON#Jackson

How to ignore unknown JSON properties with Jackson

#Java#JSON#Jackson

How to pretty print JSON using Jackson in Java

#Java#JSON#Jackson

How to Ignore Null Fields with Jackson in Java

#Java#JSON#Jackson

Convert JSON String to Map using Jackson

#Java#JSON#Jackson

Convert JSON array to a list using Jackson in Java

#Java#JSON#Jackson

Convert Java Object to 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

How to read and write 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

How to use 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

How to Schedule Tasks in Spring Boot

#Java#Spring Boot

How to use the URL Object in JavaScript

#JavaScript

How to get current year in Thymeleaf

#Thymeleaf

How to upload a file with Ajax in Spring Boot

#Spring Boot#Ajax

How to get DOM elements using JavaScript

#JavaScript

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

#JSON#JavaScript

Introduction to Map object in JavaScript

#JavaScript

Introduction to Set object in JavaScript

#JavaScript

How to use async/await in JavaScript

#JavaScript

How to use Promise.all() in JavaScript

#JavaScript

Introduction to Promises in JavaScript

#JavaScript

How to reverse a string in JavaScript

#JavaScript

How to change the default Java version on Ubuntu

#Java#Ubuntu#DevOps

How to serve 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

Add Deep Anchor Links to Your Blog using JavaScript

#JavaScript#jQuery

Upload and download files using Spring Boot REST API

#Spring Boot#Thymeleaf#RESTful

How to parse XML response in Spring Boot

#Spring Boot#RESTful#XML

Accepting credit card payments with Stripe in Spring Boot

#Spring Boot#Thymeleaf#RESTful

How to parse JSON data in Spring Boot

#Spring Boot#JSON#Jackson

How to export PostgreSQL table data as JSON

#PostgresSQL#JSON

Spring Boot Thymeleaf Pagination

#Spring Boot#Thymeleaf

How to send emails using Amazon SES in Node.js

#Node.js#Amazon Web Services

How 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

#Node.js#Express.js#Amazon Web Services

How to smooth scroll to a page section with jQuery

#JavaScript#jQuery

How to send emails using Amazon SES 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.