- Params Modules for Phoenix">Params Modules for Phoenix
- Nightly Tasks with a GenServer">Nightly Tasks with a GenServer
- ExDoc v0.20">ExDoc v0.20
- Micro: Read cmd line pipes in elixir">Micro: Read cmd line pipes in elixir
- Cleaning up Phoenix Controller Actions">Cleaning up Phoenix Controller Actions
- Elixir protocols, how do they work? the erlang perspective">Elixir protocols, how do they work? the erlang perspective
- Real World Phoenix |> A LiveView Dashboard">Real World Phoenix |> A LiveView Dashboard
- The Elixir AST explained using the AST Ninja">The Elixir AST explained using the AST Ninja
- 一些看到比较有用的视频教程网站
来自 Elixir Radar, ElixirDaily, ElixirWeekly. 有任何对文章的补充和错误之处欢迎邮件指出: zengzhilgATgmail.com
PS: elixir简讯的邮件订阅服务正在构建中ing, 敬请期待 : )
Params Modules for Phoenix
通常传到服务器的参数都应该是不可信的, 要处理这些数据我们可以通过所谓的 Params 模式(pattern) 对这些传入controller的参数做校验和处理. 其核心利用了Ecto中的 Ecto.schema 和 Ecto.Changeset, 难怪ecto现在将sql层分离作为一个单独的库了, 用Ecto我们也不需要和数据库打交道哇. 想知道更多ecto不那么常用的用法请参考
Lonestar ElixirConf 2019 - Ecto Without a DB - Greg Vaughn (youtube)
Nightly Tasks with a GenServer
Eric 使用GenServer为自己的游戏系统做了一个简单但有效的定时任务服务. 使用了Process.send_after/4 和 handle_continue/3
ExDoc v0.20
Wojtek 介绍了新版ExDoc带来的更多方便功能, 包括 快捷键支持, 文档搜索补全于原文搜索支持以及一些其他的特性.
Micro: Read cmd line pipes in elixir
Regis 在其博客展示了如何将终端输出导入Elixir中处理的方法.其实在*nix系统中已经内置一些方便的处理方式, 不过Regis用elixir处理的方式也别具一格.
Cleaning up Phoenix Controller Actions
Damon 提供了一种好的模式(pattern)来清理将大量变量通过render传入到view层时render参数太长的问题. 解决的重点在于使用Phoenix提供的assign/3这样原本的写法
def index(conn, _params) do....conn|> put_flash(:info, "Hello")|> render("index.html",users: users,foo: foo,bar: bar,long_variable_name: long_variable_name,other_var: get_other_var(),last_var: last_var)end
就可以写成
...conn|> put_flash(:info, "Hello")|> assign(:users, users)|> assign(:foo, foo)|> assign(:bar, bar)|> assign(:long_variable_name, long_variable_name)|> assign(:other_var, other_var)|> assign(:last_var, last_var)|> render("index.html")
Elixir protocols, how do they work? the erlang perspective
Mariano 从erlang的角度研究了下Elixir中的protocals是如何实现的. 要弄懂的话估计需要对erlang有点了解. 有兴趣的不妨一看.
Real World Phoenix |> A LiveView Dashboard
Tjaco Oostdijk 使用Liveview做了一个今年ElixirConf的倒计时页面, 还顺便加了个实时显示twitter相关讨论的小组件. 据他所说,由于现在和conf相关的推还不多, 可以试试改成#apple的推文试试, 估计内容会刷的飞起.
The Elixir AST explained using the AST Ninja
Arjan Scherpenisse 给elixir社区带来了一个叫做 AST Ninja 的小工具, 可以将elixir代码显示为对应的抽象语法树(AST), 该工具是一个开源的工具. 我感觉用LiveView应该会很好实现, 不知道是不是的.
一些看到比较有用的视频教程网站
pragmaticstudio
包含elixir, ruby还有前端的视频资料. 按课程打包收费
elixircasts
以elixir相关内容为主, 订阅制, 部分内容免费
