计算机为什么用补码运算-补码运算的加减乘除
计算机的设计真是精妙,最近看了一些原码、反码、补码的东西,对于使用补码计算能得出正确结果感到非常吃惊,但又总觉得里面是有其内在可依赖的逻辑。本文是在网上看到了一个钟表例子后我的一些思考,并进行一些理解的整理。 先列点原码、反码、补码的相关东西: 原码:原码就是数字的二进制码,比如3的原始就是00...011 反码:反码是就原码而言的,规则是正数的反码是其本身,负数的反码符号位不变,其它取反, 补码:补码是在反码上加1 假设我们要进行一...[>>…]
PHP的运行方式-PHP SAPI-php_sapi_name()
SAPI:ServerApplicationProgrammingInterface服务器端应用编程端口。它就是PHP与其它应用交互的接口,PHP脚本要执行有很多种方式,通过Web服务器,或者直接在命令行下,也可以嵌入在其他程序中。SAPI提供了一个和外部通信的接口,常见的SAPI有:cgi、fast-cgi、cli、isapi、apache模块的DLL。如下:我们写一下很简单的脚本: <?php echo'PHP_SAPI:'.PHP_SAPI; echo"rn"; echo'php_sapi_name:'.php_sapi_name(); ?> 然后在浏览器中以WEB形式访问,会看...[>>…]
php指定扫描的ini目录文件
在php编译时添加一些指定的参数来达到加载附加ini文件的目的: --with-config-file-path=PATH Setthepathinwhichtolookforphp.ini[PREFIX/lib]这个是指定php.ini的位置 --with-config-file-scan-dir=PATH Setthepathwheretoscanforconfigurationfiles这个是指定附加的ini配置文件的目录位置,此目录下的ini文件会被追加到php.ini配置中。[>>…]
linux下redis服务及redis扩展的安装
1,REDIS服务的安装: redis官网地址:http://www.redis.io/ 最新版本:2.8.3 在Linux下安装Redis非常简单,具体步骤如下(官网有说明): 1、下载源码,解压缩后编译源码。 $wgethttp://download.redis.io/releases/redis-2.8.3.tar.gz$tarxzfredis-2.8.3.tar.gz$cdredis-2.8.3$make 2、编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf。然后拷贝到一个目录下。 mkdir/usr/rediscpredis-server/usr/rediscpredis-benchmark/usr/rediscpredis-cli/usr/rediscpre...[>>…]
PHP使用curl-POST数据null将不会正确接收
今天和在交易中心进行接口联调时,意外出现SIGN签名不通过,经过与交易中心对比SIGN签名发现,我这边POST数据(通过百度的ral资源访问层实现)过去时,值为null的数据在交易中心得到的数据全都是空字符串,而在我计算签名时已经对null字段进行去除键值操作,但提交给交易中心的数据里仍然还有字段,交易中心也已加上对null值的判断和去键处理。这个接口是在之前就有的,于是我自己在本地做了个测试,使用curl向一个接口POST如下数组: array( 'aaa'=>null 'bbb'=>'' ) &nb...[>>…]
对北漂来说,北京是一座没有生活的城市!
对北漂来说,北京是一座没有生活的城市! 今年初,我想一个没有在北京工作过的程序员不是一个好程序员。 上半年里,我偶尔会相像我在北京工作的情景。 年中,来北京参加一会技术会议,感受到了北京的IT氛围,也慢慢地更加坚定我要来北京的决心。 进入下半年后,我开始安排家里的事情,终于在8月安排完毕。 9月我毅然和老板提起我要上北京的事。 就这样,9月我安排了我人生的一个面试周、十几家公司的面试。 如果可以,我真希望多有些这样的经历,也许我的人生太顺,经历的面试太少,我想把它们...[>>…]
linux下安装FTP服务器详细过程
现在已经很少使用FTP了,因为有了更安全的替代方案SFTP,不过了解一下FTP的安装也不是坏事。 第一步:安装FTP,我的系统是CENTOS6.5,使用yuminstallvsftpd安装。我安装的是2.2.2版本 [root@iZ282iltjiwZvsftpd]#vsftpd-v vsftpd:version2.2.2 第二步:对FTP服务进行配置 配置Vsftpd的文件在:/etc/vsftpd/vsftpd.conf使用VI命令打开,内容也不复杂,需要配置的几项内容如下: #AllowanonymousFTP?(Beware-allowedbydefaultifyoucommentthisout). anonymous_enable=NO #禁止匿名访问 #Bydefaultthese...[>>…]
linux上的文件查找locate-slocate-mlocate
相比于find查找,LOCATE查找具有无可比拟的更快的速度,这是因为locate不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息(也可以理解为建立了一个文件名称索引)。Linux系统自动创建这个数据库,并且每天通过crontab自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。 slocate的完整名称叫做:securelocate,但我也没有找到它是为...[>>…]
LINUX系统上的软连接硬连接(ln命令)
linux里可以使用ln来创建连接,创建的连接分为两类:硬连接和软连接。直接写两个例子: root@ubuntu:/home/hello#ls-l total8 -rw-r--r--1rootroot47Oct 220:281.txt -rw-r--r--1rootroot61Oct 219:482.txt root@ubuntu:/home/hello#ln-b1.txttest root@ubuntu:/home/hello#ls-l total12 -rw-r--r--2rootroot47Oct 220:281.txt -rw-r--r--1rootroot61Oct 219:482.txt -rw-r--r--2rootroot47Oct 220:28test root@ubuntu:/home/hello# 上述命令时在文件夹中对1.txt建立了一个硬连接,通过l...[>>…]
文件的CRC(Cyclic Redundancy Check)检查及linux算法
linux里有一个命令:cksum,其作用是检查文件的CRC是否正确,这里的正确实际上是检查其是否有改变,其功能类似于文件的MD5校验,MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。 MD5全称是报文摘要算法(Message-DigestAlgorithm5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。 往里深究一点点,什...[>>…]