Tools

There are many moving parts when building professional web applications. These tools are here to help.

COURSES 17

WATCH Taylor Bell's COURSE

Build a Blog with React and Markdown using Gatsby

Build a Blog with React and Markdown using Gatsby

A large part of a software developer’s time is spent searching the internet for answers to a never-ending stream of questions. ...

8 lessons

WATCH Will Button's COURSE

Introduction to the Python 3 Programming Language

Introduction to the Python 3 Programming Language

In Introduction to Python, we will start at the beginning: Installing python 3 and using virtual environments. With a working e...

28 lessons

WATCH Hannah Davis's COURSE

Introductory Machine Learning Algorithms in Python with scikit-learn

Introductory Machine Learning Algorithms in Python with scikit-learn

Artificial intelligence. Machine learning. Bots. Computers learning and communicating with us to do our bidding. But, where do ...

7 lessons

WATCH Brett Cassette's COURSE

Understand Joins and Unions in Postgres

Understand Joins and Unions in Postgres

You know the basics of Postgres, but most meaningful queries will require you to combine tables in novel ways to ask questions ...

8 lessons

WATCH Will Button's COURSE

Get Started with Elasticsearch

Get Started with Elasticsearch

In this course, you will learn the basics of using Elasticsearch within your application. You will learn how to store and retri...

20 lessons

WATCH Bonnie Eisenman's COURSE

Wrangle your terminal with tmux

Wrangle your terminal with tmux

Learn to manage your terminal sessions and work more effectively from the command line using tmux. If you use the command line ...

11 lessons

WATCH Pete Johanson's COURSE

Understand the Basics of HTTP

Understand the Basics of HTTP

In this course, we will learn the fundamentals of the Hypertext Transport Protocol (HTTP) by exploring several popular HTTP API...

12 lessons

WATCH Elijah Manor's COURSE

How to Use npm Scripts as Your Build Tool

How to Use npm Scripts as Your Build Tool

In this course we will introduce the topic of using npm scripts as a build tool. We will start simple and then continue to buil...

21 lessons

WATCH Bonnie Eisenman's COURSE

Use Grep for Fast Search from the Command Line

Use Grep for Fast Search from the Command Line

CMD+F in your text editor can only get you so far! In this course, we will learn to use grep and find, two powerful command-lin...

13 lessons

WATCH mykola bilokonsky's COURSE

Debug JavaScript in Chrome with DevTool Sources

Debug JavaScript in Chrome with DevTool Sources

This course examines the Sources panel in the Chrome DevTools, which allows you to see what files are responsible for the vario...

5 lessons

WATCH mykola bilokonsky's COURSE

Deploy Web Apps with Zeit Now

Deploy Web Apps with Zeit Now

Zeit’s mission statement is to ‘Make Cloud computing as easy and accessible as Mobile computing.’ To that end, they’ve released...

8 lessons

WATCH John Lindquist's COURSE

Record Badass Screencasts for egghead.io

Record Badass Screencasts for egghead.io

This is the video companion to the egghead.io Instructor Guide. Screencasting is hard! There are virtually infinite ways to pr...

10 lessons

WATCH mykola bilokonsky's COURSE

Debug the DOM in Chrome with the Devtools Elements Panel

Debug the DOM in Chrome with the Devtools Elements Panel

In this course we’ll take a deep look at the Elements panel in the chrome devtools. We’ll step through each button and tab on t...

7 lessons

WATCH mykola bilokonsky's COURSE

Debug HTTP with Chrome DevTools Network Panel

Debug HTTP with Chrome DevTools Network Panel

This course will examine the Network panel in Chrome DevTools. We’ll step through the request log, examining the various proper...

6 lessons

WATCH Trevor Miller's COURSE

Practical Git for Everyday Professional Use

Practical Git for Everyday Professional Use

As modern web developers, we are likely to use git on a daily basis. It's a wonderful distributed version control system, and w...

22 lessons

WATCH Marcy Sutton's COURSE

Start Building Accessible Web Applications Today

Start Building Accessible Web Applications Today

Accessibility (or a11y) is an important but often neglected in the world of web development. Many developers find themselves co...

15 lessons

WATCH Mike Hartington's COURSE

Learn to Use VIM

Learn to Use VIM

Vim is a classic text editor that saw its first incarnation in 1976. Used around the world across most platforms, the ability t...

10 lessons

Use Sublime Text Snippets to Avoid Repetitive Typing

Speed up your Sublime Text workflow by creating snippets out of boilerplate code. Sublime Text snippets are smart, configurable, and prevent repetitive typing.

Yoni Weisbrod
1:35

Create Automated .gitignore Files for Your Project

This lesson explores what git ignore files are and automating the creation of git ignore files. The methods covered in this lesson for creating git ignore files are : Manual Method Using Github ...

Akash Gutha
2:38

Use Yarn to Create an Alternative Import Name of an Installed Library

In this lesson we'll show how to use yarn to alias the names of same npm libraries but install different versions. This could allow for easy migrating from one library version to an upgraded version.

Jason Brown
3:04

Fix Only Committed Files with Prettier and lint-staged

In this lesson we'll use prettier and lint-staged to run prettier only on files that have been changed and committed to git. This will allow you to prettify files as you change them, and prevent ma...

Jason Brown
2:07

Create a VSCode Snippet with Tab Stops and Named Variables

In this lesson we'll create a VSCode snippet for quickly reusing code. We'll show how to setup tab stops orders to move the cursor in a specific order when tab is pressed. Then we'll show how to cr...

Jason Brown
4:26

Use licensee.js to Check Dependencies for Accepted Library Licenses

In this lesson we'll use licensee.js to see how to configure accepted license types for our project. We'll also explore how to use whitelist overrides to allow specific libraries that may not match...

Jason Brown
3:38

Deploy a GraphQL dev playground with graphql-up

In this lesson we'll use a simple GraphQL IDL schema to deploy and explore a fully functional GraphQL service in minutes with graphql-up.

Joe Maddalone
5:51

Use git add --patch for better commit history and mitigating bugs

Let's split our changes into separate commits. We'll be able to check over our changes before staging them all from the terminal. Then, we'll see the positive effect it has on our commit history.

Rory Smith
1:49

Set up egghead audio gear to record lessons

Good audio starts with quality gear. You can definitely record screencasts using the built-in microphone on your laptop, but we've found that our users want to have consistent high-quality audio. ...

Trevor Miller
1:41

Review final screencast result

Our lesson has been planned, recorded, and edited. It’s ready to be uploaded to egghead.io! Victory dance. Let’s see how it all turned out.

Trevor Miller
1:23

Edit a screencast for publication

“We’ll just do it in post!” This is always a phrase to be uttered with caution, but armed with just a couple of handy tools, we can to a lot of magic in post production even if we aren’t Hollywood...

Trevor Miller
3:00

Prepare the computer desktop for screencast recording

For accessibility and quality, we capture our screens with maximum code and minimal distractions. Armed with a couple of tools and techniques we can create a desktop that focuses on the lessons. Th...

Trevor Miller
3:05

FEATURED TOOLS PLAYLISTS

Browse all Tools lessons.

showing All 228 lessons...

Manage packages with pip in Python

P

Use Python Classes

P

Create Reusable Components with Functions in Python

P

Reuse Code in Multiple Projects with Python Modules

P

Handle Exceptions to prevent crashes in Python

P

Understand Scope in Python

P

Invoke the built-in help system with python's dir and help methods

P

Write to a File in Python

P

Read and Parse Files in Python

P

Format Strings in Python

P

Use Lists in Python

P

Understand List Comprehensions in Python

P

Create Unique Unordered Collections in Python with Set

P

Read Input in Python from the Console

P

Add Flow Control to your Python application

P

Create Immutable Values in Python with Tuples

P

Create a Log for your Python application

P

Use Python Interactively with the REPL Console

P

Manipulate Data with Dictionaries in Python

P

Use Comparison Operators in Python

P

Execute a Python Script

P

Slice Lists in Python

P

Manipulate and Search Strings with Python Methods

P

Perform Math Operations in Python

P

Understand Mutable vs. Immutable objects in Python

P

Manage Dependencies with Python Virtual Environments

Check for None (Null) in Python

P

Install Python

Use Git Flow as a Reliable Version Control Model

P

Pin Down NPM Package Versions with Yarn.lock

P

Use Sublime Text Snippets to Avoid Repetitive Typing

P

Create Automated .gitignore Files for Your Project

P

Accessibility testing with axe-cli

P

Edit with Ripple Delete

Record One Thought at a Time

Prepare to Record - Screen Resolution and Mic Check

Guide Their Eyes

Stay on Topic

Avoid Intros and Outros

Remove Distractions

Show First, then Maybe Explain

Teach Step-by-Step

Pick a Lesson Title

Use Yarn to Create an Alternative Import Name of an Installed Library

P

Fix Only Committed Files with Prettier and lint-staged

P

Create a VSCode Snippet with Tab Stops and Named Variables

P

Create Circles and Rects in the SVG DOM

Use licensee.js to Check Dependencies for Accepted Library Licenses

P

Create Polygons and Polylines in the SVG DOM

Deploy a GraphQL dev playground with graphql-up

P
python tutorial about Manage packages with pip in Python

Manage packages with pip in Python

4:52 python PRO

Why should you have to write all the code? Why can’t you leverage code written by others? I’ve got great news: you can. You’ll learn how to search pip, Python’s package installer, to find and install packages to add new features and functionality to your application.

python tutorial about Use Python Classes

Use Python Classes

7:36 python PRO

Object oriented classes work much like classes in other languages. Learn how to create them and use them, learn the difference between class variables and instance variables, creating class methods, and learn how to create classes that inherit from other classes.

python tutorial about Create Reusable Components with Functions in Python

Create Reusable Components with Functions in Python

5:36 python PRO

Functions allow you to encapsulate your code into a reusable component. Learn how to create functions, add arguments to your functions, assign default values to arguments, and use keyword arguments.

python tutorial about Reuse Code in Multiple Projects with Python Modules

Reuse Code in Multiple Projects with Python Modules

5:28 python PRO

A module is a function extracted to a file. This allows you to import the function and use it in any other code you may write. You’ll learn how to create modules, import them, and make them stand-alone as you learn what if __name__ == “__main__” means in Python.

python tutorial about Handle Exceptions to prevent crashes in Python

Handle Exceptions to prevent crashes in Python

5:16 python PRO

Exceptions cause your application to crash. Handling them allows you to recover gracefully and keep your application running. Learn how to handle exceptions, find what exceptions you should be handling, and exit gracefully in this lesson. You will also learn how you should not handle exceptions and when it is better to let your application crash rather than swallowing an exception.

python tutorial about Understand Scope in Python

Understand Scope in Python

5:59 python PRO

Misunderstanding scope can cause problems in your application. Watch this lesson to learn how Python scope works and the hidden implications it presents. Local scope, nonlocal scope, and global scope variables are demonstrated and explained.

python tutorial about Invoke the built-in help system with python's dir and help methods

Invoke the built-in help system with python's dir and help methods

1:26 python PRO

Dir and help are two must-know functions in Python. Dir will provide us with a list of methods available on the object of interest while help will inspect a specific method we would like to use.

Learning about them in this lesson will help you understand what functions and methods are available for use as well has how to use them.

python tutorial about Write to a File in Python

Write to a File in Python

4:01 python PRO

This lesson will teach you how to write to an external file in Python, either by replacing the file completely or appending to an existing file.

python tutorial about Read and Parse Files in Python

Read and Parse Files in Python

4:50 python PRO

This lesson will teach you how to read the contents of an external file from Python. You will also learn how to use the python csv module to read and parse csv data, as well as the json module to read and parse json data.

python tutorial about Format Strings in Python

Format Strings in Python

2:01 python PRO

Single quotes and double quotes can both be used to declare strings in Python. You can even use triple-double quotes! Learn when to use each in this lesson as well as variable substitution in strings.

python tutorial about Use Lists in Python

Use Lists in Python

1:52 python PRO

You may already be familiar with arrays. In Python, they are known as lists. Learn how to create, append, remove, sort, and reverse lists in this lesson.

python tutorial about Understand List Comprehensions in Python

Understand List Comprehensions in Python

3:50 python PRO

List comprehensions provide a concise way to create new lists, where each item is the result of an operation applied to each member of an existing list, dictionary or other iterable. Learn how to create your own list comprehensions in this lesson.

python tutorial about Create Unique Unordered Collections in Python with Set

Create Unique Unordered Collections in Python with Set

1:38 python PRO

A set is an unordered collection with no duplicate items in Python. In this lesson, you will learn how to create them, and perform basic operations to determine members in the set and compare the values from different sets.

python tutorial about Read Input in Python from the Console

Read Input in Python from the Console

3:17 python PRO

Getting input from the user via a console command can be done with input in Python. Learn how to implement it and validate user input in this lesson.

python tutorial about Add Flow Control to your Python application

Add Flow Control to your Python application

5:37 python PRO

Learn how to control the flow of your python application using for, if, while, and range.

python tutorial about Create Immutable Values in Python with Tuples

Create Immutable Values in Python with Tuples

1:17 python PRO

The tuple is a new data structure to Python, and is an immutable sequence of values separated by commas. Learn how to create them in this lesson.

python tutorial about Create a Log for your Python application

Create a Log for your Python application

7:51 python PRO

Print statements will get you a long way in monitoring the behavior of your application, but logging will get your further. Learn how to implement logging in this lesson to generate INFO, WARNING, ERROR, and DEBUG logs for your application.

python tutorial about Use Python Interactively with the REPL Console

Use Python Interactively with the REPL Console

1:48 python PRO

Python includes an interactive REPL (Read - Evaluate - Print - Loop) console that allows you to easily test and interact with the Python interpreter. You will learn how to use it in this lesson to quickly write and execute code.

python tutorial about Manipulate Data with Dictionaries in Python

Manipulate Data with Dictionaries in Python

1:52 python PRO

Dictionaries may be familiar to you as hash maps. In this lesson, you will learn how to create them, get the values, and delete elements from the dictionary.

python tutorial about Use Comparison Operators in Python

Use Comparison Operators in Python

4:37 python PRO

Use comparison operators such as >, <, >=, <=, ==, and != to determine the next actions taken by your Python application. You will also learn how to identify if your object is a specific type, such as integer or string.

python tutorial about Execute a Python Script

Execute a Python Script

0:52 python PRO

Python scripts can be executed by passing the script name to the python command or created as executable commands that can run stand-alone. You’ll learn how to create both in this lesson.

python tutorial about Slice Lists in Python

Slice Lists in Python

1:17 python PRO

Slicing allows you to extract one or more values from a list. Learn how to accomplish this in Python in this lesson.

python tutorial about Manipulate and Search Strings with Python Methods

Manipulate and Search Strings with Python Methods

2:10 python PRO

Python has many methods for searching, joining, and otherwise manipulating strings. Learn which ones are available and how to use them in this lesson.

python tutorial about Perform Math Operations in Python

Perform Math Operations in Python

1:32 python PRO

This lesson will introduce arithmetic operations in Python. In addition to basic addition, subtraction, multiplication, and division, you will learn about the differences in division between Python 2 and Python 3.

python tutorial about Understand Mutable vs. Immutable objects in Python

Understand Mutable vs. Immutable objects in Python

1:18 python PRO

In this lesson, you will learn what mutable and immutable objects are, and the difference between them. This understanding will help you determine when objects can be modified in place, and when new objects must be created.

python tutorial about Manage Dependencies with Python Virtual Environments

Manage Dependencies with Python Virtual Environments

2:40 python

Virtual Environments ensure that dependencies from one Python application don’t overwrite the dependencies of another application. In this lesson, you will learn how to create a virtual environment, switch between virtual environments, and manage dependencies within a virtual environment.

python tutorial about Check for None (Null) in Python

Check for None (Null) in Python

0:56 python PRO

If you’ve used other programming languages, you may have learned that an empty object is not the same as an object that does not exist. In this lesson, you’ll learn how to check for None (or Null objects) in Python.

python tutorial about Install Python

Install Python

3:38 python

In this lesson you will learn how to install Python. If you use OS X or Linux, you already have Python 2 installed. I will show you how to install Python 3 on OS X, Linux, and Windows.

git tutorial about Use Git Flow as a Reliable Version Control Model

Use Git Flow as a Reliable Version Control Model

5:01 git PRO

A reliable version control and source code tracking process is important for delivering apps with consistency and reliability. In this lesson, we will learn aspects of the Git Flow branching model which provide standards for developing and deploying apps with Git. We will walk through the methodologies of this well-known branching model, how to work with it from develop through to staging environments, and versioning your source code properly for production.

npm tutorial about Pin Down NPM Package Versions with Yarn.lock

Pin Down NPM Package Versions with Yarn.lock

1:14 npm PRO

npm shrinkwrap > npm install > npm shrinkwrap is not guaranteed to produce the same output as just shrinkwrapping once, whereas Yarn explicitly uses "an install algorithm that is deterministic and reliable". We’ll learn how to generate a yarn.lock file and commit it to version control to ensure a deterministic and reliable module install process.

javascript tutorial about Use Sublime Text Snippets to Avoid Repetitive Typing

Use Sublime Text Snippets to Avoid Repetitive Typing

1:35 javascript PRO

Speed up your Sublime Text workflow by creating snippets out of boilerplate code. Sublime Text snippets are smart, configurable, and prevent repetitive typing.

git tutorial about Create Automated .gitignore Files for Your Project

Create Automated .gitignore Files for Your Project

2:38 git PRO

This lesson explores what git ignore files are and automating the creation of git ignore files.

The methods covered in this lesson for creating git ignore files are :

  1. Manual Method
  2. Using Github Site
  3. using an IDE
  4. using Gitignore.io
aria tutorial about Accessibility testing with axe-cli

Accessibility testing with axe-cli

3:49 aria PRO

Testing for accessibility is easy with automated tools like axe-cli. This command-line tool utilizes the open source axe-core JavaScript library to run an audit on any webpage you give it, returning a set of JSON results you can use in your continuous integration environment or regular development workflow.

egghead tutorial about Edit with Ripple Delete

Edit with Ripple Delete

1:51 egghead

Editing a raw lesson video is a very simple process. You simply watch your own lesson and edit out all the bad takes and dead space using the "Ripple Delete" command. You will be left with a nice, cut lesson ready to export and upload.

egghead tutorial about Record One Thought at a Time

Record One Thought at a Time

2:17 egghead

Recording can be intimidating, so it's best to just hit the record button and start talking. Take it one thought at a time. Sit quietly, think about what you're going to say/type, then do it. If you mess, up, undo back to when you were quiet and try again. Once you get a good take, move on to the next thought. The ideal raw recording is a ton of bad takes and one good take for each thought. So when you get to the editing phase, you quickly clear out the bad takes and leave the good ones.

egghead tutorial about Prepare to Record - Screen Resolution and Mic Check

Prepare to Record - Screen Resolution and Mic Check

1:03 egghead

Forgetting to change your resolution or setting up your mic will result in an unusable lesson. So please, please, please, set your resolution to 1280x720 (HiDPI), set your mic input to "Onyx Blackjack", and confirm that your mic loud enough (it helps to put your mouth as close to the mic as possible).

egghead tutorial about Guide Their Eyes

Guide Their Eyes

1:10 egghead

Video is a one-way form of communication, so user's don't have the chance to ask you to clarify or ask "Where does X fit in?" This places the burden on you to guide their eyes as you explain how all the little pieces of the code fit together. When your application has a "flow", "X triggers Y, Y triggers Z", make sure to "show the flow" by walking them through where each chunk of code fits. This involves a lot of mouse movement (or fancy keyboard selection shortcuts) and hightlighting to bring it all together.

egghead tutorial about Stay on Topic

Stay on Topic

0:56 egghead

Tangents are opportunities for other lessons. When you find yourself drifting off-topic because you feel you need to explain some code you wrote, consider how that piece of code fits back into a "How do I?" question, then come up with a separate lesson to capture it.

egghead tutorial about Avoid Intros and Outros

Avoid Intros and Outros

0:56 egghead

Any information you would want to put into an Intro or Outro belongs in the accompanying description, title, course page, etc. The lesson is only for showing the process. Talking about yourself, the lesson, or other lessons is a waste of time.

egghead tutorial about Remove Distractions

Remove Distractions

1:45 egghead

Any extra information on the screen will easily distract the audience from the purpose of your lesson. Do your best to remove any extra notifications, UI, or other information that would take away from what you're teaching.

egghead tutorial about Show First, then Maybe Explain

Show First, then Maybe Explain

1:11 egghead

Code is usually pretty good at explaining itself. So it's best to just start writing code while you talking about it, then see if any additional explanation is required. When you fall into the trap of a long-winded explanation before you begin coding, you risk confusing the audience or unnecessarily repeating yourself.

egghead tutorial about Teach Step-by-Step

Teach Step-by-Step

0:50 egghead

Teaching an egghead lesson should feel like walking the audience through a set of instructions. Do this, then that, move that, twist this, finally push that. The audience wants to see you putting the code together. Assembling your demo while they watch makes it feel much more real and achievable.

egghead tutorial about Pick a Lesson Title

Pick a Lesson Title

0:30 egghead

Before recording your first lesson, pick a title that accurately reflects what you plan on teaching. Use the "How do I..." trick to properly frame your lesson and title. "How do I dig a hole with a spoon?" would be answered with a lesson titled "Dig a Hole with a Spoon." Or "How do I eat a lobster with chopsticks?" would be answered with a lesson titled "Eat a Lobster with Chopsticks."

npm tutorial about Use Yarn to Create an Alternative Import Name of an Installed Library

Use Yarn to Create an Alternative Import Name of an Installed Library

3:04 npm PRO

In this lesson we'll show how to use yarn to alias the names of same npm libraries but install different versions. This could allow for easy migrating from one library version to an upgraded version.

javascript tutorial about Fix Only Committed Files with Prettier and lint-staged

Fix Only Committed Files with Prettier and lint-staged

2:07 javascript PRO

In this lesson we'll use prettier and lint-staged to run prettier only on files that have been changed and committed to git. This will allow you to prettify files as you change them, and prevent massive lint only git check ins.

javascript tutorial about Create a VSCode Snippet with Tab Stops and Named Variables

Create a VSCode Snippet with Tab Stops and Named Variables

4:26 javascript PRO

In this lesson we'll create a VSCode snippet for quickly reusing code. We'll show how to setup tab stops orders to move the cursor in a specific order when tab is pressed. Then we'll show how to create named variables with default values.

html tutorial about Create Circles and Rects in the SVG DOM

Create Circles and Rects in the SVG DOM

1:23 html

In this lesson we go over how to draw basic shapes in SVG using the coordinate system: circles, ellipses, squares and rectangles, and rounded rectangles.

npm tutorial about Use licensee.js to Check Dependencies for Accepted Library Licenses

Use licensee.js to Check Dependencies for Accepted Library Licenses

3:38 npm PRO

In this lesson we'll use licensee.js to see how to configure accepted license types for our project. We'll also explore how to use whitelist overrides to allow specific libraries that may not match our license configuration. We'll also setup an npm script to show a more visible exit code 1 failure.

html tutorial about Create Polygons and Polylines in the SVG DOM

Create Polygons and Polylines in the SVG DOM

0:59 html

In this lesson, we go over how to draw any polygon element, as well as how to convert it to a polyline

graphql tutorial about Deploy a GraphQL dev playground with graphql-up

Deploy a GraphQL dev playground with graphql-up

5:51 graphql PRO

In this lesson we'll use a simple GraphQL IDL schema to deploy and explore a fully functional GraphQL service in minutes with graphql-up.

HEY, QUICK QUESTION!
Joel's Head
Why are we asking?