来自 Elixir Radar, ElixirDaily, ElixirWeekly. 有任何对文章的补充和错误之处欢迎邮件指出: zengzhilgATgmail.com 邮件已经可以订阅了. 可以戳这里 邮件订阅 接下来是RSS 功能

What’s new in Elixir - Apr/19

Elixir 1.9 dev 版本带来了许多新的特性. 几个比较重大的功能包括

  1. 添加了mix release, 以后版本发布就不需要额外的 hex 依赖了
  2. mix new 中 Config 特性变更. 1.9 版本以后 mix new 将不再生成 config/config.exs, mix new —umbrella 也不会在子应用中生成 config 文件了
  3. 与此同时 Elixir引入了一个新的 Config 模块.
  4. Logger 更加高效了.
  5. 添加 UTC 时间的sigil ~U
  6. System.get_env/2, System.fetch_env/1, 和 System.fetch_env!/1 被引入用于简化config相关配置.

There is no Magic in Elixir!

Elixir 没有魔法. 这篇文章给出了诸如 Supervise, Agent 这些我们经常用到的服务的简化版本, 以此说明各个模块的核心功能. 相信会对你有所帮助.

  • 群里@acmeltt 童鞋推荐愿意深入了解 memory management、message passing、schedule 相关的,可以学习下 the beam book

Caveats Storing Large Amounts of Data in Elixir Agents

Pascal 遇到了一个使用 Agents 导致系统资源大量占用的问题. 如果这样的问题你也遇到了不妨看一看, 这篇文章作者讲述了问题为何发生以及如何避免.

Using Libgraph for Graph Data Structures in Elixir

又是一篇和 Graph Database 相关的文章, 这个东西现在很火么? 谁能给我解释下. ;)

Thoughts On Elixir: Pros And Cons Of The Most Popular Tool For High-Load Dev

一篇和使用 Elixir 优缺点相关的访谈. 没有银弹.

Dealing with long-running HTTP Requests and Timeouts in Phoenix

通常由于Phoenix的并发特性处理 http 请求是又快有好的. 但是在现实中也会遇到一个请求会花很长时间的情况, 比如文件上传. 这种情况通常会导致 Phoenix 触发 timeout (一般为60s). 怎么去调整这个timeout 呢? 作者给了很明确的解释.

Chemanalysis: Dialyzing Elixir

没人愿意在生产环境写出bug. Dialyzing 就是个可以为你所用的好工具来帮助你尽早的把bug扼杀在摇篮里. 在这个视频里作者讨论呢Dialyzer是啥, 如何在项目中使用.

Introducing Telemetry

文章介绍如何使用 Telemetry 去监听和分析应用中的各种行为. Plug好像就是(可选)依赖这个 hex. 所以应该算是一个基础组件.

Organising Absithe GraphQL and Ecto errors

作者已经在项目中用了一段时间 Absinthe 了, 在这篇文章中作者想分享如何组织和处理一般的 GraphQL 错误和 Ecto.Changeset 中的错误.