1. Урок 1.00:02:53
    1.1. How to Get Help
  2. Урок 2.00:02:01
    1.4. Installing Elixir
  3. Урок 3.00:04:06
    1.5. Project Outline
  4. Урок 4.00:02:52
    1.6. Generating a Project
  5. Урок 5.00:06:05
    1.7. Elixir Modules and Methods
  6. Урок 6.00:03:23
    1.8. Lists and Strings
  7. Урок 7.00:09:13
    1.9. Object Oriented vs Functional Programming
  8. Урок 8.00:04:49
    1.10. Method Arguments
  9. Урок 9.00:05:55
    1.11. The Enum Module
  10. Урок 10.00:03:58
    1.12. Immutability in Elixir
  11. Урок 11.00:06:03
    1.13. Searching a List
  12. Урок 12.00:07:12
    1.14. Comprehensions Over Lists
  13. Урок 13.00:05:03
    1.15. Not Everything Works the First Time
  14. Урок 14.00:06:48
    1.16. Solving Nested Arrays
  15. Урок 15.00:08:35
    1.17. Importance of Index with Tuples
  16. Урок 16.00:10:44
    2.1. Pattern Matching
  17. Урок 17.00:05:16
    2.2. Elixir's Relationship with Erlang
  18. Урок 18.00:03:53
    2.3. Saving a Deck
  19. Урок 19.00:10:24
    2.4. Pattern Matching Continued
  20. Урок 20.00:14:15
    2.5. Pattern Matching in Case Statements
  21. Урок 21.00:04:24
    2.6. The Pipe Operator
  22. Урок 22.00:04:06
    2.7. The Pipe Operator Continued
  23. Урок 23.00:03:50
    2.8. Module Documentation
  24. Урок 24.00:03:35
    3.1. Writing and Generating Documentation
  25. Урок 25.00:06:19
    3.2. Creating Function Docs
  26. Урок 26.00:02:54
    3.3. Introduction to Testing
  27. Урок 27.00:03:38
    3.4. Amazingly Productive Doctests
  28. Урок 28.00:05:17
    3.5. Writing Effective Doctests
  29. Урок 29.00:06:53
    3.6. Case Tests
  30. Урок 30.00:04:08
    4.1. Introduction to Maps
  31. Урок 31.00:07:56
    4.2. Updating Values in a Map
  32. Урок 32.00:08:22
    4.3. Keyword Lists
  33. Урок 33.00:03:44
    5.1. Project Overview
  34. Урок 34.00:02:34
    5.2. Identicon Generation Process
  35. Урок 35.00:03:03
    5.3. Identicon Generation Process Continued
  36. Урок 36.00:03:21
    5.4. The Main Pipeline
  37. Урок 37.00:04:06
    5.5. Hashing a String
  38. Урок 38.00:05:47
    5.6. The Purpose of the Hex List
  39. Урок 39.00:06:47
    6.1. Modeling Data with Structs
  40. Урок 40.00:10:40
    6.2. Pattern Matching Structs
  41. Урок 41.00:10:09
    6.3. Updating Structs
  42. Урок 42.00:08:17
    6.4. Building the Grid
  43. Урок 43.00:05:10
    6.5. Mirroring a Row
  44. Урок 44.00:06:33
    6.6. Mapping with Custom Functions
  45. Урок 45.00:08:32
    6.7. Grid Structure
  46. Урок 46.00:09:35
    6.8. Giving an Identicon Shape
  47. Урок 47.00:07:42
    6.9. Planning Image Creation
  48. Урок 48.00:05:49
    6.10. Creating the Pixel Map
  49. Урок 49.00:09:47
    6.11. Drawing Rectangles
  50. Урок 50.00:04:11
    7.2. Phoenix Installation
  51. Урок 51.00:06:38
    7.3. Postgres Setup on OSX
  52. Урок 52.00:06:35
    7.4. What is Phoenix
  53. Урок 53.00:07:18
    7.5. App Overview
  54. Урок 54.00:08:10
    7.6. Into Phoenix We Go
  55. Урок 55.00:03:40
    7.7. Server Side Templating
  56. Урок 56.00:09:31
    7.8. Templates vs Layouts
  57. Урок 57.00:07:38
    8.1. Phoenix's MVC Model
  58. Урок 58.00:09:48
    8.2. Exploring the Router and Controller
  59. Урок 59.00:10:01
    8.3. Views vs Templates
  60. Урок 60.00:08:29
    8.4. The Model Layer in Phoenix
  61. Урок 61.00:05:29
    8.5. Migration Files
  62. Урок 62.00:09:46
    8.6. A Game Plan for Creating Topics
  63. Урок 63.00:07:25
    8.7. Routing to the Topic Controller
  64. Урок 64.00:06:06
    8.8. Setting Up the Topic Controller
  65. Урок 65.00:09:17
    8.9. Code Reuse with Import, Alias, and Use
  66. Урок 66.00:08:10
    8.10. Phoenix's Code Sharing Model
  67. Урок 67.00:08:25
    8.11. Phoenix's Conn Struct
  68. Урок 68.00:04:54
    8.12. A Phoenix Approach to Forms
  69. Урок 69.00:03:55
    9.1. The Topic Model
  70. Урок 70.00:12:07
    9.2. Model Changesets and Validations
  71. Урок 71.00:08:28
    9.3. More on Changesets
  72. Урок 72.00:06:05
    9.4. Generating Changesets for the Form
  73. Урок 73.00:07:49
    9.5. New Topic Form
  74. Урок 74.00:10:03
    9.6. Phoenix Template Syntax
  75. Урок 75.00:10:42
    9.7. Handling Form Submissions
  76. Урок 76.00:08:16
    9.8. A Quick Review and Breather
  77. Урок 77.00:11:59
    10.1. Introduction to the Repo Module
  78. Урок 78.00:04:28
    10.2. Handling Failed Form Submissions
  79. Урок 79.00:06:35
    10.3. Styling with CSS in Phoenix
  80. Урок 80.00:06:44
    10.4. Breaking Restful Conventions Safely
  81. Урок 81.00:07:04
    10.5. Using the Repo Module for Queries
  82. Урок 82.00:06:49
    10.6. Building Lists in EEX Templates
  83. Урок 83.00:08:18
    10.7. Redirects in the Controller
  84. Урок 84.00:12:10
    10.8. Generating Anchors with Link Tags
  85. Урок 85.00:07:58
    10.9. Router Wildcards
  86. Урок 86.00:09:38
    10.10. Setting up the Edit Form
  87. Урок 87.00:06:49
    10.11. Defining the Update Route
  88. Урок 88.00:11:21
    10.12. Editing a Topic
  89. Урок 89.00:06:25
    10.13. Linking to the Edit Topic Form
  90. Урок 90.00:07:01
    10.14. The Resources Helper
  91. Урок 91.00:09:44
    10.15. Deleting a Topic
  92. Урок 92.00:06:59
    10.16. Wrapping up TopicController
  93. Урок 93.00:06:28
    11.1. OAuth Overview
  94. Урок 94.00:07:51
    11.2. OAuth Setup with Ueberauth
  95. Урок 95.00:09:53
    11.3. Creating a Github OAuth App
  96. Урок 96.00:11:58
    11.4. Defining OAuth Routes
  97. Урок 97.00:09:42
    11.5. Receiving User Info From Github
  98. Урок 98.00:07:41
    11.6. Users Migration
  99. Урок 99.00:07:01
    11.7. Digesting the OAuth Response
  100. Урок 100.00:08:03
    11.8. The User Changeset
  101. Урок 101.00:07:49
    11.9. Creating New Users
  102. Урок 102.00:07:09
    11.10. Our Auth Grand Plan
  103. Урок 103.00:07:30
    11.11. Handling OAuth Success
  104. Урок 104.00:12:45
    12.1. Introduction to Plugs
  105. Урок 105.00:11:45
    12.2. Using a Module Plug to Set the User
  106. Урок 106.00:09:03
    12.3. Implementing Module Plugs
  107. Урок 107.00:10:28
    12.4. Allowing Users to Signout
  108. Урок 108.00:05:49
    12.5. Restricting Access of Users
  109. Урок 109.00:13:05
    12.6. The Require Auth Plug
  110. Урок 110.00:04:24
    12.7. Controller Scoped Plugs
  111. Урок 111.00:06:57
    12.8. Associating Users with Topics
  112. Урок 112.00:02:28
    12.9. Altering Existing Tables
  113. Урок 113.00:09:08
    12.10. Playing Around with Associations
  114. Урок 114.00:08:36
    12.11. Using the Build Assoc Function
  115. Урок 115.00:03:04
    12.12. Finalizing the Association
  116. Урок 116.00:12:11
    12.13. Checking the Topics Owner
  117. Урок 117.00:04:18
    13.1. Introduction to Websockets
  118. Урок 118.00:06:41
    13.2. Showing Individual Topics
  119. Урок 119.00:03:52
    13.3. Making the Comments Migration
  120. Урок 120.00:03:46
    13.4. The Comments Model
  121. Урок 121.00:06:14
    13.5. Overview of Channels in Phoenix
  122. Урок 122.00:10:20
    13.7. Introducing the Comments Channel
  123. Урок 123.00:09:11
    13.8. Making Progress with Sockets
  124. Урок 124.00:07:29
    13.9. Quick Breather and Review
  125. Урок 125.00:07:30
    13.10. Publishing Messages
  126. Урок 126.00:05:08
    13.11. Figuring Out What Topics to Show
  127. Урок 127.00:09:08
    13.12. Refactoring to Determine Topic Id
  128. Урок 128.00:05:41
    13.13. Fetching Topics on Join
  129. Урок 129.00:02:45
    13.14. Debugging Topic Fetching
  130. Урок 130.00:05:54
    13.15. Building the Comment Form
  131. Урок 131.00:07:58
    13.16. Inserting Comments into the Database
  132. Урок 132.00:04:57
    13.17. Remaining Items with Sockets
  133. Урок 133.00:08:42
    13.18. Poison Encoder
  134. Урок 134.00:08:25
    13.19. Rendering a List of Comments
  135. Урок 135.00:06:45
    13.20. Broadcasting Updates
  136. Урок 136.00:06:16
    13.21. Updating the Client
  137. Урок 137.00:03:08
    13.22. The Socket Event Object
  138. Урок 138.00:07:53
    13.23. Authentication with Sockets
  139. Урок 139.00:04:51
    13.24. Transporting Tokens to the Server
  140. Урок 140.00:04:42
    13.25. Verifying the Current Socket User
  141. Урок 141.00:05:18
    13.26. Associating Comments with Users
  142. Урок 142.00:08:02
    13.27. Fetching Users with Comments
  143. Урок 143.00:03:57
    13.28. Rendering Associated Users
  144. Урок 144.00:03:42
    14.1. New in Phoenix 1.3
  145. Урок 145.00:03:26
    14.2. CLI Command Changes
  146. Урок 146.00:04:13
    14.3. Assets Folder Changes
  147. Урок 147.00:05:20
    14.4. Directory Structure Changes
  148. Урок 148.00:07:49
    14.5. Contexts
  149. Урок 149.00:12:31
    14.6. More on Contexts