Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Advanced Software Design Course by Mirdin, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:05:04
    A Story about Stories
  2. Урок 2. 00:04:02
    Ghosts
  3. Урок 3. 00:03:46
    The Three Levels of Software
  4. Урок 4. 00:03:56
    Case Study | Chromium
  5. Урок 5. 00:06:13
    Hoare Logic
  6. Урок 6. 00:04:48
    Code Knowledge
  7. Урок 7. 00:23:45
    Lesson | Hoare logic
  8. Урок 8. 00:09:18
    Video Answer | The Three Levels Of Software
  9. Урок 9. 00:07:32
    Video Answer | The Design of Software is A Thing Apart
  10. Урок 10. 00:00:57
    Video Answer | Painless Functional Specification
  11. Урок 11. 00:08:48
    Video Answer | Modules Matters Most
  12. Урок 12. 00:14:20
    Bonus Video | You are a Program Synthesizer
  13. Урок 13. 00:01:48
    Video Answer | Hoare Logic | Question 1
  14. Урок 14. 00:01:52
    Video Answer | Hoare Logic | Question 2
  15. Урок 15. 00:04:52
    Video Answer | Hoare Logic | Question 3
  16. Урок 16. 00:14:50
    Video Answer | Hoare Logic | Question 4
  17. Урок 17. 00:03:51
    Video Answer | Hoare Logic | Question 4.1 | Bonus
  18. Урок 18. 00:08:48
    Video Answer | Hoare Logic | Question 5
  19. Урок 19. 00:07:34
    Video Answer | Hoare Logic | Question 6
  20. Урок 20. 00:02:41
    A Cautionary Tale
  21. Урок 21. 00:01:16
    What is Design?
  22. Урок 22. 00:04:12
    The Embedded Design Principle Examples
  23. Урок 23. 00:07:42
    The Plain English Test
  24. Урок 24. 00:02:39
    Linguistic Antipatterns
  25. Урок 25. 00:07:42
    Hidden Coupling
  26. Урок 26. 00:03:34
    SQLite Case Study
  27. Урок 27. 00:03:47
    Video Answer | Dark Knowledge and Graph Grammars
  28. Урок 28. 00:02:09
    Video Answer | My Favorite Principle for Code Quality
  29. Урок 29. 00:04:20
    Video Answer | Boolean Blindness
  30. Урок 30. 00:05:22
    Video Answer | Hidden Coupling | Examples 1 to 4
  31. Урок 31. 00:08:19
    Video Answer | Hidden Coupling | Examples 5 to 9
  32. Урок 32. 00:03:22
    Video Answer | Hidden Coupling | The X Macro Trick
  33. Урок 33. 00:02:19
    Video Answer | Django E-mail Subsystem | Exercise 1
  34. Урок 34. 00:03:04
    Video Answer | Django E-mail Subsystem | Exercise 2.1
  35. Урок 35. 00:02:10
    Video Answer | Django E-mail Subsystem | Exercise 2.2
  36. Урок 36. 00:03:52
    Video Answer | Django E-mail Subsystem | Exercise 2.3
  37. Урок 37. 00:00:49
    Video Answer | Django E-mail Subsystem | Exercise 3.1
  38. Урок 38. 00:01:36
    Video Answer | Django E-mail Subsystem | Exercise 3.2
  39. Урок 39. 00:03:48
    Video Answer | Django E-mail Subsystem | Exercise 3.3
  40. Урок 40. 00:03:13
    Video Answer | Django E-mail Subsystem | Exercise 4.1
  41. Урок 41. 00:01:35
    Video Answer | Django E-mail Subsystem | Exercise 4.2
  42. Урок 42. 00:04:35
    Video Answer | Django E-mail Subsystem | Exercise 4.3
  43. Урок 43. 00:02:25
    Video Answer | Django E-mail Subsystem | Exercise 4.4
  44. Урок 44. 00:09:33
    Video Answer | Django E-mail Subsystem | Exercise 4.5
  45. Урок 45. 00:06:40
    Video Answer | Django E-mail Subsystem | Exercise 4.6
  46. Урок 46. 00:02:38
    Video Answer | Django E-mail Subsystem | Exercise 5
  47. Урок 47. 00:04:25
    Video Answer | Django E-mail Subsystem | Exercise 6
  48. Урок 48. 00:01:25
    Bug Alert
  49. Урок 49. 00:05:14
    Bug Found
  50. Урок 50. 00:07:26
    The Two Views Of State
  51. Урок 51. 00:04:19
    Locking Down Transitions
  52. Урок 52. 00:07:48
    The Internal View
  53. Урок 53. 00:03:01
    MIRO
  54. Урок 54. 00:05:00
    Video Answer | Applying the Linus Torvalds Good Taste coding requirement
  55. Урок 55. 00:06:41
    Video Answer | Bugs And Battleships
  56. Урок 56. 00:01:51
    Video Answer | The Most Dangerous Code in The World
  57. Урок 57. 00:05:48
    Video Answer | Where To Draw The Boundary
  58. Урок 58. 00:04:39
    Video Answer | Restricting APIs | Exercise 1.1
  59. Урок 59. 00:03:31
    Video Answer | Restricting APIs | Exercise 1.2
  60. Урок 60. 00:01:14
    Video Answer | Restricting APIs | Exercise 1.3
  61. Урок 61. 00:15:06
    Video Answer | Restricting APIs | Exercise 2
  62. Урок 62. 00:01:55
    Video Answer | Restricting APIs | Exercise 2 Extra Challenge 1
  63. Урок 63. 00:02:23
    Video Answer | Simpler and More Correct | Exercise 1.1
  64. Урок 64. 00:01:56
    Video Answer | Simpler and More Correct | Exercise 1.2
  65. Урок 65. 00:05:26
    Video Answer | Simpler and More Correct | Exercise 1.3
  66. Урок 66. 00:09:21
    Video Answer | Simpler and More Correct | Exercise 1.4
  67. Урок 67. 00:06:53
    Video Answer | Simpler and More Correct | Exercise 1.5
  68. Урок 68. 00:05:21
    Video Answer | Simpler and More Correct | Exercise 2
  69. Урок 69. 00:02:01
    Video Answer | Simpler and More Correct | Exercise 2 Extra
  70. Урок 70. 00:02:52
    The Data Over Code Principle Intro
  71. Урок 71. 00:06:17
    Modularization
  72. Урок 72. 00:03:00
    What is a Secret
  73. Урок 73. 00:03:03
    Data Abstraction in Action
  74. Урок 74. 00:03:25
    Restricting State
  75. Урок 75. 00:04:08
    Why Secrets Imply Data Over Code
  76. Урок 76. 00:01:39
    Magic Trick Preamble
  77. Урок 77. 00:07:13
    Magic Trick Short Magic Trick
  78. Урок 78. 00:09:18
    Magic Trick Long Magic Trick
  79. Урок 79. 00:00:50
    The Information-Hiding Dilemma
  80. Урок 80. 00:05:56
    Video Answer On the Criteria to be Used in Decomposing Systems Into Modules
  81. Урок 81. 00:06:00
    Video Answer The Secret History of Information Hiding
  82. Урок 82. 00:08:17
    Video Answer Abstraction Not What You Think It Is
  83. Урок 83. 00:04:46
    Video Answer Programmer's Apprentice
  84. Урок 84. 00:01:14
    Video Answer Worktrees Question 1
  85. Урок 85. 00:02:14
    Video Answer Worktrees Question 2
  86. Урок 86. 00:04:43
    Video Answer Worktrees Question 3
  87. Урок 87. 00:01:15
    Video Answer Submodules Question 1
  88. Урок 88. 00:09:18
    Video Answer Submodules Question 2
  89. Урок 89. 00:02:05
    Do You Mean Refactorings
  90. Урок 90. 00:07:22
    Reductions, Equivalences, and Rewriting
  91. Урок 91. 00:09:12
    Algebraic Data Types Sums & Products
  92. Урок 92. 00:09:12
    Functions are Exponentials
  93. Урок 93. 00:04:19
    Bonus. Recursive Types
  94. Урок 94. 00:04:49
    Video Answer The Algebra of Algebraic Datatypes Parts 1 and 2
  95. Урок 95. 00:11:04
    Video Answer Equational Reasoning Changing a function call
  96. Урок 96. 00:11:04
    Video Answer Equational Reasoning Swapping an if-statement
  97. Урок 97. 00:11:04
    Video Answer Equational Reasoning Un-nesting an If Statement
  98. Урок 98. 00:11:04
    Video Answer Equational Reasoning Conditional-to-function
  99. Урок 99. 00:11:04
    Video Answer Equational Reasoning Functoriality of Map Optional Bonus
  100. Урок 100. 00:01:29
    Video Answer Algebraically Refactoring a Weak API Exercise 1
  101. Урок 101. 00:01:38
    Video Answer A Tale of Two Parsers Data Modeling Exercise 1
  102. Урок 102. 00:01:55
    Video Answer A Tale of Two Parsers Data Modeling Exercise 2
  103. Урок 103. 00:02:41
    Video Answer A Tale of Two Parsers Data Modeling Exercise 3
  104. Урок 104. 00:02:24
    Video Answer A Tale of Two Parsers Data Modeling Exercise 4
  105. Урок 105. 00:02:22
    Video Answer A Tale of Two Parsers Data Modeling Exercise 5
  106. Урок 106. 00:02:14
    Video Answer A Tale of Two Parsers Data Modeling Exercise 6
  107. Урок 107. 00:10:33
    Video Answer A Tale of Two Parsers Data Modeling Exercise 7
  108. Урок 108. 00:01:53
    Video Answer A Tale of Two Parsers Code follows data Exercise 1
  109. Урок 109. 00:01:52
    Video Answer A Tale of Two Parsers Code follows data Exercise 2
  110. Урок 110. 00:06:00
    Video Answer A Tale of Two Parsers Code follows data Exercise 3
  111. Урок 111. 00:01:04
    Video Answer A Tale of Two Parsers Code follows data Exercise 4
  112. Урок 112. 00:04:51
    Making Future Proof Code A Tale Of Two Mistakes
  113. Урок 113. 00:04:09
    The RAD Process Step 1 Reduce and Sequester Assumptions
  114. Урок 114. 00:03:54
    The RAD Process Step 2 Add Openness
  115. Урок 115. 00:07:02
    The RAD Process Step 3 Diminish Complexity Ratchets
  116. Урок 116. 00:12:35
    Subtyping Mechanism
  117. Урок 117. 00:05:37
    Ending Speech
  118. Урок 118. 00:04:43
    Bonus. Int vs Long
  119. Урок 119. 00:05:23
    Video Answer Designing Software for Ease of Extension and Contraction
  120. Урок 120. 00:04:22
    Video Answer Martian Headsets
  121. Урок 121. 00:01:30
    Video Answer Additional Reading Why are the Microsoft API Formats so Complicated
  122. Урок 122. 00:01:11
    Video Answer Additional Reading How Microsoft Lost the API War
  123. Урок 123. 00:01:44
    Video Answer Additional Reading What is Overengineering
  124. Урок 124. 00:04:00
    Video Answer Additional Reading Ways to Create Complexity Break your API
  125. Урок 125. 00:02:41
    Video Answer Additional Reading Simplicity and Strictness
  126. Урок 126. 00:04:31
    Video Answer The GIMP File Format Assumptions Question 1
  127. Урок 127. 00:01:09
    Video Answer The GIMP File Format Assumptions Question 2
  128. Урок 128. 00:04:05
    Video Answer The GIMP File Format Assumptions Question 3
  129. Урок 129. 00:01:35
    Video Answer The GIMP File Format Assumptions Question 4
  130. Урок 130. 00:03:34
    Video Answer The GIMP File Format Openness Question 1
  131. Урок 131. 00:06:28
    Video Answer The GIMP File Format Openness Question 2
  132. Урок 132. 00:04:29
    Video Answer The GIMP File Format Complexity Ratchets Question 1
  133. Урок 133. 00:04:49
    Video Answer The GIMP File Format Complexity Ratchets Question 2
  134. Урок 134. 00:05:49
    Video Answer The GIMP File Format Complexity Ratchets Question 3
  135. Урок 135. 00:04:42
    Video Answer The GIMP File Format Complexity Ratchets Question 4
  136. Урок 136. 00:05:54
    Video Answer The GIMP File Format Complexity Ratchets Question 5
  137. Урок 137. 00:03:06
    Video Answer The GIMP File Format Bonus Question 1
  138. Урок 138. 00:01:46
    Video Answer The GIMP File Format Bonus Question 2