Linux FreeBSD date 函数 昨天日期 yesterday

写 shell 脚本的时候,需要用到昨天的日期(yesterday, lastday),Linux 和 FreeBSD 虽说都是 *nix 系统,但一个简单的 date 函数居然用法都不一样。

例如,今天是 2007-9-14

FreeBSD:

输入:date -v -1d +%Y%m%d
输出:20070913

Linux:

输入:date --date='yesterday' +%Y%m%d
输出:20070913

看到这里,会发现,Linux 的局限性,他只能输出昨天的,但前天和大前天的之类的日期就没办法了。

我还是比较喜欢 FreeBSD

Alexa 排名 leakon.com

leakon.com 这个域名,我在 2004 年就注册了。

那个时候还不太懂技术,就租了一个虚拟主机,随便弄了几个 html 页面, 算是第一个我的个人网站。

后来,用 dreamweaver 弄了一个留言板,搞了一套韩国人做的模板,改成了一个小的动态个人网站。那是 2005 年的春节,马上大学毕业了。

考研来着,分数呢,四科总分加一起,还没人家最差的一门单科的分数高……

有了这个小网站的开发经历,也学了一点 ASP 方面的东西,到 5 月份就开始找工作。

6 月,到了以前的那个公司,开始搞 PHP。这算正式地、系统地学习一门新的语言,开发环境也完全变了,都是 FreeBSD。

我记得 2005 年那会儿,刚听说有 alexa 排名这个东西,后来查了一下,我的这个域名是 100 多万位,那会儿还挺满足的,心想,虽然名次低,但也算在世界排名上挂了号了,呵呵。

正式工作后,比较忙,一直没再管 leakon.com。

时隔 2 年,偶尔再查一下 alexa 排名,我已经降到 800 多万了……

后来,随着学到东西越来越多,发现以前熟悉的东西,长时间不用,就忘了。印象最深的就是半年前有一个想法,是利用 PHP 的一个很不常用的函数搞一个后台程序,那会儿只是实验性质的。

后来又有类似的需求时,怎么也想不起那个函数的名字,也不知道该如何描述,甚是苦闷。

我就想,应该把平时的积累存到一个记事本上,而现在的博客,就是一个很好的平台。

于是,6 月份,就用这个 wordpress 重新搭建了 leakon.com。

慢慢的,积累了几篇文章,大部分都是原创,我觉得,互联网需要丰富的内容,我们在不断获取他人经验的时候,也应该贡献一点自己的心得。最起码,记录下自己的技术积累,以后查的时候也比较方便。

无新插柳,又一次来到 alexa 居然看到自己的排名迅速狂飙!!!

前一段还不是很明显,只是从 800 多万上升到 400 多万。

现在查一下最近一周的排名,居然进前 100 万了!!

我觉得比较有意思的是另一项数据:三月变化趋势。

我的排名上升了 700 多万位!!!

开个玩笑说,如果是增幅的评比,恐怕可以进 Top 100 了吧。

用阿 Q 的思想,那么多烧钱的网站,搞了 2 年,alexa 增幅不过几千名,我这个网站 1 个月,增幅 700 万,是不是更厉害呀。

不过,目前还不是很稳定,说句实话,按照统计,这个 blog 每天也就 30 来个 PV,都是搜索引擎带过来的。

罗嗦半天,不如上几张图。这里可以查看最新的排名情况!

2007-9-7
alexa 2007-9-7

2007-9-11
alexa 2007-9-11

2007-9-13
alexa 2007-9-13

按过去一周的排名,又下降了不少。看来,这点 PV 还不足以稳固在 100 万以内。

这也告诉我,leakon.com 还缺少内容。

我会把我想的、做的都拿出来跟大家分享。

也请大家多支持我。

就 Web 2.0 的驱动力源泉分析,您的回复,或者参与,能够激发我更多的热情去贡献内容!

php|architect’s Guide to PHP Design Patterns PDF

Guide to PHP Design Patterns

ISBN 0-9735898-2-5 (php|architect NanoBooks)
336 pages
Publication Date: July 25th, 2005 (available for purchase now!)
Written by Jason E. Sweat
Technical review by Marcus Baker

Table of Contents

  1. Preface
  2. Programming Practices
  3. The ValueObject Pattern
  4. The Factory Pattern
  5. The Singleton Pattern
  6. The Registry Pattern
  7. The MockObject Pattern
  8. The Strategy Pattern
  9. The Iterator Pattern
  10. The Observer Pattern
  11. The Specification Pattern
  12. The Proxy Pattern
  13. The Decorator Pattern
  14. The Adapter Pattern
  15. The ActiveRecord Pattern
  16. The TableDataGateway Pattern
  17. The DataMapper Pattern
  18. The Model-View-Controller Pattern
  19. Conclusion

Appendices:

  1. Patterns Quick Reference
  2. SimpleTest Testing Practices

本地下载:http://down.leakon.com/software/2007/09/Guide_to_PHP_Design_Patterns.zip

php|architect’s Guide to PHP Security PDF

Guide to PHP Security


ISBN 0-9738621-0-6 (php|architect NanoBooks)
201 pages
Publication Date: September 5th, 2005 (Available now!)
Written by Ilia Alshanetsky
Technical review by Marco Tabini
With a Foreword by Rasmus Lerdorf

Table of Contents

  1. Input validation
  2. Cross-site Scripting Prevention
  3. SQL Injections
  4. Code Injections
  5. Command Injections
  6. Session Securitiy
  7. Securing File Access
  8. Security Through Obscurity
  9. Sandboxes and Tar Pits
  10. Securing Your Applications

本地下载:http://down.leakon.com/software/2007/09/Guide_to_PHP_Security.zip

xampp xdebug configure phpize php-config

看标题,不太会理解这篇文章的主题,只不过是有着微妙关联的几个软件,按照时间顺序发生在了我的身上。

xampp,是一个集成的 apache + php + mysql + … 的开发环境,如果你是做 web 开发,对各种服务器软件的安装比较头疼,尤其是在 unix 下编译和配置各种软件没有经验的时候,这个软件就能帮大忙了。只要下载回去,解压到 /opt 目录下,然后

#/opt/lampp/lampp start 即可!

/opt/lampp/htdocs 就是你的 web 根目录,所有的环境都默认配好了。

通常,我都是在 vmware 里安装一个 FreeBSD 6,然后装这个 xampp,就立刻有了一个开发环境。

后来, 需要用 xdebug 调试 php 程序,Windows 版的超级简单,下载一个 DLL 文件即可,但 Unix 版的必须得在本机环境中编译才行。

以前编译过 apache 和 php 等软件,第一步都是在安装目录执行 ./configure ,但解压完 xdebug 发现根本没有这个文件,上网站查文档,发现需要执行 phpize。

百度了一把,大概了解到,phpize 是根据源码包中的好像是 config.m4 这个文件,生成 configure 脚本的,目前来说,我也就能领悟到这个层次了。还好,我查了 /opt/lampp 目录下面,有这个 phpize 文件,可以执行。执行完了,目录下面果然出现了 configure 文件,这个 configure 文件会调用 php-config。

php-config 可能就是获得当前 php 的各种环境设置变量的,在编译 xdebug 这种 php 扩展的时候会用到。

用 phpize 和 php-config 做好 configure 后,就要用 make 编译 xdebug 了。

这个时候,问题来了,屏幕刷刷地显示了几屏错误信息后,停在一个严重错误的提示信息下面 。

说是 xdebug 的语法错误。

我想,不会吧,这么出名的开源软件,都是经过很多测试的,不至于编译都过不去。然后自己检查前面的每一项错误信息,都是提示一些  .h  文件找不到,关键的几行是 php/include 目录,编译程序要在这个目录下面找文件,但是这个目录不存在!

这个提醒了我,由于我的  apache 和 php 环境是 xampp 打包的,目录结构和默认的不一样,而且很多文件也没有在系统中注册,是无法自动找到的。

我到朋友的服务器上测试了一下,他的软件都是一项一项安装的,基本都是默认目录。果然不出所料,在那里配置和编译都没有问题。

大概找到了问题的根源,然后在自己的虚拟机上重新安装了 apache 和 php,都是默认安装,然后,重新编译  xdebug,这回可以顺利通过了!

解决 Failed to enable the ‘httpready’ Accept Filter

在 FreeBSD 下安装 apache22 会出现类似的 warming:
No such file or directory: Failed to enable the ‘httpready’ Accept Filter

解决方法是:
#kldload accf_http并在 /boot/defaults/loader.conf 中加入下面 2 行,以便下次启动自动装载模块
accf_data_load=”YES”
accf_http_load=”YES”

Google

Google
LAMP-Linux-redhat LAMP-Apache LAMP-MySQL LAMP-Php Leakon-Wiki Leakon-BBS XueBaoBao Xyoyou