小编leg*_*cia的帖子

使用通用测试的模块的Erlang测试(非导出/私有)功能

我在Erlang中有一个模块,其中的函数不是由Erlang导出的.如何使用通用测试框架测试/调用这些函数?

testing erlang erlang-otp rebar common-test

8
推荐指数
1
解决办法
1859
查看次数

是否可以在SQLAlchemy过滤器中使用函数?

我有一个函数检查对象的某些属性,并根据结果返回布尔值.在过滤器中编写它太复杂了,但它可以工作并返回正确的值.

现在我想使用sqlalchemy返回此函数返回True的所有对象.我试过了:

DBSession.query(MyObject).filter(self.check_attributes(MyObject) == True).all()
Run Code Online (Sandbox Code Playgroud)

DBSession.query(MyObject).filter(self.check_attributes(MyObject)).all()
Run Code Online (Sandbox Code Playgroud)

两者都未能选择正确的对象.我究竟做错了什么?

python sqlalchemy

8
推荐指数
2
解决办法
7422
查看次数

RCTBridge需要dispatch_sync来加载RCTDevSettings.这可能会导致死锁

当我将RN从0.32升级到0.44时,对16.0.0-alpha.6做出反应.当我在Xcode上运行应用程序.我得到错误:

在此输入图像描述

react-native

8
推荐指数
1
解决办法
1138
查看次数

mochijson2或mochijson

我正在使用mochijson2编码一些数据.但我发现它作为列表在字符串上表现得很奇怪.

例:

mochijson2:编码( "foo" 的).

[91, "102",44, "111",44, "111",93]

其中"102","111","111"是$ f,$ o,$ o编码为字符串44是逗号,91和93是方括号.

当然,如果我输出这个地方,我会得到字符串"[102,111,111]",这显然不是我的意思.

如果我试试

mochijson2:编码(<< "富" >>).

[34 << "foo" 的>>,34]

所以我再次得到一个两个双引号和二进制部分的列表,其中可以通过list_to_binary/1转换为二进制

这是一个问题 - 为什么它如此不一致.我知道有一个问题是distingushing erlang list应该被编码为json数组和erlang字符串,它应该被编码为json字符串,但至少可以在我传递二进制文件时输出二进制文件吗?

第二个问题:看起来mochijson输出的一切都很好(因为它使用特殊的元组来指定数组{array,...})

mochijson:编码(<< "富" >>).
"\"富\ ""

mochijson2和mochijson有什么区别?性能?Unicode处理?还要别的吗?

谢谢

erlang json mochiweb

7
推荐指数
1
解决办法
4010
查看次数

如何将消息发送到另一个节点?

我想实现一个简单的聊天室,其中两个节点可以相互同步发送消息.没有一个节点扮演服务器角色.

我是否可以使用!向另一个节点发送消息,如果我有这个节点上的进程的pid功能spawn(Node,Module,Fun,Args)

erlang

7
推荐指数
1
解决办法
4954
查看次数

在emacs(org-mode)中突出显示所选文本

我正在寻找一种永久性地突出显示Emacs中所选文本的方法,就像使用PDF中的标记一样.我正在使用组织模式.

我试着在Google上搜索,但我很惊讶我没有找到任何东西.

emacs org-mode

7
推荐指数
2
解决办法
5925
查看次数

禁止在html5中的数字字段中输入字母

我想阻止用户在HTML5中的电话号码的文本字段中输入非数字字符.我试过这个,但它不禁止非数字字符:

<input type="tel"  name="usrtel"><br>
Run Code Online (Sandbox Code Playgroud)

我也尝试使用type=number,但这给了我一个向上和向下箭头来增加或减少值,这对电话号码没用.我怎么能做到这一点?

html forms html5 input

7
推荐指数
1
解决办法
5730
查看次数

如何获得2次提交之间的更改?

我试图获得2次提交之间的更改作者.

对我来说最好的是:

git diff --name-only master
Run Code Online (Sandbox Code Playgroud)

而不是

--name-only 
Run Code Online (Sandbox Code Playgroud)

参数如

--authors-only
Run Code Online (Sandbox Code Playgroud)

但不幸的diff是没有这样的.没有限制我必须使用diff命令,git log或其他人也没关系.

我需要责怪那些导致测试失败的人.

git author

7
推荐指数
1
解决办法
271
查看次数

Dbgi块中漂亮的Elixir源代码

如果我有从Erlang代码使用编译的光束文件debug_info,则打印相应的源代码相当容易:

{ok, {_, [{debug_info, {debug_info_v1, erl_abstract_code, AbstractCode}}]}} =
    beam_lib:chunks("my_module.beam", [debug_info]).
{ok, Forms} = erl_abstract_code:debug_info(erlang_v1, module_name, AbstractCode, []).
io:format("~s~n", [erl_prettypr:format(erl_syntax:form_list(Forms))]).
Run Code Online (Sandbox Code Playgroud)

但是Elixir呢?我可以这样做的前两个步骤:

{ok, {_, [{debug_info, {debug_info_v1, elixir_erl, AbstractCode}}]}} = 
    beam_lib:chunks("Elixir.MyModule.beam", [debug_info]).
{ok, Forms} = elixir_erl:debug_info(elixir_v1, module_name, AbstractCode).
Run Code Online (Sandbox Code Playgroud)

这给出了这种形式的地图:

#{attributes => ...,
  compile_opts => [],
  definitions => ...,
  deprecated => [],
  file => <<"my_module.ex">>,
  line => 95,
  module => 'Elixir.MyModule',
  unreachable => []}
Run Code Online (Sandbox Code Playgroud)

如何将其打印为人类可读的Elixir代码?

elixir

7
推荐指数
1
解决办法
256
查看次数

有没有办法阻止Erlang服务器自动启动epmd?

如果erlang服务器尚未运行,它将自动生成epmd(Erlang端口映射器守护程序).我更愿意使用systemd作为单独的服务来管理epmd.这样,如果我在一个主机上运行多个Erlang服务器(例如RabbitMQ和ejabberd),如果自动生成epmd的服务器关闭,epmd将不会消失.systemd将在服务关闭时清理任何杂散进程,因此自动生成的epmd将无法生存.

我可以通过在启动任何Erlang服务器之前确保epmd作为单独的服务运行来解决这个问题,但我想确保epmd仅作为单独的服务运行.

erlang systemd epmd

6
推荐指数
1
解决办法
3058
查看次数