1. Урок 1.00:07:59
    Initial Database Setup With Seeding
  2. Урок 2.00:09:27
    Test-Driving Threads
  3. Урок 3.00:09:10
    A Thread Can Have Replies
  4. Урок 4.00:17:40
    A User May Respond to Threads
  5. Урок 5.00:05:15
    The Reply Form
  6. Урок 6.00:06:13
    A User May Publish Threads
  7. Урок 7.00:05:44
    Let's Make Some Testing Helpers
  8. Урок 8.00:07:55
    The Exception Handling Conundrum
  9. Урок 9.00:14:12
    A Thread Should Be Assigned a Channel
  10. Урок 10.00:10:41
    How to Test Validation Errors
  11. Урок 11.00:13:26
    Users Can Filter Threads By Channel
  12. Урок 12.00:08:24
    Validation Errors and Old Data
  13. Урок 13.00:03:00
    Extracting to View Composers
  14. Урок 14.00:07:37
    A User Can Filter All Threads By Username
  15. Урок 15.00:18:48
    A Lesson in Refactoring
  16. Урок 16.00:09:20
    Meta Details and Pagination
  17. Урок 17.00:11:51
    A User Can Filter Threads By Popularity
  18. Урок 18.00:15:47
    A User Can Favorite Replies
  19. Урок 19.00:07:37
    The Favorite Button
  20. Урок 20.00:07:07
    From 56 Queries Down to 2
  21. Урок 21.00:08:29
    Global Scopes and Further Query Reduction
  22. Урок 22.00:12:32
    A User Has a Profile
  23. Урок 23.00:14:07
    A User Can Delete Their Threads
  24. Урок 24.00:10:29
    Authorization With Policies
  25. Урок 25.00:16:38
    How to Construct an Activity Feed with TDD
  26. Урок 26.00:16:22
    How to Construct An Activity Feed with TDD: Part 2
  27. Урок 27.00:07:40
    Extracting Controller Queries to the Model
  28. Урок 28.00:05:11
    The Activity Deletion Bug
  29. Урок 29.00:14:00
    Flash Messaging With Vue
  30. Урок 30.00:06:06
    A User's Activity Feed Should Include Favorited Replies
  31. Урок 31.00:07:59
    Authorized Users Can Delete Replies
  32. Урок 32.00:13:52
    A Vue Reply Component
  33. Урок 33.00:04:22
    Ajaxifying the Delete Button
  34. Урок 34.00:16:28
    A Vue Favorite Component
  35. Урок 35.00:08:32
    Squashing Bugs
  36. Урок 36.00:21:59
    A More Data-centric Approach
  37. Урок 37.00:11:44
    A New Reply Component
  38. Урок 38.00:31:02
    Laravel and Vue Pagination
  39. Урок 39.00:12:53
    A User Can Filter By Unanswered Threads
  40. Урок 40.00:10:53
    Thread Subscriptions: Part 1
  41. Урок 41.00:06:17
    Thread Subscriptions: Part 2
  42. Урок 42.00:15:13
    Thread Subscriptions: Part 3
  43. Урок 43.00:25:30
    Thread Subscriptions: Part 4
  44. Урок 44.00:06:16
    Test Refactoring
  45. Урок 45.00:13:22
    Thread Subscriptions: Part 5
  46. Урок 46.00:10:25
    Refactoring for the Better or Worse?
  47. Урок 47.00:05:21
    Notification Fakes in a Nutshell
  48. Урок 48.00:15:55
    This Thread Has Been Updated Since You Last Read It
  49. Урок 49.00:11:09
    Spam Detection
  50. Урок 50.00:08:52
    Graduating Inspection Methods to Classes
  51. Урок 51.00:06:57
    Spam Detection At All Ports
  52. Урок 52.00:10:17
    Handling Server Exceptions with JavaScript
  53. Урок 53.00:07:21
    Refactoring to Custom Validation
  54. Урок 54.00:15:11
    A User May Not Reply More Than Once Per Minute
  55. Урок 55.00:12:04
    Refactoring to Form Requests
  56. Урок 56.00:09:29
    Mentioned Users Notifications: Part 1
  57. Урок 57.00:12:14
    Mentioned Users Notifications: Part 2
  58. Урок 58.00:08:02
    Don't Forget to Scan Your Files
  59. Урок 59.00:07:35
    Wrap Usernames Within Anchor Tags
  60. Урок 60.00:13:20
    Instant Username Autocompletion
  61. Урок 61.00:13:34
    Instant Username Autocompletion: Part 2
  62. Урок 62.00:07:49
    Basic View Tweaks
  63. Урок 63.00:13:50
    Testing Avatar Uploads
  64. Урок 64.00:14:05
    Testing Avatar Uploads: Part 2
  65. Урок 65.00:28:04
    AJAX Image Uploads
  66. Урок 66.00:14:50
    Trending Threads With Redis
  67. Урок 67.00:12:15
    Isolating Knowledge
  68. Урок 68.00:09:11
    Thread Views: Design #1 - Trait
  69. Урок 69.00:08:24
    Thread Views: Design #2 - Extract Class
  70. Урок 70.00:07:51
    Thread Views: Design #3 - KISS
  71. Урок 71.00:09:47
    Users Must Confirm Their Email Address: #1 - Protection
  72. Урок 72.00:23:07
    Users Must Confirm Their Email Address: #2 - Confirmation
  73. Урок 73.00:15:17
    Users Must Confirm Their Email Address: #3 - Cleanup
  74. Урок 74.00:08:03
    Email Confirmation Loose Ends
  75. Урок 75.00:07:26
    A Thread Should Have a Unique Slug: Part 1
  76. Урок 76.00:11:45
    A Thread Should Have a Unique Slug: Part 2
  77. Урок 77.00:13:29
    We Need a Regression Test
  78. Урок 78.00:14:18
    Mark the Best Reply: Part 1
  79. Урок 79.00:07:58
    Mark the Best Reply: Part 2
  80. Урок 80.00:06:08
    Refactoring Authorization
  81. Урок 81.00:10:49
    Remembering a Best Reply
  82. Урок 82.00:11:08
    Confusing Errors and Solutions
  83. Урок 83.00:06:40
    Thread Authorization
  84. Урок 84.00:08:00
    An Administrator May Lock Any Thread
  85. Урок 85.00:16:02
    An Administrator May Lock Any Thread: Part 2
  86. Урок 86.00:11:16
    An Administrator May Lock Any Thread: Part 3
  87. Урок 87.00:11:59
    An Administrator May Lock Any Thread: Part 4
  88. Урок 88.00:09:31
    From Laravel 5.4 to Laravel 5.5
  89. Урок 89.00:09:33
    Recaptcha
  90. Урок 90.00:12:51
    Recaptcha Refactoring
  91. Урок 91.00:13:34
    A Thread Can Be Updated
  92. Урок 92.00:12:44
    A Thread Can Be Updated: Part 2
  93. Урок 93.00:15:22
    A Thread Can Be Updated: Part 3
  94. Урок 94.00:09:07
    First Class Search: Scout Review
  95. Урок 95.00:18:10
    First Class Search: Implementation
  96. Урок 96.00:05:01
    First Class Search: Faceting and Ranking
  97. Урок 97.00:11:51
    First Class Search: Instant Results
  98. Урок 98.00:11:02
    First Class Search: Forum Integration
  99. Урок 99.00:15:29
    WYSIWYG
  100. Урок 100.00:12:12
    WYSIWYG: Part 2
  101. Урок 101.00:19:29
    Sanitizing is a Must
  102. Урок 102.00:01:58
    Onward