Skip to content

Commit f43ac31

Browse files
committed
Transcripts for the course.
1 parent cacb040 commit f43ac31

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

161 files changed

+12456
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
00:00 Hello and welcome to Data Driven Web Apps in Pyramid.
2+
00:04 In this course, we are going to take the Pyramid web framework
3+
00:07 which is a Python-based web framework
4+
00:10 and we're going to build some amazing
5+
00:12 data driven web applications.
6+
00:14 We're going to use Bootstrap which is one
7+
00:16 of the most popular CSS front end design frameworks
8+
00:19 to make our web app we build in Python look great.
9+
00:23 Of course, almost all web applications access databases.
10+
00:27 At least the dynamic ones do.
11+
00:29 And we're going to use the most popular
12+
00:30 and powerful Python-based ORM called SQLAlchemy
13+
00:34 to write Python classes and map those to our database.
14+
00:39 Welcome, welcome, welcome
15+
00:40 to Data Driven Web Apps in Pyramid.
16+
00:43 We're going to have a great time building
17+
00:45 some real world applications and learning
18+
00:47 some real world ways to put them into production.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
00:00 Before we dig into all the code that we're going to write
2+
00:02 and the technologies we're going to use
3+
00:04 and the types of things we can even build
4+
00:06 let's just take a moment and admire the
5+
00:08 incredible power of the web.
6+
00:10 The web is one of the most flexible
7+
00:12 and certainly the most widely deployed
8+
00:14 and used technology out there.
9+
00:17 Think about YouTube.
10+
00:19 YouTube is an amazing web application.
11+
00:22 It really has brought video sharing to the entire world.
12+
00:26 It also happens to be a Python-based web app
13+
00:29 and handles millions of requests per second.
14+
00:32 Think about Airbnb.
15+
00:34 With this web application, and a unique sharing philosophy
16+
00:38 they've literally transformed the way people travel
17+
00:41 and stay in cities.
18+
00:43 Netflix uses their web app to redefine
19+
00:46 TV for many, many people.
20+
00:49 In fact, this web app and their infrastructure
21+
00:51 account for 35% of the bandwidth
22+
00:54 of the United States in the evening.
23+
00:56 That's pretty incredible.
24+
00:58 Hey, let's throw one more in.
25+
00:59 You're taking an amazing course
26+
01:01 and you're going to be learning all about building web apps.
27+
01:04 Here's another one, Talk Python Training.
28+
01:06 This site is built, of course, on Python and Pyramid
29+
01:09 and has taught a ton of people about Python.
30+
01:12 In fact, many of the techniques and the lessons
31+
01:15 learned in building this site
32+
01:17 along with some of the others
33+
01:18 I'm going to bring into this course.
34+
01:21 So it's not just about looking out there
35+
01:22 and seeing some incredible web apps built
36+
01:24 it's also taking a pretty amazing web app
37+
01:27 that I have built
38+
01:28 and taking the lessons and techniques from that
39+
01:30 and sharing them with you with Pyramid
40+
01:32 SQLAlchemy, and so on.
41+
01:35 Do you have an idea?
42+
01:36 Something you want to build for everyone?
43+
01:37 Well, the techniques and technology you're about to learn
44+
01:40 will let you unleash this incredible power of the web
45+
01:44 to bring your idea to life.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
00:00 In this course, you're going to learn
2+
00:01 what's sometimes referred to as full-stack web development.
3+
00:05 Now, we don't spend that much time
4+
00:07 on the JavaScript side of things
5+
00:09 but everything else we do spend a fair amount of time on.
6+
00:11 So, what the heck is full-stack anyway?
7+
00:14 Let's look at all the pieces involved
8+
00:16 in a typical web application interaction. We have a browser
9+
00:20 we have our server running out on some cloud hosting
10+
00:23 we have usually a virtual machine
11+
00:25 or set of virtual machines in the background
12+
00:27 and our database we're working with.
13+
00:29 So, a request is going to come in.
14+
00:30 It's going to magically find it's way
15+
00:33 through the internet to our server.
16+
00:34 Our server is going to do some processing
17+
00:37 talk to the database, and so on.
18+
00:40 Where's the full-stack part come in?
19+
00:41 Well, let's look at the technologies involved here.
20+
00:45 On the server side
21+
00:47 there are a bunch of different technologies
22+
00:48 you need to learn.
23+
00:50 We're going to learn Python.
24+
00:51 Well, we're going to use Python at least
25+
00:53 and we'll probably learn little bits of it along the way
26+
00:55 but we're going to focus on using Python
27+
00:58 along with Pyramid
28+
01:00 the web framework that we're going to work with.
29+
01:02 The dynamic HTML templates
30+
01:05 in this case Chameleon.
31+
01:07 The data access layer SQLAlchemy.
32+
01:10 In order to deploy and configure our servers
33+
01:12 we're going to need to know a little bit of Linux.
34+
01:14 Learn that.
35+
01:15 We're going to use Nginx and uWSGI.
36+
01:18 These are two cooperating web servers
37+
01:20 that we're going to with to run our Python code in Pyramid.
38+
01:24 Then we're going to talk to the database.
39+
01:26 Well, what do you need to know for that?
40+
01:27 Well, maybe this is Postgres or MongoDB.
41+
01:31 For the course, we're actually going to use SQLite
42+
01:33 and also a little bit of touch of MongoDB at the end
43+
01:36 but it's easier to switch to something like Postgres.
44+
01:39 You many need to know the query language to get to that
45+
01:43 like SQL, or MongoDB's query syntax
46+
01:46 it's like a JSON type thing.
47+
01:48 We're not going to actually focus much on the query syntax
48+
01:52 because we're going to use SQLAlchemy
49+
01:53 which lets us sort of abstract that away
50+
01:56 but you would more or less need to know that in practice.
51+
01:59 You also need to know how to migrate or manage your database
52+
02:03 over time as it's structure changes.
53+
02:05 Look at all these technologies just on the server side.
54+
02:08 That's a lot to learn
55+
02:09 and this whole stack of technologies put together
56+
02:13 is part of what's called full-stack
57+
02:14 but there's more to it.
58+
02:16 Over here on the browser side
59+
02:18 we have HTML and CSS we have to deliver
60+
02:21 to the browser, right?
61+
02:22 That's ultimately the goal
62+
02:23 is to show stuff on the screen for the web browser.
63+
02:27 HTML and CSS, we're going to do some work with that.
64+
02:29 You typically don't want to do the design from scratch
65+
02:32 so you'll pick a front-end framework like Bootstrap.
66+
02:35 Maybe you're even writing some rich JavaScript apps
67+
02:37 with say, Vue.js.
68+
02:39 Those are grayed out, because like I said
69+
02:41 we're not doing much with JavaScript
70+
02:42 but these are the technologies that you might put
71+
02:45 into play for a full-stack web application.
72+
02:49 The web can be a little bit daunting.
73+
02:50 We're going to go through most of these technologies.
74+
02:53 All of the white highlighted ones in this course
75+
02:56 and you'll have concrete small examples for each one.
76+
03:00 In the end, we'll have it all put together in a full-stack
77+
03:03 Python-based web app using Pyramid
78+
03:06 SQLAlchemy, and Bootstrap.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
00:00 This is not an introduction to Python course.
2+
00:03 We do assume a little bit of working knowledge.
3+
00:06 We assume that you have basic Python programming skills.
4+
00:10 I would say if you're, what you might consider
5+
00:12 an advanced beginner, you're totally
6+
00:15 good to take this course.
7+
00:17 We're going to use things like classes
8+
00:18 and decorators and functions and so on
9+
00:21 but we're not going to describe what a class is
10+
00:24 or describe what a function is or things like that.
11+
00:26 So make sure you have some basic working knowledge
12+
00:29 of Python in order to take this course.
13+
00:31 If you don't, consider taking my Python
14+
00:33 Jumpstart by Building 10 Apps course.
15+
00:35 That's all about learning Python.
16+
00:38 So here we assume that you know Python.
17+
00:40 We also assume that you know a little bit of HTML.
18+
00:43 That if you look at HTML, at least you can make sense of it
19+
00:45 you know what, say, an attribute is
20+
00:48 what a class is, things like that.
21+
00:50 We're not going to be doing too much advanced stuff with HTML.
22+
00:54 I'm not sure if there is such thing as advanced HTML
23+
00:56 but we're not going to be doing too much with it
24+
00:59 but of course, this is a web class
25+
01:01 and we're going to be doing a lot of HTML
26+
01:03 but I assume that you can work with standard markup.
27+
01:07 Similarly, we're going to be using CSS
28+
01:09 and I'll talk a lot about what the selectors
29+
01:11 and classes and design mean, and especially
30+
01:14 when we get to the bootstraps section
31+
01:15 and applying that to our website.
32+
01:17 So we're not going to assume you know tons of it
33+
01:20 but we're not starting from scratch with CSS either.
34+
01:23 So basic HTML, CSS, and Python knowledge
35+
01:26 that's what we assume you're starting with
36+
01:28 and then we're going to build
37+
01:30 our full-stack web app from there.
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
00:00 When we talked about the incredible power
2+
00:01 of the web, we saw some amazing web apps built.
3+
00:04 Only some of them were built with Python.
4+
00:06 Let's look at a whole bunch of other apps
5+
00:08 web apps, built with Python.
6+
00:10 I think it's always great to have some examples.
7+
00:12 You know, maybe you're trying to convince your team
8+
00:14 or your boss, or something like that.
9+
00:16 "Hey, we should build this particular app we're trying
10+
00:18 to launch in Python and here are five examples
11+
00:21 of other apps that are similar, that are amazing."
12+
00:23 So let's go through a quick list
13+
00:24 to give you some ammunition.
14+
00:27 You might be familiar with The Onion.
15+
00:29 This is a fake news comedy site that's hilarious.
16+
00:33 They post all sorts of crazy, outrageous news items
17+
00:36 and that, of course, is built on Python.
18+
00:39 Spotify, the music streaming service, their web app, Python.
19+
00:43 NASA and JPL make heavy use of Python
20+
00:46 for all their awesome space stuff.
21+
00:49 Bitly, the URL shortening site that gets tons of traffic
22+
00:54 does all sorts of analytics and stuff
23+
00:56 around the URLs they shorten, Python.
24+
00:59 Bitbucket, SurveyMonkey, Quora
25+
01:03 what I think one of the very best online Q&A forums for
26+
01:07 thoughtful, somewhat deep answers.
27+
01:10 Not always great but pretty good, built with Python.
28+
01:13 They're actually pretty enthusiastic users of Python.
29+
01:15 If you look at their engineering blog
30+
01:17 they often write about how they use and configure
31+
01:20 and optimize Python for what they're doing.
32+
01:22 Disqus the comment section that you can embed
33+
01:25 into any web application.
34+
01:27 If you go to either of my podcast sites, talkpython.fm
35+
01:29 or pythonbytes.fm, you'll see at the bottom
36+
01:31 this little Disqus section.
37+
01:33 That is built with Python.
38+
01:35 Many of their services are based on Python.
39+
01:36 Instagram, an incredible amount of traffic goes
40+
01:39 to Instagram, and they make heavy use and, again
41+
01:41 are very passionate users of Python
42+
01:43 and their engineering blog covers a lot of cool things
43+
01:45 like how they disabled garbage collection, for example
44+
01:49 to make their web apps run much faster.
45+
01:52 Reddit, the front page of the internet, as some say
46+
01:55 gets tons of traffic, I think it's in
47+
01:57 the top ten websites on the internet
48+
01:59 built with Python and SQLAlchemy.
49+
02:02 Youtube, we already talked about that.
50+
02:03 Youtube is amazing, they get millions of requests
51+
02:06 per second and are based on Python.
52+
02:08 The brand new relaunched PyPI, the Python Package Index
53+
02:12 at pypi.org, is built with Python and Pyramid.
54+
02:17 They get tons and tons of traffic
55+
02:18 and they actually tried Flask, they tried Django
56+
02:21 and they tried Pyramid and they decided Pyramid was
57+
02:23 the best choice for what they were building.
58+
02:26 Pinterest, also built on Python.
59+
02:29 Paypal has some of their pricing services written
60+
02:33 in Python, and these pricing services are called
61+
02:35 by different parts of Paypal's infrastructure
62+
02:38 and other services and websites to figure out
63+
02:40 what the exchange rate is, what the fee is
64+
02:43 that goes along with various transactions and so on.
65+
02:45 That has two to three billion requests per day
66+
02:49 written in Python with sub-millisecond
67+
02:52 maybe just single millisecond response time.
68+
02:54 It's pretty incredible.
69+
02:56 Dropbox is a heavy user of Python, the client you get
70+
02:59 on your machine, as well as much of
71+
03:02 their backing services, Python.
72+
03:03 In fact, Guido van Rossum, the guy
73+
03:05 who created Python, works there
74+
03:07 at least at the time of this recording
75+
03:09 so you can bet that it's a real
76+
03:10 center of the universe around Python.
77+
03:13 And, last but not least, Talk Python.
78+
03:16 All the Talk Python stuff, the training site
79+
03:18 the podcast site, all that stuff is based
80+
03:20 on Pyramid and Python.
81+
03:21 It's been working out amazing.
82+
03:23 We get incredible, high-performance web apps
83+
03:26 that are easy to maintain.
84+
03:28 We'll share a lot of the lessons
85+
03:29 from that experience in this course.
86+
03:32 Want to read more about all of these
87+
03:33 how these companies are using Python?
88+
03:35 Well, how about we use a little Python to get there.
89+
03:37 Bitly/pyapp-25, that'll take you over
90+
03:41 to an article where I pulled a lot of this stuff together
91+
03:43 with more background info than I put in here.

0 commit comments

Comments
 (0)