随笔分类 -  elixir

gleam 类型安全的编程语言
摘要:gleam 类型安全的新编程语言,基于rust 开发,编程语法上与rust 特性类似,runtime 基于了erlang 特点 支持函数式编程 基于erlang runtime (当然也就包含了不少erlang 的特性了) 包含了完整的工具连(编译器,构建工具,格式化工具,编辑器集成,包管理) 可以 阅读全文

posted @ 2024-03-11 11:31 荣锋亮 阅读(106) 评论(0) 推荐(0) 编辑

ash用于构建 Elixir 应用程序的声明性和可扩展框架
摘要:ash 是一个Elixir 框架 包含的特性 面向资源 通过plug 以及play 构建复杂的应用 graphql 支持 基于absinthe 的graphql 支持 json api 支持 认证&授权支持 多租户支持 统一数据层 灵活扩展 可观测性支持 phoenix ecto 框架兼容 说明 a 阅读全文

posted @ 2024-01-26 08:00 荣锋亮 阅读(31) 评论(0) 推荐(0) 编辑

cachex elixir 强大的缓存框架
摘要:cachex 是一个强大的elixir cache 库,提供了事务,fallback,以及过期等基本能力 包含的特性 TTL 最大大小限制 pre、post 执行hooks 事务以及row 锁 异步写操作 分布式 同步本地文件系统 streaming cache 批量写 用户命令调用 统计信息 参考 阅读全文

posted @ 2024-01-16 09:50 荣锋亮 阅读(47) 评论(0) 推荐(0) 编辑

elixir before_compile && on_definition 简单使用
摘要:elixir 提供了一些方便的模块属性,可以让我们方便的进行elixir 的扩展(尤其是进行元编程的时候) 比如elixir_agent 就使用到了before_compile以及on_definition ,方便进行trace 的处理 on_definition 的简单使用 参考demo 内容来自 阅读全文

posted @ 2024-01-15 10:28 荣锋亮 阅读(7) 评论(0) 推荐(0) 编辑

swoosh elixir 方便的邮件发送&测试客户端
摘要:swoosh提供了多中邮件平台的adapter ,可以方便的进行邮件的测试,发送,还包含了对于phoenix 的集成同时还包含了一个方便的本地邮箱预览服务 参考资料 https://github.com/swoosh/swooshhttps://hexdocs.pm/swoosh 阅读全文

posted @ 2024-01-08 10:16 荣锋亮 阅读(11) 评论(0) 推荐(0) 编辑

nerves 基于elixir 开发嵌入式系统
摘要:nerves 可以使我们基于elixir 开发嵌入式系统,而且基于erlang 强大的虚拟机能力实现可靠,高效的系统 说明 nerves 包含了不少子系统,都可以加速系统的开发,值得学习下 参考资料 https://nerves-project.org/#featureshttps://github 阅读全文

posted @ 2024-01-06 20:15 荣锋亮 阅读(44) 评论(0) 推荐(0) 编辑

elixir erlang 简单调用学习
摘要:实际上基于elixir 的mix 进行erlang 以及elixir 的互调用开发处理是很方便的,mix 直接就包含了构建erlang代码 同时对于代码的互调用,只要使用符合语言格式要求就行了,以下是一个简单的互调用学习 项目准备 项目结构 ├── README.md ├── lib │ ├── a 阅读全文

posted @ 2024-01-05 17:09 荣锋亮 阅读(31) 评论(0) 推荐(0) 编辑

基于macro 仿写一个简单的ecto schema dsl
摘要:ecto 的schema macro 是一个很方便的功能,可以用来定义表的schema 信息,以下是一个简单的仿写(只是行像,但是功能不一样) 项目代码 macro 定义 e.ex defmodule E do # 方便use 使用 defmacro __using__(_options) do q 阅读全文

posted @ 2024-01-05 13:48 荣锋亮 阅读(3) 评论(0) 推荐(0) 编辑

elixir config 简单说明
摘要:elixir 的config 模块,实际上就是标准的方法,只是mix 项目中在使用的时候使用了dsl 模式的,没有使用包含括号的模式调用 给人一种似乎觉得有点怪的调用模式 参考代码 只说明config 方法,实际上Config 模块还包含了其他方法 mix 中的调用 import Config co 阅读全文

posted @ 2024-01-04 17:29 荣锋亮 阅读(17) 评论(0) 推荐(0) 编辑

elixir 模块名一些参考资料
摘要:elixir 的模块名实际上是一个atom 类型的数据,以下是一些参考资料 参考使用 比如一个mix sup 项目 defmodule EctoDemo.Application do use Application @impl true def start(_type, _args) do chil 阅读全文

posted @ 2024-01-04 15:31 荣锋亮 阅读(5) 评论(0) 推荐(0) 编辑

elixir mix 自定义任务
摘要:elixir 的mix 比较灵活,同时也比较强大,很多时候我们可以自己定义一个任务,方便运行以及构建,不少 三方框架会提供一些方便的cli ,一般也会使用此方法比如ecto orm 框架,以下是一个简单的自定义task 学习 参考开发 目录位置 这个实际上都f放那里可以,只是有一个简单的约定,建议放 阅读全文

posted @ 2024-01-04 13:09 荣锋亮 阅读(8) 评论(0) 推荐(0) 编辑

elixir mix observer 工具的使用
摘要:默认elixir mix 没有添加observer 工具的依赖直接运行会提示找不到方法 解决方法 添加几个额外的依赖 主要是observer,:wx,:runtime_tools 这几个 def application do [ extra_applications: [:logger,:obser 阅读全文

posted @ 2024-01-04 12:02 荣锋亮 阅读(13) 评论(0) 推荐(0) 编辑

elixir defdelegate 使用
摘要:delegate 模式,在不少语言都支持,有些是隐式的(一些早期语言),有些是显式的(新语言,kotlin,swift等) elixir 也支持delegate 处理,还是比较方便的,以下是一个简单的使用 定义原始方法 default.ex defmodule Default do def logi 阅读全文

posted @ 2024-01-04 09:25 荣锋亮 阅读(5) 评论(0) 推荐(0) 编辑

absinthe dataloader 简单说明
摘要:dataloader 核心是为了解决graphql 对于后段服务的频繁调用,absinthe 基于graphql的dataloader 实现了elixir 版本的 参考使用 代码 source = Dataloader.Ecto.new(MyApp.Repo) # setup the loader 阅读全文

posted @ 2024-01-03 19:45 荣锋亮 阅读(4) 评论(0) 推荐(0) 编辑

absinthe elixir 的graphql 框架简单试用
摘要:absinthe elixir 的graphql 框架 包含的特性 graphql 草案的完整实现 插件化设计 异步字段解析以及批量解析,同时支持插件化的解析支持 安全 包含了基于GraphiQL 的playground 项目测试 基于了phoenix 框架 创建phoenix 项目 mix phx 阅读全文

posted @ 2024-01-03 19:15 荣锋亮 阅读(9) 评论(0) 推荐(0) 编辑

elixir macro defoverridable 功能
摘要:基于macro 的包装函数可以使用defoverridable 可以方便进行方法的重写 参考使用 app.ex defmodule App do defmacro __using__(_options) do quote do def init do IO.puts "do init" end de 阅读全文

posted @ 2024-01-03 17:47 荣锋亮 阅读(5) 评论(0) 推荐(0) 编辑

elixir apply 结合 macro 一个方便的开发技巧
摘要:此玩法实际在Phoenix elixir 项目中使用比较多,以下是一个简单的示例 示例代码 login.ex defmodule Login do def demoapp do quote do import unquote(__MODULE__) end end def dalong do IO. 阅读全文

posted @ 2024-01-03 15:08 荣锋亮 阅读(11) 评论(0) 推荐(0) 编辑

wasmex webassenbly elixir 运行时
摘要:wasmex 是基于wasmtime 以及rust nif 开发的方便elixir 运行webassembly 的框架 与rust 的集成 与rust 集成使用的三方包 与mjml 工具类似使用了rustler_precompiled 以及rustler rust 使用的三方包 前边也说了是基于了w 阅读全文

posted @ 2024-01-02 14:19 荣锋亮 阅读(10) 评论(0) 推荐(0) 编辑

oban简单学习试用
摘要:以前简单介绍过oban 一个强大的elixir任务框架,支持不少类型模式的job 处理,以下是一个简单的试用 环境准备 数据库使用了pg,oban 使用了ecto 这个强大的orm 框架,添加了oban 依赖之后就可以使用包含的mix ecto 命令进行 表的创建了,数据库使用docker-comp 阅读全文

posted @ 2024-01-02 11:12 荣锋亮 阅读(19) 评论(0) 推荐(0) 编辑

oban elixir 强大的任务处理框架
摘要:oban elixir 强大的任务处理框架,后端存储基于了sqlite 或者pg 包含的特性 Isolated Queues Queue Control Resilient Queues Job Canceling Triggered Execution Unique Jobs Scheduled 阅读全文

posted @ 2024-01-01 13:57 荣锋亮 阅读(34) 评论(0) 推荐(0) 编辑

导航