1. Урок 1. 00:02:02
    Introduction
  2. Урок 2. 00:00:54
    Installing Python
  3. Урок 3. 00:02:30
    Integers and Strings
  4. Урок 4. 00:02:11
    Variables in Python
  5. Урок 5. 00:01:34
    Solution to coding exercise: creating variables
  6. Урок 6. 00:05:18
    Methods print(), str(), and int()
  7. Урок 7. 00:03:47
    Solution to coding exercise: print, str, and int
  8. Урок 8. 00:04:51
    The format() method
  9. Урок 9. 00:03:38
    Solution to coding exercise: format()
  10. Урок 10. 00:04:23
    Getting user input with the input() method
  11. Урок 11. 00:01:11
    Solution to coding exercise: user input
  12. Урок 12. 00:03:58
    Creating our own methods in Python
  13. Урок 13. 00:02:53
    Solution to coding exercise: creating functions
  14. Урок 14. 00:09:21
    If statements in Python
  15. Урок 15. 00:04:37
    Solution to coding exercise: if statements
  16. Урок 16. 00:02:10
    Section 1 assignment video
  17. Урок 17. 00:01:32
    Our Development Environment
  18. Урок 18. 00:05:28
    Creating virtual environments for Python development
  19. Урок 19. 00:03:33
    Our Age application in PyCharm
  20. Урок 20. 00:05:13
    (aside) Tweaking PyCharm
  21. Урок 21. 00:07:37
    Understanding JSON and XML
  22. Урок 22. 00:04:46
    Making our first HTTP GET request
  23. Урок 23. 00:04:00
    Finding our chair price parsing HTML
  24. Урок 24. 00:07:00
    Parsing HTML data using BeautifulSoup
  25. Урок 25. 00:06:46
    Using the price as a number
  26. Урок 26. 00:07:56
    Installing MongoDB
  27. Урок 27. 00:07:20
    Introduction to MongoDB
  28. Урок 28. 00:06:36
    Creating a PyCharm project that uses MongoDB and pymongo
  29. Урок 29. 00:06:20
    Simplifying lists in Python with list comprehension
  30. Урок 30. 00:14:02
    Introduction to Object-Oriented Programming
  31. Урок 31. 00:06:20
    Creating our first class, the Post
  32. Урок 32. 00:14:41
    Creating a Database class for database interactions
  33. Урок 33. 00:03:25
    The last few Post methods
  34. Урок 34. 00:05:04
    Having default parameter values in Python methods
  35. Урок 35. 00:02:35
    Understanding dates in Python: the datetime module
  36. Урок 36. 00:04:55
    Verifying that the Post methods all work
  37. Урок 37. 00:13:46
    The Blog class and @classmethods
  38. Урок 38. 00:05:37
    Verifying the Blog methods all work
  39. Урок 39. 00:09:46
    Starting the menu and user interactions
  40. Урок 40. 00:06:33
    Finalising the Menu class
  41. Урок 41. 00:03:38
    Finally, running the application!
  42. Урок 42. 00:07:55
    Introduction to REST APIs
  43. Урок 43. 00:07:26
    How can we make our own API? What is Flask?
  44. Урок 44. 00:09:33
    Python cls() and argument unpacking
  45. Урок 45. 00:05:23
    Creating the User model for our application
  46. Урок 46. 00:10:21
    Starting developing the User model
  47. Урок 47. 00:07:41
    Creating the login and register
  48. Урок 48. 00:06:32
    Finding blogs by a specific author
  49. Урок 49. 00:07:10
    Allowing creation of blogs and posts
  50. Урок 50. 00:04:06
    Creating the static resources and templates
  51. Урок 51. 00:08:36
    Our first template in Jinja2
  52. Урок 52. 00:08:02
    Beginning CSS styling of pages
  53. Урок 53. 00:14:34
    The user login page
  54. Урок 54. 00:06:13
    The user registration page
  55. Урок 55. 00:14:53
    Using Bootstrap for the first time for great styling
  56. Урок 56. 00:09:45
    How can we display a list of blogs?
  57. Урок 57. 00:08:14
    Displaying a list of posts
  58. Урок 58. 00:02:04
    The Jinja2 if statement for structure control
  59. Урок 59. 00:09:15
    Creating new blogs (front-end)
  60. Урок 60. 00:09:01
    Finalising the application by allowing to create posts!
  61. Урок 61. 00:05:28
    Creating new Python projects in PyCharm 2019
  62. Урок 62. 00:06:23
    What are Flask Blueprints?
  63. Урок 63. 00:05:31
    Creating our new app structure
  64. Урок 64. 00:03:33
    Getting page content with requests
  65. Урок 65. 00:04:29
    How to find the price on a website
  66. Урок 66. 00:03:30
    Getting an element's content with BeautifulSoup
  67. Урок 67. 00:10:15
    Using RegEx to get specific information from a string
  68. Урок 68. 00:10:39
    Creating our Item model
  69. Урок 69. 00:04:06
    Adding type hinting to our application so far
  70. Урок 70. 00:01:04
    Starting up MongoDB and making sure it's working
  71. Урок 71. 00:06:24
    Preparing our Item model for saving in MongoDB
  72. Урок 72. 00:07:43
    Inserting Items into MongoDB
  73. Урок 73. 00:06:29
    Retrieving Items from MongoDB
  74. Урок 74. 00:16:37
    Notifying users in a simple way when the price is reached
  75. Урок 75. 00:08:06
    What is an abstract class in Python?
  76. Урок 76. 00:10:48
    Making more methods generic
  77. Урок 77. 00:09:02
    Finishing up the Model superclass
  78. Урок 78. 00:03:59
    How to force a subclass to have properties of a parent class
  79. Урок 79. 00:08:24
    Type hinting the current object type in a method return
  80. Урок 80. 00:23:03
    Creating items through the web interface
  81. Урок 81. 00:09:38
    Styling our site using Bootstrap 4
  82. Урок 82. 00:06:33
    Creating the Items blueprint
  83. Урок 83. 00:13:02
    Creating a page to show all items
  84. Урок 84. 00:09:52
    Creating alerts through the web interface
  85. Урок 85. 00:04:27
    A couple problems and solutions with our app... and our way moving forward
  86. Урок 86. 00:14:56
    Introducing stores to our application
  87. Урок 87. 00:04:44
    Getting rid of items
  88. Урок 88. 00:05:41
    Testing our app with stores
  89. Урок 89. 00:14:00
    Dataclasses in Python 3.7
  90. Урок 90. 00:09:28
    Turning our models into dataclasses
  91. Урок 91. 00:04:13
    Giving names to alerts in our application
  92. Урок 92. 00:03:59
    Saving the last item price
  93. Урок 93. 00:08:58
    Creating stores through the web interface
  94. Урок 94. 00:10:44
    Editing alert properties
  95. Урок 95. 00:03:47
    Linking the alert index to the edit page
  96. Урок 96. 00:07:19
    Editing stores
  97. Урок 97. 00:03:39
    Deleting alerts
  98. Урок 98. 00:01:21
    Deleting stores
  99. Урок 99. 00:06:06
    Registering users
  100. Урок 100. 00:06:42
    Encrypting passwords in Python with passlib
  101. Урок 101. 00:07:27
    Logging in
  102. Урок 102. 00:07:11
    Viewing only your own alerts
  103. Урок 103. 00:09:48
    What are Python decorators?
  104. Урок 104. 00:14:31
    Limiting some pages only to logged in users
  105. Урок 105. 00:08:38
    Adding a navigation bar using Bootstrap
  106. Урок 106. 00:10:25
    Limiting actions to admins only
  107. Урок 107. 00:04:08
    Signing up with Mailgun
  108. Урок 108. 00:16:54
    Sending e-mail with Mailgun
  109. Урок 109. 00:06:01
    Creating the landing page
  110. Урок 110. 00:01:49
    Signing up for GitHub
  111. Урок 111. 00:02:55
    Forking the GitHub repository from the last section
  112. Урок 112. 00:03:03
    How to install Git on Windows
  113. Урок 113. 00:02:08
    How to use the Windows Git Shell
  114. Урок 114. 00:02:28
    How to install Git on Mac
  115. Урок 115. 00:01:07
    How to install Git on Linux
  116. Урок 116. 00:03:39
    Cloning the Git repository from GitHub onto your computer
  117. Урок 117. 00:07:49
    File statuses and stages in Git
  118. Урок 118. 00:05:27
    How to generate an SSH key for GitHub
  119. Урок 119. 00:08:27
    Git commands: git commit and git push
  120. Урок 120. 00:01:18
    Git command: git log to check previous commits
  121. Урок 121. 00:03:05
    Signing up to Heroku
  122. Урок 122. 00:01:01
    Installing the Heroku Toolbelt (Command-Line Interface)
  123. Урок 123. 00:03:48
    Creating a new Heroku app
  124. Урок 124. 00:05:09
    Getting values from environment variables in Python
  125. Урок 125. 00:01:23
    Setting the environment variables in Heroku
  126. Урок 126. 00:05:57
    Setting up Heroku required files in our project so Heroku knows what to run
  127. Урок 127. 00:02:22
    Committing and pushing the new files to GitHub
  128. Урок 128. 00:01:58
    Adding servers on Heroku (called 'scaling dynos')
  129. Урок 129. 00:02:26
    Deploying our app to Heroku
  130. Урок 130. 00:02:50
    Adding MongoLab to our Heroku app as an add-on
  131. Урок 131. 00:02:07
    How to create a new MongoLab user
  132. Урок 132. 00:02:27
    Changing our program's database URI to match MongoLab's
  133. Урок 133. 00:03:23
    Using the Heroku logs to fix an Internal Server Error
  134. Урок 134. 00:02:17
    Running our deployed app in Heroku
  135. Урок 135. 00:03:19
    Another error: using the URI default database
  136. Урок 136. 00:04:04
    Verifying the app works, and next steps in the course
  137. Урок 137. 00:05:41
    Creating a DigitalOcean Droplet
  138. Урок 138. 00:06:07
    Creating a non-root user
  139. Урок 139. 00:08:03
    Configuring our new user
  140. Урок 140. 00:03:34
    Installing MongoDB in Ubuntu
  141. Урок 141. 00:04:00
    Getting our application code
  142. Урок 142. 00:11:42
    Configuring uWSGI and the system service
  143. Урок 143. 00:07:25
    Configuring nginx
  144. Урок 144. 00:03:35
    Creating a cron job in Ubuntu
  145. Урок 145. 00:00:28
    Course conclusion. Thank you!
  146. Урок 146. 00:01:25
    Bonus lecture: other courses and next steps