Logo
☆☆☆☆☆
0.0
Intermediate
48h

使用 Elixir、OTP 和 Phoenix 进行函数式 Web 开发

Elixir 和 OTP 提供了强大的工具,用于构建稳定且可扩展的后端应用。在本课程中,你将采用一种截然不同的方式开发一个网络应用,其后端会保持应用状态。你将使用持久的 Phoenix Channel 连接,而非传统的 HTTP 请求-响应模式,并以独立、解耦的层次结构完成整个应用的构建。 在第一部分,你将首先不依赖 Phoenix,单独构建业务逻辑层。通过 Elixir 函数和简单的数据结构来建模应用领域。 在第二部分,你将引入 GenServer 行为,轻松管理内存中的应用状态。 在第三部分,你将使用 Phoenix 构建前端界面,通过 Phoenix Channels 实现状态服务器与状态客户端之间的持久连接。 毫无疑问,你将会爱上这种构建网络应用的方式!

9 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
使用 Elixir、OTP 和 Phoenix 进行函数式 Web 开发
Elixir 和 OTP 提供了强大的工具,用于构建稳定且可扩展的后端应用。在本课程中,你将采用一种截然不同的方式开发一个网络应用,其后端会保持应用状态。你将使用持久的 Phoenix Channel 连接,而非传统的 HTTP 请求-响应模式,并以独立、解耦的层次结构完成整个应用的构建。 在第一...

WHAT YOU'LL LEARN

学习如何使用纯函数式的有限状态机构建 Elixir 网络应用程序。

Content

9 Lessons • 0 Quizzes • 0 Challenges

简介
  1. 1

    背景

  2. 2

    课程简介

规划我们的路线
  1. 1

    探索路线

  2. 2

    前方是什么

附录
  1. 1

    安装系统依赖

模型数据与行为
  1. 1

    函数式核心与领域建模

  2. 2

    开始游戏

  3. 3

    探索实体并建模领域

  4. 4

    模型坐标

  5. 5

    猜测

  6. 6

    岛屿

  7. 7

    棋盘

  8. 8

    命中与未命中

  9. 9

    岛屿的运作

  10. 10

    玩游戏

  11. 11

    总结

  12. 12

    测验

状态机的工作原理
  1. 1

    使用状态机管理状态

  2. 2

    状态的历史

  3. 3

    一条不同的路

  4. 4

    用于岛屿的函数式状态机

  5. 5

    模块与函数

  6. 6

    初始化状态

  7. 7

    玩家设置

  8. 8

    玩家一的回合

  9. 9

    玩家二的回合

  10. 10

    游戏结束

  11. 11

    总结

  12. 12

    测验

为并发和容错添加OTP
  1. 1

    用 GenServer 包装起来

  2. 2

    微服务简介

  3. 3

    OTP解决方案

  4. 4

    GenServer 和 Application

  5. 5

    开始使用 GenServer

  6. 6

    GenServer 模式

  7. 7

    传递消息

  8. 8

    介绍调用与类型转换

  9. 9

    初始化 GenServer 状态

  10. 10

    自定义 GenServer 行为

  11. 11

    添加新玩家

  12. 12

    放置岛屿

  13. 13

    设置岛屿

  14. 14

    猜一个坐标

  15. 15

    命名 GenServer 进程

  16. 16

    总结

  17. 17

    测验

进程监控以实现恢复
  1. 1

    简介

  2. 2

    监督中的进程链接

  3. 3

    长时间运行的进程

  4. 4

    链接进程

  5. 5

    介绍监督者的行为

  6. 6

    子进程的监督条件

  7. 7

    子规范

  8. 8

    为游戏构建一个监督者

  9. 9

    启动监督树

  10. 10

    启动和停止子进程

  11. 11

    设置超时

  12. 12

    把各个部分组合起来

  13. 13

    崩溃后的状态恢复

  14. 14

    开始使用ETS

  15. 15

    存储和检索游戏状态

  16. 16

    游戏结束后进行清理

  17. 17

    总结

  18. 18

    测验

使用 Phoenix 创建新的网页界面
  1. 1

    使用 Phoenix 添加 Web 界面

  2. 2

    Phoenix 不是你的应用程序

  3. 3

    应用

  4. 4

    管理依赖项

  5. 5

    启动和停止应用程序

  6. 6

    生成一个新的 Phoenix 应用程序

  7. 7

    添加新依赖项

  8. 8

    从接口调用逻辑

  9. 9

    总结

  10. 10

    测验

使用 Phoenix Channels 创建持久连接
  1. 1

    Phoenix Channels

  2. 2

    通道的组成部分

  3. 3

    让我们来构建它

  4. 4

    定义一个新模块

  5. 5

    建立客户端连接

  6. 6

    通过通道进行通信

  7. 7

    玩家之间的通信

  8. 8

    将频道连接到游戏

  9. 9

    添加第二个玩家

  10. 10

    摆放岛屿

  11. 11

    设置岛屿

  12. 12

    猜坐标

  13. 13

    Phoenix Presence(concept)

  14. 14

    授权

  15. 15

    总结

  16. 16

    测验

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)