舉報

會員
Phoenix Web Development
ThisbookisforpeoplewithabasicknowledgeofElixir,whowanttostartbuildingwebapplications.Priorexperiencewithwebtechnologiesisassumed.
最新章節(jié)
- Leave a review - let other readers know what you think
- Other Books You May Enjoy
- Summary
- Alternative Deployment Strategies
- Initial requirements for deployment into production
- Deploying Phoenix applications to production
品牌:中圖公司
上架時間:2021-08-27 18:03:30
出版社:Packt Publishing
本書數(shù)字版權(quán)由中圖公司提供,并由其授權(quán)上海閱文信息技術(shù)有限公司制作發(fā)行
- Leave a review - let other readers know what you think 更新時間:2021-08-27 18:28:58
- Other Books You May Enjoy
- Summary
- Alternative Deployment Strategies
- Initial requirements for deployment into production
- Deploying Phoenix applications to production
- Adding an Error Handler for 404s for JSON
- Implementing an API Resource Show
- Dealing with Error Handling in APIs
- Validating API Keys
- Introducing API keys to the database
- Allowing a user to navigate to their profile page
- Authenticating Against our API
- Expanding Our API Request
- Building an API in Code
- Building our API
- Building an API and Deploying
- Summary
- Implementing Google OAuth for Ueberauth and Phoenix
- Configuring Ueberauth in Google
- Configuring Google to allow OAuth
- Adding OAuth login support for Google with Ueberauth
- Implementing the Twitter login in Phoenix
- Modifying the users schema
- Configuring the Twitter login process in Phoenix
- Setting up our application with Twitter
- Adding OAuth login support for Twitter with Ueberauth
- Adding Ueberauth support
- Hooking up our polls index
- Building a good development seeds file
- Shoring up our tests
- Solidifying the new user experience
- Implementing OAuth in Our Application
- Summary
- Using GenServers
- The model - what is an application?
- The model - what is a supervisor?
- The model - what is an agent?
- The model - what is a task?
- The model - what if our process crashes?
- The model - what is a process?
- Diving deeper into the concurrency model
- Working with an example
- Talking about OTP/understanding the model
- Run process 1 and process 2 at the same time
- In process 2
- In process 1
- Run process 1
- In process 1
- The difference between concurrency and parallelism
- Introduction to Elixir's concurrency model
- Working with Elixir's Concurrency Model
- Summary
- Retrieving Presence data in ETS
- Storing Presence data in ETS
- Hooking up the GenServer to our application
- Implementing the cast and call logic
- Creating the public interface for the GenServer
- Setting up the GenServer
- Creating our Presence ETS table and GenServer
- Experimenting with ETS in an IEx window
- Why use ETS?
- Using ETS
- JavaScript implementation
- Elixir implementation
- Updating our chat UI
- What is Presence?
- Utilizing Presence and ETS to make our app more robust
- Using Presence and ETS in Phoenix
- Summary
- Returning to a passing test suite
- Fixing up our tests
- Refactoring for poll chats
- Hooking up the new JavaScript code to Phoenix
- Sending chat messages
- Creating our chat channel
- Building the UI Itself
- Creating the chat UI
- Fixing navigation in our application
- Writing our unit tests
- Implementing message functions in our context
- Designing our message functionality
- Building the chat schema
- Working with the chat schema
- Adding chat to a Phoenix application
- Adding Chat to Your Phoenix Application
- Summary
- Fixing the broken tests
- Hooking up restrictions
- Creating the vote record schema
- Creating the vote record migration
- Implementing voting restrictions
- Completing the votes context for the image uploads
- Modifying the schema and the context code
- Writing the migration file
- Hooking up the uploads to our database
- Adding file uploads to our new poll UI
- Working with uploads in Phoenix
- Implementing file uploads in Phoenix
- Designing and implementing our new features
- Improving Our Application and Adding Features
- Summary
- Starting our channel tests
- Moving the channel functionality to show
- Refactoring our channels away from the index
- Writing our server channel code for live voting
- Changing our dummy code to push to the server
- Building our dummy functionality
- Making voting real-time
- Allowing users to vote on polls
- Sending messages on the socket
- Conditionally loading our socket
- Sending and receiving messages with channels
- Variable and argument destructuring
- Fat-arrow functions
- let and const
- Imports and exports
- Working with ES2015 syntax
- Understanding channels
- Understanding sockets
- Building channels and topics in Phoenix
- Live Voting with Phoenix
- Summary
- Displaying validation errors in our forms
- Writing custom validations
- Making usernames unique
- Working with validations and errors
- Restricting access via sessions
- Writing our Poll Controller's tests
- Retrieving data from sessions
- Sending a user ID through the controller
- Fixing broken poll tests
- Modifying the schemas
- Creating the migration
- Connecting polls to users
- Validations Errors and Tying Loose Ends
- Summary
- Writing session controller tests
- Building our create session function
- Creating a user login page
- Updating the UI to include password fields
- Updating our tests
- Adding Comeonin to the user schema file
- Installing Comeonin
- Setting up the password functionality
- Creating the controller code (with tests)
- Creating the routes
- Creating a user signup page
- Writing our user unit tests
- Creating our accounts context
- Creating our user schema
- Designing our user schema
- Adding user accounts
- Introducing User Accounts and Sessions
- Summary
- Writing our unit tests
- Creating our create function
- Creating the new action in the controller
- Creating a new poll
- Hooking up the context to our controller
- Understanding Ecto query writing
- Grabbing a list of data
- Creating a Votes context
- Understanding the role of contexts
- Understanding the gotchas of associations
- Creating our Option schema
- Testing our Poll schema
- Creating our Poll schema
- Creating our Options table migration
- Creating the Polls table migration
- Creating a new migration
- Understanding the role of schemas
- Storing and Retrieving Vote Data with Ecto Pages
- Summary
- Writing the poll controller test
- Understanding the code behind tests
- Writing controller tests
- Passing data to our templates
- Understanding templates
- Building the poll controller
- Understanding the controller's structure
- Creating a poll controller
- Creating our Social Voting project
- Understanding the flow of Phoenix connections
- Building Controllers Views and Templates
- Summary
- A note about how data flows in Phoenix
- The most important directory: lib
- Other directories
- Tests
- Private files
- Assets files
- Configuration files
- Phoenix's default application structure
- Running the Phoenix server for the first time
- Running the Phoenix Mix Task
- Creating a new Phoenix project
- Installing Phoenix 1.3
- Introduction to Phoenix
- Your objects have no power here
- Using IEx and helpers to understand types
- Getting more information with the h helper
- Getting more information with the i helper
- Understanding the different types in Elixir
- Immutability in Elixir
- Variables in Elixir
- What is IEx?
- Introducing IEx and Elixir
- A Brief Introduction to Elixir and Phoenix
- Reviews
- Get in touch
- Conventions used
- Download the example code files
- To get the most out of this book
- What this book covers
- Who this book is for
- Preface
- Packt is searching for authors like you
- About the reviewers
- About the author
- Contributors
- PacktPub.com
- Why subscribe?
- Packt Upsell
- Phoenix Web Development
- Copyright and Credits
- Title Page
- 封面
- 封面
- Title Page
- Copyright and Credits
- Phoenix Web Development
- Packt Upsell
- Why subscribe?
- PacktPub.com
- Contributors
- About the author
- About the reviewers
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Conventions used
- Get in touch
- Reviews
- A Brief Introduction to Elixir and Phoenix
- Introducing IEx and Elixir
- What is IEx?
- Variables in Elixir
- Immutability in Elixir
- Understanding the different types in Elixir
- Getting more information with the i helper
- Getting more information with the h helper
- Using IEx and helpers to understand types
- Your objects have no power here
- Introduction to Phoenix
- Installing Phoenix 1.3
- Creating a new Phoenix project
- Running the Phoenix Mix Task
- Running the Phoenix server for the first time
- Phoenix's default application structure
- Configuration files
- Assets files
- Private files
- Tests
- Other directories
- The most important directory: lib
- A note about how data flows in Phoenix
- Summary
- Building Controllers Views and Templates
- Understanding the flow of Phoenix connections
- Creating our Social Voting project
- Creating a poll controller
- Understanding the controller's structure
- Building the poll controller
- Understanding templates
- Passing data to our templates
- Writing controller tests
- Understanding the code behind tests
- Writing the poll controller test
- Summary
- Storing and Retrieving Vote Data with Ecto Pages
- Understanding the role of schemas
- Creating a new migration
- Creating the Polls table migration
- Creating our Options table migration
- Creating our Poll schema
- Testing our Poll schema
- Creating our Option schema
- Understanding the gotchas of associations
- Understanding the role of contexts
- Creating a Votes context
- Grabbing a list of data
- Understanding Ecto query writing
- Hooking up the context to our controller
- Creating a new poll
- Creating the new action in the controller
- Creating our create function
- Writing our unit tests
- Summary
- Introducing User Accounts and Sessions
- Adding user accounts
- Designing our user schema
- Creating our user schema
- Creating our accounts context
- Writing our user unit tests
- Creating a user signup page
- Creating the routes
- Creating the controller code (with tests)
- Setting up the password functionality
- Installing Comeonin
- Adding Comeonin to the user schema file
- Updating our tests
- Updating the UI to include password fields
- Creating a user login page
- Building our create session function
- Writing session controller tests
- Summary
- Validations Errors and Tying Loose Ends
- Connecting polls to users
- Creating the migration
- Modifying the schemas
- Fixing broken poll tests
- Sending a user ID through the controller
- Retrieving data from sessions
- Writing our Poll Controller's tests
- Restricting access via sessions
- Working with validations and errors
- Making usernames unique
- Writing custom validations
- Displaying validation errors in our forms
- Summary
- Live Voting with Phoenix
- Building channels and topics in Phoenix
- Understanding sockets
- Understanding channels
- Working with ES2015 syntax
- Imports and exports
- let and const
- Fat-arrow functions
- Variable and argument destructuring
- Sending and receiving messages with channels
- Conditionally loading our socket
- Sending messages on the socket
- Allowing users to vote on polls
- Making voting real-time
- Building our dummy functionality
- Changing our dummy code to push to the server
- Writing our server channel code for live voting
- Refactoring our channels away from the index
- Moving the channel functionality to show
- Starting our channel tests
- Summary
- Improving Our Application and Adding Features
- Designing and implementing our new features
- Implementing file uploads in Phoenix
- Working with uploads in Phoenix
- Adding file uploads to our new poll UI
- Hooking up the uploads to our database
- Writing the migration file
- Modifying the schema and the context code
- Completing the votes context for the image uploads
- Implementing voting restrictions
- Creating the vote record migration
- Creating the vote record schema
- Hooking up restrictions
- Fixing the broken tests
- Summary
- Adding Chat to Your Phoenix Application
- Adding chat to a Phoenix application
- Working with the chat schema
- Building the chat schema
- Designing our message functionality
- Implementing message functions in our context
- Writing our unit tests
- Fixing navigation in our application
- Creating the chat UI
- Building the UI Itself
- Creating our chat channel
- Sending chat messages
- Hooking up the new JavaScript code to Phoenix
- Refactoring for poll chats
- Fixing up our tests
- Returning to a passing test suite
- Summary
- Using Presence and ETS in Phoenix
- Utilizing Presence and ETS to make our app more robust
- What is Presence?
- Updating our chat UI
- Elixir implementation
- JavaScript implementation
- Using ETS
- Why use ETS?
- Experimenting with ETS in an IEx window
- Creating our Presence ETS table and GenServer
- Setting up the GenServer
- Creating the public interface for the GenServer
- Implementing the cast and call logic
- Hooking up the GenServer to our application
- Storing Presence data in ETS
- Retrieving Presence data in ETS
- Summary
- Working with Elixir's Concurrency Model
- Introduction to Elixir's concurrency model
- The difference between concurrency and parallelism
- In process 1
- Run process 1
- In process 1
- In process 2
- Run process 1 and process 2 at the same time
- Talking about OTP/understanding the model
- Working with an example
- Diving deeper into the concurrency model
- The model - what is a process?
- The model - what if our process crashes?
- The model - what is a task?
- The model - what is an agent?
- The model - what is a supervisor?
- The model - what is an application?
- Using GenServers
- Summary
- Implementing OAuth in Our Application
- Solidifying the new user experience
- Shoring up our tests
- Building a good development seeds file
- Hooking up our polls index
- Adding Ueberauth support
- Adding OAuth login support for Twitter with Ueberauth
- Setting up our application with Twitter
- Configuring the Twitter login process in Phoenix
- Modifying the users schema
- Implementing the Twitter login in Phoenix
- Adding OAuth login support for Google with Ueberauth
- Configuring Google to allow OAuth
- Configuring Ueberauth in Google
- Implementing Google OAuth for Ueberauth and Phoenix
- Summary
- Building an API and Deploying
- Building our API
- Building an API in Code
- Expanding Our API Request
- Authenticating Against our API
- Allowing a user to navigate to their profile page
- Introducing API keys to the database
- Validating API Keys
- Dealing with Error Handling in APIs
- Implementing an API Resource Show
- Adding an Error Handler for 404s for JSON
- Deploying Phoenix applications to production
- Initial requirements for deployment into production
- Alternative Deployment Strategies
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-08-27 18:28:58