erlang macro

宏参数字符串化(Stringifying Macro Arguments)
这个功能有时候还真挺有用的, 比如测试用例和打日志的时候.
语法是: ??Arg

1
2
3
4
-define(TESTCALL(Call), io:format("Call ~s: ~w~n", [??Call, Call])).

?TESTCALL(myfunction(1,2)),
?TESTCALL(you:function(2,1)).
1
2
io:format("Call ~s: ~w~n",["myfunction ( 1 , 2 )",myfunction(1,2)]),
io:format("Call ~s: ~w~n",["you : function ( 2 , 1 )",you:function(2,1)]).

npm

这里慢慢积攒一些 npm 相关的事情

1
npm config set registry https://registry.npm.taobao.org --global

ruby问题集

据说是由于ruby官网用的 ssl 从 sha1 改到 sha256 导致的问题(完整的背景见参考链接)

安装 gem 时出现如下问题

1
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

命令行更新 ruby 也更新不了, 只能从官网下载了个 2.5.2 的 ruby 的安装包,
又装了个 rbenv (为了不和 macos 系统自带的 ruby 相冲突), 安装了 ruby 之后
才成功地 gem install 了几个 gem

locale

今天登录阿里云时发现如下 warning :

1
2
3
Welcome to Alibaba Cloud Elastic Compute Service !

-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory