摘要:
Ps: 需要注意的是,我学习的时候,Elixir 是 1.13.1的版本,而 Phoenix 是 1.6.10的版本,对于其他版本,不一定正确。 1、安装 Phoenix 之前,先安装 Elixir。 2、如果已经安装好了 Elixir ,使用一下命令安装 hex 这一个模块。 $ mix loca 阅读全文
摘要:
mix deps.get 获取依赖很慢,经常超时,把原生的国外的源换成国内upyun 的源 1)mix hex.config mirror_url https://hexpm.upyun.com 2)min deps.get 参考链接:UPYUN 支持 Elixir hex.pm 国内镜像 · Ru 阅读全文
摘要:
将字符串单个单词反转字符顺序。例如字串s = "I have a dream"转换成r = "I evah a maerd" 对于这样的题目,本身没有什么难度,无非就是针对序列的操作。先切分成单词,再针对单词做reverse操作即可。 用elixir,大致如下: iex(1)> Enum.join( 阅读全文
摘要:
#别名,要求与进口 1. 别名 2. 要求 3. 进口 4. 使用 5. 理解别名 6. 模块嵌套 7. 群体别名/进口/要求/使用 为了方便软件复用,Elixir 提供了三个命令 (alias,require 和 import) 外加一个宏 use, 简介如下: # 给模块一个别名,使得我们可以调 阅读全文
摘要:
和erlang一样,需要设置相同的cookie, 启动两个iex的shell, 您必须命名您的节点并在两个节点上使用相同的cookie。 在机器1: iex --name a@127.0.0.1 --cookie a_cookie_string 在机器2中: iex --name b@127.0.0 阅读全文
摘要:
在 erlang的OTP中,gen_server作为通用服务器,是使用频率很高也很好用的一个行为模式,而elixir的底层就是erlang,自然逃不过OTP,包括其中的sup,gen—server等行为模式。 下面就看下在elixir中,它的语法和erlang的gen_server 有什么不同,看e 阅读全文
摘要:
1) 给params的list转小写 匿名函数 例: params = [“A”,“B”,“C”] Enum.map(params, fn (x) -> String.downcase(x) end ) 或者 Enum.map(parmas, fn x -> String.downcase(x) e 阅读全文
摘要:
Elixir崇尚简洁,Unix的一个重要哲学就是管道操作符,Elxiir也完美的试用与函数。 通常而言,程序员把功能点写成一个个精巧的函数。然后通过函数的组合嵌套实现功能。 people = DB.find_customers orders = Orders.for_customers(people 阅读全文
摘要:
先聊Enum可能需要先了解下Elixir的收集(collection),Elixir的收集类型可以包含任意类型的值。常见的收集类型的数据类型有元组,列表,散列表,二进制型,字典,区间甚至可以自定义收集类型。 各种收集类型各不相同,但肯定共同点是存在的嘛。它们的共同点是都可以对它们进行遍历。我们可以使 阅读全文
摘要:
Prometheus+Grafana 概述 Prometheus是一个基于Metrics的监控系统,提供通用的数据模型和便捷的数据采集、存储和查询接口,通常配合图形化工具(如Grafana)实现友好的图形化和报警 现状 当前系统及服务器实时数据,缺乏直观体现,线上承载较大或数据异常时,无法及时定位问 阅读全文
摘要:
做过几年push推送相关服务,简单把它画一下呈现出来 阅读全文
摘要:
1) 简介 observer_cli是一个针对erlangVM,基于recon和observer的实时监控系统指标的工具。因为生产环境一般都是linux系统,而observer是不支持linux系统(需要安装wx), 有了observer_cli就可以在linux环境下更直观的观察环境,及早发现问题 阅读全文
摘要:
Here's a full example using rebar3 escriptize: λ /tmp → rebar3 new escript hello > Writing hello/src/hello.erl > Writing hello/src/hello.app.src > Wri 阅读全文
摘要:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% import (% "redigo/redis"% ) % const (% SET_IF_NOT_EXIST = "NX" // 不存在则执行% SET_WITH_EXPIRE_TIME = "EX" 阅读全文
摘要:
cd tcp_server_0.1 ./bin/tcp_server console进入erlang的shell release_handler:which_releases(). 看到的应该是0.1然后解压0.2的包,安装进入 erl> release_handler:unpack_release 阅读全文