Chapter 1. Ride the Phoenix
Figure 1.1. Phoenix is written in Elixir, which compiles down to run on the Erlang VM.
Figure 1.2. Traditional “pull” refreshes require the user to initiate the request and the server to return the entire web page.
Figure 1.3. A “push” request originates from the server and pushes new information (typically only changed information) to the user, greatly reducing the payload and speeding up page rendering.
Figure 1.4. Background processes can do complex work without holding up the main responses to the user.
Figure 1.5. Supervisors and workers
Figure 1.6. Your application can spawn thousands of workers, each one isolated from the others.
Figure 1.7. Breakdown of language types in Elixir’s source code (as of December 2018)
Figure 1.8. Object-oriented programming generally involves an object that keeps track of its own data (state). Methods are used to manipulate that internal state and retrieve it for other uses.
Figure 1.9. Functional programming generally involves a module that contains functions that act together for a purpose. The module holds no data (state) but returns the result of the function acting on data the caller gives it.
Chapter 2. Intro to Elixir
Figure 2.1. A REPL takes user input, evaluates it, prints it out to the user, and loops back around to take user input again.
Figure 2.2. The source code and in-line documentation for clear/0
Figure 2.3. The module-function-arguments structure
Figure 2.4. Pieces of an anonymous function