otp

How to design a flexible Erlang protocol stack creation API

流过昼夜 提交于 2019-11-30 03:45:09
问题 Unsatisfied with my current approach I'm just trying to redesign the way I build protocol stacks in Erlang. The feature ordered by importance: Performance Flexibility and implementation speed adding new protocol variants It would help development to explore the protocol variants from the shell My current model (alreday described in this question) is getting at its limits besides the ugly asymmetry of send() by function call and receive by message. The overall picture of the whole protocol

How do I do an HTTPS request with Erlang?

故事扮演 提交于 2019-11-30 03:08:16
I tried the inets library but it times out. I don't think it supports HTTPS. I am trying to use ibrowse, but it isn't working. Yasir Arsanukaev This works fine for me: 1> application:start(inets). ok 2> application:start(ssl). ok 3> http:request(head, {"https://example.com", []}, [{ssl,[{verify,0}]}], []). {ok,{{"HTTP/1.1",200,"OK"}, [{"cache-control","max-age=0, proxy-revalidate"}, {"date","Sun, 23 May 2010 00:38:33 GMT"}, {"server","BAIDA/1.0.0"}, {"content-type","text/html; charset=windows-1251"}, {"expires","Sun, 23 May 2010 00:38:33 GMT"}, {"set-cookie", "uid=9041986921274575113; domain=

Building a fault-tolerant soft real-time web application with Erlang/OTP

≡放荡痞女 提交于 2019-11-30 02:27:31
I would like to build a fault-tolerant soft real-time web application for a pizza delivery shop. It should help the pizza shop to accept phone calls from customers, put them as orders into the system (via a CRM web client) and help the dispatchers to assign delivery drivers to the orders. These goals are nothing unusual, but I would like to make the service available 24/7, i.e. to make it fault-tolerant. Moreover, I would like to make it work very fast and to be very responsive. Below is a very simple architecture view for such an application. The problem is that I do not know how to use all

Are there things Elixir can do that Erlang cannot, or vice versa?

 ̄綄美尐妖づ 提交于 2019-11-29 19:00:41
This question is in the context of the Beam VM and the capabilities that it provides, not in the general context of what a Turing complete language can do. I want to invest some time to learn either pure Erlang or Elixir. I get the basic differences between the two and I am leaning towards Elixir because of the macros, better syntax and faster development of the language this day. My question is: if I choose Elixir, will I stumble on something that I cannot do in it, but can do in Erlang? Can I use all the OTP stuff, all the Erlang libraries, code reload, etc. with Elixir? I am not asking for

Authing 产品动态(8 月刊)

拥有回忆 提交于 2019-11-29 07:36:39
支持 MFA (多因素认证)和更多插件化功能 控制台 2.0 发布 过去的一个月时间里,我们认真阅读并采纳了许多 Authing 使用者的建议,对控制台进行了重新设计。控制台 2.0 将整体外观与布局进行了更科学的调整,加入了更多的使用引导。希望能给你带来一个良好的使用体验。 支持配置密码加密函数 越来越多的企业接受身份认证上云后,Authing 也承接了越来越多「用户迁移」需求。对此,我们提供了 配置密码加密函数 功能。它能让你的企业/团队的产品中的用户数据正确而安全地导入 Authing 。 具体功能路径为: 用户池 -> 基础配置 -> 密码管理 -> 自定义密码加密方法 。 查看详情 Guard 支持动态令牌与资料管理 Guard 是 Authing SSO 的组件,用于登录与授权应用 。我们在 Guard 中添加了基于 OTP 开源协议的动态令牌功能与资料管理,用户可以方便地查看与管理个人数据。 同时,我们推出了小程序端「小登录」的动态令牌管理工具,用户也可以使用其他第三方 OTP 工具(如身份宝)管理动态令牌。 查看详情 Guard 新增了一些配置项 先前版本中 SSO 授权登录页面,会默认显示小程序扫码、账号—密码及其他社会化登录方式。现在,你可以在控制台中关闭不需要的登录方式,比如关闭「小程序扫码登录」,或是禁止注册,只许登录。 具体功能路径为: 用户池 ->

转载 | 企业和消费者身份的融合表明统一身份时代的到来

醉酒当歌 提交于 2019-11-29 04:43:33
企业和消费者身份的融合,为黑客创建了一个巨大的攻击界面。我们应探讨二者趋同的各种方式,以及安全社区应做出的响应。 多因子同化现象 一些双因子身份验证方法,是为消费者创建而随后被企业采用的;另外一些,则是为企业创建而被个人用户采纳的。 1. 生物特征识别 包含嵌入原生App中的指纹扫描器和虹膜扫描器,供消费者和企业身份验证使用。用心率验证身份的Nymi腕带就是其中一个极好的例子。 2. 基于上下文的身份验证 最为消费者熟知的,是“在此设备上记住我”勾选框,或者Visa验证和MasterCard安全码(McSc)。从陌生设备登录时,用户就会被要求用额外的因子(如一次性口令(OTP))验证自身身份。 3. 单击身份验证 通过点击移动设备上的按钮进行用户身份验证,消费者服务和企业都有提供。 工作场所和家中的单点登录 相信都听说过口令疲劳吧?我们日常生活中总是需要记住很多口令,登录流行应用的时候难免焦虑。 在任何可行的地方实现单点登录解决方案(SSO),可以仅验证一次,后续就能在访问各种资源的时候自动验证,有效消除这种沮丧和焦虑。 企业世界中,SSO体验通过使用口令存储库或联合身份验证协议(如Kerberos、SAML和Open ID Connect)创建。消费者世界中,尽管也有面向消费者的口令存储库,却是SSO的前身——联合身份验证协议,一统江湖。当你点击“用谷歌账户登录”按钮时,就是

what kind of types can be sent on an erlang message?

只谈情不闲聊 提交于 2019-11-29 03:17:32
问题 Mainly I want to know if I can send a function in a message in a distributed Erlang setup. On Machine 1: F1 = Fun()-> hey end, gen_server:call(on_other_machine,F1) On Machine 2: handler_call(Function,From,State) -> {reply,Function(),State) Does it make sense? 回答1: Here's an interesting article about "passing fun's to other Erlang nodes". To resume it briefly: [...] As you might know, Erlang distribution works by sending the binary encoding of terms; and so sending a fun is also essentially

How do I do an HTTPS request with Erlang?

醉酒当歌 提交于 2019-11-29 00:44:43
问题 I tried the inets library but it times out. I don't think it supports HTTPS. I am trying to use ibrowse, but it isn't working. 回答1: This works fine for me: 1> application:start(inets). ok 2> application:start(ssl). ok 3> http:request(head, {"https://example.com", []}, [{ssl,[{verify,0}]}], []). {ok,{{"HTTP/1.1",200,"OK"}, [{"cache-control","max-age=0, proxy-revalidate"}, {"date","Sun, 23 May 2010 00:38:33 GMT"}, {"server","BAIDA/1.0.0"}, {"content-type","text/html; charset=windows-1251"}, {

Introduction to Erlang/OTP production applications deployment

五迷三道 提交于 2019-11-28 16:51:41
问题 I would like to develop and deploy an Erlang/OTP application into production on a VPS. I am pretty familiar with developing Erlang code on a local machine and my question is about deployment. Basically, I would like to know what steps I should take in order to move Erlang code from a local machine to a production server and make it run, i.e. be available for users. Note: I have read some documentation about Erlang and command line, Erlang code module, Erlang releases, but I am still not sure

Good practices when developing an application in Erlang (and Riak)?

和自甴很熟 提交于 2019-11-28 15:25:43
问题 We are getting familiar with Erlang/OTP and Riak (Core, KV, Pipe, and so on) trying to build an open-source distributed application in turn. Our project is going to have a bunch of dependencies : tools like erlang_js, protobuffs, etc., but also services that we need to have running, such as Riak KV. In Python/Ruby/Node.js, if modules are placed in a standard subdirectory relative to your project's, you can reference them, and later package them in releases. You can fire up a shell in the