Git has a lot of power under the hood. Learn about submodules in Git, including what they are, how they work, and why they're so useful.
Programming
Keyboard shortcuts help you work faster. Learn some of the most useful Visual Studio Code shortcuts for Windows, Linux and macOS.
APIs can easily become overcomplicated and slow. Learn how to develop a pipeline that's easy to expand later without obscuring the main flow.
Code playgrounds make it easy to experiment, share code, and show off your skills! Learn about seven of the best front-end code playgrounds.
Anyone for pair programming? What about getting help from AI? Learn how GitHub Copilot might be a game changer for web developers.
You've heard that you should avoid using global variables in Rust. But they can be useful for configuration or managing state in your app.
Working with large web apps often involves creating and parsing spreadsheets. Learn how to handle and parse these files using Python.
If you're a serious Ruby developer, you'll need an up-to-date version, possibly several. We cover the best Ruby version managers for macOS.
Even if you're a Git pro, there might be more Git tricks to discover. Learn about interactive rebase, one of Git's most powerful tools.
Trying to get started with Django? Learn how to build a full-stack web application with Django, Django Templates and Bootstrap.
NFTs are becoming popular for staking a claim on digital artworks. Learn what NFTs are and the other amazing things they can be used for.
Static, dynamic, strong, weak data types? Are you confused? Learn what these terms really mean, and which is best for you.
So much data is unstructured. Learn how natural language processing in Python can help you analyze a bunch of unstructured textual data.
Performing machine learning is fundamentally different from classic programming. Learn the basics of machine learning in this easy-to-follow introduction.
R is a programming language designed for data analysis and plotting. Learn the basic data types in R and the essentials of using RStudio.
Learn what a Boolean Data Type is, how it's used in programming, and see examples of boolean operators that'll help you understand logic.
Big data analysis is huge these days. Learn how to extract data from text files, CSV files and databases, and send that data to a web server.
MySQL 5.7+ InnoDB databases and PostgreSQL 9.2+ support JSON document types in a single field. We explore the MySQL 8.0 JSON implementation in more detail.
How can you run code without servers? Learn all about serverless functions, their pros and cons, and situations where you might want to use them.
Learn how to write a genetic algorithm, a procedure that solves problems using operations that emulate the natural processes involved in evolution.
New to asynchronous programming? Learn what it's about, how to use the async and await keywords, avoid deadlock pitfalls and refactor blocking C# code.
In this Rust tutorial, you'll set up your Rust dev environment and build a COVID simulation web app. We evaluate performance and compare Rust to JavaScript.
The SVG path element offers a range of curve effects, and in this article, Craig Buckler demonstrates how to draw cubic bézier curves.
The SVG path element offers a range of curve effects. In his first tutorial, Craig demonstrates how to draw quadratic bézier curves.
tickgit is a command-line tool and web application helping developers do project management in their code via TODO comments and other plain-text markers.
A step-by-step guide to manually installing the Apache Web Server on Windows, with links to further reading and resources.
Learn about Insphpect, a tool that scans your PHP code for object-oriented programming techniques that hinder code reusability and flexibility.
Learn GitHub CLI, a tool that enables you to use GitHub functionality alongside Git commands without having to leave the command-line interface.
Andrew McDermott offers some simple strategies web developers can use to attract the positions other developers want with minimal effort.
Andrew McDermott details the ways conscientious developers can be taken advantage of, and how they can combat this and make sure they're properly rewarded.