PHP优于Node.js的五大理由

PHP是一款服务器端的脚本语言,主要用于动态网页开发,是目前最流行的开发语言之一。Node是一款用来编写高性能网络服务器的JavaScript工具包。作者Jani Hartikainen发表了一篇博文,文中将两者进行对比,列举了PHP优于Node.js的五大理由。一起来看下。 继续阅读PHP优于Node.js的五大理由

几个PHP算法题

有5个人偷了一堆苹果,准备在第二天分赃。晚上,有一人遛出来,把所有菜果分成5份,但是多了一个,顺手把这个扔给树上的猴了,自己先拿1/5藏了。没想到其他四人也都是这么想的,都如第一个人一样分成5份把多的那一个扔给了猴,偷走了1/5。第二天,大家分赃,也是分成5份多一个扔给猴了。最后一人分了一份。问:共有多少苹果? 继续阅读几个PHP算法题

global static 和$GLOBALS使用与区别

1.global在整个页面起作用。
2.static只在function和class内起作用。
global和$GLOBALS使用基本相同,但在实际开发中大不相同。
global在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量,一但改变了别名变量的指向地址,就会发生一些意料不到情况,例如例子1.
$GLOBALS[]确确实实调用是外部的变量,函数内外会始终保持一致!

怎样把自己培养成为一个优秀的程序员

态度篇
1. 做实事:不要抱怨,发牢骚,指责他人,找出问题所在,想办法解决。对问题和错误,要勇于承担。
2. 欲速则不达:用小聪明、权宜之计解决问题,求快而不顾代码质量,会给项目留下要命的死角。
3. 对事不对人:就事论事,明智、真诚、虚心地讨论问题,提出创新方案。
4. 排除万难,奋勇前进:勇气往往是克服困难的唯一方法。

学习篇
5. 跟踪变化:新技术层出不穷并不可怕。坚持学习新技术,读书,读技术杂志,参加技术活动,与人交流。要多理解新词背后的所以然,把握技术大趋势,将新技术用 于产品开发要谨慎。
6. 对团队投资:打造学习型团队,不断提高兄弟们的平均水平。
7. 懂得丢弃:老的套路和技术,该丢,就得丢。不要固步自封。
8. 打破砂锅问到底:不断追问,真正搞懂问题的本质。为什么?应该成为你的口头禅。
9. 把握开发节奏:控制好时间,养成好习惯,不要加班。 继续阅读怎样把自己培养成为一个优秀的程序员

微博短链接算法php版本

思路:
1)将长网址md5生成32位签名串,分为4段, 每段8个字节;
2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;
3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;
4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址; 继续阅读微博短链接算法php版本

ThinkPHP framework 任意代码执行漏洞预警

ThinkPHP是一个国内使用很广泛的老牌PHP MVC框架。貌似国内有不少创业公司或者项目都用了这个框架。

最近官方发布了一个安全补丁,官方表述是:该URL安全漏洞会造成用户在客户端伪造URL,执行非法代码。

可是貌似大多数开发者和使用者并没有注意到此漏洞的危害性,应者了了,更不用说有多少人去升级了。随后我对其进行了分析,发现此问题果然是一个非常严重的问题,只要使用了thinkphp框架,就可以直接执行任意php代码。特此发帖预警各位。 继续阅读ThinkPHP framework 任意代码执行漏洞预警

[转]FastCGI管理器

原文:http://xiaoxia.org/2010/10/20/night-writing-a-fastcgi-process-manager/
之前一直使用单个进程都php-cgi。存在一个很严重都问题就是,php-cgi不稳定导致程序异常退出时,需要外部程序重新启动php-cgi。而且因为socket还要等待一段时间才能断开,所以要等一段时间(大概30多秒)才能重新启动成功。这样就产生了一段时间无法使用php都网页,很是烦恼。之前就一直想写一个php-cgi都进程管理器。

现在服务器上运行了几个庞大的wordpress,php崩溃都机率又大多了,迫不得已去给homeserver安装一个进程管理器。我测试过使用php-fpm,但是不好使,一是占用内存非常大,二是出现突然间无法响应都现象。后来yousan大牛推荐了用于lighttpd都spawn-fcgi,我在windows测试成功了,终于可以并发处理多个php请求。测试方法是,写一个php文件,里面写,如果刷新两次等待了10秒,那么就说明没有并发处理功能。打开多个页面测试也可以。 继续阅读[转]FastCGI管理器

css中的长度单位

css3中也对css中用到的单位进行了改进,单位也就是那几个,所以我们要搞清楚再用。

%——百分比
in——寸
cm——厘米
mm——毫米
pt——point,大约1/72寸;
pc——pica,大约6pt,1/6寸;
px——屏幕的一个像素点;
em——元素的font-size;
ex——font-size的x-height值,为小写字母x的高度,通常相当于font-size的一半。
我们常用的有px、%、em,px就不多说了,em和%多说点儿:
继续阅读css中的长度单位

ThinkPHP3.0.1dev发布

注意,这次发布的是开发版本,提供开发人员体验和测试,不建议用于正式项目。

[ 更新日志 ]
Action参数绑定支持
模型类命名范围支持
全局系统变量安全过滤支持
增加IS_GET IS_POST IS_PUT 等请求类型常量
日志记录改进 优化日志大小 增加IP记录
U函数对子域名部署的增强和优化
模型类增加filter连贯操作方法 用于对数据的安全过滤
模型类的data方法支持获取当前数据对象
Action类增加_param方法支持 可以自动根据当前提交类型 获取参数
Action类的_get _post方法支持多函数过滤
改进ajaxReturn方法
改进success和error方法
增加自动验证的规则
分组模式下 模型分组可以自动加载
模型类增加close方法 驱动类支持多数据库连接关闭
模型类增加表单提交字段合法性检测 配置insert_fields 和 update_fields
模型强制进行数据字段类型验证
增加DB_SLAVE_NO配置参数 用于指定读服务器的序号
优化模型的create方法的数据对象生成
自动验证的function和callback规则支持多字段

下载地址:http://thinkphp.cn/down-176.html