您还没有登录。现在登录注册

介绍一款虚拟主机--webFaction

分类: 其他   |   jeff  发表于:2009-06-26 21:41:59  |   0条评论  |

博客在Johnny兄家里借宿久了,不方便,并且WordPress对评论的spamer防不胜防,刚好大郎兄在计划买主机,于是两人一拍即合,一起买了一款新主机--webFaction.

当初我们都想买VPS,国内的有rashost,他们有外国的主机,当时就心动了,准备下手。后来知道webFaction, 据说对python的用户特友好,框架安装使用方便,特别是对django,turboGear甚至是phone,zope这样的庞然大物等支持很到位, 并且价格比起Rashost要便宜,因为有了超级用户权限的SSH帐号,所以VPS就显得不是那么重要了,最后我们选择了webFaction最便宜的包,年付102美元,两人平摊,也就每人¥349一年,10G的存储空间还算不错了,比起国内一大堆很烂的主机要划算得多。

webFaction的前端使用的是Nginx,所以在处理静态资源效率很好,用户的每一个应用可以使用Apache作为第二层服务器进行微调。另外WebFaction还支持透明的横向扩展,只要你有需要。

现在我的博客就是部署在webFaction上的,速度方面大家可以自个感觉一下,我觉得还是蛮快的。

有在寻找python、ruby主机的同学考虑一下webFaction吧,注册过程中如果需要推荐码,就用我的"jeffjie"吧,不知道有没优惠,我当时注册就苦于没有找到推荐码,全价购买。

webFaction

像CSS选择器一样用BeautifulSoup

分类: 编程   |   jeff  发表于:2009-06-23 01:06:23  |   0条评论  |

较早前写扒虫多,虽然BeautifulSoup很 好用,但厌倦每次都要手动去编写复杂的Dom元素定位语句,突然想,能不能像CSS选择器一样,只给一个表达式就返回我想要的东西?后来在网上找了下没找 着,想了想工作量也不大就自己实现了一个,目前支持ID,Class,标签及属性选择器、支持 space、 >、 + 操作符,基本上已满足大部份定位需求。

代码见附件里的BTSelector.py,另附UnitTest。
常见使用方式是:
注意,本脚本依赖于BeautifulSoup,所以,使用之前请确保你已经安装了。

python 代码
 
  1. from BTSelector import findAll  
  2. soup = BeautifulSoup(htmlContent)  
  3. nodes = findAll('div.navigator #notice',soup)  
  4. # findAll返回的是符合选择条件的Dom 对象列表,实际上是BeautifulSoup的标签或字符类。  

用testCase作为使用示例:
一、上一个复杂一点的用例:

python 代码
 
  1. def testMixSelection(self):  
  2. target = "#header > div#name > a.highlight"  
  3. html = ''' 
  4. <div id="header"> 
  5. <div id="name"> 
  6. <a>test</a> 
  7. <a>right</a> 
  8. <a>ok</a> 
  9. </div> 
  10. <div id="your"> 
  11. </div> 
  12. </div> 
  13. <div id="body">fk 
  14. </div> 
  15. '''  
  16. soup = BeautifulSoup(html)  
  17. ret = findAll(target,soup)  
  18. self.assertEqual(2,len(ret))  

二、再上一个使用位置操作符的用例:

python 代码
 
  1. def testPosition(self):  
  2. target = "h2 + ul > li > a"  
  3. html = ''' 
  4. <h2>title</h2> 
  5. <ul> 
  6. <li><a href="#">nothing</a></li> 
  7. <li><a href="#">ok</a></li> 
  8. <li><a href="#">come on!</a></li> 
  9. </ul> 
  10. '''  
  11. soup = BeautifulSoup(html)  
  12. ret = findAll(target,soup)  
  13. self.assertEqual(3,len(ret))  

更多的见附件的Unittest。希望大家喜欢。

MindNode--用好思维导图

分类: 软件   |   jeff  发表于:2009-06-23 01:04:15  |   0条评论  |

picture-81

MindNode是一款思维导图软件,用来梳理想法、组织语言、管理任务均可。

常见的思维导图软件有FreeMind,MindManager等,FreeMind是java开发的软件,所以任何一种平台上都可以使用,不过非Mac原生的程序,速度和外观都有点差强人意,而MindManager是比较昂贵的商业软件,上周阿北介绍了两款Mac下好用的软件时,我才知道MindNode这个小东西。

MindNode本身也是商业软件,不过分Free版和Pro版,本文介绍的是Free版。

MindNode Free的功能很简单:核心功能还是结点组织;她很好的支持多个根结点,这个Freemind没有;可以自定义结点路径的显示样式;界面布局简洁;支持多种格式的文件导出。

遗憾的是,MindNode 并没有结点描述的功能。这可是我惯用的功能了,没有还真有点可惜。

使用的整体感觉就是相当简洁、实用--最爱多根结点这个特性。上截图,不说了。

mindnode

Where Blogger is blocked happends

分类: 其他   |   jeff  发表于:2009-06-23 01:03:14  |   0条评论  |

记得以前GFW要墙的话也只是墙Blogspot,而现在。。可耻地把blogger也墙掉了。徹底无语了。

这样一来,国内许多使用Blogger平台搭建的半独立博客又死掉了,本博前段时间从blogger导过来的博客的图片已经无法再显示。GFW是越来越无耻了。收了国内BSP多少好处?病态的竟争环境。病态的GOV。真踏马的GlassMudHorse!

请允许我这样咏颂我天朝(配NBA背景音乐--NBA是牛逼啊的意思):

Where amazing happens……

Where GFW happens…..
Where 8×8=? happens......
Where die in dream happens......
Where GlassMudHorse happens…….
Where #70KM happens……
Where OMG,Youtube is Blocked happends......

让CodeIgniter的URL更完美

分类: 编程   |   jeff  发表于:2009-06-23 01:02:24  |   0条评论  |

CodeIgniter是一个轻型的PHP框架,老甘介绍我认识的,而她的作者是一位摇滚乐手兼程序员,怎么能不让我欢喜呢?嘿。

CodeIgniter推荐使用search engine友好的URL,如:/post/123 而非传统的 /post.php?id=123,当然也可以使用传统的URL,但是不作修改(或扩展)的CodeIgniter只能够两者选其一,不支持/post /123/?from=google这样的URL,其严重程度是直接报404错误,没有商量的余地。但是实际使用的时候,两者兼备的情况也不少,如果真不 支持这种URL的话,可能大多数人要选择另外的框架咯。

在网上找了下,解决方案还是有的,不过最后在我身上都失败了。最后试了下面这个办法:

一、自定义一个Input类,代码如下,以MY_Input.php为名保存到application/libraries下面。

[php]
class MY_Input extends CI_Input {

function _sanitize_globals()
{
$this->allow_get_array = TRUE;
parent::_sanitize_globals();
}

}
[/php]

二、把$config['uri_protocol'] 的值改为ORIG_PATH_INFO。

好了,现在的CodeIgniter可以兼容两种风格的URL了。。

有偿免费主机--Hastyfree

分类: 软件   |   jeff  发表于:2009-06-23 01:01:25  |   2条评论  |

经朋友介绍知道这款叫Hastyfree的免费主机,1G容量,50G流量每月,无限制数据库和FTP帐号,甚至使用SSH访问。经试验,速度也相当的快。

HastFree是HastHost旗下的一个免费产品。HastFree其实不是真正免费,你使用他的免费主要就得完成他给的任务,任务也很简单,两个选其一:

  1. 你使用免费主机时,要求在你站点的首页放上它的一块横幅广告,位置不限,并且要保证,两个星期你网站的流量不小于2MB。
  2. 你使用免费主机是,要求你站点上的贴子或文章每月至少发表10篇新的。

要求很简单吧?其实HastFree是在为HastHost打广告,而 hastHost是收费的,所以可以理解为HastFree是为我们提供有偿的主机服务,只不过不是美金。

我在上周就申请了一个主机,使用效果见这里。后台是使用Cpanel来管理,挺方便,1G的容量,足够建许多小站了。。不过服务器语言方面,只能是PHP和Perl哦。

有需要的同学们赶快去申请吧。

用Prism把网络应用本地化

分类: 编程   |   jeff  发表于:2009-06-23 01:00:16  |   3条评论  |

较早之前听说Firefox也要效仿Chrom支持多进程浏览网页了。不过凭Mozilla的底子,要实现应该是相当容易了。这不?Mozilla现在硬生生地把网络应用变成了本地应用!

Prism就是这样一个应用转换器,她可以把GMail,Greader等变成本地的应用程序,以后我不需要在浏览器中打开Gmail也可以收Email了。用Firefox实现这个太简单了,凭她强大的XUL。

先试试创建一个Reader应用。先安装Prism的Firefox插件

打开googleReader后,展开工具菜单,点选Convert website to Application。

picture-5

弹出配置窗口,并于程序界面、快捷方式和程序图标的一些设置。。为了让它看起来更像桌面程序,我就不选生成导航栏,甚至状态栏我也不要了。最后创建程序到桌面。

picture-6

确定后在桌面生成一个google reader.app的应用程序,双击打开就是一个本地的Google Reader应用程序了。。界面截图如下:

picture-8

此刻我想起了Adobe Air,诞生时让无数人惊艳的RIA神器,我开始知道,原来网络应用也可以变成桌面应用。

我知道Prism和Air是两款截然不同的产品,他们主要面对的用户群体也不一样,Prism对网络应用的最终用户友好,而Air是对网络应用的开发者友好,只是我想说,她们的最终目的都是为了最终客户。

Prism + Gear > Air?

不是开玩笑。Prism + Gear组合,仅需要开发一次,网络、桌面版应用均可使用,而Air只适合开发桌面应用,如桌面版的Ebay,就是用Air重新开发一套本地UI的。Prism + Gear(或其他嵌入式DB)后,Air只剩下“用户界面在本地”的优势了。

也许我不应该就Prism这么小的产品长篇大论,因为现在,桌面应用与网络应用的界限已经越来越模糊了。其实Prims只是给每个应用程序创建了一个独立进程罢了。。呵呵。

站内搜索

作者简介

jeff

一身不由已的前developer, 狂爱音乐,篮球,现习詠春.现在看见别人写代码就流口水,转而效阿Q曰:我在编写生活的代码.不管做什么,全力以赴!到这里看我都在发些什么牢骚.

mail
qq

赞助商链接

唠叨些啥捏

friends connect

我看我听我读

都有谁评论鸟

Tags

python 朋友 音乐 工作 django 生活 java 旅游 丽江 云南 编程 空间 javascript 摇滚 apple air 年假 2008 中国 google mac apache 主机 ajax grails 技术 健康 部署 学习 更新 web 互联网 gfw 乐队 ext 灾难 感情 flex jmesa 哀悼日 灾害 jquery beautifulSoup 感悟 flash 体验 开源 卖唱 plone 软件管理 数据库 电影 恐怖 诗歌 计划 原创 开发 orm sql 全文搜索 lucene 发呆 2009 管理 随想 大理 免费 mozilla 感性 香格里拉 休假 firefox 鼻炎 许巍 php 网络 AMF actionscript 汉诺塔 算法 递归 结婚 opensource htmlparse mindnode mindmap 技巧 blogspot url prototpye cpug 在线服务 嵌入式 海鲜 thing p2p easymule codeigniter 休眠 caffeine 英语 翻译 gtd task vpn 穿墙 手机仿真 经济 聚会 出差 prism 搬家 北京 api 创业 商城 blackberry 手机 TD 交流 处事 为人 房子 代理 西片 中文分词 模板 分页 成功 pagerank 中文 个性化 秋天 json 事业 职业 读书 香港 澳门 忧郁 函数式编程 并发 惊变 mysql rss 文艺片 太阳 彩色 factcgi lighttpd editor MYMeditor 日志 hibernate 英伦 中间件 erlang 冬天 compass dvd 需求 设计 信息 人生 真诚 life 杭州 捐赠 scrum 软件过程 快速开发 cms nuexo zope 左小诅咒 ria 遇窃 广州 地下 暴力 美学 声音玩具 独立 备份 数据 琐事 博客 接口 设计模式 图表 wiki moin demo

日志分类

友情连接

Power By