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