注册小程序AppID
1.用一个没有注册过微信公共帐号平台的邮箱注册小程序
2.下载官方的开发工具
3.打开开发工具
3.1选择一个空的目录作为小程序代码存放目录
3.2给小程序起一个骚气的名字
生命就像一条大河,时而宁静时而疯狂
这是1.7版本存在的一个问题,参考: golang/go
1 | %% gen_server代码模板 |
erlc带debug_info参数编译erl文件生成beam里面包含了debug信息,
所以可以通过debug版本的beam反编译生成erl文件。
例如sum.beam是带debug编译好的beam文件,反编译步骤如下:{ok, {_, [{abstract_code, {_, Ac}}]}} = beam_lib:chunks(code:which(sum), [abstract_code]).io:fwrite("~s~n", [erl_prettypr:format(erl_syntax:form_list(Ac))]).
这样我们就得到的sum.beam的预处理之后的程序。
如果我们想查看beam文件的汇编程序erts_debug:df(sum). 执行完毕会得到sum.dis文件,里面就是对应的汇编代码。
所以生成debug的beam文件是很不安全的,不过可以生成加密的debug信息,这样别人拿到这些beam也无法反编译生成erl文件
方法:
在rebar.config文件的debug_info中加上{debug_info_key,{des3_cbc,”your secret key”}编译选项

make_jid的参数Item#roster.jid是一个<"yangrong@localhost">binary类型,造成函数条款不匹配的错误,应该使用string_to_jid。

这块取消订阅是有一方取消之后,双方关系都解除,之前测试只是谁取消订阅删除谁的记录,是因为这块bug引起的,导致unsubscribe消息没有推送出去,把这块代码注释掉是为了实现半删除。