- 浏览: 86919 次
最新评论
文章列表
Erlang 整数与浮点数的转换、数字之间的进制转换,浮点数改变精度等等这些功能,Erlang BIF(Erlang内建函数)已经帮我们很好实现,调用他们也很方便,下面将简单说明如何去使用他们。
erlang整数与浮点数转换
整数转浮点数:
% BIF函数
1> float(2).
2.0
% /转换
2> 2/1.
2.0
% math函数
3> math:pow(2,1).
2.0浮点数转整数:% 取整
4> trunc(2.9).
2
% 四舍五入
5> round(2.9).
3
erlang判断是否浮点数
6> is_float(1) ...
- 2014-01-03 21:46
- 浏览 544
- 评论(0)
JavaScript本身没有判断一个变量是不是空值的函数,因为变量有可能是string,object,number,boolean等类型,类型不同,判断方法也不同。所以在文章中写了一个函数,用以判断JS变量是否空值,如果是undefined, null, '', NaN,false,0,[],{} ,空白字符串,都返回true,否则返回false
function isEmpty(v) {
switch (typeof v) {
case 'undefined':
return true;
case 'string':
if (v.r ...
- 2014-01-03 19:27
- 浏览 811
- 评论(0)
在Erlang中,NIF(Native Implemented Function)被用来扩展erlang的某些功能,一般用来实现一些erlang很难实现的,或者一些erlang实现效率不高的功能。
NIF使用C开发,效率和C接近,比纯erlang实现要高。NIF会编译成动态库,直接动态加载到erlang进程空间调用,也是erlang扩展新方法最高效的做法。调用NIF不用上下文的切换开销,但是也有代价,NIF的crash会导致整个Erlang进程crash。
下面讲述如何在Windows下使用NIF扩展Erlang
一、前期准备
1、下载erlang二进制安装包,R16B02 Window ...
- 2014-01-02 19:48
- 浏览 243
- 评论(0)
JavaScript提供将数值转成整数的方法parseInt,用于转换字符串数据“123”,或者浮点数1.23。
parseInt("1"); // 1
parseInt("1.2"); // 1
parseInt("-1.2"); // -1
parseInt(1.2); // 1
parseInt(0); // 0
parseInt("0"); // 0
但是这个parseInt函数不是经常有效:
parseInt('06'); // 6
parseInt('08'); // 0 ...
- 2014-01-01 17:04
- 浏览 151
- 评论(0)
Erlang本身对进程数,原子长度等没有限制,但为了提高性能和节省内存,总会在实际实现中和运行环境中作出一些限制。
1、进程数量
缺省情况下同时存在的最大Erlang进程数量不超过2^18=262144个,最大值为2^27-1=134217727,是由于 ...
- 2014-01-01 11:30
- 浏览 247
- 评论(0)
JavaScript是如今最受欢迎的编程语言之一,但受欢迎同时就是该语言自身的各种特性带来的副作用,无论该语言多美妙,每天还是有成千上万的程序员弄出一堆bug。先不要嘲笑别人,或许你也是其中之一。
给你一个例子,下面是几个简短的完全有效的JS片段(你可以在你的控制台上试验一下):
typeof NaN === 'number' // true
Infinity === 1/0 // true
0.1 + 0.2 === 0.3 // false,前面加括号也一样
"3" + 1 // '31'
&q ...
- 2013-12-24 00:23
- 浏览 246
- 评论(0)
数据库在使用当中都会有数据库备份工作,当数据库发生严重错误无法启动,或者数据丢失时可以及时有效地恢复数据。文章首先介绍如何备份和还原Erlang Mnesia数据库,然后从备份、回滚两大方面深入探讨mnesia的备份机制。
备份数据库
在Mnesia启动后,可以使用mnesia:backup()备份,函数原型:
mnesia:backup(Opaque [, BackupMod]) -> ok | {error,Reason}
# 调用前,确保mnesia正常运行,保存目录存在
mnesia:backup("d:/backup.log").
还原数据库
在 ...
- 2013-12-21 10:35
- 浏览 257
- 评论(0)
最近远程主机重装系统后,使用远程桌面出现一个问题:同一个用户先后登录远程系统,系统分配了不同会话。当系统分配不同会话时,导致你在一个远程桌面的操作都不见了。像是你运行的一些程序,虽然他们没有被系统关闭,但是你无法对他们进行管理。这就给你的管理带来极大的不便,文章将说明如何解决这个问题。这里以Windows Server 2008为例,其他系统只作参考。
如果将远程桌面会话主机服务器配置为限制用户只能进行一个会话,并且用户将该会话置于断开状态,用户下次连接到远程桌面会话主机服务器时,将自动重新连接到该会话。
目前有三种方式可以解决以上问题:使用远程桌面会话主机配置,或者组策略配置,或者修改注册 ...
- 2013-12-15 20:16
- 浏览 1268
- 评论(0)
C++是强类型语言,也就是说,变量在使用前就要声明数据类型,不同数据类型分配的内存空间大小也是不同,在转换类型时要注意这个问题,防止数据丢失或越界溢出。文章将简单讨论一下C++的类型转换。
C++从C发展而来,也继承两种C风格的转换:隐式转换和显式转换。
隐式转换
隐式转换是指由编译系统自动进行,不需要人工干预的类型转换,例如:
short a = 2000;
int b;
b = a;隐式转换,也包括构造函数和运算符的转换,例如:class A {};
class B {
public:
B (A a) {}
};
A a;
B b = a;
显式转换和隐式转换相反,显式转换 ...
- 2013-12-14 11:02
- 浏览 200
- 评论(0)
最近经常被问到Apache无法启动的问题,所以写一篇文章,总结一下Windows下经常遇到的 Apache/PHP 无法启动的情况的解决方法。
Apache/PHP 无法启动分两种情况:
1.、Apache无法启动,没加载php也无法启动
2、Apache可以启动,但加载php后无法启动
第一种情况多数是Apache配置问题,或者80端口被占用
使用Apache的配置检查:
C:\>D:\Apache2.2\bin\httpd.exe -t
Syntax OK
根据错误提示,纠正错误。
如果是80端口占用,这个在Windows机器比较常见,经常被IIS抢占。
注销I ...
- 2013-12-12 22:40
- 浏览 241
- 评论(0)
MySQL数据库主要有5种类型的日志,分别为慢查询日志(log-slow-queries),二进制日志(log-bin),错误日志(log-error),查询日志(log),更新日志(log-update)。在新的MySQL版本中,已取消了更新日志,可以用二进制日志来替代这个功能。文章侧重讲解慢查询日志和二进制日志。
慢查询日志(log-slow-queries)
MySQL慢查询,指的是查询消耗时间较多,或者没有使用索引的查询,MySQL可以同时记录这两种情况:
# 慢日志保存路径
log-slow-queries = slow.log
# 超过2秒的查询
long_query_t ...
- 2013-12-12 18:47
- 浏览 172
- 评论(0)
数据库在使用当中都会有数据库备份工作,当数据库发生严重错误无法启动,或者数据丢失时可以及时有效地恢复数据。文章简单介绍如何备份和还原MySQL数据库
备份数据库
使用mysqldump命令备份数据库
# 如果要将game数据库进行备份:
mysqldump -u root -p game > game_backup.sql
# 如果希望备份所有的数据库:
mysqldump -u root -p --all-databases > all_backup.sql
还原数据库
1、使用mysql命令还原数据库
将game_backup.sql 还原至 game 数据库: ...
- 2013-12-11 23:41
- 浏览 177
- 评论(0)
MySQL的 root 帐号密码默认为空,经常都有修改密码后忘记密码的事。如果忘记了root 帐号密码,那该怎么修改密码呢?这里有一个可行的方法,就是在MySQL安全模式下(跳过权限检查)修改密码的方式来解决这个问题。本文分别对Windows环境与Linux环境下介绍MySQL忘记密码时修改密码的方法,希望帮助初学者解决丢失密码的烦恼。
Windows下MySQL重置密码
通常MySQL都是安装成Windows服务运行的。
1、启动cmd命令窗口:
# 关闭MySQL服务
D:\MySQL\bin>sc stop mysql
# 以安全模式启动MySQL
D:\MySQL\bin ...
- 2013-12-11 21:24
- 浏览 249
- 评论(0)
MySQL数据库是 IO 密集型的程序,和其他数据库一样,主要功能就是数据的持久化以及数据的管理工作。本文侧重通过优化MySQL 数据库缓存参数如查询缓存,表缓存,日志缓存,索引缓存,innodb缓存,插入缓存,以及连接参数等方 ...
- 2013-12-10 23:21
- 浏览 188
- 评论(0)
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。
1. 为查询缓存优化你的查询
大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到 ...
- 2013-12-06 13:34
- 浏览 314
- 评论(0)