- 浏览: 64303 次
- 性别:
- 来自: 北京
最新评论
-
zjy3771272:
不知道你是在哪定义的,急啊。希望能解答我啊。谢谢!
一小时的极限编程, 关于socket.io -
zjy3771272:
你好,能说明一下data.cid
一小时的极限编程, 关于socket.io
文章列表
建立了一个个人blog网站, 可以从evernote上发布blog,这样就可以在移动环境中发布blog,http://note2share.com/superisaacke 以后就去那里混了。
从功能和UI上网站目前还比较简陋, 不过作为blog也够用了。以后会添加更多的feature.
算是使用django和bootstrap的一个实践。
网址在 http://wehuibao.com
总的来说,就是抓取多个微博home timeline(需要授权)中出现的url链接,然后脱水化成为可看的个性化的一个杂志。
使用python + mongodb实现,期间自己写了个mongodb 的object mapping。也研究了readability的页面脱水化算法。总的来说还是试验作品。
哦,智能手机也可以访问,使用backbone.js 框架。
周末看到新浪和腾讯上缺乏类似rtmeme/rtfocus之类的锐推机器人,以前在饭否上写过饭否小字报,就想看看能否为这些微博平台写一个,后来发现,不是别人不愿意写,而是国内的微博太奇葩了,没有适合这类机器人生存的小土壤也。
先上新浪微博平台,申请了应用,发现要上线得用oauth2认证,宣称oauth2认证更简单, 于是把代码从oauth1改成oauth2,期间各种文档中没有提及却遇到的问题就不说了,新浪的oauth2 access_token竟然有expire而没有refresh_token, 而且一天一过时(貌似应用审核后的是七天一过期)! 这意味着每天要手动重新授权一次才能保持机器人起码的 ...
从浏览器访问一个链接的通常步骤是
* 用户将鼠标移到链接上, 此时会发出链接的mouseover事件
* 用户点击链接, 产生click, 然后干等服务响应,因服务器响应速度不同,等待时间也不同。但是大多数情况下会产生用户可感知的延迟, 降低了用户的体验。
那么是否有可供压榨的空间来缩短用户等待时间呢?让我们来分析一下,由于用户是人,人的动作需要时间,mouseover到click中间会有一定的时间间隔,对本人来说,这个时间间隔通常是0.3-0.5秒之间,如果mouseover的时候就开始向服务器请求加载相关数据,就可以使用户可见的响应时间缩短,如果服务器请求响应时间小于人的响应,则可以达到 ...
MongoPie是个轻量级的开源python mongodb mapping. 目的是使用Object-Relational Mapping 类似的技术简化mongodb的编程,可以通过继承Model来实现mongodb 的schema.
比如,我们要实现一个简单的标签系统,首先定义Model
class UserTag(mongopie.Model):
''' 用户的标签云 '''
user = mongopie.StringField()
tag = mongopie.StringField()
count = mongopie.IntegerF ...
遇到现实社会中各种网页,出错的概率极大,不幸的事, BeautifulSoup也是基于此。
若干年前在某搜索公司实习的时候,曾经作个修改HTMLParser的活计,现在不得不重新来一遍。
基于bitcask日志模型的k-v数据库有多个实现,比如豆瓣db, riak里的,nodejs也有一个140代码的简单实现(node-cask),我这里实现的目的是,我需要在nodejs中找到一个简单的, 方便,完全异步的kv存储机制,不需要跨服务器分布式系统,类似于sqlite那样的就好了,基于以上,就用纯nodejs实现了一个
主要特点是
1. 完全异步,这个和node-cask项目不同
2. 没用除了nodejs自带module外的任何module
3. 数据log文件采用文本方式,可以直接用文本编辑器打开看以及一定的编辑
var yesdb = require('./yesdb') ...
node 可以通过v8 option --stack_size 设置分配的栈大小,缺省的大小是1024K字节(man node 时单位显示为KkBytes,不知道这是神马单位还是typo?)。
由于javascript没有尾递归优化,又是异步IO, 对于sequence调用有可能会造成栈溢出。可以采用setTimeout来规避这种风险, 但是setTimeout的性能如何呢?
我做的简单代码如下
function a(i) {
if(i <= 0) {
process.exit();
}
setTimeout(function () ...
html文档中通常夹杂着各种广告,相关性链接等,提取正文比较困难。
pycetr是一个开源项目,用python语言实现了html文档的正文提取。算法基于文章
http://www.cs.uiuc.edu/~hanj/pdf/www10_tweninger.pdf
Content Extraction via Tag Ratios
基本思想是将html分成行,计算每行的文本内容和html tag的比值,显然比值越大的,更倾向于是正文内容,而不是广告神马的。
源代码在https://github.com/superisaac/pycetr
实验执行方法为
python -m cetr & ...
昨天晚上花了一小时,体验了下快速极限编程,使用nodejs express + socket.io + jquery 制作一个极简单的聊天服务器,socket.io果然对于简单而强大
zengke:mchat$ date
Mon Nov 28 22:46:02 CST 2011
...
zengke:mchat$ date
Mon Nov 28 23:40:30 CST 2011
服务器端代码 node.js
var express = require('express');
var app = express.createServer();
var io = ...
ganglia支持python插件,熟悉了架构后编写起来还是比较简单的. 具体安装过程就不说了,各种系统配置不一样,推荐的安装方法也各有不同,这里只记下基本定制插件的写法.
ganglia的体系结构=gmetad + gmond, gmetad作为整个系统的调度和展示的控制中心,gmond则分布在每台受监控机器上定期运行各种监控度量(metric) 并将结果送到gmetad.
插件需要写成python module的方式,放置在/usr/lib64/ganglia/python_modules 下面, 简单实例模板如
import random
def get_foo_count( ...
智能手机的用户越来越多,但是据统计有一半使用智能手机的人通过GPRS这样的慢速网络上网,当微博客户端使用慢速网络上网时,时间线的数据大小就成为用户体验的关键,如果能压缩数据传输,好处自然是不用说的。
让我们看看一个典型的Timeline是什么样的格式。实例如下.
{ created_at: 'Tue Nov 08 11:50:41 +0800 2011',
id: 3377424618238221,
text: '11月7日,开发区管委会与全美华人金融协会战略合作协议签订仪式在开发区投资服务中心举行。开发区(南港工业区)管委会党组副书记、管委会副主任孙胜,开发区(南港工业区)管委会 ...
饭否小字报,锐推饭否热门消息,推荐活跃人物和新人。
http://fanfou.com/ifanfou
我们几个月前开发了饭否表白,今天终于借着七夕节的东风发布了。这是一种匿名的表白应用,用户可以像其他用户发送匿名的表白,当两人互相发送匿名表白后,系统就公开发出一个表白成功的消息。
饭否表白作为应用开发的尝试,是一个比较简单的应用,只有几个页面。使用django开发,尽管django有各种不完美之处,但是django的成熟提供了完整的,统一的框架(同其他组件为基础的第三方框架有区别),保证了有大量现成的工具可以用,使快速开发成型成为可能。而快速成型交付应用正是众多开发人员追求的。
不完美之处,比如性能瓶颈,django也提供了足够提升空间。这正式一个webdev 框架应该提供的。
Status.net是一个老牌的开源microblog服务器程序,微博网站identi.ca的源代码就是status.net,主要特点在于实现了一套Twitter兼容的API。兼容加上多年的社区经营使其拥有丰富的客户端,涵盖主要的平台, Adobe air, iphone, Desktop, Adium, android, Symbian S60, 黑莓等等。有些使用广泛的客户端也有较好的status.net支持,比如s60上的gravity, android上的seesmic, Air的Twhirl, 以及mac上的Adium等。
基于拿来主义的思想,饭否经过一定时间的开发也实现了一套sta ...