祝鹏's profile悖论空间PhotosBlogLists Tools Help
    February 09

    回来诈尸

    好久没写过了,回来逛一圈,hoho
    October 19

    转场公告!!

    很久没有用 MSN Space写东西了, 以后恐怕也要少用了
    换场地了:   http://blog.2tuzi.com  
    不是说 MSN space 不好,而是自己的地方更亲切些


    请大家去  二兔子:   www.2tuzi.com  哈哈.
    September 29

    剑侠2公测庆功会~

    昨天偷偷潜回柏彦大厦,正好赶上剑侠2公测庆功会,在20楼的大堂里,雷军开了香槟,王峰和任健都在。趁乱也混了一杯酒喝。
    虽然离开了,情分难舍阿。
    怀念一个地方,更多的是怀念那里的人吧。
    August 29

    CPUG Python会议

    昨天下午,在中关村理想大厦20层,新浪的会议室里举行了CPUG (China Python User Group)第一次会课。之前的成立大会,因为身在珠海没能参加,很是遗憾。
    昨天的会议,主要是由Sina的 HD做的《Sina的开源之心》的演讲,以及Limodou带来的 EasyGui 的演示与讲解。
    会上,大家对Python开源的推进以及活动组织都作了讨论。
    最大的收获就是见到了经常“是也乎“的 ZoomQuiet, 还有久仰的Limodou,以及很多网上的朋友。
     
    晚上,取一起参加会议的TOY的工作室坐了坐,聊了很多。
     
    在北京就是幸福。
    August 02

    今天开始 LesReader 项目

    终于开始做自己的项目了,虽然开始了很多次了 ,不过这次开局不错。
    LesReader, MacOSX下面的 Rss新闻阅读器,具体要做成什么样子,我也说不清楚。反正主要目的是为了练手么。
     
    http://hanzhupeng.u8.1358.net/  先临时按个窝
     
    Cocoa + Python  ,哈哈 太爽拉,就是资料少点。
    July 21

    Python-C++

    语法元素

    C++

    Python

    Python语法说明

    注释

    //

    /* ….. */

    #  单行注释

    “”” 多行注释 “””

    三个引号可以提供多行注释,类或函数的 __doc__变量

    变量

    int a,b,c;

    char c = ‘A’

    int x[10]

    a = [ 1,2,3 ]

    a = “a string”

    b = a

    Python变量不需要声明。Python中一切都是对象,我们操作的是对象的引用。

    字符串

    char* h1 = “hello”;

    string h2;

    s1 = ‘hello ’

    s2 = s1 + “world”

    s3 = “”” 多行

    字符串”””

    s4 = s2[6:]

    使用单引号或双引号表示字符串,三个引号可以表示多行。字符串可以简单的连接,并像列表一样操作。

    List (数组)*

    int arr[10];

    vector<int> vec;

    s1 = range(10)

    s2 = s1[3:6]

    s3 = s1[::-3]

    s4 = [ s2, s3, [0, 1] ]

    [] 表示list Python中强大的数据结构,可以保存任何对象的引用,通过 [::]可以支持强大的元素访问。

    Tuple(元组)*

     

    (1,2,”string”)

    简单讲就是只读的list,一般在传递参数时使用。

    Dict (字典)*

    map<string, int> count;

    ages = { 'albert':23}

    a1 = ages['albert']

    ages[‘cindy’] = 24

    {} 中用冒号分开 key, value对。

    条件语句

    if ( a > b){

       max = a;

    }else{ … }

    if  a > b:

       max = a

    else:

       max = b

    条件不需要用括号括起,if 后用冒号,通过缩紧来表示不同的层次,注意统一。

    循环语句

    for do while

    for item in [1,3,5]:

       print item

     

    for 循环相当于其他语言中的foreach;此外还有while 循环,与C++类似。

    函数

    int max( int x, int y)

    {

       return x > y?x:y

    }

    int n = max(1,2);

    def fact1(n):

       if n == 0:return 1

       return n*fact(n – 1)

    fact2 = lambda(n):

      reduce(lambda a,b : a*b,  range(1, n+1))

    fact1(5)  # 120

    fact(1000) # 惊讶么?

    def 定义普通函数,参数没有类型

    另一种 lambda匿名函数定义可以在某些情况下简化程序。

    class Person: public Object{

       Person();

       ~Person();

    private:

       //

    }

    class Person:

       def __init__(self):

          self.name = “”

       def setName(self,name):

          self.name = name

       def getName(self):

          return self.name

    p = Person()

    class Person(Base): 实现继承,另外Python是支持多继承的,更酷的是,可以在运行时动态更改添加基类(mix-in)

    __init__ 是类的初始化函数

    self 可以类比为C++中的this指针。

    主程序

    int main(int argc, char *argv[])

    {

      

    }

    if __name__ == ‘__main__’:

       print ‘hello world’

    Python脚本并不一定要特定main入口。程序是从文件开始的语句开始执行。

    与其他语言协作

    dll

    COM

    Python/C API 可以使用C语言编写Python扩展模块;可以将Python作为脚本集成到C的项目中。

    Jython Java实现的Python

    IronPython,PythonNet 集成到dotNet平台

    运行

    编译后运行

    l         交互模式下直接输入语句执行

    sh# python

    >>> 

    l         单独程序执行

    sh# python prog.py 

    或文件头加 #!/usr/bin/env python

    l         嵌入其他语言程序中执行

    Python 无废话上手

    Python无废话上手指南

    作者:韩祝鹏

    Email: hanzhupeng@hotmail.com

    简介

           Python是一种强大的容易学习的通用编程语言。它包含了内建高级数据结构,语法优雅,可以与其它语言相互协作,具有很多强大的扩展库,因此又被称作是“胶水语言”。Python是完全开源,其实现的源程序可以免费获得,可以作为研究学习高级语言的范本。

    基本Python环境

    Python的官方网站是 www.python.org 在这个网站下载最新版本的Python安装程序。Windows用户可以下载 MSI安装包,其他平台可以下载源程序自己编译,另外针对MacOSX平台还有MacPython版本。

    本文以Windows平台 Python2.4版本为例。

    Python的运行方式分为交互模式与程序模式,这与早期的 Basic语言很相似。

    Windows命令行或 Unix shell 下输入 python 命令,即进入交互模式。在 >>> 的提示符后面可以输入程序,回车即立刻执行。

           Python的开发环境主要有:

    l         IDLE Python安装程序中带的简单的编辑器,带有交互环境与简单的编辑调试环境。

    l         NewEdit,特别推荐的一个国内Python limodou开发的编辑器,具有插件扩展功能。

    l         Eclipse PyDev 插件,可以在Eclipse中进行Python语言开发。

    模块的安装和使用

    Python的扩展模块存放在 Python安装目录\Lib\site-packages 下。在Python官方网站有有一个Python Package Index (PyPI) http://www.python.org/pypi),分类存放了各种模块的索引。下载下来的安装包一般提供源程序,执行 python setup.py install 命令即可安装。

    基本语言要素

    Python具有通用语言的基本要素:变量、表达式、流程控制、函数、对象。Python的语言很清新,没有大括号分号或$ 之类的。Python比较特殊的地方在于它的完全对象化,忽略这一点在编程时会有些“莫名其妙”的问题。另外Python语言使用缩进来表示程序的结构,有利于写出漂亮的程序。具体与C语言的对比见表。

    程序框架

    一个Python程序包含模块引用、类定义、函数定义和执行语句几部分。下面是一个框架:

    #!/usr/bin/env python

    import os   # 导入模块

     

    def func():   # 函数定义

           pass

     

    class Object:          # 类定义

           def __init(self):

                  pass

     

    if __name__ == ‘__main__’:

           # 主程序部分

    常见问题

    l         怎样知道有什么函数可用?

    Python是一种具有“自省”能力的语言,执行 dir() 可以看到当前环境中的对象。dir(__builtins__) 可以列出内建的方法。对其他的模块也可以相应的得到其中的方法。

    l         __init__(self) 是什么意思?

    类每创建一个实例便会调用 __init__ 函数,类似于C++中的构造函数。self 变量是指向“这个”实例的引用,可以对照C++ this指针理解。

    l         我怎样显示一个窗口?

    涉及到GUI的开发,Python可以使用很多种图形库,包括 tk, wxPython, wxQt, Gtk+, 甚至通过扩展可以使用 dotNet WinForm 这些就留给读者继续探索。

    资源

    www.python.org   Python官方站点

    http://wiki.woodpecker.org.cn/ 啄木鸟社区,国内最活跃的Python人的聚集地

    http://www.czug.org/ 中文Zope用户组

    http://python.cn        Python中文社区

    July 11

    网络体验的思考

      沉迷网络到底好不好,似乎不是一个尖锐的问题了,更多的争吵集中在网络游戏方面。
      一直以来,沉迷在网络中的虚拟世界,而减少了日常的交流。这是人们广泛体会到的,而网络开始不正是为了增进交流么?
      人的本性是渴望交流的,渴望与别人一起讨论,而不是自己埋头看动漫,听音乐,人们希望能和大家一起讨论。这是网络的基本功能,同样爱好兴趣与职业的人聚集在一起,成为了一个个的信息岛。
      google之前,人们通过yahoo的目录去找到这些岛,google后,人们通过google的“卫星”图,去直接找到想要的信息,可以一下子看到很多的岛,直接找到想要的信息,而对那些岛不再关注了。这里有一个问题,越来越依赖于google,而减少了交流。人们习惯用google去直接找到信息,一个个人都成为了网络上的独行侠。
      孤独感
      google是对内容索引,还没有对“人”来索引。
      google:从内容--〉人----〉交际圈
      人的索引: 从交际圈---〉人--〉内容
     
        有些像MSN 的兴趣组
    July 06

    头文字C

    昨晚看过《头文字D》,中午和同事吃饭便开始YY:

     

    他在写 print "hello world"的时候好快啊,不过一写到 if 就好慢。

    四年前,我手上长鸡眼,于是叫他帮我去写程序。开始时,他4点钟开始写,到5点半钟才写完。后来就5点钟,再后来只要半个钟,现在写一套ERP只需要4分半钟。

    这台386很快就满足不了你了。

    你以为那是一台普通的386么?光是CPU风扇就改装了一个月。

    键盘的角度,机箱的前后平衡,风扇通风都经过了调校。

    我买了一个很性感的鼠标。 -_-!

     
     
    ------------------
    今天中午吃牛拉的时候,联想到头文字D...

    “5年前的一天,我长了口腔溃疡,只好让他帮我吃一碗牛肉拉面。当时开始吃的时候我记得是4点钟,吃完是5点50分。后来过了一年,变成5点30分,再后来,是5点。现在最快的话,只要4分半钟了。”

    “那他吃得这么快,有没有出现过意外呢?”

    “意外?是出现过一次。两年前的一天,他因为赶时间,把碗给咬碎了。当时我狠狠地揍了他一顿,叫他以后吃面不能用牙,否则就不给他买单。然后他吃一碗面要2个小时,1年后变成1个小时,现在有多快,我也不清楚了...”

    “后来有一天,他突然告诉我,吃面条没有味道,我当时很着急,带他去医院又检查不出什么问题。那个时候我才意识到,不是面条没味道,而是他吃得太快,汤没有跟上...”

    July 03

    你会摆S形Pose么?

      一直对流行文化很不感冒,虽然未曾躲过Jay,Fx 的地毯轰炸,但对于他们那种商业包装的成名方式很不以为然。
      对于芙蓉姐姐的迅速窜红,我虽然有些错愕,但更多的是一种坏坏的窃笑。从传播角度讲,嘿嘿,周什么伦,F多少4到底比不上一个自产自销的芙蓉姐姐。(好阴暗的心理阿)
      用一个自己创的词:娱乐恐怖事件 大体可以概括出芙蓉姐姐所带来的效应。一个传播娱乐平民时代正在挑战明星霸权时代。
      平心而论,芙蓉姐姐的那个S造型还是有点难度的。普通人还真难摆出来。
      一个人只点一种菜没有变化,是没有个性,但如果他几十年只吃一种菜,那就是极大的个性了。
      摆一次S形不难,难的是摆一辈子S形。
      木子美已经功德圆满,做了博客中国的传播总监了。芙蓉姐姐能否打出一片天?她个人的成败无关紧要了,重要的是,会有更多的更有真实才华的人通过网络走出来,丰富这个世界。
    July 01

    PySWT PyQT wxPython 这个世界真美妙

    > 如果是在win平台下,下面两个视情况选一个下载。我的key也附上。省得你再注册了。
    >
    > For Microsoft Visual Studio .NET 2003
    > http://www.trolltech.com/developer/download/qt-win-eval-desktop-4.0.0-vs2003.exe
    >
    > For Microsoft Visual C++ 6
    > http://www.trolltech.com/developer/download/qt-win-eval-desktop-4.0.0-vc60.exe
    >
    > Licensee name: alang
    > Qt License Key: BGKX-FM5-Q4M-2CX-LYFX-HGM87-0146

    http://www.opendocs.org/pyqt/index.lxp?lxpwrap=book1%2ehtm

    书名叫 《GUI Programming with Python: QT Edition》

     
    > Qt参考文档(中文)
    > http://www.qiliang.net/qt/index.html
    > 很全的。大部分的类,api,架构介绍,都有了。
     
    Qt Class Chart (很漂亮的类图,还可以点)
     
     
     

    PySWT --- Python + SWT by GCJ and SIP

    http://www.cs.nyu.edu/zilin/pyswt/pmwiki.php?n=PySWT.PySWT

    June 29

    词霸的Blog搜索怎么这么惨啊

    搜 “芙蓉”,给出的结果居然完全不相关的,而且排版也很糟糕
    blog 搜索是多么有前途的一件工作啊
    June 27

    Flash RIA 的尝试

    再次提起对Flash RIA开发的兴趣。

    看到 Spaceimage 的卫星图片浏览程序是用的 Flash,很强大。

    flash romoting 的服务器,有Python和 Php的开源的可以给我们穷人玩

     

    ----

    昨天试验了 PHPAMF,很奇怪,我在 Flash remoting 里,始终连接不上服务器。或者是连接了没有反馈。反正就是,不知死活。

    又看了其他人的开发经验,说是phpamf 那东西不大适合大项目~ 咬牙换 Java 的 OpenAMF

     

    今天折腾了一天的 OpenAMF,下载下来的OpenAMF 是Java的源代码。用 ant builder 出 war,然后扔到 tomcat的 webapp里去。

    就是这么简单的一个过程,愣是折腾了半天。 可恨的 apache 的网站上给出的ant的链接都打不开的,汗。又下载了一堆相关的lib,什么 spring, rss, axis 什么的。

    好像又回到了三年前,在网络中心与JSP死磕的日子。

    June 26

    再次被Google震撼了

    Picsasa -- 搜索本机图片,集显示于编辑于一身,软件界面清爽高效。

    用过后,我不禁长叹:没前途!!!没前途 !!

    google将是下一个比MS更强大的霸主

    Cool! 太Cool!了

    能把一个创新的概念做到最好,就成了google

     

    敬畏google -- 地图搜索

    在 map.google.com 搜了几个地方~~ 哈哈 这个精度可以用在导弹上了

    第一张是公司附近, 自己住的那个小楼也能看到

    后面是华盛顿,林肯纪念堂,二战纪念碑 ,还有<阿甘正传>里面经典的那个反战游行的水池.

    June 25

    欢迎大家来留言

    ^-^ 土八路有土办法,来留言吧

    June 17

    流氓软件乱弹

    为什么我一直用 google,因为我相信它,也相信它的信条: Don't be evil.

    为什么我一直坚信金山,也是因为我相信它,相信这里的理想和正派。

    对3721,baidu,8848,等等乱七八糟的插件,用一些比病毒更恶心的手段抢占市场,恶性竞争,不只是在技术上,看看baidu对google做过的事,已经超越了正常的竞争与普通的口水战。

    在点击率、流量、“用户量” 之外,应该有种规则与正气。

    流氓软件以成公害,瑞星已经公开发文了,他们的Antispy也快出了吧。

    3721 市场力量大,我一个小程序员惹不起他,不能报它为“病毒”,但逃不过广大网民的舆论。把决定权交还给用户。

     

    June 16

    向3721学习 -- 设计 Antispy

    (注,我一般用3721代指所有流氓软件,并不特指3721上网助手)

    不得不痛苦的承认,很多很多用户是喜欢3721这款流氓软件的。

    像我这样的“普通用户” 是不多的。

    既然 Antispy目标就是给最初等最初等的用户用的,那就一定要给他们最最简单易用的界面。

    让他们甚至不用按按钮,直接就能解决一部分问题才好。这样的话,软件启动即扫描一些立刻能出结果的东西,像 BHO,IE修改,使用痕迹之类,用向导给他一个立刻的解决办法。

    普通用户最大的安全问题是,他们不知道自己是不安全的。往往机器里面已经驻留了很多流氓软件也不知道,只是觉得机器莫名其妙就慢了,弹出些广告窗口,也不觉的不正常。

    直到 IE浏览器的标题栏被改了(往往是被改成黄色网站的地址)才知道出问题。

     

    May 29

    群众的眼睛

    昨天晚上,加入了 HSQL内嵌数据库,可以记录发言时间

    今天下午,把反刷屏功能作了

    另外又随手加了一个 flatter 功能:发现群里特定人物说话,就跟一句“文成武德,一统江湖” 。试用之后发现,此功能过于bt,被屏蔽掉了。