Fluid idea for Life

随笔,杂记

别太 OOP了

忽然发现,我有点out了。在一个技术讨论会上,作为旁听者,听着一伙人在热烈地讨论一些很OO的东西,比如选择哪个框架,是Cairngorm,还是PureMCV,还是类IOC之类的,有人说Cairngorm有...缺点,也有人说PureMVC不好,Mate比较好,但又有哪些不好。

类似的问题还有:选择哪个单元测试工具?选择哪个压力测试工具?选择哪套UI组件?....在论坛上,这类问题数不胜数。

但讨论了半天,却很少讨论项目需求。

--------------------------------------------------------------------------------------------------

有一个驾驶热气球的人发现他迷路了。他降低了飞行的高度,并认出了地面上的一个人。他继续下降高度并对着那个人大叫,“打扰一下,你能告诉我我在哪吗?”
下面那个人说:“是的。你在热气球里啊,盘旋在30英尺的空中”。

热气球上的人说:“你一定是在IT部门做技术工作”。

“没错”,地面上的人说到,“你是怎么知道的?”

“呵呵”,热气球上的人说,“你告诉我的每件事在技术上都是对的,但都没有用”。

地面上的人说,“你一定是管理层的人”。

“没错”,热气球上的人说,“可是你是怎么知道的?”

“呵呵”,地面上的那人说到,“你不知道你在哪里,你也不知道你要去哪,你总希望我能帮你。你现在和我们刚见面时还在原来那个地方,但现在却是我错了”。

--------------------------------------------------------------------------------------------------

程序员往往容易从自己的角度出发去思考问题,却很少从现实的角度考虑做法的实际意义。

有Java程序员发现在Flex Builder中无法自动生成getter/setter(现在好像可以了)或Cairngorm模板,一时冲动要编写一个插件要实现这个功能。我不知道自动生成代码这个功能到底能提高多少工作效率,但我想即使是手动敲,也就是一分钟的事。在编写程序的过程中,很多想法往往是在敲击键盘的过程中诞生出来的。编写代码,如果不用键盘,似乎丧失了很多乐趣。

这是一个注重用户体验的时代,甭管什么技术,用户满意就是最大的成功。技术并不存在什么优劣,关键是怎么用,什么人在用。

Tags: 随想

nginx + php FastCGI安装

最近一直在捣鼓Nginx,在接手一台新的服务器时,我萌生了向Nginx移植的想法,并且很快开始实施了。中间遇到了若干问题,特记录,以备以后查找。

首先搭建了一台Centos 5的虚机练手,当然,Nginx的安装简单的很,即便是编译安装,也就是眨眼间的事,关键是php的安装。在网上看到很多人选择用lighttpd中附带的spawn-fcgi来启动php-cgi,不过再三权衡,还是选择了php-fpm,它相当于一个php的补丁插件,可以做到无缝连接,而且很有可能,以后会包含在php发行版中。php-fpm还有很多特性,这点在其官网上有介绍。

php-fpm的安装有两种方式,一种是以补丁方式嵌入到php中,整合后编译安装,适合于php的全新安装;如果php已经安装好了,又不想再重新编译,则可以选择第2种,独立安装php-fpm。

这里说说第一种方式,帮助文档中很详细:

export PHP_VER=5.2.10
wget "http://launchpad.net/php-fpm/master/0.6/+download/php-fpm-0.6-$PHP_VER.tar.gz"
tar -zxvf "php-fpm-0.6-$PHP_VER.tar.gz"
"php-fpm-0.6-$PHP_VER/generate-fpm-patch"

上面一条命令就是生成补丁文件,然后下载php文件,解压。

wget "http://us.php.net/get/php-$PHP_VER.tar.gz/from/us.php.net/mirror"
tar xvfz "php-$PHP_VER.tar.gz"
cd "php-$PHP_VER"

打补丁,然后编译:
patch -p1 < ../fpm.patch
./buildconf --force
 mkdir fpm-build && cd fpm-build
../configure --with-fpm --with-libevent="$LIBEVENT_SEARCH_PATH" && make

实际安装中,我选择的是php 5.2.11版本,服务器的系统为centos 4.x,运行buildconf命令更新配置文件时,提示autoconf的版本太高。Google的结果是php的开发者偏好autoconf 2.13这一颇古老版本,于是降级autoconf,执行成功。

执行configure时,还要根据选择,把常用的库带上,比如gd,curl,sockets,mysql,zip,mbstring等等。当然,前提是相关软件比如gd,libpng,jpeg,zip,zlib,mhash,mysql等等都已装好,以下是我的:

../configure --with-fpm  --prefix=/usr/local/php --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/lib --with-freetype-dir --with-gd=/usr/local/gd2 --enable-gd-native-ttf --with-mysql --enable-sockets --enable-force-cgi-redirect  --enable-mbstring --enable-ftp --with-mcrypt --with-mhash --with-curl --with-openssl --with-curlwrappers --enable-soap --enable-inline-optimization --with-zip --with-zlib-dir CFLAGS=-liconv

第一次安装时,没有带上gd库,后来想通过模块方式单独编译gd库,结果倒是可以用,但死活不支持jpg,直接编译,却成功了,个中原因,尚待分析。

强烈建议在编译时加上--prefix选项,这样方便以后卸载、升级。另CFLAGS=-liconv,是为了防止出现liconv致之类的错误, php官网上很多人指出这个长久以来的bug,但一直没有修复,总之不加就是编译不过去。

最后就是 make && make install了,编译结束后给出了一串提示。php相关文件都被装到/usr/local/php下了,同时,还自动生成了php-fpm的启动脚本,/etc/init.d/php-fpm,用法:

service php-fpm start|stop|restart ....

再配合nginx,就完工了。

Tags: nginx php-fpm

Tor翻墙利器

以前,在 Google资料或查看Blog时,如果发现页面打不开,我选择用 Firefox的Gladder插件,喜欢那句口号“被封已成往事”,但一段时间以后,发现简单的代理已经不能解决问题了,现在GFW已经很强大了。于是开始用Tor。

发现公司的网管非常不人性化,所有向外的HTTP请求,只要是非80端口的,都给封了,不过现在已经不是问题了。

GFW现在在四处封锁Tor,唉~

Tags: 翻墙

Haxe的File Format库

Haxe和两三年前相比,现在已经很成熟了,很多人都说它的编译器比Flex的还要好,在性能优化、语法上有很多改进。不过并不冲突,可以取长补短。

Haxe的库现在是越来越多,各种引擎、框架、扩展。File Format是一个文件相关的库,用来解析或生成各种文件格式,比如swf、ABC(swf中的字节码)、Flv、Pbj(PixelBender的二进制格式)等等,在作者的TODO列表上,还有一串跟着。

我比较感兴趣的是pdf,编译了一个小小的例子试了下,在解析pdf时碰到了运行时错误。使用反编译器看了下代码,比较多比较乱,看的头昏,希望作者在后续可以完善这个库。

另外,radpdf,haxe版的生成pdf的库,从php的FPDF移植过来的。

Tags: haxe

技术文章收藏

豆瓣网技术架构发展历程

接触php有好几年了,但一直没有真正从事过大中型站点的开发和设计,最近正面临这个压力,找了很多这方面的资料看,收获不小。

web编程的路还很长,需要学的东西还很多。

Flex mobile开发:openplug 二

写了一个HelloWorld级别的程序,用openplug编译了一把,成功生成 Windows Mobile下的安装文件cab,拿到LP的HTC3232上跑,一切正常。

Flex代码超简单:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="240" height="320">
	<mx:Label x="26" y="37" text="Flex中文" fontSize="12"/>
 
</mx:WindowedApplication>

这么一个小程序,生成的cab有2M多,还是有点大。 openplug据说本月底会出一个Iphone版,而Adobe的slider也快发出来了。

Tags: openplug, slider

Flex mobile开发:slider 和 openplug

今天看到一条新闻, Janus Symbian开源了。swfpack、SWFxME以及Janus,这些做Flash Lite第三方扩展的公司,现在应该与时俱进了,Flash Lite只适合在硬件环境极差的环境下使用,Adobe已经慢慢放手了。

现在,在移动设备上直接跑AS3成为了时下的热点。在labs.adobe.com上,公布了名为“slider”的开发框架,基本可以看作是Flex的移动版。有趣的是,一家法国公司正在做类似的事情,openplug的 ELIPS Studio已经开始商用,公司主页为:http://www.openplug.com/。Develop mobile applications in Flex Builder,这就是他们的广告语!看上去还是很有诱惑力的。目前产品还在开发中,需要邀请才能获取测试版。我刚通过了邀请,现在正在下载中,随后放出使用心得。

另外,在网上溜达时,看到一句评论,大意是说,Adobe放在苹果商店的极其简单的游戏(使用Flash cs5开发的),一个的大小居然有7M多。我想是不是因为要模拟Flash API的缘故,发布时要带上一堆的库?

Tags: openplug, slider

由flash on iphone想到的

假期回来,很多新闻。Adobe最近又放了很多Big News,flash Player 10.1、Flash cs5开发iphone程序、AIR 2.0、Slider Framework...,网上的新闻泛滥。总结起来,可以看出一点,Adobe把重点转到了手机领域。

移动互联网已经成为了it巨头的下一块大蛋糕,iphone、gphone、ophone,微软的wm 6.5,Nokia的symbian,blackberry,palm,智能手机已经成为时下的热点。李开复博士的创意工厂,所关注的领域就有“移动互联”这块,Adobe也加大了这方面的力度。

现在的智能手机越来越出色。前不久给LP买了一款HTC的T3238, 528MHz处理器,192MB RAM,跑wm 6.5系统,功能非常强劲,这样的机器,售价2K不到,这个配置和我最开始使用的PC机差不多。

Adobe早期推的Flash Lite,发展到现在,不算成功,在某些国家,比如日本,有一定市场,和日本的特殊环境有一定关系,而在其它国家,始终没有打开局面。在手机上,Flash player无法像在web上那样一键安装,和使用传统的开发平台相比,没有什么优势可言,Flash Player在浏览器上的成功经验没法复制到手机上,而且还有很多局限,比如和底层的交互有限,性能低下,难以分发安装等等,这些因素也束缚了与硬件产商的合作,无法吸引开发者。如果不解决这些问题,我觉得Flash要跑在手机上还有很长的路要走。手机软件开发,和桌面开发相比,要更复杂。不同的平台之间,差别不是一点半点,Flash要想实现跨平台,难度更大;和那些原生开发语言相比,又有哪些卖点?

Adobe用AIR进军桌面,到现在,个人觉得,AIR的实用性还远远不够;Flash在手机上的发展,现在看到的,还都是些美好的前景,等下一个测试版...

Tags: flash

更换blog

虽然现在blog的外观看上去变化不大,但却是真正的换了一个blog程序。wordpress确实很好用,但太耗资源,这个问题已被很多人诟病。从wordpress的开发团队中分离出一部分核心成员,他们自立门户,开发了号称“下一代blog"的habari,不过我还没用多habari,一则是还没出稳定版,二则只支持php 5版本。

现在我换到了国产的sablog,之所以选择主要原因是”够快“,简洁。不过sablog的最新版却有向wp靠拢的趋势,不单是数据库设计,连后台界面都基本相同,估计到下一个版本时,已经很wp化了。

这次换程序,可谓是大工程,首先是数据转换,自己动手DIY了一个转换程序,另外就是DIY模板,到现在弄的差不多了,细节地方再慢慢调整。

sablog在一些细节方面还不成熟,比如没有提供自定义链接的设定。URL重写做的也不够灵活,为了保证以前的链接地址不失效,还得再换时间修改下。

更换皮肤二及其它

昨天又更换了主题,这个主题简单清爽,很干净,比较喜欢。原来是三栏,看了很久,还是比较习惯两栏,于是动手DIY。 由于blog的cpu消耗依然超标,于是继续想办法,装了super-cache,并删除了可有可无的插件,比如recent-comment、post view、imgcode等。现在感觉速度快了很多。

--------------------- 分界线 --------------------------

未命名-1 今天的QQ浮动新闻比较雷。天朝政府最近动作很多,各种岢税层出不穷。年终奖、降温费、交通补贴....都要开始征税了,现在连月饼也不送过。

嗯,如果公司今年中秋发了月饼,我会全部上缴的,为天朝的建设贡献自己的一份力。

................

重庆各部门主要临到国庆不得外出?这是为何? 天朝怪事年年有,但今年特别多。

给天朝献礼的史诗巨作《建国大业》上映了,据说票房要突破N个亿,不知道都有哪些人要去看这种应景的东西,是直接工款消费的吧?

Tags: 杂谈

Total: 127Page 2 of 13‹ Prev1234567Next ›Last »