1. Урок 1. 00:03:40
    Welcome to the course
  2. Урок 2. 00:01:02
    The rules of #100DaysOfCode
  3. Урок 3. 00:04:51
    Topics covered
  4. Урок 4. 00:02:03
    Why Python for #100DaysOfCode
  5. Урок 5. 00:02:21
    Course flow
  6. Урок 6. 00:01:30
    Meet your instructors
  7. Урок 7. 00:01:11
    Need a Python primer?
  8. Урок 8. 00:02:14
    Git the source code
  9. Урок 9. 00:01:29
    Three devs are better than one
  10. Урок 10. 00:00:34
    Julian's setup
  11. Урок 11. 00:00:36
    Bob's setup
  12. Урок 12. 00:02:46
    Michael's setup
  13. Урок 13. 00:02:48
    PyBites code challenge platform
  14. Урок 14. 00:02:05
    Video player: A quick feature tour
  15. Урок 15. 00:00:59
    Introduction to Flask
  16. Урок 16. 00:02:16
    Your Next 4 Days
  17. Урок 17. 00:03:40
    Install and Setup Flask
  18. Урок 18. 00:02:57
    Setup your Flask app as a package
  19. Урок 19. 00:02:33
    Create __init.py__
  20. Урок 20. 00:03:10
    Define your Flask app routes in routes.py
  21. Урок 21. 00:03:42
    Run your Flask app!
  22. Урок 22. 00:03:03
    Persistent FLASK_APP environment variable using python-dotenv
  23. Урок 23. 00:04:52
    Creating a basic index.html Flask Template
  24. Урок 24. 00:07:19
    Creating the base.html Flask Template
  25. Урок 25. 00:04:30
    A new template for a 100DaysOfCode page
  26. Урок 26. 00:03:25
    Using CSS, create Menu Bar in the Base Template
  27. Урок 27. 00:04:57
    Day 4: Your Turn - What did we learn?
  28. Урок 28. 00:01:05
    HTML Chapter Intro
  29. Урок 29. 00:01:43
    HTML is easy right?
  30. Урок 30. 00:03:41
    A little HTML history
  31. Урок 31. 00:00:51
    Our editor for this chapter: WebStorm
  32. Урок 32. 00:01:16
    Yahoo, circa 1996
  33. Урок 33. 00:12:22
    Building Yaahoo
  34. Урок 34. 00:02:42
    Concept: Core HTML tags
  35. Урок 35. 00:03:41
    Form basics
  36. Урок 36. 00:02:55
    Describing form elements
  37. Урок 37. 00:05:37
    Client-side validation
  38. Урок 38. 00:02:03
    Your-turn
  39. Урок 39. 00:01:39
    Lesson introduction
  40. Урок 40. 00:04:50
    What are APIs, why you want them and API Star
  41. Урок 41. 00:06:51
    Getting fake cars data with Mockeroo
  42. Урок 42. 00:04:07
    API Star structure and its type system
  43. Урок 43. 00:11:39
    API methods: GET and POST, testing with Postman
  44. Урок 44. 00:03:09
    API methods: PUT and DELETE
  45. Урок 45. 00:11:15
    Testing your API with pytest
  46. Урок 46. 00:02:42
    Day 3 & 4 - Your turn: build your own API
  47. Урок 47. 00:01:23
    CSS chapter intro
  48. Урок 48. 00:03:38
    Goals of this chapter
  49. Урок 49. 00:04:12
    CSS Zen Garden
  50. Урок 50. 00:03:51
    Concept: Structure of a CSS file
  51. Урок 51. 00:01:20
    Demo app introduction
  52. Урок 52. 00:04:14
    Demo: Exploring CSS selectors
  53. Урок 53. 00:01:56
    Concept: Inheritance and specialization
  54. Урок 54. 00:04:18
    Demo: Box model
  55. Урок 55. 00:01:11
    Concept: Controlling the box in CSS
  56. Урок 56. 00:07:19
    Demo: Layout
  57. Урок 57. 00:04:03
    Demo: Floating elements
  58. Урок 58. 00:00:59
    Concept: Floating elements
  59. Урок 59. 00:04:02
    Areas to research further
  60. Урок 60. 00:01:08
    Your-turn: Day 2
  61. Урок 61. 00:02:20
    Your-turn: Day 3
  62. Урок 62. 00:01:41
    Your-turn: Day 4
  63. Урок 63. 00:00:35
    Introduction: Calling APIs in Flask
  64. Урок 64. 00:02:29
    Your 4 day overview
  65. Урок 65. 00:04:38
    Environment setup
  66. Урок 66. 00:07:11
    Passing variables between Flask app code and a Template
  67. Урок 67. 00:03:47
    Working with the Chuck Norris API
  68. Урок 68. 00:05:24
    Passing our Chuck Norris joke to a Template
  69. Урок 69. 00:01:36
    Investigating the Poke API
  70. Урок 70. 00:08:17
    Creating a form in our Pokemon Template
  71. Урок 71. 00:06:46
    Breaking down the Poke API response
  72. Урок 72. 00:06:52
    Writing the Pokemon route
  73. Урок 73. 00:06:57
    Returning the data to the Pokemon Template
  74. Урок 74. 00:04:13
    Day 4: Your Turn - What did we learn?
  75. Урок 75. 00:02:02
    Introducing asynchronous web programming
  76. Урок 76. 00:04:35
    Synchronous execution concepts
  77. Урок 77. 00:06:16
    Synchronous execution demo
  78. Урок 78. 00:09:10
    Asynchronous Python execution with async and await
  79. Урок 79. 00:02:25
    Asynchronous execution concepts
  80. Урок 80. 00:02:43
    Your turn: Day 2 - Async program
  81. Урок 81. 00:02:08
    Flask will never be async capable
  82. Урок 82. 00:07:12
    Introducing our web app: The cityscape API
  83. Урок 83. 00:02:59
    Converting from Flask to Quart
  84. Урок 84. 00:05:11
    Adding an async view method / controller method
  85. Урок 85. 00:02:34
    Async all the things
  86. Урок 86. 00:02:09
    Concept: Quart
  87. Урок 87. 00:04:09
    Performance comparison: Flask vs Quart
  88. Урок 88. 00:01:42
    Your turn: Day 4 - Async Flask conversion
  89. Урок 89. 00:00:49
    Lesson introduction
  90. Урок 90. 00:02:52
    4 day plan
  91. Урок 91. 00:03:17
    History and why JavaScript
  92. Урок 92. 00:04:23
    How to run JS in your browser / terminal / IDE
  93. Урок 93. 00:05:28
    Variables (var vs let) and data types
  94. Урок 94. 00:04:51
    Arrays
  95. Урок 95. 00:05:55
    Conditionals and control flow
  96. Урок 96. 00:09:19
    Functions
  97. Урок 97. 00:03:53
    Objects
  98. Урок 98. 00:03:11
    Day 2: 4 JS exercises
  99. Урок 99. 00:08:04
    The Document Object Model (DOM) - targeting elements
  100. Урок 100. 00:08:59
    DOM part II: add/remove childs, override CSS, event listeners
  101. Урок 101. 00:02:55
    Debugging JavaScript
  102. Урок 102. 00:03:31
    Common JS gotchas
  103. Урок 103. 00:03:09
    Further study
  104. Урок 104. 00:04:08
    Day 4: simple calculator and calorie tracker
  105. Урок 105. 00:00:37
    Introduction: Static Sites
  106. Урок 106. 00:02:01
    Your 4 day overview
  107. Урок 107. 00:04:53
    What exactly is a static site anyway?
  108. Урок 108. 00:01:46
    Setup: Create your repo
  109. Урок 109. 00:04:45
    Configure Pelican
  110. Урок 110. 00:06:49
    Writing our first post!
  111. Урок 111. 00:03:48
    Generating the site
  112. Урок 112. 00:05:11
    Setting up and deploying to Netlify
  113. Урок 113. 00:04:30
    Linking to static content
  114. Урок 114. 00:02:23
    How sweet is Netlify auto-build?
  115. Урок 115. 00:03:48
    Creating a dedicated static page
  116. Урок 116. 00:01:36
    Custom domains on Netlify
  117. Урок 117. 00:03:20
    What did we learn?
  118. Урок 118. 00:04:07
    Introducing SQLAlchemy
  119. Урок 119. 00:01:47
    Our demo app: A scooter sharing startup
  120. Урок 120. 00:01:35
    Who uses SQLAlchemy?
  121. Урок 121. 00:02:10
    SQLAlchemy Architecture
  122. Урок 122. 00:01:13
    Scooter share data model
  123. Урок 123. 00:03:39
    Setting up our app
  124. Урок 124. 00:05:42
    Modeling with classes
  125. Урок 125. 00:03:34
    The rest of the classes
  126. Урок 126. 00:03:58
    Connecting to our DB
  127. Урок 127. 00:03:29
    Creating the database schema and tables
  128. Урок 128. 00:02:36
    The database is created
  129. Урок 129. 00:04:25
    Relationships
  130. Урок 130. 00:06:02
    Inserts
  131. Урок 131. 00:04:38
    The rest of the queries
  132. Урок 132. 00:02:05
    Importing starter data
  133. Урок 133. 00:06:32
    Finishing the app
  134. Урок 134. 00:00:23
    Listen to the interview
  135. Урок 135. 00:03:17
    Your turn: Days 3 and 4
  136. Урок 136. 00:01:35
    Pyramid chapter intro
  137. Урок 137. 00:01:57
    Our demo application
  138. Урок 138. 00:02:29
    A spectrum of frameworks
  139. Урок 139. 00:02:57
    Pyramid principles
  140. Урок 140. 00:00:24
    Get back story
  141. Урок 141. 00:02:16
    Creating the app: Intro
  142. Урок 142. 00:06:32
    Creating the app: Via the CLI
  143. Урок 143. 00:02:46
    Creating the app: Via PyCharm
  144. Урок 144. 00:04:31
    A tour of a Pyramid project
  145. Урок 145. 00:04:29
    Reorganizing our app
  146. Урок 146. 00:04:35
    Adding the data models
  147. Урок 147. 00:04:05
    Home page (fake data)
  148. Урок 148. 00:06:52
    Home page (database data)
  149. Урок 149. 00:01:43
    HTML towards details and a better design
  150. Урок 150. 00:03:00
    Design and hero images
  151. Урок 151. 00:06:07
    Adding the details route
  152. Урок 152. 00:05:49
    Paying a bill: Submitting forms
  153. Урок 153. 00:02:52
    Concept: Chameleon
  154. Урок 154. 00:03:14
    Your-turn: Day 3
  155. Урок 155. 00:00:45
    Your-turn: Day 4
  156. Урок 156. 00:02:11
    Intro: what is React, why use it?
  157. Урок 157. 00:07:38
    Brushing up some ES6 (modern) JS
  158. Урок 158. 00:04:20
    Bootstrap our app with create-react-app
  159. Урок 159. 00:06:49
    JSX and rendering a tip component
  160. Урок 160. 00:02:43
    Interlude: Python Tips API back-end setup
  161. Урок 161. 00:05:46
    Using classes and state in React
  162. Урок 162. 00:08:07
    Calling the tips API using axios
  163. Урок 163. 00:04:41
    Filter tips while typing in a search field
  164. Урок 164. 00:04:41
    Style matching tips with react-highlight-words
  165. Урок 165. 00:01:00
    Day 2: build your own API front-end using React
  166. Урок 166. 00:07:01
    Structuring our Free Monkey (hangman) app
  167. Урок 167. 00:02:53
    Constructor, componentDidMount, and first render
  168. Урок 168. 00:05:18
    Setting the initial game state
  169. Урок 169. 00:03:15
    Creating letter buttons with event handlers
  170. Урок 170. 00:06:07
    Matching guess letters and updating the state
  171. Урок 171. 00:02:32
    Adding CSS styles to the buttons upon guessing
  172. Урок 172. 00:08:06
    Check win/loss scenarios, adding a reset game button
  173. Урок 173. 00:02:32
    Day 4: build your own game using React
  174. Урок 174. 00:00:31
    Lesson introduction
  175. Урок 175. 00:01:29
    The structure of this 4 day module
  176. Урок 176. 00:03:43
    Django starter and architecture
  177. Урок 177. 00:01:54
    Demo quote CRUD app we will build
  178. Урок 178. 00:03:00
    Get Django up and running
  179. Урок 179. 00:04:10
    Basic Django configuration
  180. Урок 180. 00:05:18
    URL routing and your first view
  181. Урок 181. 00:04:21
    Create a Django model and migrate it to the DB
  182. Урок 182. 00:06:28
    Playing with the ORM in Django's shell
  183. Урок 183. 00:01:19
    Day 2: practice yourself
  184. Урок 184. 00:06:17
    The quotes app url mapping
  185. Урок 185. 00:01:59
    Create a Django form
  186. Урок 186. 00:02:49
    Write a view to list all the quotes
  187. Урок 187. 00:04:55
    Static files and the base template
  188. Урок 188. 00:06:40
    Template settings and create a child template
  189. Урок 189. 00:04:00
    Make a view/page to view an individual quote
  190. Урок 190. 00:06:44
    Write a view to add a new quote
  191. Урок 191. 00:02:58
    Write a view to edit a quote
  192. Урок 192. 00:04:07
    Write a view to delete a quote
  193. Урок 193. 00:09:39
    Refactor function-based into class-based views
  194. Урок 194. 00:03:10
    Add the quotes app to Django's admin interface
  195. Урок 195. 00:01:30
    Day 4: practice yourself
  196. Урок 196. 00:01:18
    Lesson introduction
  197. Урок 197. 00:06:01
    Virtual environment, dependencies, pytest starter code (fixtures)
  198. Урок 198. 00:06:59
    Selenium's find_element_by methods, test #1: homepage
  199. Урок 199. 00:08:08
    Test #2: testing individual book pages and JS autocomplete
  200. Урок 200. 00:06:20
    Test #3: testing the login, using the debugger with pytest
  201. Урок 201. 00:09:45
    Test #4: a test function for adding/deleting a book
  202. Урок 202. 00:04:16
    Test #5: testing changing nav links upon logout
  203. Урок 203. 00:01:08
    Optional Code Challenge: test a simple Django app
  204. Урок 204. 00:00:50
    Introducing responder
  205. Урок 205. 00:02:10
    Key features
  206. Урок 206. 00:00:48
    Foundational projects
  207. Урок 207. 00:01:08
    What API will we build?
  208. Урок 208. 00:01:44
    Setting up the project
  209. Урок 209. 00:01:46
    Adding the 'hello world' view method
  210. Урок 210. 00:02:26
    Using dynamic HTML templates (Jinja2)
  211. Урок 211. 00:01:35
    Serving static files
  212. Урок 212. 00:02:51
    API view methods
  213. Урок 213. 00:03:03
    Adding a data backend
  214. Урок 214. 00:04:11
    Implementing the search APIs
  215. Урок 215. 00:04:28
    Cleanup and refactoring for real web apps
  216. Урок 216. 00:02:01
    Responder core concepts
  217. Урок 217. 00:00:54
    Introduction: Twilio
  218. Урок 218. 00:01:50
    Your single day overview
  219. Урок 219. 00:03:00
    Twilio account setup
  220. Урок 220. 00:01:07
    Obtaining your Twilio API key
  221. Урок 221. 00:04:41
    Write a quick and easy Twilio SMS script
  222. Урок 222. 00:02:13
    Twilio UI: Verified numbers and usage stats
  223. Урок 223. 00:01:58
    What did we learn?
  224. Урок 224. 00:00:43
    Chapter intro
  225. Урок 225. 00:02:07
    What is full stack web development?
  226. Урок 226. 00:01:01
    What application will we build?
  227. Урок 227. 00:00:54
    Introducing Anvil
  228. Урок 228. 00:02:42
    Anvil's building blocks
  229. Урок 229. 00:02:09
    Anvil: New project
  230. Урок 230. 00:02:28
    Adding navigation
  231. Урок 231. 00:02:07
    Subforms
  232. Урок 232. 00:04:20
    Linking the forms
  233. Урок 233. 00:02:09
    Building the add document form
  234. Урок 234. 00:04:45
    Add new document validation
  235. Урок 235. 00:02:32
    Data tables
  236. Урок 236. 00:03:27
    Server-side code
  237. Урок 237. 00:02:54
    Creating the document in the database
  238. Урок 238. 00:04:52
    Add doc form finale
  239. Урок 239. 00:06:55
    All docs form
  240. Урок 240. 00:01:32
    Adding filtering to all docs form
  241. Урок 241. 00:03:05
    Adding filtering (continued)
  242. Урок 242. 00:02:48
    Viewing document details
  243. Урок 243. 00:01:56
    Publishing our Anvil app on the Internet
  244. Урок 244. 00:02:56
    Concepts of Anvil
  245. Урок 245. 00:01:14
    Lesson introduction
  246. Урок 246. 00:05:17
    The structure of this 4 day module
  247. Урок 247. 00:04:57
    Installing and configuring django-registration
  248. Урок 248. 00:02:58
    Setting up urls.py for the two-step activation workflow
  249. Урок 249. 00:04:39
    Setting required django-registration templates
  250. Урок 250. 00:01:21
    Setting up a SendGrid account
  251. Урок 251. 00:07:22
    Django SMTP configuration and testing out email
  252. Урок 252. 00:05:01
    Adding login and logout links to the navigation bar
  253. Урок 253. 00:03:30
    Update the Quote model to associate quotes with users
  254. Урок 254. 00:06:31
    Update templates to only show edit buttons to quote owners
  255. Урок 255. 00:04:49
    Protecting views with Django's @login_required decorator
  256. Урок 256. 00:01:25
    Day 3 + 4: practice yourself
  257. Урок 257. 00:00:33
    Introduction: Flask Login
  258. Урок 258. 00:03:25
    Let's start by setting some expectations
  259. Урок 259. 00:03:16
    Your 4 day overview
  260. Урок 260. 00:03:01
    Setup: Flask and Project directory
  261. Урок 261. 00:06:22
    Setup: A Barebones Flask app
  262. Урок 262. 00:06:19
    Define your database model
  263. Урок 263. 00:02:45
    Specify the db object in __init.py__
  264. Урок 264. 00:00:53
    Setup: Install SQLite DB Browser
  265. Урок 265. 00:03:17
    Create the database!
  266. Урок 266. 00:05:01
    Make the create-user Jinja Template
  267. Урок 267. 00:05:46
    Add functionality to create users
  268. Урок 268. 00:01:15
    Specify the app secret key
  269. Урок 269. 00:02:41
    Let's add some users!
  270. Урок 270. 00:08:33
    Incorporate Flask-Login
  271. Урок 271. 00:03:41
    Test it! Login to the app
  272. Урок 272. 00:03:44
    Create a quick logout page
  273. Урок 273. 00:04:30
    What did we learn?
  274. Урок 274. 00:02:29
    Introduction to db migrations
  275. Урок 275. 00:02:33
    Seeing the problem in action
  276. Урок 276. 00:03:45
    Installing Alembic
  277. Урок 277. 00:01:48
    Fix an error: Alembic distribution not found
  278. Урок 278. 00:02:04
    Concept: Review configuring Alembic
  279. Урок 279. 00:05:09
    Automatically detecting schema changes
  280. Урок 280. 00:01:44
    Where is the DB version stored?
  281. Урок 281. 00:03:02
    Concept: Alembic migrations
  282. Урок 282. 00:03:17
    Your-turn: Days 2, 3, and 4
  283. Урок 283. 00:01:00
    Introduction: Heroku
  284. Урок 284. 00:01:34
    Your 4 day overview
  285. Урок 285. 00:02:39
    Setup your Heroku account and install the Heroku CLI
  286. Урок 286. 00:04:37
    Setting up the local app and Heroku environment
  287. Урок 287. 00:07:39
    Deploy and launch your first Heroku app!
  288. Урок 288. 00:03:53
    What are Heroku addons?
  289. Урок 289. 00:02:45
    Install Heroku scheduler
  290. Урок 290. 00:06:25
    Automate sending emails with Heroku scheduler
  291. Урок 291. 00:03:46
    Heroku SendGrid addon setup
  292. Урок 292. 00:06:24
    Use SendGrid to send an email
  293. Урок 293. 00:02:53
    What did we learn?
  294. Урок 294. 00:02:01
    Lesson intro
  295. Урок 295. 00:05:02
    Virtual env, install dependencies and quotes app
  296. Урок 296. 00:07:54
    Writing a custom django-admin command
  297. Урок 297. 00:08:07
    Create a simple Django REST API
  298. Урок 298. 00:03:41
    Implement the other CRUD methods
  299. Урок 299. 00:07:43
    Django REST permissions: authentication and authorization
  300. Урок 300. 00:05:16
    API documentation with Swagger
  301. Урок 301. 00:02:59
    Day 3 + 4: Your turn - build your own API
  302. Урок 302. 00:00:45
    Introduction: Web Scraping
  303. Урок 303. 00:03:57
    Your next 4 days
  304. Урок 304. 00:02:27
    Prepare to scrape!
  305. Урок 305. 00:08:32
    Dive into BeautifulSoup4 and Talk Python
  306. Урок 306. 00:07:31
    Write a Talk Python Training web scraping script
  307. Урок 307. 00:03:31
    Installing and introducing newspaper3k
  308. Урок 308. 00:08:08
    Extra! Extra! Student scrapes a news article!
  309. Урок 309. 00:07:38
    What did we learn?
  310. Урок 310. 00:01:20
    Lesson intro
  311. Урок 311. 00:01:21
    4 day plan
  312. Урок 312. 00:03:44
    Project: automate #100DaysOfCode tweeting
  313. Урок 313. 00:04:00
    Dependencies and outline script
  314. Урок 314. 00:04:15
    Manage config data with configparser
  315. Урок 315. 00:03:48
    Turn on logging
  316. Урок 316. 00:06:36
    Get a tweet with requests and BeautifulSoup
  317. Урок 317. 00:07:08
    Post to Twitter with tweepy
  318. Урок 318. 00:05:47
    Easy command line interface with argparse
  319. Урок 319. 00:01:37
    Day 2 - Your turn / Twitter API practice
  320. Урок 320. 00:01:41
    Project: random book slash command
  321. Урок 321. 00:03:13
    Create a Slack app and slash command
  322. Урок 322. 00:05:13
    Create a Flask app and call our books API
  323. Урок 323. 00:03:13
    Response data and Slack message formatting
  324. Урок 324. 00:03:23
    Testing out the slash command with ngrok
  325. Урок 325. 00:01:21
    Day 4 - Your turn / Slack API practice
  326. Урок 326. 00:01:29
    Why test web apps?
  327. Урок 327. 00:02:35
    Testing challenges of web applications
  328. Урок 328. 00:01:47
    3 types of tests
  329. Урок 329. 00:01:51
    Setting up the app to be tested
  330. Урок 330. 00:05:26
    Adding view models
  331. Урок 331. 00:02:43
    View models applied to details page
  332. Урок 332. 00:03:19
    View models and forms
  333. Урок 333. 00:01:56
    Concept: View models
  334. Урок 334. 00:05:44
    Our first unit test
  335. Урок 335. 00:03:42
    Mocking out database access
  336. Урок 336. 00:05:26
    More view model tests
  337. Урок 337. 00:01:18
    Concept: View model unit tests
  338. Урок 338. 00:04:14
    View unit tests: index page
  339. Урок 339. 00:01:51
    Running all the tests at once
  340. Урок 340. 00:01:45
    Concept: Testing view methods
  341. Урок 341. 00:05:19
    Writing the functional tests
  342. Урок 342. 00:01:42
    Concept: Functional tests
  343. Урок 343. 00:02:57
    Concept: Web testing pareto principle
  344. Урок 344. 00:03:14
    Your turn: Testing a web app
  345. Урок 345. 00:02:29
    Lesson intro
  346. Урок 346. 00:02:20
    A practical Lambda use case: CodeChalleng.es
  347. Урок 347. 00:04:36
    4 day plan, PEP8 Checker app, setup
  348. Урок 348. 00:09:18
    Build a simple Bottle web app
  349. Урок 349. 00:04:40
    First Lambda: a simple calculator (using operator)
  350. Урок 350. 00:05:05
    Creating Lambda test events
  351. Урок 351. 00:04:08
    The glue: setting up AWS Gateway API
  352. Урок 352. 00:11:39
    Second Lambda: PEP8 Checker (using pycodestyle)
  353. Урок 353. 00:05:36
    Uploading a Lambda with external dependencies
  354. Урок 354. 00:02:47
    Day 3 + 4: Your turn - create your own Lambda
  355. Урок 355. 00:01:20
    Deploy introduction
  356. Урок 356. 00:02:59
    Deployment moving parts overview
  357. Урок 357. 00:01:38
    Deployment: What app to install?
  358. Урок 358. 00:02:18
    Where to host our server
  359. Урок 359. 00:03:01
    Creating our virtual server
  360. Урок 360. 00:01:48
    Connecting and updating the Linux server
  361. Урок 361. 00:05:22
    Server software config
  362. Урок 362. 00:05:20
    Getting the Python source files on the server
  363. Урок 363. 00:05:49
    Setting up uWSGI
  364. Урок 364. 00:04:14
    Serving through nginx
  365. Урок 365. 00:01:48
    A final check-in on the server
  366. Урок 366. 00:02:58
    Concept: uWSGI setup
  367. Урок 367. 00:01:36
    Concept: nginx setup
  368. Урок 368. 00:01:01
    Deploying Flask web apps
  369. Урок 369. 00:01:01
    Deploying Django web apps
  370. Урок 370. 00:02:52
    Your turn: Deployment
  371. Урок 371. 00:01:57
    Vue.js Chapter Introduction
  372. Урок 372. 00:02:21
    What does a simple Vue.js app look like?
  373. Урок 373. 00:03:20
    The starter project: Movie Exploder
  374. Урок 374. 00:04:28
    Creating the Vue app instance
  375. Урок 375. 00:02:23
    Enabling the Vue.js Plugin in PyCharm and WebStorm
  376. Урок 376. 00:02:20
    Repeating data and HTML blocks
  377. Урок 377. 00:01:03
    Concept: Repeating data
  378. Урок 378. 00:01:56
    First, with fake data
  379. Урок 379. 00:03:03
    Detailed movie details
  380. Урок 380. 00:01:33
    Conditional rendering
  381. Урок 381. 00:01:05
    Concept: Conditional rendering
  382. Урок 382. 00:03:19
    Searching movies event
  383. Урок 383. 00:01:35
    Top ten button
  384. Урок 384. 00:03:06
    Displaying and selecting genres
  385. Урок 385. 00:02:58
    A nicer dropdown
  386. Урок 386. 00:01:15
    Selecting the genre
  387. Урок 387. 00:02:05
    Install the Vue.js devtools
  388. Урок 388. 00:02:04
    Your turn: Day 2
  389. Урок 389. 00:05:23
    Searching movies via the API and axios
  390. Урок 390. 00:01:06
    Concept: Calling API with axios
  391. Урок 391. 00:03:10
    Genres via the service
  392. Урок 392. 00:02:12
    Top 10 movies from API
  393. Урок 393. 00:02:29
    Movies by genre through the API
  394. Урок 394. 00:02:32
    Setting attributes with Vue.js
  395. Урок 395. 00:00:55
    Look; no semicolons
  396. Урок 396. 00:01:26
    Your turn: Day 4
  397. Урок 397. 00:01:35
    Introduction to Docker chapter
  398. Урок 398. 00:03:10
    Container history: Boats
  399. Урок 399. 00:03:29
    Container history: Operating systems
  400. Урок 400. 00:02:26
    Installing Docker on macOS, Windows, and Linux
  401. Урок 401. 00:04:03
    Docker nomenclature
  402. Урок 402. 00:02:28
    Code setup
  403. Урок 403. 00:01:55
    Choosing a Docker base image
  404. Урок 404. 00:03:17
    Running a Docker container
  405. Урок 405. 00:01:01
    Productivity with Docker plugins for Pycharm
  406. Урок 406. 00:06:14
    Building a Docker image
  407. Урок 407. 00:03:52
    Installing glances
  408. Урок 408. 00:05:48
    Nginx config for our static site
  409. Урок 409. 00:03:59
    Serving external traffic from Docker
  410. Урок 410. 00:02:34
    Using the local services container
  411. Урок 411. 00:10:56
    Docker image for our Python services
  412. Урок 412. 00:03:40
    Running the system as a whole
  413. Урок 413. 00:02:15
    Docker cleanup and reclaiming disk space
  414. Урок 414. 00:03:16
    Keep your Docker DRY (refactoring)
  415. Урок 415. 00:02:09
    Concept: Dockerfile for the static site
  416. Урок 416. 00:03:48
    Concept: Core Docker commands
  417. Урок 417. 00:02:37
    Your-turn, day 2
  418. Урок 418. 00:02:20
    Concept: Introduction to docker-compose
  419. Урок 419. 00:08:28
    Building the services with docker-compose
  420. Урок 420. 00:01:17
    Your-turn, day 4
  421. Урок 421. 00:00:31
    You've done it!
  422. Урок 422. 00:01:22
    What you've learned
  423. Урок 423. 00:00:30
    Make sure you have the source
  424. Урок 424. 00:01:08
    Stay immersed in Python
  425. Урок 425. 00:01:11
    Continue to challenge yourself with PyBites
  426. Урок 426. 00:01:12
    Thanks and goodbye