17 fxjtoday

尚未进行身份认证

暂无相关描述

等级
TA的排名 2w+

Design Pattern

很多程序员用面向对象语言写了多年的代码,仍然不知道设计模式为何物,这不奇怪,设计模式并不是非有不可,可是它能让代码变的更美好。程序员大可闷头堆代码,复制粘贴,然后不断的感慨代码难以维护,难以复用,难以扩展,而继续不思进取。当然也可以选折不断去追求更美好,更合理的代码,把自己从bug调试,需求变动等噩梦中拯救出来,进而真正体会到编码的乐趣。你如果选折后者那么

2011-06-17 17:35:00

基本数据结构(算法导论)与python

Stack,QueueStack是后进先出,LIFO,队列为先进先出,FIFO在python中两者,都可以简单的用list实现,进,用append()出,Stack用pop(),Queue用pop(0),pop的时候注意判断len(l) 对于优先队列,要用到前面讲到的堆链表和多重数组这些数据结构在python中就没有存在的价值,用list都能轻松实现散列表为了满足实时查询的需求而产生的数据结构,查询复杂度的期望是O(1),最差为O(n)问题描述,对于n

2011-05-26 17:28:00

排序算法python实现

MergeSortdefmergeSort(data):   length=len(data)   iflength0andlen(r)>0:       ifl[0]>r[0]:           data.append(l.pop(0))       else:           data.append(r.pop(0))                iflen(l)>0:     data.extend(l)   else:  

2011-05-15 21:37:00

Python常用模块

查找帮助dir(string)#可以查看模块所有的成员变量和函数#下面的代码可以把变量和函数分开放到list里面forfvindir(string):   name="string.%s"%fv   ifcallable(eval(name)):       funOrC.append(fv)   else:       vars.append(fv)有两个函数需要说明,eval,功能是将字符串生成语句执行,比如eval('string.strip()')可以把字符串转化为真正的函数

2011-05-14 10:08:00

An Introduction to Asynchronous Programming and Twisted (笔记)

前篇为了更好的理解Twisted研究了异步处理.我所关心的不是怎么样用Twisted去编写异步处理server或client,我更关心Twisted是怎么样用python实现这个异步框架,他design的高明之处在哪里.本来准备自己去看看Twisted的源码,但今天发现了这篇Blog,感叹牛人处处有啊http://krondo.com/?page_id=1327 TwistedIntroduction(DavePeticolas)http://blog.sina.com.cn/s/bl

2011-05-14 10:05:00

从Twisted谈起异步处理

Twistedisevent-based,asynchronousframework,Twisted是基于事件的,异步处理平台.所以我们想要很好的理解Twisted,就先来看看什么是异步处理?WhyAsynchronous?Thereareonlytwowaystohaveaprogramonasingleprocessordo'morethanonethingatatime'.Multi-threadedprogrammingisthe

2011-05-05 15:15:00

boilerpipe(Boilerplate Removal and Fulltext Extraction from HTML pages) 源码分析

开源Java模块boilerpipe(1.1.0),http://code.google.com/p/boilerpipe/使用例子,URLurl=newURL("http://www.example.com/some-location/index.html");//NOTE:UseArticleExtractorunlessDefaultExtractorgivesbetterresultsforyouStringtext=ArticleExtractor.IN

2011-04-13 13:30:00

decruft(A library to extract meaningful data from a webpage) 源码分析

开源Python模块,http://code.google.com/p/decruft/decruft使用example,fromdecruftimportDocument#importurllib2#f=urllib2.open('url')f=open('index.html','a')printDocument(f.read()).summary()分析一下summary的实现,总体来说并没有什么复杂的理论,主要就是根据段落中的wordnumber,link

2011-04-13 11:33:00

Python标准模块logging

开发Python,一直以来都是使用自己编写的logging模块.比较土......今天发现python的标准模块的这个功能做的挺好,记录一下,以后使用模块来进行logging.对于这个模块的介绍网上也很多,我也不用自己写了,比较好的如下,http://crazier9527.iteye.com/blog/290018  Python的标准logging模块http://blog.endlesscode.com/2010/06/03/python-logging-module/ P

2011-04-07 16:00:00

Zope简介

之前一直使用Django在开发web应用,觉得Django易学,好用.后来看到Zope,觉得两者的scope有重合,所以大概学习了下Zope,记录一下.了解Zope可以先看看这篇Blog,zope系列一:zope的悲剧(http://www.douban.com/group/topic/11400495/)Zope(ZObjectPublishingEnvironment)是一个企业级的web应用服务器的开发平台,它很强大,也比较复杂,所以从某种程度上而言,它无法被Pyt

2011-03-01 11:08:00

Python之道 (大道至简)

TheZenofPython1.Beautifulisbetterthanugly.2.Explicitisbetterthanimplicit.3.Simpleisbetterthancomplex.4.Complexisbetterthancomplicated.5.Flatisbetterthannested.6.Sparseisbetterthandense.7.Readabilitycounts.8.Specialcases

2011-02-23 15:50:00

海量文档查同或聚类问题 -- Locality Sensitive Hash 算法

考虑一下这个场景,使用网络爬虫高速爬取大量的网页内容,如果想把这些网页进行实时聚类,并从中提取每个网页聚类的主题.我们应该怎么样去做对于普通或常见的聚类算法,比如K-means,或Hierarchical聚类,无法适用于这个常见,对于这些聚类算法无法进行incremental聚类,即在聚类开始前必须知道整个数据集,而这个场景中的数据集是随着爬虫不断增多的.而且这些聚类算法的performance不够高,比如对于K-means需要不断的partition以达到比较好的聚类效

2011-02-22 15:56:00

Inside C++ object Model--构造函数

DefaultConstructorConstruction构造函数是干啥的,是在构造类对象的时候,给程序员进行对象初始化操作的机会.不仅如此,同时也是给编译器进行对象初始化的机会.当然程序员和编译器的扮演的角色是不一样的,考虑的问题也是不一样的.当程序员觉得这个类对象没有任何初始化的必要时,他就不会特意去声明构造函数.那么对于一个类,当程序员没有声明任何构造函数的时候,编译器有可能会为该类声明一个default构造函数.之所以是'有可能',是因为编译器也是很懒的,如果他

2010-12-28 14:39:00

Inside C++ object Model--多态(Object-Oriented)

C++支持如下三种programmingparadigms(程序设计典范):1.TheproceduralmodelasprogrammedinC,and,ofcourse,supportedwithinC++.2.Theabstractdatatype(ADT)modelinwhichusersoftheabstractionareprovidedwithasetofoperations(thepublicinterfa

2010-12-17 15:41:00

Inside C++ object Model--对象模型概述

在C中,"数据"和"处理数据的操作"是分开声明的,语言本身并没有支持"数据和函数"之间的关联性.这种称为"procedural",由一组算法函数所驱动,他们处理的是共同的外部数据.而C++,则在程序风格,更在程序的思考上有明显的差异,它以ADT或classhierarchy的数据封装建立数据和操作的关联性.在软件工程的眼光来看更为合理.但是程序员往往出于效率和简易性考虑而选择C.那么使用C++是否就一定意味着低效了...其实C++在布局以及存储时间上的额外负担主要是由"virtual"

2010-12-16 17:14:00

C语言 -- 函数内局部数组

直接看这个例子voidtest(){   charb[25];   printf("%s/n",b);   b[0]='a';   b[1]='b';   b[2]='c';   b[3]='/0';   printf("%s/n",b);}对于上面的test函数,如果连续调用两次,会得到什么样的输出答案是:???abcabcabc这是我实际测出的值,我当时很迷惑,为什么b是局部数组,当数组结束时这部分内存就被释放了,而第二次

2010-12-09 11:08:00

Python调用C/C++的种种方法

<br/>Python是解释性语言,底层就是用c实现的,所以用python调用C是很容易的,下面就总结一下各种调用的方法,给出例子,所有例子都在ubuntu9.10,python2.6下试过.<br/> <br/>1.Python调用C(base)<br/>想在python中调用c函数,如这儿的fact<br/>#include<Python.h><br/><br/>intfact(intn)<br/>{<br/> if(n<=1)<br/

2010-12-07 09:59:00

COM本质论 笔记

COM本质论的第一章看了很多遍,看了忘,忘了看,一直觉得写的太好了,看了有醍醐灌顶的感觉,最终觉得这么忘下去不是个事,尤其年纪大了,还是来记些笔记吧.这本书属于如果你不是COM的设计者,没有那种陪COM一路走来的过程,是绝对写不出来的.个人认为任何复杂的理论,只要你了解它的始末,都可以用比较容易理解的方式描述出来,这就是科普的可行性.某些故作高深的专家,所谓的那些不知其所云的书和文章,真是让人深深的鄙视...本书的这一章主要是描述了从C++静态库,一直演化到COM的C++原

2010-11-30 16:35:00

C专家编程 笔记

C语言中的符号重载C语言非常的简洁,以至于不愿意用太多的符号,这样有很多符号在不同的地方有不同的含义这样会让用户很困惑,这是c的语言特性,也是设计上的一些失误static  在函数内部,表示该变量的值在各个调用间一直保持延续性;对于函数,表示该函数只在本文件中可见extern用于变量,表示该变量在其它地方定义;用于函数定义,表示全局可见(属于冗余的)void   用于参数列表中,表示该函数参数为空,如intmain(void);用于返回值,表示该函数返回

2010-11-25 15:16:00

C语言易混淆关键词详解-const, static, extern, typedef, 声明

ConstConst关键词并不能把一个变量变成一个常量,在符号前加上const表示这个符号不能被赋值,即他的值对这个符号来说是只读的,但并不代表这个值不能用其他方法去改变.通过下面的例子就能比较好理解,inti=5;constint*a=&i;*a=8;  //报错,只读不能赋值i=10;  //OKConst最有用处的地方是用它来限定函数的形参,来表明该函数不能修改实参指针所指向的数据.同上面的理解,并不表示这个数据是常量,在函数外是可以修改的.如

2010-11-19 16:10:00

查看更多

勋章 我的勋章
    暂无奖章