Programming Phoenix 1.4: Productive -> Reliable -> Fast

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Don't accept the compromise between fast and beautiful: you can have it all. Phoenix creator Chris McCord, Elixir creator Jose Valim, and award-winning author Bruce Tate walk you through building an application that's fast and reliable. At every step, you'll learn from the Phoenix creators not just what to do, but why. Packed with insider insights and completely updated for Phoenix 1.3, this definitive guide will be your constant companion in your journey from Phoenix novice to expert, as you build the next generation of web applications. Phoenix is the long-awaited web framework based on Elixir, the highly concurrent language that combines a beautiful syntax with rich metaprogramming. The best way to learn Phoenix is to code, and you'll get to attack some interesting problems. Start working with controllers, views, and templates within the first few pages. Build an in-memory context, and then back it with an Ecto database layer, complete with changesets and constraints that keep readers informed and your database integrity intact. Craft your own interactive application based on the channels API for the real-time applications that this ecosystem made famous.Write your own authentication plugs, and use the OTP layer for supervised services. Organize code with modular umbrella projects. This edition is fully updated for Phoenix 1.3, Elixir 1.3, and Ecto 2.1, with a new chapter on using Channel Presence to find out who's connected, even on a distributed application. Use the new generators and the new ExUnit features to organize tests and make Ecto tests concurrent. This is a book by developers and for developers, and we know how to help you ramp up quickly. Any book can tell you what to do. When you've finished this one, you'll also know why to do it. What You Need: To work through this book, you will need a computer capable of running Erlang 18 or higher, Elixir 1.3 or higher, Phoenix 1.3 or higher, and Ecto 2.1 or higher. A rudimentary knowledge of Elixir is also highly recommended.

Author(s): Chris McCord, Bruce Tate, Jose Valim
Edition: 1
Publisher: The Pragmatic Programmers
Year: 2019

Language: English
Commentary: True PDF. Final release
Pages: 325

Cover
Table of Contents
Acknowledgments
José Valim
Bruce Tate
Chris McCord
Preface
Is This Book for You?
About this Book
Online Resources
1. Introducing Phoenix
Productive
Concurrent
Beautiful Code
Interactive
Reliable
Part I—Building with Functional MVC
2. The Lay of the Land
Simple Functions
Installing Your Development Environment
Creating a Throwaway Project
Building a Feature
Going Deeper: The Request Pipeline
Wrapping Up
3. Controllers
Understanding Controllers
Building a Controller
Coding Views
Using Helpers
Showing a User
Wrapping Up
4. Ecto and Changesets
Understanding Ecto
Defining the User Schema and Migration
Using the Repository to Add Data
Building Forms
Creating Resources
Wrapping Up
5. Authenticating Users
Preparing for Authentication
Managing Registration Changesets
Creating Users
The Anatomy of a Plug
Writing an Authentication Plug
Implementing Login and Logout
Presenting User Account Links
Wrapping Up
6. Generators and Relationships
Using Generators
Building Relationships
Managing Related Data
In-context Relationships
Wrapping Up
7. Ecto Queries and Constraints
Seeding and Associating Categories
Diving Deeper into Ecto Queries
Constraints
Wrapping Up
8. Testing MVC
Understanding ExUnit
Testing Contexts
Using Ecto Sandbox for Test Isolation and Concurrency
Integration Tests
Unit-Testing Plugs
Testing Views and Templates
Wrapping Up
Part II—Writing Interactive and Maintainable Applications
9. Watching Videos
Watching Videos
Adding JavaScript
Creating Slugs
Wrapping Up
10. Using Channels
The Channel
Phoenix Clients with ES6
Preparing Our Server for the Channel
Creating the Channel
Sending and Receiving Events
Socket Authentication
Persisting Annotations
Handling Disconnects
Tracking Presence on a Channel
Wrapping Up
11. Observer and Umbrellas
Introspecting Applications with Observer
Using Umbrellas
Extracting Rumbl and RumblWeb
Wrapping Up
12. OTP
Managing State with Processes
Building GenServers for OTP
Designing an Information System with OTP
Building the Wolfram Info System
Integrating OTP Services with Channels
Wrapping Up
13. Testing Channels and OTP
Testing the Information System
Isolating Wolfram
Adding Tests to Channels
Authenticating a Test Socket
Communicating with a Test Channel
Wrapping Up
14. What's Next?
Other Interesting Features
Phoenix LiveView
Phoenix PubSub 2.0
Phoenix and Telemetry Integration
Good Luck!
Index
– SYMBOLS –
– DIGITS –
– A –
– B –
– C –
– D –
– E –
– F –
– G –
– H –
– I –
– J –
– K –
– L –
– M –
– N –
– O –
– P –
– Q –
– R –
– S –
– T –
– U –
– V –
– W –
– X –
– Y –