1. Урок 1.00:03:59
    1. From zero to deploy
  2. Урок 2.00:01:22
    1.1 Up and running
  3. Урок 3.00:02:30
    1.1.1 Development environment
  4. Урок 4.00:03:01
    1.1.2 Installing Rails
  5. Урок 5.00:02:26
    1.2 The first application
  6. Урок 6.00:02:53
    1.2.1 Bundler
  7. Урок 7.00:02:23
    1.2.2 rails server
  8. Урок 8.00:01:24
    1.2.3 Model-View-Controller (MVC)
  9. Урок 9.00:02:39
    1.2.4 Hello, world!
  10. Урок 10.00:01:06
    1.3 Version control with Git
  11. Урок 11.00:07:43
    1.3.1 Installation and setup
  12. Урок 12.00:02:35
    1.3.2 What good does Git do you?
  13. Урок 13.00:03:17
    1.3.3 GitHub
  14. Урок 14.00:07:29
    1.3.4 Branch, edit, commit, merge
  15. Урок 15.00:00:43
    1.4 Deploying
  16. Урок 16.00:05:11
    1.4.1 Heroku setup and deployment
  17. Урок 17.00:01:54
    1.4.3 Heroku commands
  18. Урок 18.00:00:20
    1.5 Conclusion
  19. Урок 19.00:02:02
    2. A toy app
  20. Урок 20.00:07:03
    2.1 Planning the application
  21. Урок 21.00:00:40
    2.1.1 A toy model for users
  22. Урок 22.00:00:40
    2.1.2 A toy model for microposts
  23. Урок 23.00:02:50
    2.2 The Users resource
  24. Урок 24.00:02:24
    2.2.1 A user tour
  25. Урок 25.00:05:39
    2.2.2 MVC in action
  26. Урок 26.00:01:43
    2.2.3 Weaknesses of this Users resource
  27. Урок 27.00:02:53
    2.3 The Microposts resource
  28. Урок 28.00:01:02
    2.3.1 A micropost microtour
  29. Урок 29.00:02:01
    2.3.2 Putting the micro in microposts
  30. Урок 30.00:05:39
    2.3.3 A user hasmany microposts
  31. Урок 31.00:02:23
    2.3.4 Inheritance hierarchies
  32. Урок 32.00:03:57
    2.3.5 Deploying the toy app
  33. Урок 33.00:00:43
    2.4 Conclusion
  34. Урок 34.00:00:25
    3. Mostly static pages
  35. Урок 35.00:14:39
    3.1 Sample app setup
  36. Урок 36.00:00:27
    3.2 Static pages
  37. Урок 37.00:08:05
    3.2.1 Generated static pages
  38. Урок 38.00:04:05
    3.2.2 Custom static pages
  39. Урок 39.00:01:12
    3.3 Getting started with testing
  40. Урок 40.00:03:08
    3.3.1 Our first test
  41. Урок 41.00:01:17
    3.3.2 Red
  42. Урок 42.00:06:29
    3.3.3 Green
  43. Урок 43.00:00:26
    3.3.4 Refactor
  44. Урок 44.00:02:14
    3.4 Slightly dynamic pages
  45. Урок 45.00:02:23
    3.4.1 Testing titles (Red)
  46. Урок 46.00:02:55
    3.4.2 Adding page titles (Green)
  47. Урок 47.00:10:02
    3.4.3 Layouts and embedded Ruby (Refactor)
  48. Урок 48.00:01:17
    3.4.4 Setting the root route
  49. Урок 49.00:07:23
    3.5 Conclusion
  50. Урок 50.00:00:48
    3.6 Advanced testing setup
  51. Урок 51.00:01:38
    3.6.1 minitest reporters
  52. Урок 52.00:03:55
    3.6.2 Automated tests with Guard
  53. Урок 53.00:00:14
    4. Rails-flavored Ruby
  54. Урок 54.00:00:36
    4.1 Motivation
  55. Урок 55.00:01:00
    4.1.1 Built-in helpers
  56. Урок 56.00:07:04
    4.1.2 Custom helpers
  57. Урок 57.00:02:44
    4.2 Strings and methods
  58. Урок 58.00:04:56
    4.2.1 Strings
  59. Урок 59.00:08:30
    4.2.2 Objects and message passing
  60. Урок 60.00:03:13
    4.2.3 Method definitions
  61. Урок 61.00:01:48
    4.2.4 Back to the title helper
  62. Урок 62.00:00:21
    4.3 Other data structures
  63. Урок 63.00:11:21
    4.3.1 Arrays and ranges
  64. Урок 64.00:08:01
    4.3.2 Blocks
  65. Урок 65.00:13:30
    4.3.3 Hashes and symbols
  66. Урок 66.00:02:36
    4.3.4 CSS revisited
  67. Урок 67.00:00:23
    4.4 Ruby classes
  68. Урок 68.00:02:34
    4.4.1 Constructors
  69. Урок 69.00:07:06
    4.4.2 Class inheritance
  70. Урок 70.00:03:19
    4.4.3 Modifying built-in classes
  71. Урок 71.00:02:41
    4.4.4 A controller class
  72. Урок 72.00:05:57
    4.4.5 A user class
  73. Урок 73.00:02:33
    4.5 Conclusion
  74. Урок 74.00:00:35
    5. Filling in the layout
  75. Урок 75.00:01:58
    5.1 Adding some structure
  76. Урок 76.00:18:10
    5.1.1 Site navigation
  77. Урок 77.00:09:13
    5.1.2 Bootstrap and custom CSS
  78. Урок 78.00:09:29
    5.1.3 Partials
  79. Урок 79.00:00:11
    5.2 Sass and the asset pipeline
  80. Урок 80.00:02:24
    5.2.1 The asset pipeline
  81. Урок 81.00:08:59
    5.2.2 Syntactically awesome stylesheets
  82. Урок 82.00:00:36
    5.3 Layout links
  83. Урок 83.00:03:11
    5.3.1 Contact page
  84. Урок 84.00:04:04
    5.3.2 Rails routes
  85. Урок 85.00:01:26
    5.3.3 Using named routes
  86. Урок 86.00:07:50
    5.3.4 Layout link tests
  87. Урок 87.00:00:10
    5.4 User signup: A first step
  88. Урок 88.00:01:31
    5.4.1 Users controller
  89. Урок 89.00:01:51
    5.4.2 Signup URL
  90. Урок 90.00:01:51
    5.5 Conclusion
  91. Урок 91.00:02:16
    6. Modeling users
  92. Урок 92.00:01:05
    6.1 User model
  93. Урок 93.00:10:02
    6.1.1 Database migrations
  94. Урок 94.00:00:37
    6.1.2 The model file
  95. Урок 95.00:07:00
    6.1.3 Creating user objects
  96. Урок 96.00:04:20
    6.1.4 Finding user objects
  97. Урок 97.00:04:54
    6.1.5 Updating user objects
  98. Урок 98.00:01:35
    6.2 User validations
  99. Урок 99.00:03:11
    6.2.1 A validity test
  100. Урок 100.00:05:37
    6.2.2 Validating presence
  101. Урок 101.00:03:42
    6.2.3 Length validation
  102. Урок 102.00:16:28
    6.2.4 Format validation
  103. Урок 103.00:14:47
    6.2.5 Uniqueness validation
  104. Урок 104.00:00:24
    6.3 Adding a secure password
  105. Урок 105.00:02:53
    6.3.1 A hashed password
  106. Урок 106.00:01:30
    6.3.2 User has secure password
  107. Урок 107.00:02:49
    6.3.3 Minimum password standards
  108. Урок 108.00:06:41
    6.3.4 Creating and authenticating a user
  109. Урок 109.00:04:56
    6.4 Conclusion
  110. Урок 110.00:00:36
    7. Sign up
  111. Урок 111.00:01:12
    7.1 Showing users
  112. Урок 112.00:06:34
    7.1.1 Debug and Rails environments
  113. Урок 113.00:06:36
    7.1.2 A Users resource
  114. Урок 114.00:03:40
    7.1.3 Debugger
  115. Урок 115.00:16:48
    7.1.4 A Gravatar image and a sidebar
  116. Урок 116.00:01:27
    7.2 Signup form
  117. Урок 117.00:08:54
    7.2.1 Using formwith
  118. Урок 118.00:03:21
    7.2.2 Signup form HTML
  119. Урок 119.00:00:55
    7.3 Unsuccessful signups
  120. Урок 120.00:03:51
    7.3.1 A working form
  121. Урок 121.00:06:52
    7.3.2 Strong parameters
  122. Урок 122.00:11:56
    7.3.3 Signup error messages
  123. Урок 123.00:09:22
    7.3.4 A test for invalid submission
  124. Урок 124.00:00:36
    7.4 Successful signups
  125. Урок 125.00:03:59
    7.4.1 The finished signup form
  126. Урок 126.00:05:34
    7.4.2 The flash
  127. Урок 127.00:04:34
    7.4.3 The first signup
  128. Урок 128.00:03:50
    7.4.4 A test for valid submission
  129. Урок 129.00:01:13
    7.5 Professional-grade deployment
  130. Урок 130.00:01:28
    7.5.1 SSL in production
  131. Урок 131.00:03:19
    7.5.2 Production webserver
  132. Урок 132.00:01:43
    7.5.4 Production deployment
  133. Урок 133.00:00:30
    7.6 Conclusion
  134. Урок 134.00:00:52
    8. Basic login
  135. Урок 135.00:01:48
    8.1 Sessions
  136. Урок 136.00:00:48
    8.1.1 Sessions controller
  137. Урок 137.00:09:24
    8.1.2 Login form
  138. Урок 138.00:05:37
    8.1.3 Finding and authenticating a user
  139. Урок 139.00:02:05
    8.1.4 Rendering with a flash message
  140. Урок 140.00:04:44
    8.1.5 A flash test
  141. Урок 141.00:01:32
    8.2 Logging in
  142. Урок 142.00:04:48
    8.2.1 The login method
  143. Урок 143.00:04:05
    8.2.2 Current user
  144. Урок 144.00:09:07
    8.2.3 Changing the layout links
  145. Урок 145.00:10:20
    8.2.4 Testing layout changes
  146. Урок 146.00:03:00
    8.2.5 Login upon signup
  147. Урок 147.00:05:57
    8.3 Logging out
  148. Урок 148.00:01:47
    8.4 Conclusion
  149. Урок 149.00:00:43
    9. Advanced login
  150. Урок 150.00:00:39
    9.1 Remember me
  151. Урок 151.00:11:38
    9.1.1 Remember token and digest
  152. Урок 152.00:13:31
    9.1.2 Login with remembering
  153. Урок 153.00:03:01
    9.1.3 Forgetting users
  154. Урок 154.00:07:08
    9.1.4 Two subtle bugs
  155. Урок 155.00:07:03
    9.2 “Remember me” checkbox
  156. Урок 156.00:01:25
    9.3 Remember tests
  157. Урок 157.00:07:32
    9.3.1 Testing the “remember me” box
  158. Урок 158.00:08:26
    9.3.2 Testing the remember branch
  159. Урок 159.00:04:46
    9.4 Conclusion
  160. Урок 160.00:00:43
    10. Updating, showing, and deleting users
  161. Урок 161.00:01:45
    10.1 Updating users
  162. Урок 162.00:08:54
    10.1.1 Edit form
  163. Урок 163.00:02:08
    10.1.2 Unsuccessful edits
  164. Урок 164.00:04:02
    10.1.3 Testing unsuccessful edits
  165. Урок 165.00:09:14
    10.1.4 Successful edits (with TDD)
  166. Урок 166.00:01:08
    10.2 Authorization
  167. Урок 167.00:10:05
    10.2.1 Requiring logged-in users
  168. Урок 168.00:11:07
    10.2.2 Requiring the right user
  169. Урок 169.00:10:31
    10.2.3 Friendly forwarding
  170. Урок 170.00:00:34
    10.3 Showing all users
  171. Урок 171.00:07:30
    10.3.1 Users index
  172. Урок 172.00:05:19
    10.3.2 Sample users
  173. Урок 173.00:05:29
    10.3.3 Pagination
  174. Урок 174.00:08:03
    10.3.4 Users index test
  175. Урок 175.00:03:10
    10.3.5 Partial refactoring
  176. Урок 176.00:00:21
    10.4 Deleting users
  177. Урок 177.00:06:12
    10.4.1 Administrative users
  178. Урок 178.00:06:32
    10.4.2 The destroy action
  179. Урок 179.00:09:28
    10.4.3 User destroy tests
  180. Урок 180.00:04:08
    10.5 Conclusion
  181. Урок 181.00:02:06
    11. Account activation
  182. Урок 182.00:00:40
    11.1 Account activations resource
  183. Урок 183.00:02:30
    11.1.1 Account activations controller
  184. Урок 184.00:09:57
    11.1.2 Account activation data model
  185. Урок 185.00:00:10
    11.2 Account activation emails
  186. Урок 186.00:09:16
    11.2.1 Mailer templates
  187. Урок 187.00:05:55
    11.2.2 Email previews
  188. Урок 188.00:06:30
    11.2.3 Email tests
  189. Урок 189.00:03:40
    11.2.4 Updating the Users create action
  190. Урок 190.00:02:37
    11.3 Activating the account
  191. Урок 191.00:06:55
    11.3.1 Generalizing the authenticated? method
  192. Урок 192.00:06:43
    11.3.2 Activation edit actions
  193. Урок 193.00:12:58
    11.3.3 Activation test and refactoring
  194. Урок 194.00:05:47
    11.4 Email in production
  195. Урок 195.00:00:18
    11.5 Conclusion
  196. Урок 196.00:02:01
    12. Password reset
  197. Урок 197.00:00:37
    12.1 Password resets resource
  198. Урок 198.00:03:34
    12.1.1 Password resets controller
  199. Урок 199.00:04:35
    12.1.2 New password resets
  200. Урок 200.00:08:07
    12.1.3 Password reset create action
  201. Урок 201.00:00:17
    12.2 Password reset emails
  202. Урок 202.00:04:46
    12.2.1 Password reset mailer and templates
  203. Урок 203.00:02:36
    12.2.2 Email tests
  204. Урок 204.00:00:23
    12.3 Resetting the password
  205. Урок 205.00:05:49
    12.3.1 Reset edit action
  206. Урок 206.00:15:05
    12.3.2 Updating the reset
  207. Урок 207.00:23:22
    12.3.3 Password reset test
  208. Урок 208.00:06:11
    12.4 Email in production (take two)
  209. Урок 209.00:00:51
    12.5 Conclusion
  210. Урок 210.00:00:33
    13. User microposts
  211. Урок 211.00:00:31
    13.1 A Micropost model
  212. Урок 212.00:03:41
    13.1.1 The basic model
  213. Урок 213.00:05:23
    13.1.2 Micropost validations
  214. Урок 214.00:03:40
    13.1.3 User/Micropost associations
  215. Урок 215.00:09:16
    13.1.4 Micropost refinements
  216. Урок 216.00:00:31
    13.2 Showing microposts
  217. Урок 217.00:08:43
    13.2.1 Rendering microposts
  218. Урок 218.00:04:31
    13.2.2 Sample microposts
  219. Урок 219.00:11:17
    13.2.3 Profile micropost tests
  220. Урок 220.00:00:47
    13.3 Manipulating microposts
  221. Урок 221.00:06:04
    13.3.1 Micropost access control
  222. Урок 222.00:15:50
    13.3.2 Creating microposts
  223. Урок 223.00:09:27
    13.3.3 A proto-feed
  224. Урок 224.00:05:44
    13.3.4 Destroying microposts
  225. Урок 225.00:12:15
    13.3.5 Micropost tests
  226. Урок 226.00:00:24
    13.4 Micropost images
  227. Урок 227.00:07:56
    13.4.1 Basic image upload
  228. Урок 228.00:07:15
    13.4.2 Image validation
  229. Урок 229.00:04:07
    13.4.3 Image resizing
  230. Урок 230.00:11:18
    13.4.4 Image upload in production
  231. Урок 231.00:00:27
    13.5 Conclusion
  232. Урок 232.00:02:07
    14. Following users
  233. Урок 233.00:01:38
    14.1 The Relationship model
  234. Урок 234.00:06:23
    14.1.1 A problem with the data model (and a solution)
  235. Урок 235.00:04:36
    14.1.2 User/relationship associations
  236. Урок 236.00:03:10
    14.1.3 Relationship validations
  237. Урок 237.00:09:49
    14.1.4 Followed users
  238. Урок 238.00:03:40
    14.1.5 Followers
  239. Урок 239.00:00:34
    14.2 A web interface for following users
  240. Урок 240.00:02:37
    14.2.1 Sample following data
  241. Урок 241.00:23:32
    14.2.2 Stats and a follow form
  242. Урок 242.00:19:02
    14.2.3 Following and followers pages
  243. Урок 243.00:09:08
    14.2.4 A working follow button the standard way
  244. Урок 244.00:14:14
    14.2.5 A working follow button with Ajax
  245. Урок 245.00:07:49
    14.2.6 Following tests
  246. Урок 246.00:00:33
    14.3 The status feed
  247. Урок 247.00:00:39
    14.3.1 Motivation and strategy
  248. Урок 248.00:10:26
    14.3.2 A first feed implementation
  249. Урок 249.00:08:02
    14.3.3 Subselects
  250. Урок 250.00:00:41
    14.4 Conclusion