新浪微博开放平台学习

Posted on Fri 27 April 2012 in 我用(IT) • Tagged with PaaS, Python

关于新浪微博开放平台

From http://open.weibo.com/wiki/平台概述

微博开放平台是一个基于新浪微博客系统的开放的信息订阅、分享与交流平台。微博开放平台为您提供了海量的微博信息、粉丝关系、以及随时随地发生的信息裂变式传播渠道。 您可以登录平台并创建应用,使用微博平台提供的接口,创建有趣的应用或者让您的网站具有更强的社交特性。

用微博账号登录 经过简单的代码整合,并在自己的网站上放置微博登录按钮,您的网站用户就能够使用微博账号进行登录: 网站可以获取当前用户的用户名、头像图片、当前用户的粉丝和关注对象列表; 使用OAuth的授权机制进行开发,在网站的显著位置添加“与新浪微博连接”的功能,让用户与能够直接点击并登录。

内容发布与绑定 微博平台也提供了发布微博信息的接口,在网站上绑定微博账户后,可以在自己的网站上整合发布微博信息功能: 让用户在网站上生成的信息同步到微博网站上; 可以通过账号绑定来实时同步微博信息,让用户的关注者也能够及时了解用户的动态。

入门指南

的平台开放接口(Open API)对微博系统进行操作。 http://open.weibo.com/wiki/FAQ

  1. 注册成为开发者,获取AppKey 登录http://open ...


Continue reading

生成静态网页图片库的工具

Posted on Tue 27 March 2012 in 我用(IT) • Tagged with Picasa, Python

为了和大家分享照片,使用了两个生成静态网页图片库的工具:Picasa和create_JSON_gallery.py。 前者是google生产的强大看图软件,后者是斯坦福计算机系Phil Guo同学写的一个Python脚本; 前者用起来很简单但可选择的样式很少,后者的功能很强大,但操作起来还是要花点儿时间的。 这里就和大家分享一下使用经验

I use Philip Guo's JSON Photo Gallery: Create HTML webpage galleries with Python, no server-side scripting is required. Below is the steps of how i make it work.

requirement

python 2.6+ needed.

PIL wget http://effbot.org ...


Continue reading

Thrift Python入门者的经验

Posted on Fri 16 March 2012 in it • Tagged with Python, Thrift

缘起

新阳创建了一个基于Thrift的开发平台。除了基于Thrift服务本身,最吸引人的地方在于这个平台提供了服务框架生成(支持Java和Php)、注册发布和监控的集成,他们事业部好多新起的SOA服务项目都是在这个平台下开发的。 在新阳的大力倡导和帮助下,我们部门也开始尝试接入这个平台。为了能够整合进去,首先得要在基于Python的基础架构上整合fb303。

经过一周多,利用边角时间写了ThriftPy工程。可以指导大家开发基于Thrift的Python实现(详见ThriftPy/readme)

而在开发的过程中,碰到了一些很有趣的问题但无法写入开发指导,所以就有了这篇文字。

开发经验分享

一个好软件的源代码看起来一定是清晰而舒服的,在编写过程中对开发效率和运行效率的权衡经过了深思熟虑。

Thrift开发约定(目录结构、命名、注释等)

要想保证Thrift开发工程的清晰一致,一定需要对开发进行约定。

目录结构约定

src gen-py : thrift gen 生成的python代码 py : 手工编写的代码 test : 测试代码 if : idl--*.thrift

==== 命名约定 ====

'''IDL''' -- IDL中定义的结构和服务要进行最详细的注释 /* * Scan Service * /

service ScanService extends ...


Continue reading

UUID

Posted on Thu 08 December 2011 in 我用(IT) • Tagged with Algorithm, Python

通用唯一识别码 (Universally Unique Identifier, UUID)是一个软件建构的标准,亦为自由软件基金会 (Open Software Foundation, OSF)的组织在分散式计算环境 (Distributed Computing Environment, DCE)领域的一部份。

UUID的目的,是让分散式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的UUID。在这样的情况下,就不需考虑资料库建立时的名称重复问题。

1. 定义

一个UUID是由32个16进制数字所构成,所以UUID理论上的总数为2(4 x 32) =2^128,约等于3.4 x 10^38。也就是说若每奈秒(1ns=10^-9s)产生1兆个UUID,要花100亿年才会将所有UUID用完。

UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的32个字元。范例; 550e8400-e29b-41d4-a716-446655440000 ...


Continue reading

使用PythonTidy作为PyDev的Code Formatter

Posted on Fri 25 November 2011 in 我用(IT) • Tagged with Python

PyDev自身的Code Formatter能力较弱,不支持Maximum Line Length(完整的编码格式标准)。但它支持插入其它beautifier,比如PythonTidy。

操作过程如下,我在Mac OS下,Eclipse Helios,PyDev 2.24下:

  1. 下载PythonTidy.py wget http://lacusveris.com/PythonTidy/PythonTidy-1.20.python -O PythonTidy.py

  2. 编写Jython脚本 参考:http://pydev.org/manual_articles_scripting.html 注意:pyedit_pythontidy.py的第64行各位要修改一些,让PythonTidy.py能被脚本找到,linux下注意PythonTidy.py需要有执行权限。

    """
    This code is public domain.
    The ...


Continue reading

用Python实现应用Last-Modified和ETag避免下载重复内容

Posted on Wed 09 November 2011 in it • Tagged with HTTP, Program Language, Python

Http 1.1中避免重复下载的标记

使用Http1.1中定义好的头信息来避免重复下载,参考HTTP/1.1 Section 14 Header Field Definitions中的14.19 ETag/14.24 If-Match/14.29 Last-Modified/14.25 If-Modified-Since

开发者把Last-Modified 和ETags请求的http报头一起使用,能够有效利用本地缓存,降低无谓的重复下载。

示例代码逻辑

  1. 客户端下载一个链接(Sample);
  2. 服务器返回Sample,Sample中记录Last-Modified/ETag标记;
  3. 客户端再次下载这个链接,并将上次请求时服务器返回的Last-Modified/ETag一起传递给服务器;
  4. 服务器检查该Last-Modified或ETag,并判断出该页面自上次客户端请求之后还未被修改,直接返回响应304和一个空的响应体。 其实在《Dive Into Python》中就有相当详细的实例代码,强烈建议没看过这本书的python程序员们认真学习一下,会提升面向对象编程和网络编程能力的。

示例代码 ...


Continue reading

【22学单反】照片中的EXIF信息

Posted on Wed 25 February 2009 in 22学单反 • Tagged with dslr, Python

EXIF(Exchangeable image file format)是可交换图像文件的缩写,专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。
Windows XP系统下,右键查看照片属性->摘要 ->高级就可以看到。
包括拍摄的焦距、光驱(透镜孔径)、快门(曝光时间)、ISO等等信息。

python程序员可以使用Python Exif Parser (http://sourceforge.net/projects/pyexif/):pyexif来读取。


Continue reading

【性能测试】写了一个监控服务器性能的小工具

Posted on Mon 04 February 2008 in 我用(IT) • Tagged with Python, 性能曲线, 性能测试

- 功能
1. 在后台启动Linux自身的监控命令并生成日志
2. 分析生成日志并转换成csv格式

- 使用方法
1. 拷贝service.py和os_log_parser.py到本地
2. service.py start启动监控
本地会生成[pid]子目录,生成相关监控日志
3. service.py stop停止监控
4. service.py parse 日志转成svn

- 用Excel生成性能曲线
1. 用Excel打开CVS文件,选定要生成图表的数据区域
2. 单击“常用”工具栏上的“图表向导”按钮。或者选择菜单“插入→图表”命令。打开“图表向导”对话框
3. 在打开的图表向导中点击折线图,然后点选下一步,直到“图表向导-4 步操之3 ...


Continue reading