【Erl代码片段】更快的proplists:get_value/3

在cowboy的cowboy_protocol.erl 文件中看到如这样一下函数:

%% Faster alternative to proplists:get_value/3.
get_value(Key, Opts, Default) ->
    case lists:keyfind(Key, 1, Opts) of
        {_, Value} -> Value;
        _ -> Default
    end.

做了一下测试, 考虑到proplist一般都不长, 用一个10个元素的列表进行测试, 结果这个函数比 proplists:get_value/3 快5倍, 对于更长的列表差别更大.

阅读全文

Erlang数据项的size

Erlang中数据项(Erlang Term)的所占据的空间大小可以用各种size来获取.

  • 其中对于所有数据项都通用的有: erlang:external_size/1, erts_debug:size/1, erts_debug:flat_size/1

  • 适用于二进制串有: erlang:size/1, erlang:byte_size/1, erlang:bit_size/1

阅读全文

使用jqPlot绘制统计图-1

要在网页上显示统计图, 可以在服务器生成图片后发给浏览器, 也可以把数据发给浏览器, 用JavaScript画. jqPlot是后者的一种, 它是jQuery的一个插件, 是完全运行于客户端的绘图包. 下面简介一下它的使用.

阅读全文

在Jekyll的博客中实现语法高亮

在Jekyll的博客中实现语法高亮方法如下:

  1. 在配置文件 _config.yml 启用 pygments, 并使用redcarpet做为渲染引擎.
    pygments: true
    markdown: redcarpet
  1. 使用以下格式把代码括起来
    ```python
    print("hello world")
    ```
  1. 在页面上添加语法高亮的CSS文件, 像这样:
    <link rel="stylesheet" href="/css/pygments.css" />

说明:

阅读全文

在Markdown里放JavaScript代码

MarkDown里是可以直接放HTML标签的, 也可以放<script>, 但是要注意的是, <script> 前要空一行, 这样才不会被当成文本.

也有人说要在<script>后面空一行, 我这里试了一下, 似乎不空也行.

阅读全文

(1 - 8)
Enter Press Enter to jump