摘要: 工具:memcached-1.2.6-win32-bin.zipMemCached服务端程序(for win)Memcached Managerwin下的MemCached管理工具安装配置MemCached服务端下载memcached-1.2.6-win32-bin.zip,解压后得到memcach... 阅读全文
posted @ 2013-05-23 13:29 phpdragon 阅读(592) 评论(0) 推荐(0)
摘要: 为了定时更新某一文件,需要程序自动运行,从网上搜到了两种方法:ignore_user_abort() 和crontab ignore_user_abort()函数搭配set_time_limit(0)和sleep($interval)即可实现程序自动运行更新,下面是一个实例 ?php ignore_user_abort(); //即使Client断开(为了定时更新某一文件,需要程序自动运行,从网上搜到了两种方法:ignore_user_abort() 和crontabignore_user_abort()函数搭配set_time_limit(0)和sleep($interval)即可实现程序自 阅读全文
posted @ 2013-05-13 17:54 phpdragon 阅读(253) 评论(0) 推荐(0)
摘要: Nginx比apache要好,优点很多,随便去搜寻引擎找一下就能找到一大把资料,这不是我们讨论的重点,我们的重点是自己做一个运行组合! 為何我不從網上下載一個別人已經封裝好的現成的版本呢?因為很多人封裝了之後就不在更新了,以後想要更新都不知道怎麼做,既然如此還不如自己好好研究一下自己封裝,將來要升級... 阅读全文
posted @ 2013-04-24 00:11 phpdragon 阅读(256) 评论(0) 推荐(0)
摘要: 在Google上搜索的资料很多人都说nginx目前不支持.htaccess文件,我按照nginx的规则试验了一下,结果发现nginx是完全支持.htaccess文件的!方法如下:1. 在需要使用.htaccess文件的目录下新建一个.htaccess文件,如本人的一个Discuz论坛目录:vim /var/www/html/168pc/bbs/.htaccess2. 在里面输入规则,我这里输入Discuz的伪静态规则:# nginxrewriterulerewrite ^(.*)/archiver/((fid|tid)-[w-]+.html)$ $1/archiver/index.php?$2 阅读全文
posted @ 2013-04-18 17:05 phpdragon 阅读(770) 评论(0) 推荐(0)
摘要: 介绍 前几篇系列文章,我比较关注的是<PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数>,但是我觉得我还是没有说清楚,我自己也有很多不理解的地方,而且这篇是我的第一篇这方面的文章,有很多的纰漏,所以我会经常性的去做修改,如果大家有好的意见不妨告知一、二。 今天谈得是“接口”,此接口非“Interface”,而是一个统称。我们一般可以把供别人使用的函数或者url(一般是用于提供数据)叫接口。——可能还有别的意思,毕竟我现在还属于“菜鸟”,如果有理解上的错误,请指正。 我们知道“容易被理解和被使用的接口”,是开发良好面向对象软件的关键。——本文将介绍“使接口变得更简洁易用 阅读全文
posted @ 2013-04-08 00:09 phpdragon 阅读(234) 评论(0) 推荐(0)
摘要: 介绍承接上文的PHP 杂谈《重构-改善既有代码的设计》之 重新组织你的函数继续重构方面的内容。这章主要针对数据的重构。1、争论的声音——直接访问Field还是通过函数(Accessor)访问Field2.修改Array为Object:当你看到一个Array很像一个数据结构,你可以使用Replace Array with Object,把Array变成一个对象。——数据结构更清晰。专业术语accessor:访问者,存储器——在本文翻译为“函数”dumb:哑domain class:用以处理业务逻辑presentation class:用以处理”数据表现形式“business logic:业务逻辑 阅读全文
posted @ 2013-04-08 00:07 phpdragon 阅读(172) 评论(0) 推荐(0)
摘要: 索引:ØMove Method(搬移函数)Ø Move Field (搬移值域)Ø Extract Class (提炼类)Ø Inline Class (将类内联化,就是把当前的类合并到其他类中)Ø Hide Delegate (隐藏委托关系)Ø Remove Middle Man ( 移除中间人)Ø Introduce Foreign Method (引入外加函数)Ø Introduce Local Extension (引入本地扩展)介绍承接上文PHP 杂谈《重构-改善既有代码的设计》之 重新组织你的函数 ,继 阅读全文
posted @ 2013-04-08 00:01 phpdragon 阅读(177) 评论(0) 推荐(0)
摘要: 点击下图,可以看大图。介绍我把我比较喜欢的和比较关注的地方写下来和大家分享。上次我写了篇《php 跟老大的对话》。还是有很多疑问,这书帮了我不少的忙。如果你比较繁忙,或者懒得看文字,建议你直接看截图,也会有很大的收获的。你可以通过比较截图中的代码就能知道孰优孰劣了。代码部分我为什么用图呢?因为我经常用手机看代码,博客园的代码在手机里乱七八糟的,还是看图比较舒服。专业术语我们毕竟是用英文字母编码,所以用一些英语单词,更能显示出我们的专业性。以下的英文单词,你如果掌握了,与其他coder交流的时候会更直接,更专业。——臭显摆一下吧,呵呵。“*”表示文中经常提到的inline:内联function: 阅读全文
posted @ 2013-04-07 22:49 phpdragon 阅读(239) 评论(0) 推荐(0)
摘要: 点击下图,查看大图。介绍条件逻辑有可能十分复杂,因此本章提供一些重构的手法,专门用来简化它们。全文简述(你可直接跳过下面的内容) 核心重构:Decompose Conditional——分离”转辙逻辑“(switching logic)和”操作细节“(details)分离。 多处测试有相同结果:Consolidate Conditional Expresssion 条件代码中去掉重复成分:Consolidate Duplicate 标识特殊情况:Replace Nested Conditional with Guard Clauses 去除讨厌的控制标记:Remove Control... 阅读全文
posted @ 2013-04-07 22:30 phpdragon 阅读(295) 评论(0) 推荐(0)
摘要: 第一步:下载openssl for windowshttp://downloads.sourceforge.net/gnuwin32/openssl-0.9.8h-1-setup.exe安装到C盘默认路径第二步:打开命令提示符,切换工作目录到开始转格式:OK! 阅读全文
posted @ 2013-03-27 13:48 phpdragon 阅读(274) 评论(0) 推荐(0)
摘要: PHP手册里有一句话:永远不要比较两个浮点数是否相等。以前没太在意,最近在项目中因为这个问题掉坑里了,所以留文铭记。计算机内部处理浮点数的方式决定了浮点数不可能100%的精确,所以在处理浮点数运算时会出现精度损失问题。比如下面这段程序:<?$a &nbsp; = &nbsp; 15521.42;$b &nbsp; = &nbsp; 15480.3;$c = $a-$b;var_dump($c); &nbsp; &nbsp;//php4:float(41.120000000001) &nbsp; php5:float(41.12)va 阅读全文
posted @ 2013-01-29 15:26 phpdragon 阅读(982) 评论(0) 推荐(0)
摘要: 来源:http://lonestone.iteye.com/blog/1129071如今很多网站都要整合论坛程序,而康盛的Discuz系列产品往往是首选。然后就有了整合用户的需要,康盛提供了Ucenter架构,方便对不同的应用程序进行单点登录整合。进来我尝试将ucenter整合到Yii网站中,获得了成功,虽然登录同步程序不是很妥当,基本使用没有问题了。我将继续改进。下面说说步骤:下载安装ucenter和discuz,我使用的是ucenter1.6和discuz7.2,由于7.2自带的uc_client是旧版本,所以需要覆盖一下1.6版本。复制一份uc_client文件夹到 protected/ 阅读全文
posted @ 2013-01-21 11:26 phpdragon 阅读(793) 评论(0) 推荐(0)
摘要: Asynchronous JavaScript and XML (Ajax) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用XMLHttpRequest函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器。Ajax 也是许多 mashup 的驱动力,它可将来自多个地方的内容集成为单一 Web 应用程序。不过,由于受到浏览器的限制,该方法不允许跨域通信。如果尝试从不同的域请求数据,会出现安全错误。如果能控制数 据驻留的远程服务器并且每个请求 阅读全文
posted @ 2013-01-17 20:10 phpdragon 阅读(326) 评论(0) 推荐(0)
摘要: 今天开发,郁闷至极。discuz门户需要调用另一个系统的数据用于展示。首先想到的是利用PHP的soap扩展进行数据通讯。不过熟悉了Discuz的PHPer会发现,discuz 已经支持了调用第三方模块数据功能。参考discuz开发文档:dev.discuz.org/wiki/index.php琢磨了半天,使用它的官方示例。添加第三方模块成功。但死活半天没有出来数据,郁闷至极,于是一脑门的去看discuz前台是怎么调用的。花费了半天的时间,看呀看的,诶!最后老大过来一瞧,把下面的代码一看,诶,坑爹啊!就是个IF 条件的问题,搞半天,看那么多代码,问题却出在了服务器端,无语。if($_POST[& 阅读全文
posted @ 2013-01-15 18:18 phpdragon 阅读(1147) 评论(0) 推荐(0)
摘要: 这么晚了!难得今天看了几个小时的JAVA!今天看了下JAVA的书,学习基本的JAVA语法!虽然语言有很多的共通性,自己在PHP上也还是个半调子,基于对安卓开发的现有乐趣,还是大致的略读了一些语法基础。跟PHP有很大的不同啊! 阅读全文
posted @ 2013-01-06 00:44 phpdragon 阅读(198) 评论(0) 推荐(0)
摘要: 原文地址: http://blog.163.com/zbstrive_work@126/blog/static/165378687201292695832759/PERCONA PERFORMANCE CONFERENCE 2009上,来自雅虎的几位工程师带来了一篇”Efficient Pagination Using MySQL“的报告,有很多亮点,本文是在原文基础上的进一步延伸。首先看一下分页的基本原理:mysql> explain SELECT * FROM message ORDER BY id DESC LIMIT 10000, 20\G***************** 1. 阅读全文
posted @ 2012-12-19 23:20 phpdragon 阅读(237) 评论(0) 推荐(0)
摘要: cd /var/lib/dpkg/ 使用gedit 打开所有文件,查找删除有关的mysql-connector-odbc内容片段。如:Package:mysql-connector-odbc .......................................<debian-qt-kde@lists.debian.org>删除类似内容。cd /var/lib/dpkg/info 删除所有有关该文件sudo rm -rf mysql-connector-odbc.* 阅读全文
posted @ 2012-12-18 22:23 phpdragon 阅读(810) 评论(0) 推荐(0)
摘要: 职业规划谈不上只是把心中一些隐隐约约的想法记录下来。1、学会linux系统开发环境。2、php高级特性的掌握。3、编程框架的设计思路。4、WEB应用的解决方案。5、html div css 布局。6、mysql 高层次应用。7、生产环境搭建部署。一条一条的来谈吧!一、学会linux系统开发环境。我想作为一个编程开发者,光会熟练的应用windows系列的话,还不算是一个会玩操作系统的人吧!作为一个程序员、技术员,掌握两种或以上的,才能更好的理解每个系统的好处。二、就像程序一样,如果现在要我说出PHP的长处与短处。我也只能以现在的一些编程经验来说,但我还算不上一个真正的程序员。起码的PHP的高级特 阅读全文
posted @ 2012-12-13 00:06 phpdragon 阅读(253) 评论(0) 推荐(0)
摘要: 原文地址:http://coolshell.cn/articles/8711.html几个月在我的微博上 说过要建一个程序员疫苗网站,希望大家一起来提交一些错误示例的代码,来帮助我们新入行的程序员,不要让我们的程序员一代又一代的再重复地犯一些错误。很 多程序上错误就像人类世界的病毒一样,我们应该给我们的新入行的程序员注射一些疫苗,就像给新生儿打疫苗一样,希望程序员从入行时就对这些错误有抵抗力。我的那个疫苗网站正在建议中(不好意思拖了很久),不过,我可以先写一些关于程序员疫苗性质的文章,也算是热热身。希望大家希望,先向大家介绍第一注疫苗——代码注入。Shell注入我们先来看一段perl的代码:u 阅读全文
posted @ 2012-12-10 23:56 phpdragon 阅读(312) 评论(0) 推荐(0)
摘要: 介绍:在iframe中无法操作父页面,父页面也无法访问到iframe内部的节点。iframe层无法使用父层的公用方法等问题的解决方法。想要实现的功能:1.在子页面中引入jquery.js,在父页面中可以应用。(或子页面想要使用父页面的jquery.js或其他公用方法)2.在子页面可以通过jquery选择器访问到并操作父页面的节点。3.在父页面中可以通过jquery选择器访问到并操作子页面的节点。代码:a.htm 如下<!DOCTYPE html><html lang="zh-cn"><head><meta charset=" 阅读全文
posted @ 2012-11-28 18:11 phpdragon 阅读(1787) 评论(0) 推荐(0)
摘要: 1、过程是自己的,结果是公司的!你可以不注重结果,但你不能不看重过程!2、做技术的是可以被代替的,要想不被代替,就得有核心价值!什么是核心价值,就是你不可替代,你有自己的思维方式,看问题的想法。3、在工作中,不要想着会有人帮你完成,一切都要靠自己! 阅读全文
posted @ 2012-11-08 22:41 phpdragon 阅读(145) 评论(0) 推荐(0)
摘要: 今天又被老大训了一顿!主要是因为代码写的不够严谨。写代码要从传递值的获取,数据校验,变量初始,数据获取,逻辑处理,视图渲染。而数据获取又可以封装在模型中,当然,筛选值构建也可以放在模型中。如果一个方法动作能这样块状的编写,是很优雅的!举个例子:遵循上面的方式: $user_id = (int) UxHttpRequest::get('user_id'); if (!$user_id) { $this->message = '没有选择商家,请返回重试!'; $this->index(); exit; ... 阅读全文
posted @ 2012-11-08 22:16 phpdragon 阅读(350) 评论(0) 推荐(0)
摘要: 回家路上,思考了下代码的事情,回头看看自己的代码,由于开头写的时候没有那种大局的观念、,多写了几行多余的代码,回头看的时候还觉得莫名其妙。路上又一直在纠结用户操作体验的事,该怎么弄界面,该怎样才是合理的,又犯了一边思考一边写代码的毛病。写到最后,又发现有更好的想法。于是推翻了重来,又费事又没把事做好。给与自己的感触还有就是,需要有一个好的UI设计,或说是一个界面草图吧!绘制好了蓝图,下手起来就有目标了!无用功也就小了! 阅读全文
posted @ 2012-11-07 20:44 phpdragon 阅读(133) 评论(0) 推荐(0)
摘要: 之前折腾过一段时间的nginx + php + mysql 服务器环境。顺便把网上收集的一些配置文件摘抄下。#运行用户user www-data; #启动进程,通常设置成和cpu的数量相等worker_processes 1;#全局错误日志及PID文件error_log /var/log/nginx/error.log;pid /var/run/nginx.pid;#工作模式及连接数上限events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connect 阅读全文
posted @ 2012-11-07 00:10 phpdragon 阅读(192) 评论(0) 推荐(0)
摘要: 最近工作需要,工作的环境需要使用的nginx服务器。于是便在网上找到了各种配置nginx的资料,DIY没成功,最好使用lnmp一键安装包了!具体怎么安装,我就不累赘了! 链接:http://lnmp.org安装成功后,lnmp 环境就算是配置好了!默认的 lnmp是支持 mysql 和 SQLite 数据库链接。因为手上的项目需要用的oracle数据库进行跨库操作,所有需要php支持oracle。1)安装oracle client相关包1> 用查看Linux系统:uname -m如果看到信息包含有64,说明你的Linux是64位系统,没 有则是32位的,下载相应的包。我这是32位系统。去 阅读全文
posted @ 2012-10-11 13:27 phpdragon 阅读(1706) 评论(0) 推荐(0)
摘要: 万恶的IE!先吐槽一句! 公司一个项目中的某数据需要使用到缓存机制,郁闷的事情就随之而来了。测试部门反馈说切换账号时会串信息,反复查找都木有问题。浏览器也刷新了很多遍。 后来问题找到了,老大看过代码后,说问题出现在了IE的缓存机制上! 对于长期使用火狐进行WEB开发的程序员伤不起啊!关键时刻忘记使用IE进行测试了!去网上查找了下该问题的资料,原来是IE会根据URL进行缓存,所以会出现切换帐号时串数据的问题!问题既然找到了,解决办法就很简单了,既在AJAX的请求URL上添加一个随机数就行了!资料:http://blog.yikuyiku.com/?p=1035一、IE缓存机制大体说明IE的缓存. 阅读全文
posted @ 2012-08-09 12:27 phpdragon 阅读(380) 评论(0) 推荐(0)
摘要: 原贴:优化PHP代码的40条建议40 Tips for optimizing your php Code原文地址:http://reinholdweber.com/?p=3英文版权归Reinhold Weber所有,中译文作者yangyang(aka davidkoree)。双语版可用于非商业传播,但须注明英文版作者、版权信息,以及中译文作者。翻译水平有限,请广大PHPer指正。1. If a method can be static, declare it static. Speed improvement is by a factor of 4. 如果一个方法可静态化,就对它做静态声明。速 阅读全文
posted @ 2012-06-10 23:06 phpdragon 阅读(235) 评论(0) 推荐(0)
摘要: 最近工作的内容使用到了接口!对于系统接口:现下接触的有两种!1、URL类型的接口URL路由带参数式的接口!这个很好做!只要有过Web开发经验的人都能完成!这种接口数据不够隐蔽性,可以直接在浏览其中看到,如支付宝的交易请求URL。需要加一个MD5签名,和服务器端的再次向支付宝服务器发送验证!虽然soa... 阅读全文
posted @ 2012-06-10 18:47 phpdragon 阅读(7668) 评论(8) 推荐(7)
摘要: 最近研究php的单元测试功能,在centos下和widows下安装了phpunit首先要保证你装的php中安装了pearlinux下输入命令pear 回车可看一下是否安装了windows下可以用dos进入到php的安装目录 ,输入命令pear 回车可看一下是否安装了在默认情况下php中都会安装的pear的安装windows下用dos进入php的安装根目录 运行go-pear,r然后输入两次yes 然后 后边的选项直接用回车然后我们要添加Channelpear channel-discover pear.phpunit.depear channel-discover components.ez. 阅读全文
posted @ 2012-06-03 18:08 phpdragon 阅读(492) 评论(0) 推荐(0)
摘要: 当我们把ORACLE安装在服务器上,在客户机上使用PL/SQL Developer 等客户端时连接服务器上的ORACLE时往往需要在客户端上也安装上百兆的ORACLE然后通过ORACLE的网络配置向导来配置完成PL/SQL Developer的支持。而通过ORACLE提供的工具instantclient-basic(压缩包48M),我们可以在客户端不安装ORACLE的前提下实现使用PL/SQL Developer 连接服务器上的ORACLE。我使用的系统是window7,下载的是instantclient-basic-nt-11.2.0.3.0.zip,下载地址为:http://www.ora 阅读全文
posted @ 2012-06-03 17:46 phpdragon 阅读(1516) 评论(0) 推荐(0)
摘要: 最近开发需要使用的oracle数据库!翻看了PHP手册,也在网上找了些帖子!功夫不负有心人,花费了四五个小时的时间,终于找到了Oracle的配置方法。下面就讲解下如何配置Oracle数据库连接吧!本人使用的开发环境是Win7+wamp环境:首先我们要扩展Oracle数据库连接,先去官网下载客户端连接库。地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html我这里就用最新的连接库instant Client for Microsoft Windows (32-bit)来做讲解吧 阅读全文
posted @ 2012-06-03 17:17 phpdragon 阅读(4123) 评论(0) 推荐(2)
摘要: http://blog.csdn.net/chchmlml/article/details/6887326先下载个wmpp1.7.5(之前在xp上也是这个,所以就继续),安装,一切顺利,打开phpinfo(),没有oci8的提示,所以,进入php 目录。打开php.ini,吧extension=php_oci8.dll,extension=php_pdo_oci.dll前面的;去掉,重启 apache,打开phpinfo(),仍然没有oci8的提示,这里有个小问题,就是在php的扩展库里没有对oracle的扩展支持,所以大家还有下 oraociei10.dll 和orannzsbb10.dll 阅读全文
posted @ 2012-05-29 16:52 phpdragon 阅读(237) 评论(0) 推荐(0)
摘要: 在netbeas中使用GitHub代码库异步开发GitHub,一个不错的代码管理库.下面要说的只是怎么使用GitHub进行异步开发.有不对、或需改进的地方。请多指教!1、我们需要注册一个GitHub帐号!2、在右上角点击创建一个代码库3、输入你的代码库名称,描述,是否公开或私有等,Initialize this repository with a README这一行记得打勾,这样我们就能获取到https型的代码库地址有了GitHub帐号之后,我们就可利用这个不从的代码管理库了!本人使用的开发环境是window+netbeas。很遗憾,本人不太习惯Linux的操作习惯和类似微软系软件资源的过少( 阅读全文
posted @ 2012-05-26 16:21 phpdragon 阅读(455) 评论(0) 推荐(0)
摘要: 本人的开发环境: wamp最新官网wampserver2.2d-x32版。 下载点:http://nchc.dl.sourceforge.net/project/wampserver/WampServer%202/WampServer%202.2/wampserver2.2d-x32.exe PHP:5.3.10 apache :2.2.21 要使用到NetBeans的调试功能,必须需开启PHP的xdbug调试插件. 这个东西有版本的不同,大家需要根据自己PHP版本的不同来选择性的下载。 下载点:http://xdebug.org/download.php 不过wamp集成了该dll文... 阅读全文
posted @ 2012-04-15 21:40 phpdragon 阅读(671) 评论(0) 推荐(0)
摘要: stream_set_blocking让程序无阻塞 2009-10-21 10:10:04 技术 | 评论(2) | 浏览(866)stream_set_blocking ($resource, $flag); $flag 取值为0或10是非阻塞,1是阻塞阻塞的意义是什么呢?某个函数读取一个网络流,当没有未读取字节的时候,程序该怎么办?是一直等待,直到下一个未读取的字节的出现,还是立即告诉调用者当前没有新内容?前者是阻塞的,后者是非阻塞的。阻塞的好处是,排除其它非正常因素,阻塞的是按顺序执行的同步的读取。借用小说里的说法就是“神刀出鞘,无血不归”。在读到新内容之前,它不会往下走,什么别的事情都 阅读全文
posted @ 2012-03-19 00:38 phpdragon 阅读(1117) 评论(1) 推荐(0)