Paul Everitt

Paul Everitt

Python and Web Developer Advocate at JetBrains

Paul is a Developer Advocate at JetBrains, focusing on Python and the Web. Before that, Paul was a co-founder of Zope Corporation, taking the first open source application server through $14M of funding. Paul has bootstrapped both the Python Software Foundation and the Plone Foundation. Prior to that, Paul was an officer in the US Navy, starting www.navy.mil in 1993.

Better 11ty Development with Tooling

tutorial

Better 11ty Development with Tooling
Getting a component-driven development experience that fits nicely into the 11ty zen.
DOM Testing with Happy DOM and Testing Library

Part of tutorial

DOM Testing with Happy DOM and Testing Library
Better-faster testing of rendered pages using a DOM library and accessibility-oriented assertions.
Layouts

Part of tutorial

Layouts
Shared wrapper templates using TSX and components.
Components With Props

Part of tutorial

Components With Props
Faster, smoother development and reusability with components and props.
Get 11ty 3.0 and ESM

Part of tutorial

Get 11ty 3.0 and ESM
Smallest step into an 11ty setup.
Switch to TypeScript

Part of tutorial

Switch to TypeScript
Develop 11ty sites with assistance from TypeScript typing.
11ty Views

Part of tutorial

11ty Views
Interfacing the 11ty system and components.
Testing with Vitest

Part of tutorial

Testing with Vitest
Develop with calm and joy through component testing.
Templating in TSX

Part of tutorial

Templating in TSX
Use TSX (JSX in TypeScript) to generate HTML.
Local and Fast AI comes to your developer workflow - Full Line Code Completion

YouTube

Local and Fast AI comes to your developer workflow - Full Line Code Completion
Full line code completion is available for Java, Kotlin, Python, JavaScript, TypeScript, CSS, PHP, Go, and Ruby.
Debug Like a Pro: JavaScript Edition

article

Debug Like a Pro: JavaScript Edition
Reach for the debugger first when learning about code, poking around, or fixing problems.
Productive pytest with PyCharm

YouTube

Productive pytest with PyCharm
Testing is a major part of Python development and pytest has become the leading testing framework. Brian Okken, author of the recent book Python Testing with pytest and host of the Test and Code podcast, helps you “level up” your pytest skill.
It's Not Just Node.js Anymore

YouTube

It's Not Just Node.js Anymore
James M Snell
Angular 13

YouTube

Angular 13
Aaron Frost
Documenting the Web Platform

YouTube

Documenting the Web Platform
Florian Scholz
Monorepos: Any Size Fits All

YouTube

Monorepos: Any Size Fits All
Altan Stalker
TC39 Demystified

YouTube

TC39 Demystified
Ujjwal Sharma
What’s New in Angular v15

YouTube

What’s New in Angular v15
Minko Gechev
The World Beyond Components

YouTube

The World Beyond Components
Ryan Carniato
I Would Never Use an ORM

YouTube

I Would Never Use an ORM
Matteo Collina
Nuxt 3 – More Than Vue 3 on Steroids
Remote Development

channel

Remote Development
Learn the ins and outs of remote development: virtualization, containers, dev containers, and cloud.
Resolve Conflicts

tip

Resolve Conflicts
Let the IDE help in the tricky business of resolving merge conflicts.
Move Work Aside With Stash

tip

Move Work Aside With Stash
Use git's stash to move uncommitted work aside temporarily.
Move Work Aside With Shelve

tip

Move Work Aside With Shelve
Move uncommitted work aside when you need to work on another branch.
Rebase Feature Branch

tip

Rebase Feature Branch
Get your feature branch caught up with changes on the main branch.
Compare With Branch

tip

Compare With Branch
See the changes in another branch's commits.
See Unsynced Commits

tip

See Unsynced Commits
See what's happening on that other branch.
Browse Branch's Commits

tip

Browse Branch's Commits
Review the changes in main before bringing them to your branch.
See VCS Changed Lines In Gutter

tip

See VCS Changed Lines In Gutter
Quickly spot which parts of your file have changed since the last commit.
Only Commit Some Changes

tip

Only Commit Some Changes
Unselect files or changed regions within files during the commit process.
Fix Your Work with Amend Commit

tip

Fix Your Work with Amend Commit
Put some missing work back into your last commit, before you push.
JavaScript Day 2022

playlist

JavaScript Day 2022
JetBrains JavaScript Day 2022 is a free virtual event that took place on November 10, 2022.
Use Local History to Avoid Disaster

tip

Use Local History to Avoid Disaster
Use the IDE's built-in history facility to recover changes when VCS can't help you.
Undo Last Commit

tip

Undo Last Commit
Undo a commit... without misery.
Undo Last Commit

tip

Undo Last Commit
Undo a commit...without misery.
Undo Last Commit

tip

Undo Last Commit
Undo a commit...without misery.
Undo Last Commit

tip

Undo Last Commit
Undo a commit...without misery.
Edit Commit Message

tip

Edit Commit Message
Edit the wording in your last commit message, after you committed.
Undo Last Commit

tip

Undo Last Commit
Undo a commit...without misery.
JavaScript Day 2021

playlist

JavaScript Day 2021
JetBrains JavaScript Day 2021 is a free virtual event that took place on October 14, 2021.
React, TypeScript, and TDD

tutorial

React, TypeScript, and TDD
How to write React applications in TypeScript using TDD, highlighting features of the IDE
Debugging TSX With Chrome

Part of tutorial

Debugging TSX With Chrome
Sometimes you need to debug in the browser. Use the IDE to remote control Chrome during debugging.
Project Cleanup

Part of tutorial

Project Cleanup
Clean out some unneeded code from the default app, tweak some configuration in the IDE, and tour a few more features.
Debugging During Testing With NodeJS

Part of tutorial

Debugging During Testing With NodeJS
Use the visual debugger in the IDE for smarter TDD.
Class Components With Props

Part of tutorial

Class Components With Props
Make a simple class component with a single prop, again with a TypeScript interface describing the props.
Presentation and Container Components

Part of tutorial

Presentation and Container Components
Follow the React pattern of container/presentation components by refactoring the code and tests.
Project Setup

Part of tutorial

Project Setup
Create a React+TypeScript project with the create-react-app scaffolding tool.
Testing

Part of tutorial

Testing
Test-first development with Jest in the IDE.
TSX and ES6

Part of tutorial

TSX and ES6
Using React and TypeScript means good JSX and ES6+ support in the IDE. This section shows some useful features from both.
Rich Events and Testing

Part of tutorial

Rich Events and Testing
Add event handling to a stateful class component by first writing tests during development.
Class Components With State

Part of tutorial

Class Components With State
Make a very simple class component with local counter state, then make a type definition for that state.
Static Sites With Sphinx and Markdown

tutorial

Static Sites With Sphinx and Markdown
Sphinx is great for docs. But it's also great for information-rich websites. With MyST, you can use Markdown with Sphinx.
Advanced Usage

Part of tutorial

Advanced Usage
MyST has a lot more to offer than just Markdown-in-Sphinx.
Customizing Your Site

Part of tutorial

Customizing Your Site
Adjust Sphinx knobs using the configuration file.
Making a New Site Design

Part of tutorial

Making a New Site Design
Let's change the look on the website with custom templates.
Simple Markdown in Sphinx

Part of tutorial

Simple Markdown in Sphinx
Markdown is a simple formatting language. Let's see it in use in Sphinx.
Documenting Code

Part of tutorial

Documenting Code
Pages which include source code, either directly or linking to modules.
Linking Between Sites with Intersphinx

Part of tutorial

Linking Between Sites with Intersphinx
Rich structure and linking, between sites.
Linking

Part of tutorial

Linking
Sphinx turns links into structure, which turns out to be very valuable.
More Authoring

Part of tutorial

More Authoring
Simple Markdown stuff is cool. The cool Markdown stuff is double cool.
Sphinx Setup

Part of tutorial

Sphinx Setup
Make a project and virtual environment with dependencies, then make a simple Sphinx website.
Adding a Blog

Part of tutorial

Adding a Blog
Let's change the look on the website with new templates.
Web Fundamentals in Rider

tutorial

Web Fundamentals in Rider
Learn how Rider helps you with web applications to build full-stack apps with ease.
Coding Assistance

Part of tutorial

Coding Assistance
Find out how Rider helps you write better code, faster.
Navigation in web applications

Part of tutorial

Navigation in web applications
How can you find what you want? Let's look at navigating around a code base.
Debugging code

Part of tutorial

Debugging code
What's your code doing? Step through code with the debugger, and find out.
Refactoring

Part of tutorial

Refactoring
See how the IDE helps you safely refactor code, without breaking existing code.
Running code

Part of tutorial

Running code
How to run your code and see the results? Let's explore.
Testing code

Part of tutorial

Testing code
Get started with testing. We will use Jest as an example.
Visual Testing with pytest

tutorial

Visual Testing with pytest
Test writing is productive and fun with PyCharm as a visual testing tool atop pytest.
Background on Testing

Part of tutorial

Background on Testing
Introduce testing, pytest, and how it all fits into PyCharm, along with a scenario to work on.
Debugging During Testing

Part of tutorial

Debugging During Testing
When writing tests, use the PyCharm "visual debugger" to interactively poke around in the context of a problem.
Test Fixtures

Part of tutorial

Test Fixtures
Make your tests more focused by moving sample data to pytest fixtures.
Hello Test

Part of tutorial

Hello Test
Write a simple test and run it in PyCharm's visual test runner.
Jump to Error

Part of tutorial

Jump to Error
Writing code means writing broken code. Click a link in a traceback to open a file on the line of the error.
Getting Into the TDD Flow

Part of tutorial

Getting Into the TDD Flow
Setup your PyCharm project to help get into the flow of Test-Driven Development (TDD).
Skipping Tests

Part of tutorial

Skipping Tests
During refactoring, use pytest's markers to ignore certain breaking tests.
Testing Exceptions

Part of tutorial

Testing Exceptions
Write tests which ensure exceptions are raised when expected.
Project Setup

Part of tutorial

Project Setup
Make a PyCharm project and virtual environment with dependencies, then configure PyCharm to use pytest.
Go

channel

Go
The Hitchhiker's Guide to Go
JavaScript and TypeScript

channel

JavaScript and TypeScript
Explore a collection of learning resources to increase your productivity and start making amazing apps faster.
Python

channel

Python
Well-organized collection of learning resources for Python.
Paul Everitt

author

Paul Everitt
Python and Web Developer Advocate at JetBrains
Angular

topic

Angular
Web framework for building mobile and desktop applications
Amazon AWS

topic

Amazon AWS
Amazon Web Services (AWS) is a secure cloud services platform
Build

topic

Build
Work effectively with build tools.
Completion

topic

Completion
Everything there is to know about Code Completion.
Coverage

topic

Coverage
Ensure that your code has good tests
create-react-app

topic

create-react-app
Create React apps with no build configuration
CSS

topic

CSS
Mechanism for adding style to web pages
Customizing the IDE

topic

Customizing the IDE
Extend the built-in functionality and change the look and feel
Data Access

topic

Data Access
Working with data storage mechanisms
Databases

topic

Databases
Working with relational databases.
Debugging

topic

Debugging
Investigate errors and trace code execution with our visual debugger.
dotCover

topic

dotCover
The .NET Unit Test Runner and Code Coverage Tool.
dotMemory

topic

dotMemory
The .NET Memory Profiler.
Editing

topic

Editing
Learning resources when writing code in the IDE's editor.
dotTrace

topic

dotTrace
.NET Performance Profiler.
Emmet

topic

Emmet
Shorthand system for HTML and CSS generation
FastAPI

topic

FastAPI
modern, fast (high-performance), web framework for building APIs
GameDev

topic

GameDev
A smarter way to write code for games.
Git

topic

Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Generics

topic

Generics
Learn about generics in Go.
Getting Started

topic

Getting Started
If you're new to our IDEs or a technology, start here.
Google Cloud

topic

Google Cloud
Google Cloud Platform (GCP), offered by Google, is a suite of cloud computing services
Go

topic

Go
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gradle

topic

Gradle
Gradle is an open-source build automation tool focused on flexibility and performance.
Groovy

topic

Groovy
Groovy is a powerful, optionally typed and dynamic language for the JVM.
HTML

topic

HTML
Standard markup language for creating web pages
IDE

topic

IDE
Become more productive with general IDE tips and features.
Interface

topic

Interface
Tips and tricks for modifying the IDE interface.
Inspections

topic

Inspections
Analyzing source code for common mistakes and potential improvements.
Java

topic

Java
Java is a general-purpose programming language intended to let application developers write once and run anywhere.
JUnit

topic

JUnit
The JUnit Platform serves as a foundation for launching testing frameworks on the JVM.
JSON

topic

JSON
An open standard format that uses human-readable text to store and transmit data objects.
Kotlin

topic

Kotlin
A modern programming language that makes developers happier.
Jest

topic

Jest
JavaScript testing framework with a focus on simplicity
Kubernetes

topic

Kubernetes
Automated deployment, scaling, and management of containerized applications
Latest

topic

Latest
See features that are new in the latest IDE releases.
Markup

topic

Markup
Languages such as markdown and asciidoc
Live Templates

topic

Live Templates
Write common code quickly with just a few keystrokes.
Maven

topic

Maven
A tool that can be used for building and managing any Java-based project.
MongoDB

topic

MongoDB
Learn about the MongoDB document database.
Navigation

topic

Navigation
Productive ways to move around in your project.
Package Search

topic

Package Search
Search, evaluate, and manage dependencies in IDE easily.
Plugins

topic

Plugins
See tips and suggestions for working with IDE plugins
Platform

topic

Platform
A group of technologies or features shared among more than a single specific language
Profiling

topic

Profiling
Analyze application performance and memory usage.
Postgres

topic

Postgres
Working with the popular open source database.
pytest

topic

pytest
Mature full-featured Python testing tool that helps you write better programs
Node.js

topic

Node.js
JavaScript outside of the browser, on the command-line or server-side
Quick-fixes

topic

Quick-fixes
Learn how code can be updated automatically
Python

topic

Python
Work productively when coding Python.
React

topic

React
A JavaScript library for building user interfaces
ReSharper

topic

ReSharper
The Visual Studio Extension for .NET Developers.
Refactoring

topic

Refactoring
Keep your code solid, dry, and easy to maintain.
Rider

topic

Rider
Fast & powerful, cross platform .NET IDE.
Security

topic

Security
Securing your applications and code
RiderFlow

topic

RiderFlow
Scenery tool to build and manage your 3D space.
Running

topic

Running
Run your code in our configurable, visual run tool.
Settings

topic

Settings
Different configurations for your projects.
Sphinx

topic

Sphinx
Python static site generator for documentation and more
Testing

topic

Testing
Make sure code behaves as expected.
Spring

topic

Spring
The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
Tricks

topic

Tricks
Little IDE tricks that you might not know about.
Apache Tomcat

topic

Apache Tomcat
Apache Tomcat® is a web server and servlet container for Java web applications.
TypeScript

topic

TypeScript
JavaScript for any scale
User Interface

topic

User Interface
Everything about the user interface.
Version Control

topic

Version Control
Integrated, visual version control across your project.
Web Development

topic

Web Development
Working with technologies in the web platform such as HTML, CSS, images, and JavaScript.
Django

topic

Django
The web framework for perfectionists with deadlines
42 Tips and Tricks

playlist

42 Tips and Tricks
Become an IDE champ with these bite-sized tips and tricks.
Speed Up Coverage with Configuration File

tip

Speed Up Coverage with Configuration File
Speed up your "visual coverage" with a config file and correct working directory.
Create SQLite Database Connection By Drag-and-Drop

tip

Create SQLite Database Connection By Drag-and-Drop
Drag-and-drop a .sqlite database file onto the Database tool to create a connection.
Create a Project from GitHub

tip

Create a Project from GitHub
Let PyCharm do the work to clone and setup a project hosted on GitHub.
Put New Project Under Version Control

tip

Put New Project Under Version Control
The fastest way to register a new project directory under local version control.
Run npm Scripts from package.json

tip

Run npm Scripts from package.json
Browse your package.json scripts and run in a dedicated tool window.
Split Screen Without Tabs

tip

Split Screen Without Tabs
Get your code and tests side-by-side without resorting to tabs.
Spot Coverage Gaps Using the Gutter

tip

Spot Coverage Gaps Using the Gutter
Let the IDE help you spot coverage gaps in your testing.
Wrap Selection With Tag

tip

Wrap Selection With Tag
Use the keyboard to put a wrapper tag around a selection of code.
Auto-Run Tests

tip

Auto-Run Tests
Get into testing mode by telling PyCharm to automatically re-run tests as you type.
Conditional Breakpoints

tip

Conditional Breakpoints
Speed up your debugging by stopping execution only when you want to.
Evaluate Expression During Debugging

tip

Evaluate Expression During Debugging
Select your code and execute it, in the right context.
Run From Keyboard

tip

Run From Keyboard
Use the keyboard to select and run a run configuration.
Adding Fields In a Constructor

tip

Adding Fields In a Constructor
Let your IDE add constructor arguments to your instance.
Rename a File and Its References

tip

Rename a File and Its References
Change your mind on a file name and the IDE makes all the changes for you.
Rename Symbol

tip

Rename Symbol
Change a variable name, class name, or other symbol, across the project.
Move Block Up/Down Using Keyboard

tip

Move Block Up/Down Using Keyboard
Use the keyboard to move a line or selection up or down in your file.
View Parameter Info

tip

View Parameter Info
Quickly see function arguments and argument types.
Quick Documentation

tip

Quick Documentation
View arguments and documentation without interrupting your flow.
Make and Extend Selection Using Keyboard

tip

Make and Extend Selection Using Keyboard
Use the keyboard to select blocks of code then extend/shrink the selection.
Add Line After/Before

tip

Add Line After/Before
Smart-add a line, from the middle of a line, after or before the current line.
Navigation Bar Intro

playlist

Navigation Bar Intro
Move around files with keyboard, without wasting screen UI space
Find In Path With Navigation Bar

tip

Find In Path With Navigation Bar
Use keyboard and Navigation Bar to find files under a path.
Create New File With Navigation Bar

tip

Create New File With Navigation Bar
Activate the Navigation Bar and create a new file somewhere in the project tree.
Narrow Navigation Bar With Speed Search

tip

Narrow Navigation Bar With Speed Search
Narrow and select from a long folder listing Navigation Bar by typing a speed search.
Open File With Navigation Bar

tip

Open File With Navigation Bar
Open a file somewhere in the project tree using the keyboard and Navigation Bar.
Navigate Files With Navigation Bar

tip

Navigate Files With Navigation Bar
Move around your project tree and select files, from your keyboard, with the Navigation Bar.
Activate Navigation Bar

tip

Activate Navigation Bar
Bring up the Navigation Bar as needed, let it disappear when finished.
Run Single Test

tip

Run Single Test
Speed up testing by focusing on one test.
Install and import

tip

Install and import
While typing a symbol, let PyCharm install it and generate the import.
Generate Imports While Typing

tip

Generate Imports While Typing
Avoid interruption by letting PyCharm generate your imports as you type.
Optimize Imports

tip

Optimize Imports
Automate the organizing and cleaning up of your Python imports with Optimize Imports.
Reformat Code

tip

Reformat Code
Tell PyCharm to clean up indentation and other code style in your file.
Navigate Cursor Position Back and Forth

tip

Navigate Cursor Position Back and Forth
Easily navigate back to where you were, or where you went.
Managing Copyright Policy

tip

Managing Copyright Policy
Use the copyright tool to manage a copyright statement across project files.
Parsed f-string expressions

tip

Parsed f-string expressions
Bracket completion and syntax highlighting for f-string evaluated expressions.
Navigate to Symbol

tip

Navigate to Symbol
Navigate your project by code, not files.
LiveEdit HTML and CSS

tip

LiveEdit HTML and CSS
With the LiveEdit plugin, open HTML and CSS in Chrome, over HTTP, and see updates as you save.
Navigate to File

tip

Navigate to File
Jump to a file without using the Project Tool and your mouse.
One Import Per Line Preference

tip

One Import Per Line Preference
Tell PyCharm to put each import on a separate line when it cleans up your imports.
Better Autocomplete Results in Angular Templates

tip

Better Autocomplete Results in Angular Templates
Narrow the universe of Angular template completions to those that matter.
Disable Tabs

tip

Disable Tabs
Save space and stay keyboard-centric by turning off the tabs.
Reduce Clutter by Disabling Tools

tip

Reduce Clutter by Disabling Tools
Save space by turning off various toolbars and Project Tool.