05 2011 档案
摘要:Pydev安装:1、Help > Install New Software..., 点add site 输入http://pydev.org/updates,取个名字 Pydev and Pydev extensions2、window > preferences > PyDev > Interpreter - (Python/Jython/IronPython). 配置interpreter,选择python安装目录下的python.exe,点finish,自动搞定。3、window > preferences 选择General->workspace,T
阅读全文
摘要:扯扯数据分析默认分类 2011-05-22 21:46:18 阅读2706 评论3 字号:大中小订阅 1、了解数据? 在别人的眼里数据分析既是很深奥的职业,也是被人挑战的职业,更是让你又恨又爱的职业!其实这些都不重要的,重要的是对此行感兴趣,骨子里有量化一切的意识!什么是数据?很多人首先脑海中出现的是1、2、3......等等,为何有这样的印象?其实是我们数据分析师为了更好的运用“统计学”所以要将许多数据想尽办法来转化为1、2、3这样的数据形式,从而更深入、科学的分析data,不扯这个了,这个没什么意思,看图:2、了解数据分析?提起数据分析,多数人第一印象就是图表,什么柱形图、条形图、饼图等等
阅读全文
摘要:PAMIE- Python实现IE自动化的模块(附 网易注册代码)2009-08-01 00:45PAMIE是一套为Python写的用于Web自动化测试的工具,采用Win32COM的方式操作IE来实现。pamie是个很好的操作IE的模块用pamie来操作ie浏览器好方便啊,本来它就是一个IE测试自动化的东西,这样,用pamie来抓取网页,自动提交表单很容易。使用:来测试一个最简单的例子:from cPAMIE import PAMIEie = PAMIE()ie.navigate("google.com")ie.textBoxSet('q','pyt
阅读全文
摘要:web:Python web automation 网页自动化技术看看我自己写的程序,在web automation这个方面的数量最多。网上对这方面程序的需求也很多,因为web的时代,操作的工作量移到web上来了, 机器替代人的需求增大也就不足为奇。无疑python是做这方面工作的好手:总结一下python做web automation常用手段:基于urllib2、urllib: 绝大多数都是这一类,如mechanize,twill,等等。基础模块都是urllib2,也就是wrapper。这类的是基于http请求响应的封装。我自己也写了一个叫autoform,调用文件模板填表,原理都一样。GO
阅读全文
摘要:可爱的 Python: 使用 mechanize 和 Beautiful Soup 轻松收集 Web 数据使用 Python 工具简化 Web 站点数据的提取和组织David Mertz, Ph.D., 开发人员, Gnosis Software, Inc.从 2000 年开始,David Mertz 就一直在为 developerWorks 专栏 Charming Python 和 XML Matters 撰稿。您可以阅读他撰写的书籍 Text Processing in Python。有关 David 的更多信息,请访问其 个人主页。简介:需要从 Web 页面收集数据时,可以使用 mech
阅读全文
摘要:用惯了python,用java写代码感觉有些煎熬的感觉,似乎比Python要罗嗦很多。主要还是因为java属于强类型的语言,它的动态性不如python。但其实基本的东西都差不多。所以想把python和java常用的一些方法罗列一下,同时也是语言特性的一个比较.Array:python 都是动态的,没有显式的静态数组。java 有静态Arrays容器:迭代器:python:it = __iter__(iterable)for item in it: #TodoJava:Iterator<String> it = SomeArrayList.iterator();while(it.ha
阅读全文
摘要:类HashMap,但内存减少到原1/6的实现时间:2009-10-28 11:08:33来源:网络 作者:未知 点击:429次 java中的Map在提供方便实用的同时,也存在内存浪费巨大的问题。当Map中的Entry数量达到1000万条以上的时候,需要数G的内存空间.这里提到的Map使用形式为HashMap<String,Byte>,平均每个key在20个字符左右,最多不超过200java中的Map在提供方便实用的同时,也存在内存浪费巨大的问题。当Map中的Entry数量达到1000万 条以上的时候,需要数G的内存空间 .这里提到的Map使用形式为HashMap&l
阅读全文
摘要:简述FileInputStream和FileReader的区别 核心提示:1 ) File 类介绍 File 类封装了对用户机器的文件系统进行操作的功能。例如,可以用 File 类获得文件上次修改的时间,移动,或者对文件进行删除、重命名。换句话说,流类关注的是文件内容,而 File 类关注的是文件在磁盘上的存储 File 类的主要方法有(),last1 ) File 类介绍File 类封装了对用户机器的文件系统进行操作的功能。例如,可以用 File 类获得文件上次修改的时间,移动,或者对文件进行删除、重命名。换句话说,流类关注的是文件内容,而 File 类关注的是文件在磁盘上的存储 File
阅读全文
摘要:如何使用eclipse打开已有工程 在开始使用Eclipse的时候,会发现一个问题,那就是如何打开一个现有的Eclipse工程,开始在菜单中找了好久也没找到。 其实,Eclipse生成的结果不像VC,Jcreator那样可以直接打开,若要打开非workspace文件夹下的其他已有工程,可以打开菜单file->import→general→existing project into space.在select root directory中选中要打开的文件夹即可。此时如果选择copy existing project into workspace就会同时将文件拷贝到workspace下。这
阅读全文
摘要:MVC模式百科名片 MVC模式MVC架构是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。目录MVC简介 MVC的产生 MVC设计思想 视图 模型 控制MVC设计模式的实现 ASP NET MFC JavaMV
阅读全文
摘要:python的string和PyQt的QString的区别python string和PyQt的QString的区别 以下在Python2.6和PyQt4.4.4 for Python2,6环境下讨论: Python中有两种有关字符的类型:Python string object和Python Unicode object。主要使用Python string object进行数据输入 python string和PyQt的QString的区别以下在 Python2.6和PyQt4.4.4 for Python2,6环境下讨论:Python中有两种有关字符的类型:Python string ob
阅读全文
摘要:这几天看了Design patterns explain.收获很大,结合之前看的Head First Pattern、敏捷软件开发,写写读书笔记:本书作者希望我们用全新的观点来看待面向对象设计:面向对象设计开发,对象是中心,因此如何理解对象是最重要的:1、理解对象是一个职责体,从高处看,系统解构成不同的职责体,各司其责,自己要对自己负责,做完做好所有应该做的事,也不要越俎代庖帮别人做事,别人的事让别人自己做,需要的参数通过接口传递过去就可以了,仅最大努力保持对象的独立性、内聚性。2、理解对象的目的是隐藏,隐藏一切需要隐藏的东西,不仅仅是对象、方法。主要是隐藏变化、隐藏具体实现、隐藏代理、委任等
阅读全文
摘要:一、对象发现对象检查对象的职责CRC 类-职责-协作确定对象层次结构发现对象属性发现对象操作二、设计指南1、整体把握2、封装最大化封装 最小化耦合 分离GUI3、设计类类需要有一个目的,有自己的职责类有良好的属性: 定义一些操作给其他类使用,或自己作为一个结构供其他类使用关联与继承类不能什么事都做:不要把一个类弄得太大4.继承is a 测试:都必须能通过is a 测试,即保证基类能被子类向上转型。将属性和操作尽可能上移:共有方法和属性别把属性和方法移到太高的位置:不是共有的属性不要放到超类中发现超类三、通用指南名字重要一次做一件事不要重新发明轮子不会一次就搞定简洁性您的软件不会消失
阅读全文
摘要:贪图delphi gui的rad,使用了P4D做胶水,结果苦不堪言,P4D的方式就像一堆零件还要自己去配,配上了还不好用,调用过程及其难受啊,决定放弃。还是老老实实用pyqt,至少这是一个python的实现。
阅读全文
摘要:继承对面向对象来说可能有先入为主的影响, 常使人认为继承代表了多态,代表了抽象,代表了面向对象。面向对象其实是说从对象的观点来思考问题,即一切都是对象。并不是说面向对象就必须要有上下级的层次关系,必须有基类,他只是一种看待问题的方式。继承会增加层次和layer,layer一多就不好控制,继承带来了接口污染和不必要的复杂度,每增加一层就使得下层的类需要担心更多问题,upcast也就越难。组合将结构扁平化,更加容易符合设计的几大原则,也更加符合面向接口的思想,因为组合将职责分离了,运行时需要哪个再组合,更容易产生内聚性强的类,使得复用性大大增加。继承则由于继承的关系将行为限制在了基类,任何继承于它
阅读全文
摘要:OCP,SRP,DIP,LSP,SIP 的设计原则又归为一个原则:一切为了抽象,因为抽象才好降低复杂度。面向接口是什么,接口一个规范,使用接口的client不需要知道这个接口究竟是由谁实现,怎么实现的,实现者也不知道是谁调用了它,达到解耦的目的。OCP: 为了close于不变的抽象SRP: 为了接口职责的单一抽象DIP: 为了上层和下层仅依赖于抽象的中间层LSP: 为了最大化抽象能力SIP: 为了将不同职责分离成单个分开的抽象接口
阅读全文
摘要:今天下午帮助诺西的工程师解决了一个网络的小故障,回来的路上回想了整个解决问题的过程,发现解决问题的思路和软件工程的解决问题的方法是一致的,基本上就是一个套路,方法论是抽象于技术之上的。问题是这样的:前天下午我们网管局域网突然出现大量丢包,网络严重阻塞,到其中一个机房的数据通信全阻。整个局域网处于一个广播域,我的机子也在这个广播域中,也受到影响。不多说直接上wireshark,抓包结果发现大量的Ethnet II的包,源和目的地址都是mac地址,协议unknown,很显然是这是个广播风暴。由于到那个机房最严重,完全不通,无法维护软交换设备了,叫上公司的车赶到机房先看看再说。打开机柜门,诺西厂家最
阅读全文
摘要:最难的不是理解设计模式,而是在实际项目中灵活应用它们,设计模式看似简单,用起来却不知从何下手。理论是用来实践的,实践才能出真理。设计模式属于OO的一部分, Gof的23种模式只不过是设计模式的沧海一粟,不同的领域都会产生不同的设计模式,当然你也可以总结出自己的设计模式。对于学习设计模式的方法,我们不需要一开始就花很长的时间把它们都读通读透,只要花个十几天每天两个小时对每个模式有个简单的印象就可以了,然后在实际工作中去应用,去把它们读通读透。其实,只要你的OO能力达到一定的程度,设计模式都是无师自通的。学习设计模式几个重要的问题?每一类设计模式都是为了解决某类特定的问题而产生的,要了解这些设计模
阅读全文
摘要:Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.Robert C. Martin氏为我们总结了在面向对象的设计(OOD)中应该遵循的原则,这些原则被称为“Principles of OOD”,关于“Principles of OOD”的相关文章可以从Object Menter得到。本文介绍“Principles of OOD”中的里氏替换原则:Liskov Substitution Princip
阅读全文
摘要:可爱的 Python: 迭代器和简单生成器Python 2.2 中的新型构造David Mertz,博士 (mertz@gnosis.cx), 自学者, Gnosis Software,Inc.没有直觉的概念是空洞的,而没有概念的直觉是盲目的,David Mertz 要在他的办公室里放置一个弥尔顿的石膏像。开始为他的生日做计划。可以通过 mertz@gnosis.cx 与 David 联系;在 http://gnosis.cx/publish/ 上详细介绍了他的生活。非常欢迎对以前的、本篇和以后的专栏文章提出建议和意见。 简介:Python 2.2 引进了一种带有新关键字的新型构造。这种构造是
阅读全文
摘要:可爱的 Python: 用 Psyco 让 Python 运行得像 C 一样快使用 Psyco:Python 专用编译器David Mertz (mertz@gnosis.cx), 博士,报章作家, Gnosis Software, Inc.David Mertz 作为猎人、渔夫和牧羊人的失败导致了他的评论性批评生涯。明天他也许会尝试点别的。可以通过 mertz@gnosis.cx和 David 联系;在 http://gnosis.cx/publish/上了解他的生活。欢迎提出关于本栏过去、现在和将来的意见和建议。 简介:Python 的设计在很多方面都类似于 Java 的设计。两者都利用了
阅读全文
摘要:最近写程序发现一些效率陷阱,会大大增加运行时间和空间损耗,总结一下:1.避免在大循环中使用 map(string.strip,somelist), string.strip类方法虽然方便,但是及其耗时. 取消后我的一个循环时间从33秒减到4秒.
阅读全文
摘要:cisco 交换机端口广播风暴设置(满详细的)这个其实是比较实用的。当端口接收到大量的广播、单播或多播包时,就会发生广播风暴。转发这些包将导致网络速度变慢或超时。借助于对端口的广播风暴控制,可以有效地避免硬件损坏或链路故障导致的网络瘫痪。默认状态下,广播、多播和单播风暴控制被禁用。1. 启用风暴控制启用风暴控制的具体操作步骤如下。以下列出了代码中各命令的具体描述:level。指定阻塞端口的带宽上限值。当广播、多播或单播传输占到宽带的多大比例(百分比)时,端口将阻塞传输。取值范围为0.00 ~ 100.00。如果将值设置为100%,将不限制任何传输;如果将值设置为0%,那么,该端口的所有广播、多
阅读全文
摘要:No Silver BulletEssence and Accidents of Software EngineeringComputer Magazine; April 1987 by Frederick P. Brooks, Jr., University of North Carolina at Chapel HillThis article was First Published In Information Processing 1986, ISBN No. 0444-7077-3, H. J. Kugler, Ed., Elsevia Science Publishers B.V.
阅读全文
摘要:一个数学系学生的自白一转眼间,我在IBM工作已经超过一个季度了。今天是11 月18号,距我参加IBM的最后一面刚好是一年。受斑竹之邀,正逢心血来潮,就在这特殊的时间写篇杂得不能再杂的杂文。 我和多人谈过职业的东西,有的去了McKensy, Microsoft, Google这样大公司,也有很多曾在这个路口彷徨。毕业前经常会去参加一些演讲,我最喜欢问的,是这三个问题:(1) 你喜欢什么样子的生活?(2) 你最适合的工作是什么?(3) 你想成为一个什么样的人? 我总有一种直觉,如果一个人不能在这三个问题上给自己明确的答复,感到困惑那是必然的。你能给自己一个很明确的答复吗?在数学系四年,听到最多的抱
阅读全文
摘要:扑克牌里的博弈之道 作者:英国《金融时报》专栏作家提姆•哈福德(Tim Harford) 2006年6月14日 星期三 2000年的拉斯维加斯世界扑克大赛(World Series of Poker)创纪录的吸引了500名选手前来参赛。在为期4天的比赛中,参赛者们逐渐被淘汰出局,直到剩下最后两名选手,在这场扑克牌中的顶级玩法——得州扑克玩法(Texas Hold ‘Em)大赛中进行巅峰对决。在这两名选手中,经验较为丰富的那位是个传奇人物:他叫T•J•克卢捷(T.J. Cloutier), 62岁,来自得克萨斯,是个职业赌徒,被很多许多人视为全世界最棒的扑克玩家。他的对手名叫克里斯•弗格森(Ch
阅读全文
摘要:1、新建win32控制台应用程序,名字为dllname,应用程序类型选dll,完成.2、dllname.cpp中增加代码:#include "stdafx.h" extern "C" __declspec(dllexport) int __stdcall Sum(int a, int b) { return a+b; } 3、生成,dll创建出来4、建立test.py文件:import ctypesa = ctypes.windll.LoadLibrary('dllname.dll')test = a.Sumtest.argtypes =
阅读全文
摘要:综合网上的教程和自己的测试,将boost.python的example示例成功编译成python模块,具体过程如下:我的环境:VS2008,python26,boost1_40一、安装boost使用boostpro可配置已编译包安装,这种方式比较简单,源码编译安装方式我没有尝试,这里选择的是1_40版本,包选择的时候选择勾选python,子选项可选择vs的版本。二、配置include和library path在vs2008里面将boost和python的include和library路径分别加入到 "包含文件"和"库文件"两栏中我配置的是:包含文件(in
阅读全文