摘要: php是弱类型语言,和一些其他编程语言在处理一些数据类型的时候有所不同。我最近做的一个限号的需求,我就犯了一个错误。如下:<?php$a = '0';$a = (bool)$a;if ($a) { echo "string 0 not equals false\n";} else { e... 阅读全文
posted @ 2015-10-23 11:11 freephp 阅读(334) 评论(0) 推荐(0)
摘要: 大家常常会遇到一种任务,名唤作:优化。往往都是已经性能上差到让人发指的功能点,才足以引起优化的地步。我记忆中遇到好几次这样的情况,其中一次是在jm做动态库存的统计页。当时连了大概7、8张表,其中有千万级的大表,查询功能逻辑也是复杂的组合计算,最终逻辑是跑通的,但功能完全无法用,页面直接白板罢工。当时... 阅读全文
posted @ 2015-10-22 14:14 freephp 阅读(387) 评论(4) 推荐(1)
摘要: 冒泡排序是一种比较粗暴的基本排序,也是算法里面很常规的。今天我用php和js作为实现语言,一步一步去优化这个算法。常规的写法如下:php部分: 1 1 [1] => 4 [2] => 23 [3] => 33 [4] => 54)js实现:都是最原始的实现方式,双层循环一遍... 阅读全文
posted @ 2015-10-09 15:02 freephp 阅读(401) 评论(1) 推荐(0)
摘要: php的curl可以实现模拟http的各种请求,这也是php做网络爬虫的基础,也多用于接口api的调用。这个时候有人就要发问了:为什么你特么不用file_get_contents?curl的性能比它好,而且可以完成更多复杂的操作,不仅仅只是获取页面数据。下面先分别介绍一些常用的函数。curl_ini... 阅读全文
posted @ 2015-10-08 15:25 freephp 阅读(3181) 评论(0) 推荐(1)
摘要: 观察者设计模式定义了对象间的一种一对多的依赖关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。观察者模式中最主要的两类对象是:观察者和被观察者。在实际业务中被观察者往往是某些逻辑处理类,而观察者往往相当于一个通知人,可以是某个场景或业务操作,去注册和通知这些被观察者采取行动... 阅读全文
posted @ 2015-10-03 21:58 freephp 阅读(359) 评论(0) 推荐(0)
摘要: 之前总结了一下工厂模式,其实准确地说是简单 工厂模式,在它的基础上再进行抽象就可以得到一种新的模式:抽象工厂模式。专业一点的定义为:抽象工厂模式(Abstact Factory)是一种常见的软件设计模式。该模式为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候,可以为此系列的产品族创... 阅读全文
posted @ 2015-09-25 09:46 freephp 阅读(356) 评论(0) 推荐(0)
摘要: 这篇文章本来该和同一系列的文章一起写的,因为最近换工作的缘故滞后了.重构是非常细碎的叠加,有很多值得注意的地方.1.消灭过多的临时变量.有时候过多的无意义的临时变量,真心让人抓狂,特别是过了比较长的时间,连写这段代码的人都不知道为何这么写了.比如下面这段代码,我们先分步骤来思考这个问题.一个获得全部... 阅读全文
posted @ 2015-09-23 22:39 freephp 阅读(204) 评论(0) 推荐(0)
摘要: 工厂模式主要是为了代码执行的时候更灵活地new对象,就像工厂流水线一样,批量生产出产品。目的:简化对象生成过程,更加灵活。例子如下:notify();$soundSer->show();$Ser = Factory::create('Picture');$Ser->notify();$Ser->sh... 阅读全文
posted @ 2015-09-23 17:25 freephp 阅读(256) 评论(0) 推荐(0)
摘要: 可能很多人知道一个比我还偏执的技术狂人,也就是当年被知乎很多谈论的王垠.他曾经写过好几篇轰动一时的文章,比如《完全用linux工作》.此文也影响了一批人拥抱Linux.不过不久之后他又写了一篇《写给支持和反对的人们》作为补充.这有点像韩寒的韩三篇的感觉,前后其实不矛盾,反而把该讲的话都讲清楚了.想起... 阅读全文
posted @ 2015-09-19 22:10 freephp 阅读(779) 评论(0) 推荐(0)
摘要: 最近换了环境,开始接触一些新的代码和项目.人总是会迎接一些新的项目,拥抱变化,时间成本往往在成本中成为了最大的成本,于是我也记录一下自己摸索的过程.如标题所说,快速和熟悉是两个重点.快速,自然是在很短的时间内完成更多的事儿.1.工欲善其事必先利其器.我第一步就是挑一些好用的工具作为工作前奏.ide自... 阅读全文
posted @ 2015-09-19 15:44 freephp 阅读(3323) 评论(3) 推荐(3)