1. Урок 1. 00:02:53
    How to Get Help
  2. Урок 2. 00:02:01
    Installing Elixir
  3. Урок 3. 00:04:06
    Project Outline
  4. Урок 4. 00:02:52
    Generating a Project
  5. Урок 5. 00:06:05
    Elixir Modules and Methods
  6. Урок 6. 00:03:23
    Lists and Strings
  7. Урок 7. 00:09:13
    Object Oriented vs Functional Programming
  8. Урок 8. 00:04:49
    Method Arguments
  9. Урок 9. 00:05:55
    The Enum Module
  10. Урок 10. 00:03:58
    Immutability in Elixir
  11. Урок 11. 00:06:03
    Searching a List
  12. Урок 12. 00:07:12
    Comprehensions Over Lists
  13. Урок 13. 00:05:03
    Not Everything Works the First Time
  14. Урок 14. 00:06:48
    Solving Nested Arrays
  15. Урок 15. 00:08:35
    Importance of Index with Tuples
  16. Урок 16. 00:10:44
    Pattern Matching
  17. Урок 17. 00:05:16
    Elixir's Relationship with Erlang
  18. Урок 18. 00:03:53
    Saving a Deck
  19. Урок 19. 00:10:24
    Pattern Matching Continued
  20. Урок 20. 00:14:15
    Pattern Matching in Case Statements
  21. Урок 21. 00:04:24
    The Pipe Operator
  22. Урок 22. 00:04:06
    The Pipe Operator Continued
  23. Урок 23. 00:03:50
    Module Documentation
  24. Урок 24. 00:03:35
    Writing and Generating Documentation
  25. Урок 25. 00:06:19
    Creating Function Docs
  26. Урок 26. 00:02:54
    Introduction to Testing
  27. Урок 27. 00:03:38
    Amazingly Productive Doctests
  28. Урок 28. 00:05:17
    Writing Effective Doctests
  29. Урок 29. 00:06:53
    Case Tests
  30. Урок 30. 00:04:08
    Introduction to Maps
  31. Урок 31. 00:07:56
    Updating Values in a Map
  32. Урок 32. 00:08:22
    Keyword Lists
  33. Урок 33. 00:03:44
    Project Overview
  34. Урок 34. 00:02:34
    Identicon Generation Process
  35. Урок 35. 00:03:03
    Identicon Generation Process Continued
  36. Урок 36. 00:03:21
    The Main Pipeline
  37. Урок 37. 00:04:06
    Hashing a String
  38. Урок 38. 00:05:47
    The Purpose of the Hex List
  39. Урок 39. 00:06:47
    Modeling Data with Structs
  40. Урок 40. 00:10:40
    Pattern Matching Structs
  41. Урок 41. 00:10:09
    Updating Structs
  42. Урок 42. 00:08:17
    Building the Grid
  43. Урок 43. 00:05:10
    Mirroring a Row
  44. Урок 44. 00:06:33
    Mapping with Custom Functions
  45. Урок 45. 00:08:32
    Grid Structure
  46. Урок 46. 00:09:35
    Giving an Identicon Shape
  47. Урок 47. 00:07:42
    Planning Image Creation
  48. Урок 48. 00:05:49
    Creating the Pixel Map
  49. Урок 49. 00:09:47
    Drawing Rectangles
  50. Урок 50. 00:04:11
    Phoenix Installation
  51. Урок 51. 00:06:38
    Postgres Setup on OSX
  52. Урок 52. 00:06:35
    What is Phoenix?
  53. Урок 53. 00:07:18
    App Overview
  54. Урок 54. 00:08:10
    Into Phoenix We Go
  55. Урок 55. 00:03:40
    Server Side Templating
  56. Урок 56. 00:09:31
    Templates vs Layouts
  57. Урок 57. 00:07:38
    Phoenix's MVC Model
  58. Урок 58. 00:09:48
    Exploring the Router and Controller
  59. Урок 59. 00:10:01
    Views vs Templates
  60. Урок 60. 00:08:29
    The Model Layer in Phoenix
  61. Урок 61. 00:05:29
    Migration Files
  62. Урок 62. 00:09:46
    A Game Plan for Creating Topics
  63. Урок 63. 00:07:25
    Routing to the Topic Controller
  64. Урок 64. 00:06:06
    Setting Up the Topic Controller
  65. Урок 65. 00:09:17
    Code Reuse with Import, Alias, and Use
  66. Урок 66. 00:08:10
    Phoenix's Code Sharing Model
  67. Урок 67. 00:08:25
    Phoenix's Conn Struct
  68. Урок 68. 00:04:54
    A Phoenix Approach to Forms
  69. Урок 69. 00:03:55
    The Topic Model
  70. Урок 70. 00:12:07
    Model Changesets and Validations
  71. Урок 71. 00:08:28
    More on Changesets
  72. Урок 72. 00:06:05
    Generating Changesets for the Form
  73. Урок 73. 00:07:49
    New Topic Form
  74. Урок 74. 00:10:03
    Phoenix Template Syntax
  75. Урок 75. 00:10:42
    Handling Form Submissions
  76. Урок 76. 00:08:16
    A Quick Review and Breather
  77. Урок 77. 00:11:59
    Introduction to the Repo Module
  78. Урок 78. 00:04:28
    Handling Failed Form Submissions
  79. Урок 79. 00:06:35
    Styling with CSS in Phoenix
  80. Урок 80. 00:06:44
    Breaking Restful Conventions Safely
  81. Урок 81. 00:07:04
    Using the Repo Module for Queries
  82. Урок 82. 00:06:49
    Building Lists in EEX Templates
  83. Урок 83. 00:08:18
    Redirects in the Controller
  84. Урок 84. 00:12:10
    Generating Anchors with Link Tags
  85. Урок 85. 00:07:58
    Router Wildcards
  86. Урок 86. 00:09:38
    Setting up the Edit Form
  87. Урок 87. 00:06:49
    Defining the Update Route
  88. Урок 88. 00:11:21
    Editing a Topic
  89. Урок 89. 00:06:25
    Linking to the Edit Topic Form
  90. Урок 90. 00:07:01
    The Resources Helper
  91. Урок 91. 00:09:44
    Deleting a Topic
  92. Урок 92. 00:06:59
    Wrapping up TopicController
  93. Урок 93. 00:06:28
    OAuth Overview
  94. Урок 94. 00:07:51
    OAuth Setup with Ueberauth
  95. Урок 95. 00:09:53
    Creating a Github OAuth App
  96. Урок 96. 00:11:58
    Defining OAuth Routes
  97. Урок 97. 00:09:42
    Receiving User Info From Github
  98. Урок 98. 00:07:41
    Users Migration
  99. Урок 99. 00:07:01
    Digesting the OAuth Response
  100. Урок 100. 00:08:03
    The User Changeset
  101. Урок 101. 00:07:49
    Creating New Users
  102. Урок 102. 00:07:09
    Our Auth Grand Plan
  103. Урок 103. 00:07:30
    Handling OAuth Success
  104. Урок 104. 00:12:45
    Introduction to Plugs
  105. Урок 105. 00:11:45
    Using a Module Plug to Set the User
  106. Урок 106. 00:09:03
    Implementing Module Plugs
  107. Урок 107. 00:10:28
    Allowing Users to Signout
  108. Урок 108. 00:05:49
    Restricting Access of Users
  109. Урок 109. 00:13:05
    The Require Auth Plug
  110. Урок 110. 00:04:24
    Controller Scoped Plugs
  111. Урок 111. 00:06:57
    Associating Users with Topics
  112. Урок 112. 00:02:28
    Altering Existing Tables
  113. Урок 113. 00:09:08
    Playing Around with Associations
  114. Урок 114. 00:08:36
    Using the Build Assoc Function
  115. Урок 115. 00:03:04
    Finalizing the Association
  116. Урок 116. 00:12:11
    Checking the Topics Owner
  117. Урок 117. 00:04:18
    Introduction to Websockets
  118. Урок 118. 00:06:41
    Showing Individual Topics
  119. Урок 119. 00:03:52
    Making the Comments Migration
  120. Урок 120. 00:03:46
    The Comments Model
  121. Урок 121. 00:06:14
    Overview of Channels in Phoenix
  122. Урок 122. 00:10:20
    Introducing the Comments Channel
  123. Урок 123. 00:09:11
    Making Progress with Sockets
  124. Урок 124. 00:07:29
    Quick Breather and Review
  125. Урок 125. 00:07:30
    Publishing Messages
  126. Урок 126. 00:05:08
    Figuring Out What Topics to Show
  127. Урок 127. 00:09:08
    Refactoring to Determine Topic Id
  128. Урок 128. 00:05:41
    Fetching Topics on Join
  129. Урок 129. 00:02:45
    Debugging Topic Fetching
  130. Урок 130. 00:05:54
    Building the Comment Form
  131. Урок 131. 00:07:58
    Inserting Comments into the Database
  132. Урок 132. 00:04:57
    Remaining Items with Sockets
  133. Урок 133. 00:08:42
    Poison Encoder
  134. Урок 134. 00:08:25
    Rendering a List of Comments
  135. Урок 135. 00:06:45
    Broadcasting Updates
  136. Урок 136. 00:06:16
    Updating the Client
  137. Урок 137. 00:03:08
    The Socket Event Object
  138. Урок 138. 00:07:53
    Authentication with Sockets
  139. Урок 139. 00:04:51
    Transporting Tokens to the Server
  140. Урок 140. 00:04:42
    Verifying the Current Socket User
  141. Урок 141. 00:05:18
    Associating Comments with Users
  142. Урок 142. 00:08:02
    Fetching Users with Comments
  143. Урок 143. 00:03:57
    Rendering Associated Users
  144. Урок 144. 00:03:42
    New in Phoenix 1.3
  145. Урок 145. 00:03:26
    CLI Command Changes
  146. Урок 146. 00:04:13
    Assets Folder Changes
  147. Урок 147. 00:05:20
    Directory Structure Changes
  148. Урок 148. 00:07:49
    Contexts
  149. Урок 149. 00:12:31
    More on Contexts