随笔分类 - Program
健康生活,快乐编程~~
摘要:Ruby 代码如下 1: def isZhishu?(num) 2: count = 2 3: while count < num do 4: return false if ( num % count ) == 0 5: count = count + 1 6: end...
阅读全文
摘要:使用ZendStudio开发SVN中的代码时,经常容易将 .project、.settings、.buildpath 这类的zend的工程文件提交上去,非常麻烦,有几种方法可以去掉这个麻烦。 1、在ZendStudio的全局设置中设置 在Window -> Preferences 中找到 Team -> Ignored Resources,然后将需要屏蔽的项目添加进去,应用就可以了。 ...
阅读全文
摘要:整理摘抄了手册中关于PHP模式修正符的内容,真切的体会到手册的好处
阅读全文
摘要:短链接就不说了,大家已经都清楚了,如下所示就是短链接: 新浪微博 http://t.cn/SVpONM 腾讯微博 http://url.cn/302yor Yun.io http://d.yun.io/PNri2v 短链接的好处:1、内容需要;2、用户友好;3、便于管理。 如何实现呢,大概有三个步骤: 1、定义一个URL映射算法,可以将长的URL映射成短字符串; 2、使用一个存储(数据库?NoSQL?)来存储完成的映射; 3、实现自己的URL映射算法; 一般来说,第三步是我们比较头疼的,如何将一个长的URL字符串,映射成一个较短的字符串呢。我总结了三种办法: ...
阅读全文
摘要:什么是Daemon进程这又是一个有趣的概念,daemon在英语中是"精灵"的意思,就像我们经常在迪斯尼动画里见到的那些,有些会飞,有些不会,经常围着动画片的主人公转来转去,啰里啰唆地提一些忠告,时不时倒霉地撞在柱子上,有时候还会想出一些小小的花招,把主人公从敌人手中救出来,正因如此,daemon有时也被译作"守护神"。所以,daemon进程在国内也有两种译法,有些人译作"精灵进程",有些人译作"守护进程",这两种称呼的出现频率都很高。与真正的daemon相似,daemon进程也习惯于把自己隐藏在人们的视线之外,默默
阅读全文
摘要:Gearman作为一个优秀的分布式解决方案,已经被众多的公司或者团队所采用,我在之前的一篇文章中也有过介绍。但是目前对于woker的执行状态和结果监控,特别是放入后台的worker的监控,官方还没有完善的解决方法。最近,为团队内部做了一次分享,我也得以深入的研究了 Gearmand。
阅读全文
摘要:在使用PHP进行开发时,经常遇到文件上传的场景。其中会隐藏很多我们平时注意不到的安全问题,我总结了一下,主要有几个方面:1、检查用户传来的文件名,避免 ../etc/passwd 这样的探测2、有些应用使用了用户名做为路径名,那么也需要对用户名进行详细的检查3、有些人提到了文件上传的Dos攻击,这个我觉得主要是依靠网络层面去解决,禁掉频繁访问的IP,但是对于僵尸网络的攻击,貌似没什么好的办法下面这篇文章中介绍的内容有些老,因为现在已经不是PHP3和PHP4的那个时代,虽然如此,关于文件上传中的安全处理,我们还是需要多加注意。正常的表单没有提供文件上传的功能,所以在 RFC 1867 中提出了《
阅读全文
摘要:学习PHP以来一直希望有时间能够有时间通读PHP手册,最近终于强迫自己划出一些时间,完成了对PHP手册的通读。除了函数参考部分没有每个都看,其他的章节基本上都看过了。看过之后才发现手册解决了自己之前对于PHP的一些模棱两可的认识,对PHP的掌握变的更加的全面和深入。PHP手册分为几个大部分。包括:入门指引、安装与配置、语言参考、安全、特点。实际上为我们解决了什么是PHP?怎么准备PHP的环境?PHP应该怎样写?如何避免PHP代码的风险?PHP的一些特性这几个问题。后续还有函数参考、PHP的核心实现相关的一些话题、PHP的历史等一些内容。读完整个手册后,让我们能够了解到PHP这门语言的脉络 。下
阅读全文
摘要:平时在Mac下使用XAMPP进行开发,最近需要用到APC扩展,从PECL上下载了扩展的源文件,在本地进行了编译安装。下面是安装步骤。1、首先从http://pecl.php.net/package/APC下载源码包,目前的稳定版本是 3.1.9。2、解压缩后进入到源码目录3、sudo /Applications/XAMPP/xamppfiles/bin/phpize4、sudo MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS
阅读全文
摘要:对于网站来说,速度是第一位的。用户总是讨厌等待,面对加载的Video和页面,是非常糟糕的用户体验。所以如何利用Cache来优化网站,值得深入研究。什么是缓存?缓存是一个到处都存在的用空间换时间的例子。通过使用多余的空间,我们能够获取更快的速度。用户在浏览网站的时候,浏览器能够在本地保存网站中的图片或者其他文件的副本,这样用户再次访问该网站的时候,浏览器就不用再下载全部的文件,减少了下载量意味着提高了页面加载的速度。下面这个图例说明了浏览器和服务器之间如何进行交互。缓存的缺点缓存非常有用,但是也带来了一定的缺陷。当我们的网站发生了更新的时候,比如说Logo换了,浏览器本地仍保存着旧版本的Logo
阅读全文
摘要:对于分布式网络环境或者有大量任务的应用,我们需要将任务在不同的服务器之间进行分布,这个时候正好是Gearman发挥实力的时候。虽然我们也可以使用MQ队列再加一些自己实现的调度算法来将任务进行分发,但是既然已经有了成熟的产品,为什么不使用下呢。Gearman介绍Gearman提供了一种通用的程序框架来将你的任务分发到不同的机器或者不同的进程当中。它提供了你进行并行工作的能力、负载均衡处理的能力,以及在不同程序语言之间沟通的能力。Gearman能够应用的领域非常广泛,从高可用的网站到数据库的复制任务。总之,Gearman就是负责分发处理的中枢系统,它的优点包括: 开源:Gearman免费并且开源.
阅读全文
摘要:介绍method_exists和is_callable的区别,提醒大家在实际项目中不要犯错
阅读全文
摘要:题目要求:有一个四则运算的字符串表达式,编写一个函数,计算四则运算的结果PHP实现:1<?php23/**4*计算四则运算表达式5*/67error_reporting(E_ALL);89$exp='(1+2*(3+5)/4)*(3+(5-4)*2)';10$arr_exp=array();1112for($i=0;$i<strlen($exp);$i++){13$arr_exp[]=$exp[$i];14}15$result=calcexp(array_reverse($arr_exp));16echo$exp.'='.$result;1718fu
阅读全文
摘要:最近写了几个测试脚本,希望要观察使用PUT方式上传文件和使用POST方式上传文件,两者效率的差别。 分别是: put_client.php 模拟客户端发送PUT请求 put_server.php 接收客户端的PUT请求,并保存文件 post_client.php 模拟客户端发送的POST请求 post_server.php 接收客户端的POST请求,并保存文件 /Files/cocowool/code.zip 然后利用ab(ab是apache自带的一个性能测试工具)对客户端文件发起请求,来测试处理所消耗的时间。具体的测试场景设计了以下四组 1、使用PUT请求,改变并发的请求数。其中请求数设置.
阅读全文
摘要:Redis支持的客户端种类非常多,包括C、Java、PHP、Python等,本文主要介绍PHP客户端的安装和使用。 Redis的客户端实际上担负了通过网络协议与Redis Server进行通信的过程,通信的过程必须遵循协议规范,让客户的调用更加符合特定语言的使用习惯。现有PHP客户端:rediska、phpredis、Predis、Redisent。这些可护短中,有纯PHP的实现方案,也有二进制版本的实现方案。 官方提供的PHP客户端列表如下: 特性比较 predis phpredis Rediska 易扩展 ∆ ∆ 客户端策略和Hash算法定义 ∆ ∆ 实现方式 纯PHP PHP扩展(C语.
阅读全文
摘要:0、NuSOAP的简介 NuSOAP 是一组功能强大的PHP类,这个工具的发布让使用和创建SOAP消息变得相当简单。 NuSOAP有Dirtrich Ayala编写,可以无缝的与许多最流行的SOAP服务实现交互,它以LGPL协议进行发布。NuSOAP的主要特性包括: 简单:NuSOAP的面向对象方法隐藏了SOAP消息的组装、解析、提交和接收的有关细节,是用户能够集中精力处理自己的业务。 WSDL的...
阅读全文
摘要:最近为项目增加了邮箱登陆的验证,本地测试OK,部署至服务器上提示 imap_open 为未定义函数,由此可知缺少了IMAP的PHP扩展。 解决办法,首先看官网的安装说明,原来需要提前安装 imap-open2007e 才行。从 ftp://ftp.cac.washington.edu/imap/ 的网站上下载了源代码,但是这个的安装却让我比较头疼,因为没有 configure 文件,也没有一个说明文档。参考了其他朋友的办法,使用了下面的方法: wget ftp://ftp.cac.washington.edu/mail/imap.tar.Z tar zxf imap.tar.Z cd imap
阅读全文
摘要:因为一直使用Zend Studio 进行PHP开发,所以再需要写Perl的时候,非常希望继续使用这个工具。搜索了一下,发现EPIC-IDE.org 基于 Eclipse 开发了一款PERL的编辑器,因为ZendStudio也是基于Eclipse的,所以自然可以使用这个插件。在 EPIC-ide 的官方页面中,提到了安装方法。但是这个网站貌似不是很稳定,笔者访问的时候,曾出现过一个下午都无法打开的状...
阅读全文
摘要:平时我们希望提高应用的响应速度时,常用的有以下一些方法: 使用Gzip 减少Http Request次数 增加过期头信息 Expire Header 压缩CSS和Javascript文件 更多的方法,我们可以参考 Yahoo的34条前端优化规则 以及 Google的前端性能最佳实践 ,这两个主题都包含了大量的前端优化的内容。本篇着眼于如何结合Codeigniter的使用,来加速前端的性...
阅读全文
摘要:我们知道已经有很多像Awtstat这样的使用perl、c或者c++开发的强大的日志分析工具,但是同样也有很多使用PHP开发并且开源的日志分析软件,今天我就收集了一些与大家分享。 1、LogAnalyzer LogAnalyzer是 Adiscon的监控软件产品线中的一部分。可以再Windows以及Unix环境下运行。LogAnalyzer本是是免费的,GPL许可的产品。 LogAnalyze...
阅读全文

浙公网安备 33010602011771号