An Introduction to Client-side JavaScript
Learn the fundamentals of client-side JavaScript for DOM manipulation, including creating and modifying HTML elements programmatically.
TannerDolby.com is a personal blog by Tanner Dolby, a software engineer and mathematician who writes about modern web development and programming fundamentals. His articles explore topics such as JavaScript, Node.js, Eleventy, Sass, TypeScript, Python, and C++, offering clear, example-driven explanations of core concepts and real-world workflows. The blog covers everything from client-side rendering and DOM manipulation to creating custom Eleventy collections, setting up Node.js servers, and solving algorithmic challenges in different languages. Tanner also dives into accessibility, performance optimization, open-source collaboration with Git, and static site design, focusing on writing code that is both efficient and easy to understand. Each post is concise, practical, and written to help developers at all levels strengthen their problem-solving skills and coding foundations.
21 articles from this blog
Learn the fundamentals of client-side JavaScript for DOM manipulation, including creating and modifying HTML elements programmatically.
A guide to replacing deprecated Sass @import with @use rules and using index files for cleaner, more efficient stylesheet organization.
Learn to build a basic HTTP server in Node.js using the built-in http module, covering server setup, request handling, and async callbacks.
Explores algorithms for generating Fibonacci numbers, from a naive recursive approach to optimized dynamic programming and iterative solutions.
A guide to solving the diagonal difference and sum problems for square matrices, with code examples in Java.
Explains how to search for a value in a Binary Search Tree (BST) using iterative and recursive approaches, covering time/space complexity.
A developer explains how a CSS transform-style rule broke nested links on their website and shares the debugging process and fix.
Explains how to calculate the size of a fixed-size array in C++ using the sizeof operator and demonstrates its use in a loop.
Explains why to avoid TypeScript's 'any' type and offers better alternatives like type inference, interfaces, and generics for type safety.
Learn how to use Eleventy's global data files to generate page content by iterating over JSON data, eliminating repetitive HTML coding.
Explains Python operator precedence using the PEMDAS rule, covering how expressions are evaluated and how parentheses affect order.
Explains Python floating-point rounding issues and compares the round() function with the decimal module for precision.
Learn how to fetch a remote feature branch from a GitHub pull request to review changes locally using specific git commands.
Learn how to use modules in Node.js to organize code into separate files, export functionality, and create a modular application structure.
Learn how to remove duplicate values from arrays in JavaScript using Sets and the filter method with indexOf.
A guide to building a blog template using Angular, Node.js, and the GitHub API, with deployment on Netlify.
A guide on using Git and GitHub workflows for contributing to open-source projects, covering forking, cloning, and syncing repositories.
A tutorial on adding client-side search to a static website using custom data attributes and JavaScript to filter blog posts.
A guide on converting arrays of key-value strings into JavaScript objects, using Advent of Code passport data as a practical example.
Learn how to create custom collections in Eleventy to organize and display blog posts more efficiently without repetitive tagging.