C/CPP

C float类型精确到N位小数的值的比较

博客更换域名后的第一篇文章。 本周,程序设计基础老师布置了一个上机作业,其中一项是一次生成两个零到九的随机数与加减乘除中的一个运算符号,输出两个数的运算式子,让用户输入运算结果,再把用户输入的值与程序运算的结果比较,从而判断用户运算的结果是否正确。 看到这项作业,我担心遇到无理数的时候如何处理,不可能让人也算到那么多位小数吧…… 奇葩的是,老师的给我们的演示截图中恰好没有出现除不尽的情况,不知道是不是特意的?不然我就可以看看老师是偷懒用了整数型还是有高明的算法用浮点型了。   首先想到的是:以数学解决问题 根据多年的人工计算经验,一般都是保留两位小数,因此要求用户输入的数字精确到二位 […]

Read more
Unix Like

Problems “LDAP SASL check failed”, “LDAP build check failed” & “Cannot find ldap libraries in /usr/lib” solved

Linux发行版本: Debian Jessie 吃一堑,长一智。 要么不要编译OpenLDAP,编译了就别把自己编译的lib库放到/usr/lib,/lib……,弄个prefix。 删掉所有ldap库:

重新安装:

连接/usr/lib/x86_64-linux-gnu的ldap库到/usr/lib:

然后继续configure PHP吧。

Read more 2 Comments
服务器

虚拟专用网(VPN)之无法访问百度之谜

不久前开了个香港Sunny Vsion的VPN,平时我一般都不使用VPN,今天才发现无法访问百度,而尝试其他网站却正常,遂探讨了一番。 我使用的都是学校的中国电信网络,本地连接VPN后,访问百度网站无任何回应,在服务器上可以成功地使用curl对百度发起请求,检查了iptables,未发现任何问题。 既然服务器能访问,那么理论上VPN也有权访问,但现在却与理论背道而驰。为了找出问题的根源,搬出抓包神器——tcpdump。 首先我在服务器上抓取本地分别透过VPN访问cPanel/WHM的208.74.0.0/16与百度的103.235.46.39/32的数据包,以作对比,查找错误。 cPanel/ […]

Read more
默认分类

PHP多线程模块pthreads的使用

最近开发一个项目,需要在一个周期内执行许多个类似的任务。 印象中的PHP无法异步执行代码,所以计划使用PHP格式化MySQL的数据,然后提交给Bash Shell Script处理,毕竟在Bash Shell下,可以利用许多GNU程序的组合来实现我的需求,更重要的是在命令末尾加一个”&”符号,即可把任务丢到后台执行,立刻开始下一个任务,最后一切就绪后再提交结果给PHP收尾。 不得不说这是一个很糟糕的方案,虽然数据经过PHP初步格式化,但Shell Script仍然要使用一部分文字处理工具处理数据,其中可能因为某个字段数据比较特殊而出错,由于执行任务需要调用多个程 […]

Read more
服务器, 未分类

QEMU -smp参数解释及在libvirt中的设置(多CPU 多核心 多线程)

最近给一台安装了Windows Server 2003标准版的虚拟服务器分配了八个虚拟处理器,在设备管理器中,可以查看到已成功识别所有处理器,但是任务管理器的性能标签页中看到仅有四个被使用,查阅了一下微软官方的文档,发现原来标准版最多只能使用四个处理器。 解决问题的方向可以明确:让QEMU从分配多CPU,单CPU核心,改为分配单或多CPU,多CPU核心。 QEMU -smp参数 QEMU与多CPU多核心有关的参数是-smp,官方对-smp参数的解释如下: -smp n[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxc […]

Read more