262011
 

日语元音(Japanese Vowels)问题:

Task Type

classification, speaker identification

Sources

Original Owner and Donor

Mineichi Kudo, Jun Toyama, Masaru Shimbo
Information Processing Laboratory
Division of Systems and Information Engineering
Graduate School of Engineering
Hokkaido University, Sapporo 060-8628, JAPAN
{mine,jun,shimbo}@main.eng.hokudai.ac.jp

Date Donated: June 13, 2000

Problem Description

Distinguish nine male speakers by their utterances of two Japanese vowels /ae/. Continue reading »

242011
 

本来只是闲暇时候弄着玩的博客,并没有考虑过有什么大的成就,写给自己看罢了。后来看着"冰河"同学折腾的有声有色,觉得还是挺好的。前几日GoDaddy又一次推出一美元域名,顺势就拿下了这个心仪已久的域名了。

博客的服务器还是没换,一直用着以前那个免费主机空间BYET Host。这个空间还挺稳定的,也或许是我上线频率低的缘故,从来没碰到过服务器Down的情况。5632MB的磁盘空间,每月200GB的带宽,50个MySql数据库每个50MB,各种域名的支持,Linux + Apache 2.2.15 + PHP 5.2.13……对于免费主机来说也算挺好的了吧?唯一不爽的是经常说我长时间不登录需要激活,很是莫名其妙,不过登录一下就正常了。

以后可能比以前勤奋一下吧,经常来写一点手头上做的工作,转载些觉得有价值的文章什么的。但是依旧没有保证啊,手头的事情往往太琐碎了。

222011
 

一、首先是备份WordPresssql数据库,也就是导出Mysq数据库里的数据。

如果您的新域名还没有生效,这时你不能急于对WordPress搬家,用临时url不能正确安装WordPress
进入phpmyadmin后点击右侧出现的数据库名称,再点击export,然后依下图操作,第一步是点击select all,然后选择sql…

最后点GO导出。完成这些操作,你的电脑上会有以下两个项目:
1
个或多个数据库备份文件和你的WordPress下的所有文件。
Continue reading »

242011
 

看到几篇子弹飞的揭秘,大呼过瘾,于是搞了个DVD版,反复观看关键细节验证了下,发现子弹飞真乃神作。

  1黄四郎没有死,他打死了武智冲,穿着汤师爷的衣服出现在了火车上,看到姜文后还回了下头


火车驶过去后传来大家的笑声,混音里面最明显的就是黄四郎声音。

  Continue reading »

十二 272010
 

wxPython 有两种方法对窗口内的 widgets 进行布局:

  • 绝对定位(absolute positioning
  • sizers

绝对定位(Absolute Positioning

       首先必须了解一下因使用绝对定位而造成的问题:

  • 当窗口大小心改变的时候,窗口内的 widgets 的大小和位置不会改变。
  • 在不同的平台上有不同的布局表现。
  • 改变字体可能将程序的布局弄得一团糟。
  • 如果想改变布局,必须彻底地重设 widgets 的布局。

       下面的例子是一个简单编辑器的框架,使用了绝对定位布局,可以发现,当我们改变窗口大小, wx.TextCtrl 的大小并没有随之改变。



Continue reading »

十一 192010
 

/******************************
*Filename: Inception.cpp
*Author: Sean
*Date/Time: 2010.11.18/00:58
*Modified: 2010.11.18/11:27
*Version: 1.3 (Notes added)
******************************/

#include

void func_inception(int count)
{
count += 1;
printf(“在梦境第%d层\n”, count);
if (count == 4) return;
//count是梦境深度的计数,也用来模拟上一层发出的失重信号,这里与影片有出入
func_inception(count);
//进入下一层梦境,count也用来模拟在两层之间传递信息,如那段音乐
printf(“回到梦境第%d层\n”, count);
return;
}
void main()
{
int init_count = 0;
printf(“在现实世界\n”);
func_inception(init_count); //现实到梦境的入口点
printf(“回到现实世界\n”);
}

/*看完才知道,每个函数开头被编译器加上的那两句:
push ebp
mov ebp, esp
使得我们对在梦中还是在现实一目了然,寄存器ebp就是“图腾”,一个压栈操作足矣搞定一切喽。*/

//注:本文代码VC++ 6.0编译通过

//恩恩,都凌晨一点了,睡觉去睡觉去。

132010
 

1.        在Python中使用中文

在Python中有两种默认的字符串:str和unicode。在Python中一定要注意区分"Unicode字符串"和"unicode对象"的区别。后面所有的"unicode字符串"指的都是python里的"unicode对象"。

事实上在Python中并没有"Unicode字符串"这样的东西,只有"unicode"对象。一个传统意义上的unicode字符串完全可以用str对象表示。只是这时候它仅仅是一个字节流,除非解码为unicode对象,没有任何实际的意义。

我们用"哈哈"在多个平台上测试,其中"哈"对应的不同编码是:

1.              UNICODE (UTF8-16),      C854;

2.              UTF-8,                    E59388;

3.              GBK,               B9FE。

1.1     Windows控制台

下面是在windows控制台的运行结果:

可以看出在控制台,中文字符的编码是GBK而不是UTF-16。将字符串s(GBK编码)使用decode进行解码后,可以得到同等的unicode对象。

注意:可以在控制台打印ss并不代表它可以直接被序列化,比如:

向文件直接输出ss会抛出同样的异常。在处理unicode中文字符串的时候,必须首先对它调用encode函数,转换成其它编码输出。这一点对各个环境都一样。

Continue reading »

042010
 

PyQuery是一个类似于jQuery的Python库,也可以说是jQuery在Python上的实现。pyQuery是使用lxml来实现快速的xml和html操作的。具体的PyQuery文档见:http://pyquery.org/

用这个来做蜘蛛爬数据的时候分析html并从中提取数据还是很爽的。

废话不多说,直接看一点简单的例子吧:

>>> from pyquery import PyQuery as pq

>>> d = pq("<html></html>") #可以直接拼HTML

>>> d = pq(url='http://www.powereasy.net/') #也可以打开一个url

>>> d('title') #取title元素

[<title>]

>>> print d('title').text()

动易网络 – 领先的内容管理系统(CMS)、企业级电子商务平台(B2C)和站群管理系统(SiteGroup)提供商

>>> print d("#logo").html() #根据ID获取元素

<a href="http://www.powereasy.net" title="&#x52A8;&#x6613;&#x7F51;&#x7EDC;">官方主站</a>

>>> d('.s') #根据类名获取元素

[<li.s>, <li.s>, <li.s>, <li.s>, <li.s>, <li.s>, <li.s>, <li.s>]

>>> a = d('#topNavIn li:eq(5)').find('a') #复杂点的选择器也是可以的,看来支持的不错

>>> a.attr('href') #属性操作

'http://sms.powereasy.net/'

>>> a.attr('href', 'http://qleelulu.cnblogs.com').attr('href') #修改属性值

'http://qleelulu.cnblogs.com'

>>> d('#LoginFrom').hasClass('Login_ajax') #css类操作

True

>>> d('#LoginFrom').addClass('lulu').attr('class') #css类操作

'lulu Login_ajax'

>>>

Continue reading »

032010
 

由于设计者和开源社区的共同努力,在python中有大量优秀的库可以被直接调用以高效地完成不同需求的工作。这里列举一些常见常用的库:
  Tkinter———— Python默认的图形界面接口。
  Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的,目的是为了简化用户接口的设计过程。Tk工具包由许多不同的小部件,如一个按钮、一个滚动条等。通过Tk提供的这些小部件,我们就可快速地进行GUI开发。Perl、Scheme等语言也利用Tk库进行GUI开发。Tkinter是跨平台,在各种平台下都能使用。
  Python Imaging Library(PIL)————python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。
  Pmw(Python megawidgets)Python超级GUI组件集————一个在python中利用Tkinter模块构建的高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能。
  PyXML———— 用Python解析和处理XML文档的工具包,包中的4DOM是完全相容于W3C DOM规范的。它包含以下内容:
  xmlproc: 一个符合规范的XML解析器。
  Expat: 一个快速的,非验证的XML解析器。 还有其他
  和他同级别的还有 PyHtml PySGML
  PyGame———— 用于多媒体开发和游戏软件开发的模块。
  PyOpenGL———— 模块封装了“OpenGL应用程序编程接口”,通过该模块python程序员可在程序中集成2D和3D的图形。
  NumPy、NumArray和SAGE———— NumArray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说就是一个矩阵库。它的低层代码使用C来编写,所以速度的优势很明显。NumPy是Numarray的后继者,用来代替NumArray。SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代 Magma, Maple, Mathematica和Matlab 这类工具。
  MySQLdb模块———— 用于连接MySQL数据库。还有用于zope的ZMySQLDA模块,通过它就可在zope中连接mysql数据库。
  PyGTK ———— 用于python GUI程序开发的GTK+库。GTK就是用来实现GIMP和Gnome的那个库。有了它,你完全可以自信的尝试自己制造Photoshop
  PyQt ———— 用于python的Qt开发库。QT就是实现了KDE环境的那个库,由一系列的模块组成,有qt, qtcanvas, qtgl, qtnetwork, qtsql, qttable, qtui and qtxml,包含有300个类和超过5750个的函数和方法。PyQt还支持一个叫qtext的模块,它包含一个QScintilla库。该库是 Scintillar编辑器类的Qt接口。

PyMedia ———— 用于多媒体操作的python模块。它提供了丰富而简单的接口用于多媒体处理(wav, mp3, ogg, avi, divx, dvd, cdda etc)。可在Windows和Linux平台下使用。
  Psyco ———— 一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。
  Python-ldap ———— 提供一组面向对象的API,可方便地在python中访问ldap目录服务,它基于OpenLDAP2.x。
  smtplib模块 ———— 发送电子邮件。
  ftplib模块 ———— 定义了FTP类和一些方法,用以进行客户端的ftp编程。我们可用python编写一个自己的ftp客户端程序,用于下载文件或镜像站点。如果想了解ftp协议的详细内容,请参考RFC959。
  xmpppy模块 ———— Jabber服务器采用开发的XMPP协议,Google Talk也是采用XMPP协议的IM系统。在Python中有一个xmpppy模块支持该协议。也就是说,我们可以通过该模块与Jabber服务器通信,是不是很Cool。
  下面这些就不详细介绍,只列出名字和功能
  adodb ———— ADO数据库连接组件
  bsddb3 ———— BerkeleyDB的连接组件
  chardet ———— 编码检测
  scons ———— 项目构建工具,写好了模板用起来还是很方便的
  sendpkt ———— Python发包
  setuptools ———— 一套python包管理机制
  Cheetah ———— 构建和扩充任何种类的基于文本的内容
  pycurl ———— URL处理工具
  pydot ———— 画图的,graphiz
  pyevent ———— Python的事件支持
  pylint ———— 培养良好的编码习惯
  Pylons ———— 又一个web framework
  pypcap ———— 抓包的
  pysqlite2 ———— SQLite的连接组件
  python-dnet ———— 控制网络安全的其他设备
  pythonwin ———— Python的Windows扩展
  pywmi ———— 省了好多折腾功夫
  reportlab ———— Python操作PDF的Libary。
  scapy ———— 网络包构建分析框架,可编程的wireshark,有兴趣的google “Silver Needle in the Skype”
  simplejson ———— JSON的支持
  sqlalchemy ———— SQL数据库连接池
  SQLObject ———— 数据库连接池
  cherrypy ———— 一个WEB framework

ctypes ———— 用来调用动态链接库
  Cx-oracle ———— 连接oracle的工具
  DBUtils ———— 数据库连接池
  django ———— 一个WEB framework
  DPKT ———— raw-scoket网络编程
  docutils ———— 用来写文档的
  dpkt ———— 数据包的解包和组包
  feedparser ———— rss解析
  Kodos ———— 正则表达式调试工具
  Mechanize ———— 爬虫连接网站常用
  pefile ———— windows pe文件解析器
  py2exe ———— 用来生成windows可执行文件
  twisted ———— 巨无霸的网络编程框架
  winpdb ———— 自己的程序或者用别的库不太明白的时候就靠它了
  wxPython ———— GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构
  PIL———— Python 的图像处理库,可以打开数十种图像格式,还提供许多图像处理函数,如图像增强、滤波算法等。
  Pyro———— Python实现与JAVA RMI类似的技术
  PLY———— 基于Python的LEX、YACC的语言工具
  Corepy———— 使用Python开发编写x86汇编程序
  LightCloud———— Python实现的分布式的键-值数据库
  Parallel Python(PP)———— 轻松开发SMP、集群并行计算的库
  开源社区的工作已经完成到这样的程度,基本上各种常见的编程需求都已经有非常成熟稳定高速的模块来实现,你所需要做的,只是去把它找出来然后阅读文档。