做笔记记忆是靠不住的,会自然淘汰长时间不用的数据,一旦需要重新加载,如果从0开始那成本就太高了,而笔记和思维导图是自己思考方式的组织的,可以快速加载;
- 一开始笔记软件做的不好的时候就发邮件给自己,然后不断的回顾更新笔记;
- 后来用OneNote,由于这玩意当时不是云同步的,硬盘坏掉的时候丢了一些数据,打击还是挺大,好多事情要从头开始
- 再后来用过一段时间Google Wave,还以和朋友分享讨论笔记,结果,你们知道关闭服务了,费力导出来
- 现在转战Evernote和思维导图Conceptdraw
下面这些内容零零散散记录了很久,当时记录的时候可能还是新东西,过了那么久新东西也都成常识了,算不得"新"了;删之可惜,继续放在Erlang杂记里面吧,无论如何都是一个知识积累的记录;另外,分享记录还可以发现盲点,比如下面代码就是我曾经的盲点之一,我曾经使用非常绕的方法解决ETS进程依赖Shell进程的问题,很快就有朋友指出其实只需要执行下catch_exception(true)就可以搞定.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Eshell V6.0 (abort with ^G) 1> self(). <0.33.0> 2> 1/0. ** exception error: an error occurred when evaluating an arithmetic expression in operator '/' /2 called as 1 / 0 3> self(). %% 注意这里 已经重启 <0.36.0> 4> catch_exception( true ). false 5> 1/0. * exception error: an error occurred when evaluating an arithmetic expression in operator '/' /2 called as 1 / 0 6> self(). <0.36.0> 7> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | Eshell V6.0 (abort with ^G) 1> catch_exception( true ). false 2> ets: new (test,[named_table]). test 3> [ ets:insert(test,{N,1,1,2}) || N <- lists:seq(1,10) ]. [ true , true , true , true , true , true , true , true , true , true ] 4> 4> ets:info(test). [{compressed, false }, {memory,389}, {owner,<0.33.0>}, {heir,none}, {name,test}, {size,10}, {node,nonode@nohost}, {named_table, true }, {type, set }, {keypos,1}, {protection, protected }] 5> ets: new (test2,[named_table,compressed]). test2 6> [ ets:insert(test2,{N,1,1,2}) || N <- lists:seq(1,10) ]. [ true , true , true , true , true , true , true , true , true , true ] 7> 7> ets:info(test2). [{compressed, true }, {memory,399}, {owner,<0.33.0>}, {heir,none}, {name,test2}, {size,10}, {node,nonode@nohost}, {named_table, true }, {type, set }, {keypos,1}, {protection, protected }] |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | Eshell V6.0 (abort with ^G) 1> catch_exception( true ). false 2> ets: new (t,[named_table]). t 3> [ ets:insert(t,{N,[1,1,2],[a,b],{2,1,1024}}) || N <- lists:seq(1,100000) ]. [ true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true |...] 4> ets:info(t). [{compressed, false }, {memory,2314637}, {owner,<0.33.0>}, {heir,none}, {name,t}, {size,100000}, {node,nonode@nohost}, {named_table, true }, {type, set }, {keypos,1}, {protection, protected }] 5> ets: new (t2,[named_table,compressed]). t2 6> [ ets:insert(t2,{N,[1,1,2],[a,b],{2,1,1024}}) || N <- lists:seq(1,100000) ]. [ true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true |...] 7> [ ets:insert(t2,{N,[1,1,2],[a,b],{2,1,1024}}) || N <- lists:seq(1,100000) ]. [ true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true , true |...] 8> ets:info(t2). [{compressed, true }, {memory,1414637}, {owner,<0.33.0>}, {heir,none}, {name,t2}, {size,100000}, {node,nonode@nohost}, {named_table, true }, {type, set }, {keypos,1}, {protection, protected }] 9> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -module(a). -compile(export_all). v()-> 1.0. Eshell V6.0 (abort with ^G) 1> c(a). {ok,a} 2> a:v(). 1.0 3> c(a). %% 代码已经修改过了 {ok,a} 4> erlang:check_old_code(a). true 5> a:v(). 2.0 6> |
1 2 3 4 5 6 7 | 7> B= << "binary_test_demo" >>. << "binary_test_demo" >> 8> erlang:external_size(B). 27 9> byte_size(B). 16 10> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | > float_to_list(7.12, [{decimals, 4}]). "7.1200" > float_to_list(7.12, [{decimals, 4}, compact]). "7.12" > float_to_binary(7.12, [{decimals, 4}]). << "7.1200" >> > float_to_binary(7.12, [{decimals, 4}, compact]). << "7.12" >> 13> erlang:binary_to_integer(<< "10204" >>). 10204 14> erlang:integer_to_binary(10204). << "10204" >> 15> |
1 2 3 4 | 1> Color = 16#F09A29. 15768105 2> Pixel = < <<240,154,41>> |
1 2 | application:set_env(kernel, inet_dist_listen_min, 9100). application:set_env(kernel, inet_dist_listen_max, 9105). |