04 2010 档案

摘要:采用HTTP basic认证,如下所示:########################## function: twitter auth# return value: twitter user status json# author: Yujie # date: 2009.06.15#########################my $browser = LWP::UserAgent->new();$browser->credentials( 'twitter.com:80', 'Twitter API', ARGS{email}, $ARGS 阅读全文
posted @ 2010-04-30 14:49 javawebsoa 阅读(267) 评论(0) 推荐(0)
摘要:英文原版见http://www.masonbook.com/。简介Mason是一个强大的,可以将Perl嵌入文本的模板引擎。它提供了许多特性,帮助你使用可重用的组件创建动态Web站点。除此之外,它还提供了很多的其他特性: 可以创建标准的、可重用的,像header、footer,或者菜单这样的组件。你只需要在一个地方进行改变。 完整的Web请求的参数处理。 内置缓存,用户可采用cache接口访问。 整合mod_perl以提供更快的速度和更好的弹性。 从一个组件的小段到整个站点,都支持内容过滤。《使用Mason在HTML中嵌入Perl》一书详细记录了HTML::Mason框架,包括如下章节:组件格 阅读全文
posted @ 2010-04-27 13:01 javawebsoa 阅读(338) 评论(0) 推荐(0)
摘要:我曾经为我的朋友田逸写过一个Perl脚本,主要用于Nagios服务器故障的报警。非常简单,主要使用了LWP::Simple这个模块对短信服务Api进行请求。#!/usr/bin/perl -wuse strict;use LWP::Simple;use URI::Escape;use Digest::MD5;my ($mobile, $content) = @ARGV; # get params from command linemy $log_control = 1; # a switch of logmy $username = 'sery'; # your sms ser 阅读全文
posted @ 2010-04-23 20:46 javawebsoa 阅读(215) 评论(0) 推荐(0)
摘要:如果您尚未打算用 OO 原则创建应用程序,则使用 PHP 的面向对象(OO)的语言特性,这 7 个习惯将帮助您开始在过程编程与 OO 编程之间进行转换。在 PHP 编程早期,PHP 代码在本质上是限于面向过程的。过程代码 的特征在于使用过程构建应用程序块。过程通过允许过程之间的调用提供某种程度的重用。但是,没有面向对象的语言构造,程序员仍然可以把 OO 特性引入到 PHP 代码中。这样做有点困难并且会使代码难于阅读,因为它是混合范例(含有伪 OO 设计的过程语言)。使用 PHP 代码中的 OO 构造 — 例如能够定义和使用类、能够构建使用继承的类之间的关系以及能够定义接口 — 可以更轻松地构建 阅读全文
posted @ 2010-04-23 20:32 javawebsoa 阅读(156) 评论(0) 推荐(0)
摘要:人际关系平台,必然有邀请好友的功能,也会出现SNS里获取IM、邮箱好友的功能,这个功能的技术实现有很多,有Perl、PHP、Java的实现方式。下面分别介绍一下。本文只介绍解决方案,而不对具体的技术实现和方式优劣进行分析和比较。PerlPerl的MSN模块不太好用,connect后就没有响应了,我分析可能是由于MSN认证协议发生变化,而模块没有相应的更新造成。而另外一个Net::MSN安装时编译会出现问题,即使安装了Crypt::SSLeay模块也是如此。我在google code上找到了一个其他人写的模块IM::MSN,还有一个基类IM::Base;经过了一些修改和补充,并加了一个类IM:: 阅读全文
posted @ 2010-04-23 19:36 javawebsoa 阅读(213) 评论(0) 推荐(0)
摘要:Gearman的介绍主页在http://gearman.org/index.php, 它的主要优点有:1. 实现了异步计算。可以将比较耗时的计算分配到分布式计算集群来减少站点服务器的压力和用户的等待。例如passport里的邮件发送/头像上传裁减/国内外数据分离请求等等。2. 跨语言,有利于多语言多系统之间的集成。PHP/Perl/Java/C++可以融合在一起,用Perl实现的邮件发送功能PHP也能自由调用,也可以使用Perl调用另一台服务器上用C++编写的程序的一个函数。3. 便于扩展和实现负载均衡。可以通过增加worker的数量来提供更好的性能,在其中一台出现问题的时候能够由其他的wor 阅读全文
posted @ 2010-04-23 13:32 javawebsoa 阅读(1115) 评论(0) 推荐(0)
摘要:1 ServerAlias p71一个虚拟主机可以配置多个域名ServerName www.maxthon.comServerAlias www.maxthon1.com www.maxthon2.com 2 apachectl graceful p17重启apache的时候等待当前打开的活动连接完成操作后再关闭该链接3 虚拟主机基于域名的虚拟主机ServerName 127.0.0.1NameVirtualHost *.80<VirtualHost *:80> ServerName DocumentRoot</VirtualHost> 基于Ip的虚拟主机 p73S.. 阅读全文
posted @ 2010-04-23 13:23 javawebsoa 阅读(197) 评论(0) 推荐(0)
摘要:最近一天收到很多用户反馈,反映几个网站的邮件无法正常接收。开始以为是邮件系统压力测试造成的,通知运维进行系统的监测后发现,邮件服务的队列里堵塞了几万封邮件。经过详细调查,发现是Postfix自带安全软件MailScanner过期,需要升级造成。升级过程中造成所有队列里邮件丢失。由此提醒我们邮件服务器需要注意以下几个问题:1.邮件服务器往往是单点,需要考虑负载均衡;2.邮件服务的异常报警;3.邮件队列的备份与恢复。我的朋友sery提供了Postfix邮件备份的脚本,可在此查看:http://sery.blog.51cto.com/10037/45500。 阅读全文
posted @ 2010-04-23 12:59 javawebsoa 阅读(244) 评论(0) 推荐(0)
摘要:管理与个人管理学太上,不知有之;次之,亲而誉之;其次,畏之;其次,侮之。有趣。如何掌控自己的时间和生活时间管理的始祖。高效能人士的七个习惯非常经典的书,读这本书,会有改变自己的冲动。计算机重构:改善既有代码的设计各种bad smell和重构方法,陷入程序和架构泥潭的程序员们,读一读吧!Head First设计模式深入浅出的介绍了23种设计模式,非常生动和形象,还在为设计模式头疼的开发人员不妨一览。编程之美:微软技术面试心得这其实是一本普及算法的书,看完后,你会想去了解更多的算法知识以及它们后面的秘密。Stein算法、Trie树、DFA、NP、更相减损术...一个个程序的奥秘慢慢揭开...小说传 阅读全文
posted @ 2010-04-22 23:37 javawebsoa 阅读(211) 评论(0) 推荐(0)
摘要:按照Sphinx来进行全文检索,默认只支持按字拆分,如果要实现比较好的中文分词,可以使用基于libmmseg的引擎Coreseek。yum install g++yum install gccyum install makeyum install mysql mysql-devel php-mysql qt4-mysqlwget http://www.coreseek.cn/uploads/sources/mmseg3_0b3.tar.gz wget http://www.coreseek.cn/uploads/sources/csft3_0b4.tar.gz tar -xzvf mmseg3 阅读全文
posted @ 2010-04-22 19:28 javawebsoa 阅读(260) 评论(0) 推荐(0)
摘要:天际网是我用过的一个比较有名的商务社区。但是就产品体验和设计而言,还有不少值得推敲和不足的细节。1.首先是头像上传功能,我上传后无论如何设置,裁剪出来的头像都不是我预览看到的头像,这个让我非常恼火。2.按钮的样式不统一,可以看到鼠标放在左侧邀请好友、发布消息上变成了手的形状,但是查找、搜索等地方又不会改变。3.搜索,有些信息明明存在,但是搜索却无法找到,例如我好友里的一个同学。4.右下角的这个信息提示始终让我困惑,34、49、9之间有什么区别和联系?5.悲剧啊!6.很多地方觉得功能非常凌乱,让人怀疑是否有统一的设计。例如一度好友页面。7.共有8?8.中文版每次弹出的讨厌的可能认识的人,文字还是 阅读全文
posted @ 2010-04-20 21:20 javawebsoa 阅读(183) 评论(0) 推荐(0)
摘要:主要包括HTML字符破坏、外部提交、SQL注入、XSS跨站攻击等几个方面。 阅读全文
posted @ 2010-04-20 20:43 javawebsoa 阅读(156) 评论(0) 推荐(0)
摘要:Perl Memcached的客户端序列化对象采用的是Storable模块的nfreeze方法,而这个方法又调用了c扩展的do_store方法;反序列化使用的是Storable模块的thaw方法,而这个方法又是调用的c扩展的do_retrieve方法。而在PHP中,进行的却是serialize和unserialize操作。造成了无法正常读取的结果。Perl存储一个('a', 'c')数组的引用,命令行获取的结果如下:用二进制编辑器查看存储的结果如下:在PHP中memcache客户端gzuncompress和unserialize函数处理前可以得到存储的数据,打印 阅读全文
posted @ 2010-04-20 20:10 javawebsoa 阅读(295) 评论(0) 推荐(0)
摘要:困扰很久的问题,可能是由于新立得安装和cpan安装冲突出现不支持PNG或者JPG的情况。据其他同事反映,全部使用新立得安装是可以支持的。如果遇到这种情况,需要删除全部相关模块重新进行安装。在新立得里删除libgd2-xpm-dev/libgd2-xpm/libgd-gd2-perl。下载安装gd-2.0.35/libpng-1.2.33/zlib-1.2.3/jpeg-6bb. The gd graphics library: http://www.boutell.com/gd/c. The PNG graphics library: http://www.libpng.org/pub/p.. 阅读全文
posted @ 2010-04-16 20:38 javawebsoa 阅读(233) 评论(0) 推荐(0)
摘要:从学习Perl/Mason开始,长久以来,我都是在ubuntu下搭建Mason的开发、运行环境的,因为Perl是ubuntu的原生语言,而且通过新立得安装组件、模块来的非常方便。组内所有Mason开发环境,也是基于我研究的ubuntu平台。但是如何在windows下搭建Mason的运行、开发环境一直是我所困扰、想实现的。这样我们就可以不再限定于特定开发平台,无论对于开发、还是部署都有新的意义。通过反复尝试,终于在windows下顺利搭建好了Mason的环境,以下是搭建的步骤。安装ActivePerl:下载地址http://www.skycn.com/soft/1211.html。安装Apach 阅读全文
posted @ 2010-04-16 20:25 javawebsoa 阅读(474) 评论(0) 推荐(0)
摘要:Perl中文/unicode/utf8/GB2312编码之间的转换是一件很让人头疼的事情,我总结了以下主要的转换方法,供大家了解参考。# author: jiangyujieuse utf8;use Encode;use URI::Escape;$/ = "/n";#从unicode得到utf8编码$str = '%u6536';$str =~ s//%u([0-9a-fA-F]{4})/pack("U",hex($1))/eg;$str = encode( "utf8", $str );print uc unpack 阅读全文
posted @ 2010-04-16 20:20 javawebsoa 阅读(321) 评论(0) 推荐(0)
摘要:在Perl和PHP中生成中文图片最关键的一点是需要设置一个可以显示中文的字体。在Linux平台上,我们可以把windows下的雅黑文件拷过去。在控制面板-字体里可以拷贝雅黑字体文件:放在Ubuntu的/usr/share/fonts/vista下。Perl的关键代码类似下面所示:GD::Image->trueColor(1);my $image = newFromPng GD::Image($imagepath) || die "can't open image: $!";my $white = $image->colorAllocate(255,255 阅读全文
posted @ 2010-04-16 20:18 javawebsoa 阅读(213) 评论(0) 推荐(0)
摘要:饭否的图片插件可用于论坛,博客,将用户的信息和一些最新动态用图片的形式表现出来。我们如果需要自行开发此功能的话,需要设置某种格式(或某个地址)的图片采用脚本来处理。在Perl中的话例如可以使用Apache的LocationMatch或者FilesMatch指令来进行设置,让某个Perl模块来进行处理。如果使用Mason的话,更为简单,不需要修改服务器,只需利用dhandler的特性,就可以让指定的脚本来处理。基本流程如下:主要代码如下: my $uri = $r->uri; if($uri =~ /.jpg$/) { $uid = substr($uid, 1, -4); # 从uri里 阅读全文
posted @ 2010-04-16 20:18 javawebsoa 阅读(183) 评论(0) 推荐(0)
摘要:我们平常Mason的开发环境都是部署在Ubuntu平台上的,因为通过新立得安装某些必要的软件时非常方便。以下是部署的经验总结:需要通过新立得安装的模块包括:Apache2 mod_perl2(libapache2-mod-perl2) dbi(libdbi-perl,即DBI模块,可通过cpan安装)dbd(libdbd-mysql-perl/libdbd-mysql)libapreq2(包括libapache2-mod-apreq2,libapache2-request-perl,Apache2::Request/Apache2::Upload/Apache2::Cookie模块)mason 阅读全文
posted @ 2010-04-16 20:11 javawebsoa 阅读(199) 评论(0) 推荐(0)