Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Python - The Practical Guide, а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:01:52
    Introduction
  • Урок 2. 00:05:08
    What is Python?
  • Урок 3. 00:03:12
    Setting Up Python
  • Урок 4. 00:05:06
    Writing our First Python Code
  • Урок 5. 00:06:49
    What is the Blockchain?
  • Урок 6. 00:04:42
    Course Outline
  • Урок 7. 00:03:59
    Python Alternatives
  • Урок 8. 00:02:23
    Understanding the Python Versions
  • Урок 9. 00:03:29
    How To Get The Most Out Of This Course
  • Урок 10. 00:02:17
    Module Introduction
  • Урок 11. 00:04:26
    Understanding the REPL and Data Types
  • Урок 12. 00:04:47
    Working with Variables
  • Урок 13. 00:05:37
    Working with Numbers
  • Урок 14. 00:03:49
    Using Operators
  • Урок 15. 00:03:36
    Understanding a "Special" Behaviour when Working with Numbers
  • Урок 16. 00:02:19
    Working with Strings
  • Урок 17. 00:05:10
    Working with Lists
  • Урок 18. 00:03:03
    Adding & Removing List Items
  • Урок 19. 00:02:03
    Preparing the Blockchain - The Theory
  • Урок 20. 00:05:18
    Installing our IDE
  • Урок 21. 00:06:46
    Using Functions to Add List Items
  • Урок 22. 00:03:25
    Accessing the Last List Item
  • Урок 23. 00:02:37
    Adding Arguments to Functions
  • Урок 24. 00:03:58
    Understanding the "return" Keyword
  • Урок 25. 00:04:07
    Using Default Arguments
  • Урок 26. 00:03:00
    Working with Keyword Arguments
  • Урок 27. 00:03:01
    Using the "input" Function
  • Урок 28. 00:02:08
    Avoiding Repetitive Code Execution
  • Урок 29. 00:06:50
    Understanding the Variable Scope
  • Урок 30. 00:02:26
    Exploring the Official Documentation
  • Урок 31. 00:04:21
    Adding Comments and Doc Strings
  • Урок 32. 00:01:57
    Structuring Multi Line Code in Python
  • Урок 33. 00:03:29
    Wrap Up
  • Урок 34. 00:01:39
    Module Introduction
  • Урок 35. 00:02:56
    Understanding Loops - Theory
  • Урок 36. 00:03:03
    Creating a "for" Loop
  • Урок 37. 00:03:34
    Creating a "while" Loop
  • Урок 38. 00:02:02
    Understanding Conditionals - Theory
  • Урок 39. 00:07:46
    Adding "if-else" to our Blockchain
  • Урок 40. 00:03:44
    Working with "elif"
  • Урок 41. 00:03:32
    Understanding "break" & "continue"
  • Урок 42. 00:06:40
    Improving our Code with Loops & Conditionals
  • Урок 43. 00:03:38
    Understanding Boolean Operators - "is" & "in"
  • Урок 44. 00:01:18
    The "not" Keyword
  • Урок 45. 00:02:27
    Understanding "and" and "or"
  • Урок 46. 00:03:23
    Grouping Conditionals
  • Урок 47. 00:00:42
    What About "switch" in Python?
  • Урок 48. 00:13:11
    Verifying our Blockchain
  • Урок 49. 00:01:57
    Using Conditions inside the "while" Loop
  • Урок 50. 00:02:08
    Using "else" in Loops
  • Урок 51. 00:07:10
    Adding the "range" Function
  • Урок 52. 00:02:32
    Wrap Up
  • Урок 53. 00:02:51
    Module Introduction
  • Урок 54. 00:07:04
    Understanding the Required Data Structure for our Blockchain
  • Урок 55. 00:05:03
    Working with Iterables
  • Урок 56. 00:02:56
    Choosing the Right Datastructure
  • Урок 57. 00:07:47
    Transactions with Dictionaries & Tuples
  • Урок 58. 00:03:21
    Unpacking the Tuple
  • Урок 59. 00:06:18
    Mining Blocks
  • Урок 60. 00:06:24
    Hashing Previous Blocks
  • Урок 61. 00:05:49
    Understanding List Comprehensions
  • Урок 62. 00:01:40
    And What are Dict Comprehensions?
  • Урок 63. 00:02:54
    Combining List Comprehensions & "if"
  • Урок 64. 00:08:21
    Improving the Blockchain Validation Logic
  • Урок 65. 00:03:34
    Managing a List of Participants in the Blockchain
  • Урок 66. 00:07:47
    Calculating Balances
  • Урок 67. 00:03:24
    Rewarding the Miners of our Blockchain
  • Урок 68. 00:05:46
    Verifying Transactions
  • Урок 69. 00:07:08
    Understanding Reference vs Value Copying
  • Урок 70. 00:05:43
    Working with the Range Selector
  • Урок 71. 00:02:43
    Understanding Shallow vs Deep Copies
  • Урок 72. 00:01:37
    Comparing "is" & "=="
  • Урок 73. 00:07:28
    Diving Deeper Into Iterable Methods
  • Урок 74. 00:07:36
    Understanding the "all" & "any" Functions
  • Урок 75. 00:06:47
    Comparing Iterables
  • Урок 76. 00:03:18
    Wrap Up
  • Урок 77. 00:01:31
    Module Introduction
  • Урок 78. 00:03:58
    Comparing Strings & Lists
  • Урок 79. 00:08:12
    Understanding the "format" Method
  • Урок 80. 00:01:48
    Escaping Characters
  • Урок 81. 00:01:28
    Formatting Strings Conveniently with "f"
  • Урок 82. 00:02:01
    Adding String Formatting to our Project
  • Урок 83. 00:02:54
    Understanding the "map" Function
  • Урок 84. 00:02:14
    Working with Lambda Functions
  • Урок 85. 00:07:41
    Reducing Lists
  • Урок 86. 00:06:33
    Unpacking Function Arguments
  • Урок 87. 00:04:14
    Fixing a Bug
  • Урок 88. 00:01:31
    Wrap Up
  • Урок 89. 00:01:44
    Module Introduction
  • Урок 90. 00:02:13
    Exploring the Python Standard Library
  • Урок 91. 00:04:19
    Importing Packages - Theory
  • Урок 92. 00:07:15
    Importing "hashlib" to Create a Unique Hash
  • Урок 93. 00:01:48
    Using Other Import Syntaxes
  • Урок 94. 00:06:54
    The "Proof of Work"
  • Урок 95. 00:05:49
    Adding the Proof of Work to our Blockchain
  • Урок 96. 00:07:50
    Including the Proof of Work in our Mining Function
  • Урок 97. 00:06:23
    Fixing a Hash Order Fault
  • Урок 98. 00:04:34
    Splitting Up our Code
  • Урок 99. 00:02:03
    Wrap Up
  • Урок 100. 00:01:45
    Module Introduction
  • Урок 101. 00:05:45
    Handling File Access
  • Урок 102. 00:02:34
    Reading Data From a File
  • Урок 103. 00:05:53
    Reading Multi-Line Content
  • Урок 104. 00:02:58
    Using the "with" Block Statement
  • Урок 105. 00:08:40
    Adding File Access to our Blockchain
  • Урок 106. 00:16:02
    Converting Strings Into Python Objects
  • Урок 107. 00:06:06
    Storing Data with Pickle
  • Урок 108. 00:01:06
    Comparing Pickle & JSON
  • Урок 109. 00:02:31
    Changing the Project Back to JSON
  • Урок 110. 00:00:47
    Why we need Proper Error Handling
  • Урок 111. 00:01:18
    Wrap Up
  • Урок 112. 00:00:58
    Module Introduction
  • Урок 113. 00:05:54
    Finding Logical Errors with the Debugger
  • Урок 114. 00:01:41
    Finding Syntax Errors
  • Урок 115. 00:04:34
    Using "try" to Find Runtime Errors
  • Урок 116. 00:03:02
    Which Errors Should you Handle?
  • Урок 117. 00:02:33
    Adding Error Handlers to our Blockchain
  • Урок 118. 00:01:50
    Wrap Up
  • Урок 119. 00:01:14
    Module Introduction
  • Урок 120. 00:02:13
    What is Object Oriented Programming?
  • Урок 121. 00:01:25
    Understanding Classes
  • Урок 122. 00:05:10
    Creating a Class
  • Урок 123. 00:02:45
    Comparing Classes, Instances & Dictionaries
  • Урок 124. 00:03:38
    Understanding Class Attributes
  • Урок 125. 00:04:22
    Constructor & Instance Attributes
  • Урок 126. 00:06:05
    Printing Classes with Special Methods
  • Урок 127. 00:04:40
    Private & Public Attributes
  • Урок 128. 00:08:47
    Understanding Inheritance
  • Урок 129. 00:01:33
    Planning Blockchain Classes
  • Урок 130. 00:11:08
    Adding a "Block" Class to the Blockchain
  • Урок 131. 00:04:50
    Saving Custom Class Objects via .json
  • Урок 132. 00:17:47
    Adding a "Transaction" Class
  • Урок 133. 00:05:44
    Inheritance in Action
  • Урок 134. 00:10:04
    Adding a "Verification" Helper Class
  • Урок 135. 00:04:52
    Initialising the "Node" Class
  • Урок 136. 00:07:31
    Turning the Blockchain Into a Class
  • Урок 137. 00:11:12
    Adding a "Node" Class
  • Урок 138. 00:03:40
    Understanding "Instance" vs "Class" vs "Static Methods" & "Attributes"
  • Урок 139. 00:03:45
    Using "Static" & "Class" Methods on the "Verification" Class
  • Урок 140. 00:03:44
    Using Private Attributes in the Blockchain
  • Урок 141. 00:05:21
    Properties vs Attributes
  • Урок 142. 00:02:16
    Wrap Up
  • Урок 143. 00:01:42
    Module Introduction
  • Урок 144. 00:04:41
    Creating Packages - Module Bundles
  • Урок 145. 00:00:44
    The "pycache" Folder
  • Урок 146. 00:00:52
    Module Docstrings
  • Урок 147. 00:05:37
    Controlling Exports
  • Урок 148. 00:04:12
    Understanding Execution Context & "__name__"
  • Урок 149. 00:04:26
    Why we Need a Private & Public Key Transaction Protection
  • Урок 150. 00:06:24
    Using Anaconda to Install Third Party Packages
  • Урок 151. 00:06:22
    Generating Keys with a Third Party Package
  • Урок 152. 00:06:16
    Connecting the Node & the Wallet
  • Урок 153. 00:04:07
    Generating Keys on the Node
  • Урок 154. 00:08:25
    Saving & Loading Keys to Files
  • Урок 155. 00:06:25
    Creating Transaction Signatures
  • Урок 156. 00:02:43
    Adding a Signature to our Transactions
  • Урок 157. 00:06:50
    Verifying Signatures
  • Урок 158. 00:05:42
    Improving the Verification Logic
  • Урок 159. 00:01:22
    Wrap Up
  • Урок 160. 00:02:05
    Module Introduction
  • Урок 161. 00:05:41
    HTTP Requests - The Basics
  • Урок 162. 00:03:33
    Understanding API-Endpoints/ URLs
  • Урок 163. 00:03:19
    Data Formats
  • Урок 164. 00:02:06
    Planning our API
  • Урок 165. 00:10:09
    Setting Up our Environment with Flask
  • Урок 166. 00:10:10
    Adding our First Route
  • Урок 167. 00:02:22
    Installing Postman
  • Урок 168. 00:07:22
    Adding a POST Request
  • Урок 169. 00:08:24
    Setting Up Routes to Manage our Wallet
  • Урок 170. 00:05:44
    Returning Funds
  • Урок 171. 00:11:27
    Adding Transactions
  • Урок 172. 00:03:15
    Fetching Open Transactions
  • Урок 173. 00:01:47
    Testing the Public Key
  • Урок 174. 00:02:42
    Adding a User Interface
  • Урок 175. 00:13:18
    Optional: Configuring our UI - Creating a Wallet
  • Урок 176. 00:11:59
    Optional: Configuring our UI - Loading a Wallet and Adding Mining & Transactions
  • Урок 177. 00:02:46
    Exploring our UI
  • Урок 178. 00:01:53
    Wrap Up
  • Урок 179. 00:01:43
    Module Introduction
  • Урок 180. 00:07:19
    Adding Node Management Methods to the Blockchain
  • Урок 181. 00:07:41
    Setting Up Routes to Add Nodes
  • Урок 182. 00:05:18
    Adding a Remove Node Route
  • Урок 183. 00:01:20
    Adding "get_Nodes" to get all Nodes
  • Урок 184. 00:11:08
    Attaching a Node User Interface
  • Урок 185. 00:11:20
    Running Multiple Nodes
  • Урок 186. 00:10:37
    Sending Requests from within Python
  • Урок 187. 00:12:07
    Broadcasting Transactions - Adding the Function & Route
  • Урок 188. 00:05:52
    Broadcasting Transactions - Testing & Fixing Errors
  • Урок 189. 00:11:13
    Broadcasting New Blocks: Adding the Function & Route
  • Урок 190. 00:09:54
    Broadcasting New Blocks: Informing the Peer Nodes
  • Урок 191. 00:03:29
    Broadcasting Transactions: Testing
  • Урок 192. 00:05:34
    Solving Conflicts
  • Урок 193. 00:03:29
    Understanding Consensus
  • Урок 194. 00:09:35
    Finding Conflicts
  • Урок 195. 00:17:21
    Implementing a Consensus Algorithm
  • Урок 196. 00:05:50
    Testing Consensus
  • Урок 197. 00:01:02
    Wrap Up
  • Урок 198. 00:00:47
    Module Introduction
  • Урок 199. 00:02:47
    Don't Forget PEP 8
  • Урок 200. 00:08:30
    Using PEP 8
  • Урок 201. 00:01:02
    Using Comments
  • Урок 202. 00:05:08
    Diving Deeper Into Python
  • Урок 203. 00:10:03
    Improving the Blockchain
  • Урок 204. 00:00:58
    Congratulations