摘要: php的curl可以实现模拟http的各种请求,这也是php做网络爬虫的基础,也多用于接口api的调用。这个时候有人就要发问了:为什么你特么不用file_get_contents?curl的性能比它好,而且可以完成更多复杂的操作,不仅仅只是获取页面数据。下面先分别介绍一些常用的函数。curl_ini... 阅读全文
posted @ 2015-10-08 15:25 freephp 阅读(3127) 评论(0) 推荐(1) 编辑
摘要: 观察者设计模式定义了对象间的一种一对多的依赖关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。观察者模式中最主要的两类对象是:观察者和被观察者。在实际业务中被观察者往往是某些逻辑处理类,而观察者往往相当于一个通知人,可以是某个场景或业务操作,去注册和通知这些被观察者采取行动... 阅读全文
posted @ 2015-10-03 21:58 freephp 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 之前总结了一下工厂模式,其实准确地说是简单 工厂模式,在它的基础上再进行抽象就可以得到一种新的模式:抽象工厂模式。专业一点的定义为:抽象工厂模式(Abstact Factory)是一种常见的软件设计模式。该模式为一个产品族提供了统一的创建接口。当需要这个产品族的某一系列的时候,可以为此系列的产品族创... 阅读全文
posted @ 2015-09-25 09:46 freephp 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 这篇文章本来该和同一系列的文章一起写的,因为最近换工作的缘故滞后了.重构是非常细碎的叠加,有很多值得注意的地方.1.消灭过多的临时变量.有时候过多的无意义的临时变量,真心让人抓狂,特别是过了比较长的时间,连写这段代码的人都不知道为何这么写了.比如下面这段代码,我们先分步骤来思考这个问题.一个获得全部... 阅读全文
posted @ 2015-09-23 22:39 freephp 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 工厂模式主要是为了代码执行的时候更灵活地new对象,就像工厂流水线一样,批量生产出产品。目的:简化对象生成过程,更加灵活。例子如下:notify();$soundSer->show();$Ser = Factory::create('Picture');$Ser->notify();$Ser->sh... 阅读全文
posted @ 2015-09-23 17:25 freephp 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 可能很多人知道一个比我还偏执的技术狂人,也就是当年被知乎很多谈论的王垠.他曾经写过好几篇轰动一时的文章,比如《完全用linux工作》.此文也影响了一批人拥抱Linux.不过不久之后他又写了一篇《写给支持和反对的人们》作为补充.这有点像韩寒的韩三篇的感觉,前后其实不矛盾,反而把该讲的话都讲清楚了.想起... 阅读全文
posted @ 2015-09-19 22:10 freephp 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 最近换了环境,开始接触一些新的代码和项目.人总是会迎接一些新的项目,拥抱变化,时间成本往往在成本中成为了最大的成本,于是我也记录一下自己摸索的过程.如标题所说,快速和熟悉是两个重点.快速,自然是在很短的时间内完成更多的事儿.1.工欲善其事必先利其器.我第一步就是挑一些好用的工具作为工作前奏.ide自... 阅读全文
posted @ 2015-09-19 15:44 freephp 阅读(3285) 评论(3) 推荐(3) 编辑
摘要: mysql的多列索引是经常会遇到的问题,怎样才能有效命中索引,是本文要探讨的重点。多列索引使用的Btree,也就是平衡二叉树。简单来说就是排好序的快速索引方式。它的原则就是要遵循左前缀索引。多个索引从左边往右都使用上,才能使用到整个多列索引。下面我先建立一个简单的表做实验:create table ... 阅读全文
posted @ 2015-09-05 14:18 freephp 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 重构代码更多的是对程序的可读性和可扩展性上做一些优化。首先我对可读性进行细化。借鉴大神川山甲的重构系列文http://www.cnblogs.com/baochuan/archive/2012/03/31/2425441.html,我也来抛砖引玉。面对一些有bad smell的代码,我们应该如何处理... 阅读全文
posted @ 2015-07-18 22:42 freephp 阅读(185) 评论(1) 推荐(0) 编辑
摘要: 作爲一個工作時間並不算長的phper,卻參與了兩家公司的代碼重構.下面談談我的一些感受.在mjm公司,當時我負責日常的需求開發和2.0的重構.當初的重構更多的是clean codes和一些代碼規範上的.用了phpcs去規範代碼,封裝了一些重複的代碼.並使用了單元測試,對重構的部分run了一遍.從做事... 阅读全文
posted @ 2015-07-18 17:30 freephp 阅读(196) 评论(1) 推荐(1) 编辑