首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Elixir 依赖 (deps) 调试的小技巧

    最近使用 Elixir 有点多, 经常需要观察一些依赖 (Deps) 的实现, 比如想加个日志打印点 IO.inspect 啥的观察下某个变量,才能更好的理解某个 Elixir 的依赖。...这里介绍下一些调试的方式: 这里以 yeshan333/ex_integration_coveralls 为例子....credo 这个扫描规则 Credo.Check.Design.TagTODO 的实现大概是怎么样的. 1、mix deps.compile 找到它的实现 deps/credo/lib/credo/check.../design/tag_todo.ex, 我们想要观察下变量 issue_meta 实际是怎么样的, IO.inspect 一下....mix deps.get 2、mix.exs 使用 :path 引用依赖 上面的方法经常需要手动重新编译指定的依赖, 这里还有个方式可以在我们使用任意 Mix Tasks 的时候,依赖都会自动重新编译,

    20440

    (译)Elixir Tip: Case vs. With

    从 1.2 版本开始, with 运算符是需要点时间去理解的 ELixir 特性之一. 它经常在使用 case 的情形下使用, 反之亦然....让我们来看一个常见的日常工作场景案例. 试想一下, 我们有一个这样的操作 (它可以是外部的 API 调用、IO 或者数据库操作), 我们想执行第二个这样的操作, 但只有当第一个操作成功的时候才执行....回想一下, Elixir 中的条件语句也是函数. 它们可以被插入或链接到其他条件的表达式部分....它的基本形式类似于上面 case 的链式例子, 但在某种程度上, 它的功能也类似于管道操作符....res} -> do_something_with_res(res) {:error, {:some_error, err}} -> handle_some_error(err) end 相关文章 Elixir

    15730

    Elixir和OTP中面向过程的编程指南

    Elixir / OTP和面向过程的编程 在Elixir / Erlang和OTP中,通信原语是执行语言的虚拟机的一部分。在进程之间和机器之间通信的能力建立在语言系统的中心。...Elixir或Erlang的任何培训课程必须(通常是)包括OTP,并且应该从一开始就有一个过程方向,而不是“现在你可以在Elixir中编写代码,所以让我们来做并发”类型的方式。...首先从流程设计的角度来规划系统,其次是逻辑编码的观点。 了解基础知识 什么是Elixir和OTP? Elixir是一种基于Erlang VM的功能编程语言。...什么是最好的采用Elixir/OTP和面向过程的开发? 从培训或探索开始,着重于OTP和过程管理,然后是Elixir的语法和功能方面。...Elixir / OTP的可靠性和并发方面是竞争堆栈上的头和肩,不需要太多熟练的编程技能,并且比Ruby on Rails或Node具有更好的性能。 何时选择Elixir / OTP?

    1.4K10

    Ruby vs Elixir | 2022 该选哪个?

    Contents Ruby 和 Elixir(以及 Phoenix) 的起源 搞清楚 Ruby 和 Elixir 的优劣势 Elixir 和 Ruby 的最佳实践 最后,到底是选择 Elixir 还是...因此 Elixir 非常适合高并发、高容错性的应用。 可伸缩性 如果系统或者应用在未来的流量会大增,Elixir 的一大优势就是可以最大程度的利用一台机器。...Erlang 库 Elixir 可以调用 Erlang,Elixir 项目中可以非常方便的集成 Erlang 的库。...相关文档 Elixir 官方网站 上有大量的 Elixir 使用的文档,以及非常活跃的 Elixir 社区,文档也可以从终端中阅读,非常方便。...Elixir 和 Ruby 的最佳实践 在了解了这两种语言之间的差异之后,我们来看看 Elixir 和 Ruby 的最适合的使用场景。

    1.6K10

    Elixir, OTP, Ecto, 和 Phoenix 免费教程!

    我们的目标是帮助您成为更好的开发者;为此,我们每天都会制作Elixir,Elm等短片视频。...作为Kickstarter的一部分,我们创建了免费的内容来向更多的人介绍Elixir。这是我们在这篇文章末尾宣布的内容。我们也在继续在DailyDrip Elixir主题中建立Firestorm论坛。...我们希望这有助于个人和团队拥护Elixir及其社区的所有真棒。当然,详细的开发日志也可以让人们轻松地为Firestorm本身做出贡献。...Episodes Week 1: 初级Elixir 在第一周,您将学习Elixir编程语言语法及其工具的基础知识,您将学习如何在进程之间发送消息。 我们用自我指导的练习来构建一个独立的过程。...这是存在的标准库的一部分,可以帮助您更好地模拟并发进程。 它还提供监督树,这是使用Elixir构建容错应用程序的构建块。

    1.8K60

    (译) Understanding Elixir Macros, Part 1 Basics

    虽然我确信编写宏不是很难, 但与普通的 Elixir 代码相比, 它确实需要更高视角的关注. 因此, 我认为这了解 Elixir 编译器的一些内部细节是非常有帮助的....AST1 会以嵌套的 Elixir Terms 的形式来表述你的代码. 然后进入展开阶段. 在这个阶段, 各种内置的和自定义的宏被转换成了最终版本....一旦转换结束, Elixir 就可以生成最后的字节码, 即源程序的二进制表示. 这只是对整个编译过程的概述....创建 AST 片段 什么是 Elixir AST? 它是一个 Elixir Term, 一个深度嵌套的层次结构, 用于表述一个语法正确的 Elixir 代码. 为了说得更明白一些, 举个例子....[1, 2]} 使用 quote 可以获取任意一个复杂的 Elixir 表达式对应的 AST 片段.

    19030

    如何在 IntelliJ 上运行 Elixir 和 Phoenix 程序?

    这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情 Elixir 是一门非常强大的 函数式 编程语言,Elixir 社区构建了一个插件,该插件可以在 Jetbrains 的 IDE...如果你的开发平台是 MAC,可以通过 brew install 安装最新版的 Elixir,并且通过 elixir --version 命令来查看安装的 Elixir 的版本号。...之后会选择项目的 SDK,安装的 Elixir Plugin 可以检测到你安装的 Elixir SDK,并且可以将这个 SDK 设置为默认的 SDK。...项目创建完成之后,你可以看到在该项目中包含了一个 lib 文件夹,用于保存你的文件(Elixir code) 和一个 .iml 结尾的 IntelliJ 配置文件。...在安装了 Elixir 和 Erlang 插件的前提下打开使用 IntelliJ 打开 Phoenix Web 项目,项目会自动设置 Elixir 和 Erlang 的 SDK,如果没有你可以通过 File

    1.5K20

    通过 vfox 安装管理多版本 Erlang 和 Elixir

    如果你之前使用 asdf 去管理维护多个 Erlang 和 Elixir 的版本,那么 vfox 也是一个不错的选择,值的一试。...本篇文章的核心是通过 vfox 去安装和管理多个 Erlang 和 Elixir 语言的版本。...因为目前 vfox 的两个管理 Erlang 和 Elixir 版本的插件实现上还没有去支持在 Windows 操作系统下的管理,所以本篇文章的示例环境主要是 Ubuntu 20.04 Linux 环境...vfox 插件 vfox-erlang 和 vfox-elixir 去安装管理多个 Erlang 和 Elixir 的版本了。...接下来开始安装 Elixir 吧 安装 Elixir 因为安装 Elixir 也是从对应版本的源码进行编译安装的,Elixir 的编译需要依赖到 Erlang,我们先让当前使用的 shell 能找到刚才安装好的

    18610

    (译) Understanding Elixir Macros, Part 2 - Micro Theory

    Elixir Macros 系列文章译文 [1] (译) Understanding Elixir Macros, Part 1 Basics [2] (译) Understanding Elixir...这是 Elixir 中的宏系列的第二篇. 上一次我们讨论了编译过程和 Elixir AST, 最后讲了一个基本的宏的例子 trace. 今天, 我们会更详细地讲解宏的机制....因为宏有两个看似矛盾的性质: 宏也是 Elixir 代码 宏在在最终的字节码生成之前的展开阶段运行 Elixir 代码是如何在被生成之前运行的?它不能....由于宏也是函数, 而 Elixir 在调用函数时可以省略括号, 所以我们可以这样写: Tracer.trace 1+2 这很可能是 Elixir 之所以不在函数调用时要求括号的最主要原因....宏参数 你要记住, 宏本质上是在扩展阶段被导入的 Elixir 函数, 然后生成最终的 AST. 宏的特别之处在于它所接受的参数都是quoted 的.

    14440

    从 Go 开发者的角度看 Elixir 的设计思想

    英文原文:Elixir concepts for Go developers 基于 Elixir 的 Web 框架 Phoenix 受到了 Meteor 和 Rails 社区的广泛关注,所以今天我们推荐这篇文章...Elixir 是什么 Elixir 是运行在 Erlang 虚拟机 BEAM 上的一门新兴的编程语言。它完全兼容 Erlang,并且拥有共同的组件,但是它提供了类似 Ruby 的语法以及很多的语法糖。...它试图借鉴 Rails 专注与生产的特点,但是又不是 Rails 的克隆,而是充分利用了 Elixir/OTP 的特性。...最后以 Elixir 作者 José Valim 对它的评价作为结语: 「我不会将Elixir定义为更好的 Ruby。...在 Elixir 之前,我本人的主要语言确实是 Ruby,但是我创建 Elixir 的部分工作/研究的本意是想让其获取更多经验,从而丰富其生态系统。

    1.1K30

    使用Elixir和CoAP搭建IoT平台 - 01 CoAP介绍

    随着芯片成本的不断下降,移动设备的不断增多,互联网的日益发达,设备间的通信互联又重新走向了台前。毫无疑问,把数以万计的传感器连接在一起能够产生巨大的化学反应,IoT的初衷之一也就是采集大数据。...交通、运输、物流、能源,几乎生产生活的每个方面都可能被IoT所颠覆。一般而言,IoT遇到的最大的问题就是环境的不稳定性,也就是没有稳定的电源,并且无线网络的带宽、延时、丢包等问题都比较突出。...CoAP 理解CoAP协议主要要弄清几个概念,首先,也就是上面提到的,IoT中很多设备都是资源受限的,即只有少量的内存空间和有限的计算能力,像HTTP这种协议就显得过于庞大而不适用了。...对于资源受限的微处理器,和在资源受限的IP网络下通信,HTTP并不是一种可行的选择。它占用了太多的资源和太多的带宽。而对于物联网这种嵌入式设备来说,对于资源与带宽,是我们需要优先考虑的内容。...CoAP采用了二进制报头,而不是文本报头(text header) CoAP降低了头的可用选项的数量 CoAP减少了一些HTTP的方法 CoAP可以支持检测装置 Refs IoT with Elixir

    1.3K60

    使用 GitHub Codespaces 加速 Elixir 开发环境工作速度

    前言 使用 Elixir 开发点小玩意的时候,面对经常需要走外网下载依赖 (Elixir 的镜像站 UPYUN 使用有时候也经常抽风) 的时候,为了避免需要不断的进行网络代理配置,有想到之前经常使用 GitHub...如果有将 vscode 的配置同步到 GitHub,也可以在一定程度复用本地 IDE 的配置。...通过 https://github.com/codespaces/new 我们能配置 GitHub 使用的环境规格和部署地区: 加速 Elixir 开发环境 Elixir 应用构建拉依赖经常需要走外网,...但 GitHub 默认创建的 Codespaces 环境默认一般都是 js 的开发环境 Dockerfile,并没有 Elixir 环境,需要我们自己单独配置一手,好在提供了 devcontainer...的形式供我们自定义自己的基础开发环境,我们只需要提供配置文件就好, 我们需要做的如下: 1、GitHub 仓库创建 .devcontainer 目录; 2、.devcontainer 下的 devcontainer.json

    18910
    领券