‘经验分享’ 分类下的文章
2011/1229

玩Flask几个月的感受

分类:经验分享 | 发表评论 | 点击量:168次

Flask是10年4月份才发布的mrico python web framework, 开发团队Pocoo之前的作品包括但不限于:

都是大名鼎鼎项目,所以我们有理由相信Flask查不到哪里去。很多人拿Jinja 2 或 Werkzeug去整合到自己的框架中,Pocoo团队可能觉得有必要写个东西把Jinja 2 和 Werkzeug整合到一起弄一个完整的web框架出来,于是就有了Flask。

作为一个玩过Django这种大而全的框架的人,我推荐所有玩Django的朋友都试试Flask:

1、你玩过一段时间flask后,回头会对django的了解更深入

2、其实flask玩到后面,你搭好自己的架子后,用起来和Django一样

3、优秀的测试、debug功能

4、Flask的缺点是需要自己搭架子

5、Flask的优点是可以自己搭架子

2011/1130

The Zen of Python, by Tim Peters

分类:经验分享 | 发表评论 | 点击量:142次

DelaiMacBook:~ delai$ python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import this

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one– and preferably only one –obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those!

2011/0112

无需任何代码,两步实现Twitter同步到新浪微博(新浪关闭同步,此方式已经失效)

分类:经验分享 | 发表评论(17 条评论) | 点击量:7581次

由于twitter在墙外,新浪微博在墙内,要实现快速同步还是有点难度的。抛开那些半自动的方法不谈,目前从twitter同步到新浪微博主要有下面几种

一、Google App Engine(GAE)流

在Google里搜索“GAE Twitter 新浪微博”,结果一大堆,可见此法非常流行。但缺点有二:

1、需要自己下载python写的GAE工程代码,修改好配置文件,再deploy到Google的服务器上,虽然有图文教程,但对于一般人还是有点难度的。

2、不稳定、不及时。从日志上可以看出,经常会同步不成功,虽然设了10分钟同步一次,但一条推发出去后经常几个小时才同步成功。日后有空倒是可以改一下其中的bug。

二、WordPress中转 流

建个WordPress博客,安装个Twitter Tools插件,把该博客专门用来同步Twitter。然后新浪微博里设置同步该博客。此法基本上能保证发新推后几分钟内同步到新浪微博。但缺点有二:

1、此法的前提是要有国外服务器空间。安装WordPress,配置插件还是稍微有点门槛的。

2、同步结果不理想。Twitter Tools插件会以你的新推的前30个字符(半角的哦)为标题,新推的全文为内容在博客中发布一篇新的博文。所以,新浪微博同步过去后只显示10来个字(新浪微博同步博客时候只同步标题),后面跟一个链接。这显然不是我们想要的。

不过,这倒有办法解决。WordPress后台有插件编辑功能(当然,如果你愿意ssh到服务器或本地修改然后FTP过去也可以)。

找到twitter-tools插件里的

twitter-tools.php文件里的

function do_tweet_post($tweet)函数里的

, ‘post_title’ => $wpdb->escape(trim_add_elipsis($tweet->tw_text, 30))  这一行

将30改成140即可。这样,由Twitter Tools自动发表的博客的标题就是推的全文了。

你可能发现了,以上方法都需要接触代码。

三、我的方案,无需代码

我这个方案的优点就是无需接触代码,居家旅行老少咸宜。此法分两步走,具体如下:

1、你首先得有Google Buzz。Gmail里那个,在Goolge Buzz里面关联你自己的Twitter账号。

2、访问(https://www.google.com/profiles/me) 如果你的Google账号处于登陆状态,会转到你个人信息页面如(https://www.google.com/profiles/shidelai), 上面有你的Buzz列表。对于新浪微博来说,这个可以是你的博客了。那么就去新浪微博里面设置跟这个网址进行关联吧。

用此法,且无需基础任何代码。Buzz同步Twitter是非常快的,一般在10秒以内,但新浪微博同步“你的Buzz”这个博客比较慢,所以,一般发新推后10来分钟才能自动同步到新浪微博,

2010/0803

我在使用的目前比较完美的feed托管方案

分类:经验分享 | 发表评论(4 条评论) | 点击量:1103次

此方案只适用于网站主机位于在中华人民共和国以外的情况。

国内很多博客都没有托管自己的feed,直接http://www.xxxxx.xx/feed这样的形式输出。优点是不需要折腾,缺点是大家都直接从自己的网站直接读feed信息,对流量大的网站来说可能有带宽压力,并且不便于统计。所以很多人都托管了自己的feed到一些网站,国内主要是feedsky,国外是feedburner。

我之前一直用feedsky,最大的优点是支持二级域名,直接使用feed.shidelai.cn这样的地址,而不是feeds.feedsky.com/xxxxx这样的地址,这样做的好处是即使以后改了feed托管网站也可以依旧使用feed.shidelai.cn,修改下DNS即可。可是最近几个月feedsky更新非常慢,让人受不了。Google之,得另一法:

使用墙外的FeedBurner,这是Google提供的服务,更新速度快,发文章后,几秒钟内feed马上更新。缺点是不支持二级域名,被墙了。于是,对于那些使用国外主机的网站,就有人想出了一个办法,可以让墙内的无需翻墙订阅托管在墙外的FeedBurner的feed:

1、翻墙,在feedburner注册自己的feed,得到如http://feeds.feedburner.com/delai的feed地址。

2、建个二级域名feed.xxxx.com对应的网站目录,里面放一个index.php,包含如下代码:

4
5
6
7
<!--?php
header("Content-Type: application/xml; charset=utf-8") ;
@readfile("http://feeds.feedburner.com/delai");
?-->

3、修改好feed.xxxx.com对应的DNS记录。

这样,每次访问feed.shidelai.cn的时候,这段PHP代码都会把feedburner里的feed内容读过来并返回的客户端。这跟代理有点类似。

这样,抛开了不争气的feedsky,既有了,FeedBurner的快速更新,又有了独立的二级域名作为feed地址。

2010/0426

上海火车南站小贴士

分类:经验分享 | 发表评论 | 点击量:609次

1、售票厅

一楼有个售票厅,但晚上就不售票了。三楼有两个,南面的是第一售票厅,北面的是第二售票厅,由于地铁楼梯上来附近就是第一售票厅,所以第一售票厅人会比较多。人多的时候建议花2分钟绕到北面的第二售票厅。

2、杭州动车票

一般会有一个专门的窗口是卖近期去杭州的动车票,排队的队伍会比较短。

特别要指出的一点:地铁一号线出来往火车南站走几步路的右边有个买上海地图的小点,往往坐着两个中年大妈,口中念念有词:杭州动车票,马上要开了,60块。 经阿德本人试验,这几位大妈卖的票货真价实,货源很足,很靠谱。

3、吃的

如果赶车没时间坐在那里吃肯德基、真功夫什么的,建议在地铁一号线这边买盒寿司车上吃,要两包酱油哟,酱油老会不够用。

2009/1214

我选笔记本的5个原则

分类:Mac, 经验分享 | 发表评论 | 点击量:663次

经常会有人让我帮Ta选台笔记本,可能他们觉得我好歹计算机研究生,选出来的笔记本更靠谱一些。

其实没有的。

讲讲我是怎么选笔记本的吧,希望有用,以下文字都是我个人见解,我就不客套了。

另外,需要声明:如果你是要买台游戏机,以下原则不适用。因为我认为玩游戏就要玩得爽,不爽还不如不玩,如果我要玩的游戏真的需要那么高的配置、14寸都不够用,17寸还嫌小,那么我直接搞台台式机玩了。

五个原则

1、第一要考虑的是外观;

笔记本其实就是个电子产品,经常要带在身边的东西,就好比身上的衣服,外观不好其他都是浮云。

我会选择比较轻薄的,因为我经常带着笔记本到处跑。

2、第二要考虑的是续航能力;

笔记本的电池续航能力对我来说很重要,普通笔记本的电池往往只能用一两个小时。我需要我的笔记本能用4个小时以上。续航能力强也意味着这台机器节能方面做得比较好,直接提升了接下来的呃第三点。

3、第三要考虑散热;

知道为什么同档次的“CPU、显卡、硬盘、内存”,ThinkPad的价格往往是神舟的两倍么?其中一个原因就是散热。

散热好意味着什么?软硬件故障率低、笔记本寿命更长、不烫手……、心情好、可以不需要外置散热器。

4、第四考虑价钱;

不是我不差钱,只是我需要满足前面三个条件后才会去考虑去买,这才会考虑第四点,钱的问题。我如果不买何必去考虑钱的问题。基本上,国内买电子产品是比在国外买贵的(除了山寨系列),而且是贵很多。所以能在国外买就国外买吧,特别是美国,实在不行香港买也行。至于为什么,问我们敬爱的党吧。这方面最严重的就是我们的“民族企业”联想公司。同一款ThinkPad的售价他可以让国内售价高出英国售价一倍以上。

我们在人民当家做主的祖国做着祖国的二等公民,世界的三等公民。

5、第五考虑屏幕;

目前比较好的是LED屏,这种屏和普通的屏幕的区别是:更薄、色彩更真、更省电。比如说:普通屏幕的黑色其实是有亮度的,LED屏的黑那是真的黑,跟断电时一个样的…..

很多笔记本都已经老早用LED屏了。

一些误区:

2009/0906

Macbook+22寸液晶=iMac

分类:Mac, 经验分享 | 发表评论 | 点击量:24159次

最近都是用13寸的Macbook在寝室里做宅男。屏幕有点小,总是没有大屏幕舒服,于是把原来自己买的放在实验室里的22寸液晶给搬回来了。买了个Mini Display Port转VGA的转接口,把Macbook连上液晶显示器。不得不佩服Mac OS X做的真好,无需额外装什么软件,系统原生态支持多显示器功能(不像windows,需要显卡驱动里面设置),而且配置、使用起来超级方便。具体如下:

、外置液晶显示器双屏幕一起用

效果:Macbook的屏幕还是跟原来一样,外置的液晶显示器只显示桌面图片,没有Dock拦和上面的状态栏,可以把Macbook屏幕里的窗口拖到外置液晶显示器里看。

实现方法:打开左上角苹果图案下拉菜单的System Preferences(系统偏好)里面的Display()设置界面。点击Detect Displays按钮,不出意外,外置显示器就有反应了。你可以勾选下面的“Show Display in menu bar”复选框,这样桌面Menu栏里面就会出现一个电视形状的图标,要对双显示器进行什么设置都可以点击它找到想要的设置项,使用起来比较方面。

Macbook屏幕不工作,只使用外置液晶显示器

效果:可以把Macbook仅仅当作一个电脑主机,连上鼠标键盘,合上Macbook,外置显示器成了一个iMac。

实现方法:先实现上面双屏幕的效果,鼠标移动到外置液晶显示器上,然后合上Macbook,进入休眠状态。接着点几下鼠标,怎么样?外置显示器醒过来了,Macbook的屏幕还在睡着呢.. Done

2009/0620

xp远程桌面“远程计算机已结束连接”5种解决方案

分类:Mac, 经验分享 | 发表评论 | 点击量:2277次

如果遇到不能登陆某台xp的机器的远程桌面,如果客户端是mac或linux则要先找台xp的机器试试能不能登陆,如果xp的机器也不能登陆应该就是服务器端那台你要登陆的xp机器的问题了。可以尝试以下方法:

一、确定已经开启允许远程登陆

1. 右击我的电脑–属性–远程–两个复选框都勾上。

2. 控制面板-管理工具-服务中的Remote Desktop Help Session Manager 和Telnet 服务开启

重启

如果还不行,那么:

二、给本机所有用户赋予远程管理的权限

1. 开始–运行–输入regedit回车–找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\RDPDR–右击RDPDR–权限–选上完全控制复选框

2. 新建一个文本文档命名为111.reg–将如下内容复制进去保存–双击111.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\RDPDR\0000]
“ClassGUID”=”{4D36E97D-E325-11CE-BFC1-08002BE10318}”
“Class”=”System”
“HardwareID”=hex(7):52,00,4f,00,4f,00,54,00,5c,00,52,00,44,00,50,00,44,00,52,\
00,00,00,00,00
“Driver”=”{4D36E97D-E325-11CE-BFC1-08002BE10318}\\0030″
“Mfg”=”(标准系统设备)”
“Service”=”rdpdr”
“DeviceDesc”=”终端服务器设备重定向器”
“ConfigFlags”=dword:00000000
“Capabilities”=dword:00000000

重启

如果还不行,那么:

三、排除由于Terminal Services的设备重定向器导致远程桌面无法连接

1. 到以下链接下载Devcom.exe工具http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe
2. 解压(比如解压到了桌面上,桌面上会有个i386文件夹)

3. 启动命令行模式(开始–运行–输入cmd回车)

4. 切换到该目录的i386目录(在打开的终端中输入 cd 桌面/i386)。
5. 运行devcon -r install %windir%\inf\machine.inf root\rdpdr命令重新安装Terminal services重定向器。

6. 然后重启系统,测试是否修复错误。

如果还不行,那么:

如果正确修改注册表通过使用注册表编辑器或者通过使用其他方法 警告 可能发生 Serious 问题。 这些问题可能需要重新安装操作系统。 Microsoft 不能保证可以解决这些问题了。 修改注册表位置自己 risk.To 变通解决此问题, 启用 DFS 客户端注册表中。 要这样做, 请按照下列步骤操作。 1. 然后单击 确定 、 开始 , 在 打开 框中, 键入 regedt 32 和 运行 。
2. 中注册表编辑器, 找到并单击以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Mup
3. 在右侧, 细节窗格中双击 DisableDFS 。 如果 数值数据 框中值为 1 , 禁用 DFS 客户端。 如果 数值数据 框中值为 0 , 启用 DFS 客户端。
4. 编辑 DWORD 值 对话框中, 在 值数据 框中, 键入 0 , 然后单击 确定 。
5. 在 文件 菜单上, 单击 退出 以退出注册表编辑器。

进入注册表编辑器窗口,展开“HKEY_LOCAL_MA CHINE\SYSTEM\CurrentCon trolSet\Services\TermService\ Parame ters”,找到名为“Cer tificate”的子键,将它删除,重新启动XP系统或Windows 2000 Server服务器,系统就会重新生成“Certificate”子键,这样客户端就能正常连接到终端服务器了。

2008/0612

Firefox打开页面长期处于‘Read i.ytimg.com‘状态的原因

分类:经验分享 | 发表评论(2 条评论) | 点击量:5468次

今天打开博客时候发现页面显示有点不正常,Firefox左下角一直显示:Read i.ytimg.com。百度一下i.ytimg.com竟然没有一个结果,Google了下倒是很多,总结如下:

第一,出现这种状况不是该网页的问题。

第二,这个问题只出现在网页中包含Youtube视频的时候,只要点击下播放按钮问题就没有了。

第三,YouTube的播放器中所用到的图片——比如播放结束后出现的相关视频的截图,都是来自ytimg.com。(ytimg.com is YouTube Image Server)