Effective PyCharm Transcripts
Chapter: Conclusion
Lecture: You've done it!
Login or
purchase this course
to watch this video and the rest of the course contents.
0:02
Look at that, it's the finish line! You've done it, you've finished this course. I hope you really learned a lot,
0:09
because you now possess many of PyCharm's superpowers. All of these amazing things that PyCharm does,
0:16
you've now seen in action, you have these hands-on your turns to try them. So, let's go and review what you've learned.
0:25
We began looking at the concept of IDEs in general, we talked about the spectrum of editors and the value that IDEs bring.
0:33
We talked a little bit about are they fast and what you define as fast, is that literally the launch speed of the application
0:41
or how fast you write code, what you're optimizing for, things like that. We began our actual exploration of PyCharm
0:47
by focusing on working with projects, large and small, we checked out some very complicated, nested directory structure that required some arrangements
0:59
using the Jumpstart demo code and things like that. We saw that there's a ton of really powerful navigation features
1:07
around navigating across files in your project, finding usages, go to declaration and things like that. So you really start with the projects, right,
1:16
that's where you're going to create your files and write your code. Writing code, well that's the editor
1:21
and we saw the editor has a whole bunch of amazing features and we honestly just touched on some of them,
1:26
we can't really be exhaustive here, we'd just go on and on, but he editor is really powerful, great syntax highlighting,
1:31
code formatting, code completion, documentation generation and all kinds of stuff. So the editor really, really great and of course,
1:41
front and center in PyCharm is — We worked with source control and we focused on git and github,
1:46
we saw that many source control systems are supported here but of course, git is sort of the source control de jour,
1:54
so that's what we were playing with. And, we saw that we can do branching, we can see even inside the editor the changes
2:02
that are not committed to source control, so we have green bars for code that's new, we have bluish bars for code that has changed, things like that.
2:12
Refactoring is a really powerful technique, but you need a proper editor and the thing that understands the abstract syntax tree of all your files
2:23
to make this work reliably and safely. Remember, refactoring is not just change your code to find and replace,
2:30
it actually understands how your code is used and changes it. In this section we saw really awesome refactoring tools just around Python,
2:39
but later when we got to the web, we saw actually that applies to Javascript and other things that are supported within PyCharm as well.
2:45
The relational database support in PyCharm is really unrivaled, it's so amazing, the tooling that you get just for exploring the data is great,
2:56
the tooling that brings the schema of your database back into your Python code for those embedded SQL strings,
3:03
that just blows my mind, and continues to delight me every time I see it. Python is a premiere language for writing web applications,
3:13
we talked about YouTube and Instagram, and all these other amazing places, and we broke our discussion of the web into two parts,
3:21
server side code, Pyramid, Flask, Django, that type of things, with the page templates, and support for project structure
3:27
like setup.py in Pyramid or manage.py in Django, and there are all sorts of great support that we covered here.
3:34
We also talked about css, HTML, Javascript, and in Javascript frontend frameworks on the client side as well; we talked about less, saas, TypeScript,
3:44
so many things on the web side that you get. And remember that somewhat comes from PyCharm and that somewhat comes from WebStrom
3:52
which is a subset or embedded within PyCharm. The debugging, the visual debugging is really powerful and awesome, and it's honestly one of the reasons
4:03
I come back and back to working with PyCharm. One of the other is the really great autocomplete and support around that as well,
4:11
those are probably my two favorite, most amazing things that PyCharm does. In Python, packaging is really important,
4:17
but it's a little bit tricky if you haven't done it a lot before, and we saw there is a lot of support, both directly in creating new packages
4:24
and actually in the refactoring for converting two and from packages. When you want your code to go fast,
4:32
sometimes it's really hard to use your intuition to know where it's slow, where it's fast,
4:38
I've tried to take a guess at this before and failed many times, so you need tools to visualize how your code is running,
4:44
where it actually is fast and when you make a change, what does that change do. So the profiling tools, the visual profiling tools in PyCharm
4:51
are pretty straightforward and simple, but really powerful and I definitely encourage you to use them when it makes sense.
4:59
Unit testing is really important, it's extra important when you're working with dynamic languages like Python,
5:05
and we saw PyCharm supports the whole breadth of testing options in Python,
5:12
the builtin unittest, obviously, but pytest, Tox and a bunch of other things, really great.
5:18
If you are a data scientist, PyCharm has this special data science mode it has the science view, it has its special debugging for regular Python code,
5:27
as well as it has builtin support, and help for Jupyter notebooks. There are some things that didn't really fit into what we talked about so far,
5:38
like the terminal window or various other little windows and tools, so we threw a few in here, the Python console, stuff like that.
5:48
We saw that if the things that we've talked about so far are not doing what you want, and you want something more,
5:55
there is a whole bunch of plugins that you can get for PyCharm and add them on, you want Vim mode, go get a plugin for that.
6:02
You want NodeJS support, go get a plugin for that. One that I use is Nginx for working with Nginx configuration files,
6:10
that's really nice that you get some help there when you're working with those things,
6:14
so tons and tons of plugins, and really great that those are out there. Look at all these things you've learned,
6:21
and honestly, we really didn't cover everything, there is actually a bunch of other features that I left out of this course,
6:28
just for the sake of time and focus and so on. These are your superpowers, you can now go and apply all of them
6:36
at the same time within one tool against your project, and let me tell you, you can go build something awesome, so get out there and do it.