by kevin
  
    11.   
      十二月 2012 21:19
  >
  
  
  
图书  《erlang程序设计》  已经绝版,去淘宝买印刷版的吧。  本书是讲述下一代编程语言Erlang 的权威著作,主要涵盖顺序型编程、异常处理、编译和运行代码、并发编程、并发编程中的错误处理、分布式编程、多核编程等内容。本书将帮助读者在消息传递的基础上构建分布式的并发系统,免去锁与互斥技术的羁绊,使程序在多核CPU 上高效运行。本书讲述的各种设计方法和行为将成为设计容错与分布式系统中的利器。 Joe Armstrong,Erlang最初的设计者和实现者,也是Erlang OTP系统项目的首席架构师。他拥有瑞典皇家理工学院博士学位,是容错系统开发领域的世界级专家。此外,他还在开发旨在替代XML的标记语言ML9。现任职于爱立信公司。   电子档:http://wenku.baidu.com/view/6ec2a984e53a580216fcfee0.html  《erlang编程指南》   《erlang编程指南》是对erlang语言的深入介绍。erlang是任何必须并发、容错和快速响应的环境的理想编程语言。随着多核处理器及其针对并发的新的可扩展方式的发展,erlang得到了广泛的使用。通过本书,你将学会如何使用erlang编写复杂的并发程序,不管你是否有编程背景和经验。 本书由国际知名的erlang社区领导者根据他们的培训材料编写而成。本书的重点集中在解释erlang的语法和语义,并且介绍了其模式匹配、规范列表、递归、调试、网络和并发性等内容。     《Erlang/OTP并发编程实战》   本书侧重生产环境下的Erlang 开发,主要讲解如何构建稳定、版本控制良好、可维护的产品级代码,凝聚了三位Erlang 大师多年的实战经验。本书主要分为三大部分:第一部分讲解Erlang 编程及OTP 基础;第二部分讲解如何在实际开发中逐一添加OTP 高级特性,从而完善应用,作者通过贯穿本书的主项目——加速Web 访问的分布式缓存应用,深入浅出地阐明了实践中的各种技巧;第三部分讨论如何将代码与其他系统和用户集成,以及如何进行性能调优。本书面向Erlang 程序员,以及对Erlang/OTP 感兴趣的开发人员。  电子书  《erlang入门手册》 http://wenku.baidu.com/view/e2f76bc4bb4cf7ec4afed0c0.html  《erlang OTP设计原理文档》 http://erlang.shiningray.cn/otp-design-principles/index.html  erlang中文基础资料 http://wenku.baidu.com/view/bf40f42cb4daa58da0114a63.html  在线资料  Erlang问答 http://erlangqa.com/  Erlang非业余研究 http://blog.yufeng.info/ 和 http://mryufeng.iteye.com/  iteye的erlang群组 http://erlang.group.iteye.com/group/wiki 和 http://www.iteye.com/forums/tag/Erlang  另外,这两个 http://www.erlang-cn.org/ 和 http://erlang-china.org/ 已经好久不更新了。   
  
  
 
  
  by kevin
  
    9.   
      十二月 2012 23:54
  >
  
  
  
   Erlang的构建工具,创建新项目,编译,发布等  rebar https://github.com/basho/rebar  Chicago Boss is a server framework inspired by Rails and written in Erlang.  chicagoboss http://www.chicagoboss.org/  Erlyvideo is a flash streaming server, written in erlang。  erlyvideo https://github.com/erlyvideo/erlyvideo  如何使用rebar进行erlang/OTP升级  elevators  https://github.com/extend/elevators  mysql 连接库  mysql https://code.google.com/p/erlang-mysql-driver/  日期运算利器  edate https://github.com/dweldon/edate  类似linux下cron的计划任务框架  erlcron https://github.com/erlware/erlcron  一个用来构建Web应用的轻便,高效的HTTP应用框架的Erlang库  MochiWeb https://code.google.com/p/mochiweb/  彪悍的日志框架log4系列的erlang版本  log4erl https://code.google.com/p/log4erl/  压力测试工具,非常强大,支持自定义协议,配置压力访问流程  tsung http://tsung.erlang-projects.org/  消息队列框架   rabbitmq http://www.rabbitmq.com/  Jabber / XMPP协议的即时通讯服务器  ejabberd http://www.ejabberd.im/  Ranch is a socket acceptor pool for TCP protocols.  Ranch https://github.com/extend/ranch  erlang-hotswap-example 是一个热更新的示例  erlang-hotswap-example https://github.com/hoterran/erlang-hotswap-example
  
  
 
  
  by kevin
  
    5.   
      十二月 2012 00:22
  >
  
  
  
将浮点数转换成固定小数位字符串,不使用float_to_list,使用io_lib:format("~.2f",[F])。io_lib:format的返回只是[string()]。  lists:flatten(io_lib:format(Pattern, Args)),实现string_format功能。  生成随机数时,使用当前的timestamp作为种子,避免每个进程重开后生成的随机数是一样的。  erlang上要进行日期运算,使用edate  日期格式化利器erlydtl项目中的dateformat  小数取整通过trunc实现floor(X) ->
    T = erlang:trunc(X),
    case (X - T) of
        Neg when Neg < 0 -> T - 1;
        Pos when Pos > 0 -> T;
        _ -> T
    end.
ceiling(X) ->
    T = erlang:trunc(X),
    case (X - T) of
        Neg when Neg < 0 -> T;
        Pos when Pos > 0 -> T + 1;
        _ -> T
    end.