随笔分类 - elixir
摘要:对web服务来说, 上传文件图片,是个常用功能,打个样,简单试下效果: 在 postman上做个实验,如下图,再在本地路径下查看下: 在router.ex 里 配置个路由的路径, 再到controller里面,简单写下,共4行代码 1 def upload_photo(conn, body_para
阅读全文
摘要:defmodule Gateway.Http do def post(conn, url, content) do headers = headers(conn) case HTTPoison.post(url, content, headers) do {:ok, %HTTPoison.Respo
阅读全文
摘要:1) 原子转字符串: Elixir语言中 Atom.to_string 相关用法介绍如下。 用法: to_string(atom) @spec to_string(atom()) :: String.t() 将原子转换为字符串。 由编译器内联。 例子 iex> Atom.to_string(:foo
阅读全文
摘要:`mix.exs` 文件中的 application 设置选项 :extra_applications需要在你的应用之前启动的应用. :registered你的应用中使用到的进程注册名. 用于解决不同应用中的进程名冲突. :env默认的环境. :applications在运行时, 你的应用所依赖的所
阅读全文
摘要:在libcluster项目里,有关于crypto的加解密的东西,包括 encrypt和decrypt, 向量IV,key,和填充等基础概念,和erlang的调用差无二意 直接上代码: 1 defp encrypt(_state, plaintext, password) do 2 iv = :cry
阅读全文
摘要:Phoenix: Plug.Conn 前端速查表 Request conn.host # → "example.com" conn.method # → "GET" conn.path_info # → ["posts", "1"] conn.request_path # → "/posts/1"
阅读全文
摘要:目录 all? any? chunk_every/2 chunk_by map_every each map min max reduce sort uniq_by Enum Enum 模块提供了超过一百个函数,和集合交互。 iex iex> Enum.__info__(:functions) |>
阅读全文
摘要:# a = %{ # "mami" => ["a", "d"], # "star" => ["c", "b"]} # b = %{"a" => "1", # "b" => ["2","3","4"], # "c" => ["5","6"], # "d"
阅读全文
摘要:冒泡排序: defmodule BubbleSort do @moduledoc """ Implementation of BubbleSort algorithm (https://en.wikipedia.org/wiki/Bubblesort) Given an array of numbe
阅读全文
摘要:列表解析 (List comprehensions) 是erlang中的语法糖,同样,在elixir中也有对应的语法。 在很多時候,解析可以用来叠代产生更简洁的语句。让我们先来看一个简单的解析,然后拆解它的结构:EnumStream iex> list = [1, 2, 3, 4, 5] iex>
阅读全文
摘要:在本地windows11环境下,mix compile 编译某个项目时,遇到个问题,报错信息如下: **(Mix) “nmake ” not found in the path. If you have set the MAKE enviroment variable. 具体信息如下图: 由于本人用
阅读全文
摘要:内存泄漏类型 process泄漏 如果没有etop iex(xxxx@xxxx.)1> :erlang.system_info(:process_count) 5369 可以通过process_count来获取erlang vm中已分配的process数量. 若process数量和业务实际需要不吻合
阅读全文
摘要:在Elixir中使用文件系统与使用其他流行的编程语言进行操作实际上并没有什么不同。 有三个模块可以解决此任务: IO , File和Path 。 它们提供了打开,创建,修改,读取和销毁文件,扩展路径等功能。但是,您应该注意一些有趣的陷阱。 在本文中,我们将在看一些代码示例的同时谈论在Elixir中使
阅读全文
摘要:备注: 首先需要安装 elixir 环境 1. 基本项目说明 参考项目: https://github.com/rongfengliang/phoenix-rest-demo 2. 项目说明 备注: 主要是插件的配置 mix.exs defp deps do [ {:phoenix, "~> 1.3
阅读全文
摘要:Hex https://hex.pm 包含了 erlang和elixir的 如果再项目里需要某些包的依赖,可以从这里查看版本和doc 文档。
阅读全文
摘要:比如 某个请求是http:// localhost:4000提供的,但是我们的前端应用程序将在http:// localhost:3000上运行 。 这样,就涉及到CORS跨域问题了, 为处理这个跨域错误,我们需要安装第三方库 {:cors_plug, "~> 1.1"},然后在sling/api/
阅读全文
摘要:方式:根据erlang:send_after 启动个定时器,在gen_server 里面实现它。 直接上个测试代码: 在init初始化的时候,启动个timer,间隔时间为3秒 并输出打印 。 defmodule Distro.Cron do use GenServer require Logger
阅读全文