Loading...

Archive for August, 2008

    AD: 猛买 | 快递查询 | Jobsdigg | 很棒的男装店

银联标准信用卡,是个什么概念

虽然钱不多,但我手里有一大堆银行卡。可是在看到“银联标准信用卡”字样的时候,还是犯了嘀咕:这是什么卡呢?

搜了一下,发现是这样的龟腚:

1、卡面右下角仅有“银联”一个银行卡组织的标识(见下图)卡面,无VISA,Mastercard, American Express,JCB,Discover Card等国外银行卡组织的标识
2、有天坛防伪标志(见下图)
3、卡号前两位为62,卡号总数为16位
4、卡面印有有效期(VALID DATE)
5、卡面印有持卡人的姓名(拼音或者英文名字)

*必须同时符合以上5点才是真正的银联标准信用卡


银联标识         天坛防伪标志

原来如此,看来我的两个支持visa的双币信用卡就直接被咔嚓。拿出另一张建行大学生信用卡,自信看了一下,居然符合上面的规则。其实其他倒是不要紧,区别会在防伪标志上。Visa卡的标志是一只飞的鸽子,master card、American Express这些,也都有自己的标志。银联搞这么个标准信用卡,无非也是想把手伸到Visa万事达这些巨头的锅里。不管怎么说,制定标准总是一件很酷的事情。

最后show一下我的两张非银联标准信用卡,新买的奥林巴斯相机,足以满足我这种傻瓜用户了:

白色或是金色的鸽子,反光里能看到相机的镜头。

租房要小心

下午遇到房东,说还打算住两个月,什么时候交一下房租。房东说签合同的时候已经说好签一年了,我脑子里嗡地空白了一下:千小心万小心,还是着了道了。

拿出来合同一看,果然,从08年7月到09年7月。前些日子还在考虑要不要继续租下去,看来未来相当长的一段时间,都不用考虑了。房子不算太贵,损失也不那么多,但还是让我和alone有点郁闷。不想在支付宝一工作就是一年,连喘气的时间都没有。

大家租房时小心为上,得把合同逐字看看。当你拿笔签字的时候,一定要非常、非常地小心。我自己这次,就当买个走向社会的教训吧。

干掉SimpleTagging (警惕copying to tmp table on disk)

SimpleTagging插件是我一直都在blog上用的tag插件,哪怕WP出来了内建的tag支持,我还是保留了SimpleTagging,因为它可以提供一个相关文章列表。为了这个相关文章,我每次写东西都会添加两次tag:一次是添加到wp自带的tag系统,一次是SimpleTagging。

但昨天发现服务器上mysql数据库进程的CPU占用经常有大的波动,忍不住用show processlist;看了一下。发现在CPU占用较高的时候,主要是涉及到SimpleTagging进行相似度比较的操作。由于我的文章太多、查询的语句也比较复杂,所以Mysql每次都会进行”copying to tmp table on disk”。可想而之,这样的操作有多耗资源。不过还是可以较快地处理完,所以在slowquerylog里没有这些查询。

但还是不能容忍每一次查询都来一个copying to tmp table on disk,权衡之下,只好干掉了SimpleTagging插件。这下不能显示相关文章了,但好处是不用每次写文章都加两次Tag了。Wordpress作为一个blog系统是非常好用,但插件往往会用得太多,一个页面要几十次查询的情况非常普遍。当文章的量比较大(我已经有一千几百篇文章),SimpleTagging需要在这么多文章中寻找相似条目,自然会慢下来。至于copying to tmp table on disk的出现,往往意味着还要进行file sort,在开发的时候,应该多用explain,看看能做哪些优化。

被百度知道雷到了

我只是看看从上海去乌镇的办法,百度居然在旁边,出现了两条有“张磊”的待解决问题。

华国锋

在我们国家当过一把手的,多是南方人,只有华国锋是出自山西。他这个一把手当得并不久,可他活得够久,看着曾经的对手一个个挂掉。

看新闻时翻到了他晚年的图片,突然想起去年和智勇一家到军事博物馆参观,来了一个保镖成群的年迈领导,步履蹒跚。这两件事情被我神奇地联系在了一起,一搜索,果然找到了明证。

使supesite和discuz!同时登录

前几天帮朋友在discuz!基础上搭了一个supesite。弄好之后发现,两边无法同时登录:在论坛登录之后,在supesite中还需要登录一次;而在supesite登录之后,去论坛还需要再登录。

本来都是康盛他家的东西,为啥不弄得可以一起登录呢?简单检查了一下发现,其实是可以弄到一起的,只要把两边程序的cookie前缀和cookie域写成一样的就可以。这些修改可以在config.inc.php进行。

rails中使用Ultrasphinx+Cache_fu加速全文检索

前段时间我写了在Rails中使用Ultrasphinx代替acts_as_ferret插件来做全文检索,相应地也会用sphinx取代ferret。具体的做法可以看这篇文章

先明确下概念,sphinx是类似lucene的一个全文检索实现,而ultrasphinx是rails的插件,有了ultrasphinx,我们可以方便地使用sphinx进行索引、检索。

但我在使用的过程中发现,每次进行检索之后,ultrasphinx都会调用一次或多次find_all_by_id来获得符合条件的ActiveRecords。但如果在项目中用了cache_fu之类的插件,使用memcached做对象缓存后,ultrasphinx依然没法使用缓存。为了避免这成为性能的瓶颈,我开始探索,是否可以让ultrasphinx和cache_fu合作,让搜索的结果也能使用memcached的缓存。

查了一下,ultrasphinx的作者还真的提供了这个口子,虽然他也不确定是否会有人用。打开/vendor/plugin/ultrasphinx/lib/ultrasphinx/search/internals.rb,找到一个叫reify_results的函数,里面有这样一段:

finder = (
Ultrasphinx::Search.client_options['finder_methods'].detect do |method_name|
klass.respond_to? method_name
end or
# XXX This default is kind of buried, but I’m not sure why you would need it to be configurable, since you can use ['finder_methods'].
“find_all_by_#{klass.primary_key}”
)

也就是说,只要设置Ultrasphinx::Search.client_options['finder_methods']的值,就可以自定义查找ActiveRecord所使用的方法。正巧,在使用cache_fu插件后,有一个get_caches可以达到我们的目标。

于是在config/enviroment.rb中增加一行:

Ultrasphinx::Search.client_options['finder_methods'] = ['get_caches']

然后重新启动应用。试着搜索一下,不出意外会看到一个出错的提示。这里是因为get_caches函数返回数据的格式和find_all_by_id有点小区别。find_all_by_id返回的是一个ActiveRecord的数组,而get_caches返回的是一个数组的数组。只消在上面的internal.rb中的reify_results函数里,找到下面这个地方:

records.each do |record|
record = record[1] if record.is_a? Array
results[ids.index([class_name, record.id])] = record
end

加粗的一行是原来没有的,加上这一行,就可以让ultrasphinx正常使用cache_fu了。而且即使将设置改回去使用find_all_by_id,程序也可以正常运行。

其实这里标题里说”加速全文检索“并不准确。因为如果使用cache_fu,势必会在get_caches的时候将与对象关联的信息也一并获取出来,在关系很多的时候,这个往往会需要进行多次数据库查询。所以一定要权衡好,是不是适合让ultrasphinx使用cache_fu。

近窥糗事百科改版

大头糗事百科秘密我都一直在关注,虽然看起来是很简单的两个网站,但流量不小,alexa如今都在8万左右。记忆中在05年大头就在推广他的糗事百科,如今子宁和我,都是忠实读者了。

糗事百科和秘密都是用rails搭建的,最近进行了一次升级。升级后我发现,原来是类似articles/view/1234的地址样式,如今已经变成了articles/1234.htm。这应该是为SEO做的考虑。关于一个网站的URL怎么设计,我曾推荐过一本书Web2.0高级编程,这里面关于实现和维护URI地址空间有不少阐述。其实一个主要的出发点就是把URL看做资源,让它回归本质(URL中的R,就是Resource的意思),而不是把某个地址和php/java这些东西绑起来。基于此,形如article/view/1234的地址是被推荐的。

而现实中的情况往往相反,虽然搜索引擎不喜欢a.php?id=3这种地址,但对articles/view/1234的好感也很有限。以前我并不确定,但看到糗事百科的改版,肯定了自己的判断。还是什么都敌不过静态啊。

话说回来,豆瓣、曾经的V2EX还有其他的一些网站,链接格式是非常遵守规范的,没有向静态妥协。在SEO上,更重要的还是合理地链入链出。

近期关注

每天都在培训中,实在没有太多时间。马上就要开学,可以想象还有一些琐事要处理。不过最近还是抓紧一切时间学习,关注的东西包括:

Yahoo! BOSS API

Google App Engine

Ultrasphinx:一个rails插件,可以和sphinx结合,进行全文检索。

SNS网站的开放平台

特别想弄一个Google App Engine上的玩意,可是实在没有大段的空余时间了。

阿里20亿投资淘宝的猜测

前段时间淘宝五周年的时候,马云放话要投资20亿给淘宝。这个钱从哪里来,自然是从B2B织好的棉被里。

最近得知,原来淘宝一直就在向支付宝付钱,心里突然联系到阿里注资淘宝这件事。B2B上市以后财报都会被很多家盯着,此时再不停给支付宝输血就不那么容易了,倒不如借着这个机会,多砸点钱出去,虎虎生风,多有面子。

这20亿,会有多少,最终花在支付宝了呢?