- 博客(31)
- 资源 (2)
- 收藏
- 关注
原创 nginx & flup & django & python3.x @ window7配置备忘录
django/flup/nginx在windows上的配置备忘录
2014-04-17 21:56:59 1184
原创 我的编程style - 总则
正如一个成年人或多或少会形成自己的世界观,作为一个资深的程序员也会形成自己的编程风格。常见的一种是“拿来主义程序员”,这种程序员偏向于拿来主义,心中存储有无数的框架或模块指针,每一个都指向一个不同的框架或者模块。碰到一个新问题的时候,他们的解决办法是:世界上肯定有人也遇到过同样的问题,并且提出过解决方案,我的解决方式是找到他、学习他、并使用它,最后更新我心中的框架指针表。常见的哲学是”自己做的肯定
2013-01-16 13:16:28 701
原创 我心中的程序员境界
在公众的眼里,一般都知道程序员这个职业,但很少想过程序员的级别问题,主要原因是对于程序员缺乏一种有效的度量手段。确实,能力是一种感性的评价,难以用理性的数字化来予以度量。但当你需要招聘程序员时,度量程序员的级别又是一个最基本的要求。所以有的人就采用工作年限度量,工作年限长,就认为水平越高;有的采用项目经历,认为经过几个大型项目,能力就很高。但其实我们都知道,百岁老人的象棋水平未必就高,天天吹竽的人
2012-04-09 12:09:25 1203
原创 勿于浮沙筑高台 去除对微软运行时库(RunTime)依赖
勿于浮沙筑高台,在计算机软件领域,微软技术算是最大的浮沙。十五年前,当我写一个Hello world的程序,我可以拍胸脯说,它绝对可以运行在你的计算机上。到了今天,假如你问我写的Hello World程序可以运行在你的计算机上吗?我会对你说,你最好试一下,如果能够运行,麻烦你告诉我一声。你没听错,是的,我都不知道我写的程序能不能够运行在你的计算机上了,但不管你信不信,它可以运行在我开发所用的计算机
2012-03-29 11:58:56 1376
原创 我的编程style - dstPlatform接口
通过将系统集成所需要的服务从主执行程序转移到dstPlatform.dll模块中,便于其他模块或者脚本调用。本模块主要提供日志管理、对象生命期管理、插件管理、服务管理、线程/任务管理、脚本管理、应用程序管理、服务包装宏等。接口定义如下: //**********************************************************************// Co
2013-01-16 14:29:50 422
原创 msiexec无法打开此安装程序包
在编写应用程序宿主程序(支持自动部署与自动升级)时,需要在安装过程中安装vc runtime以及python环境,所以调用想调用 ""\"c:/windows/system32/msiexec.exe\" /i E:/Software/python-3.3.0.msi"".总是弹出“无法打开此安装程序包。请确认该程序包存在,并且您有权访问它,或者与应用程序供应商联系,以确认这是一个有效的 Wind
2013-01-06 09:36:26 2023
原创 R6034 - 运行时冲突备忘录
RFID隧道监控软件,自定义插件框架,QT做界面,嵌入Python用于二次开发接口(隔离与北京蛙式视频等外设通讯),在系统启动时出现"microsoft 运行时错误R6034,可能是堆栈破坏..."信息,于是一边咒诅microsoft,一边跟踪各个插件,最后终于发现: 1、自定义XUL插件加载QT时,QT加载"WinSxs\....\msvcr90.dll"; 2、加载pyth
2012-07-29 22:30:45 1187
原创 权限控制的思考
凡是多用户的应用系统往往都有权限访问控制的要求。权限访问控制的本质是”Who“对"which"进行"what"操作的布尔表达式。如果你通过独自深刻的思索或者参考别人的文章,充分而又深刻的认识到这一点,那么,恭喜你,你已经把握到了问题的本质,对权限访问控制的认识已经入门了,但也仅仅是入门了而已。当你基于这个本质,开始设计现实中的权限访问控制模块时,你会发现,果然,理想很美好,现实太骨感,你成功地陷入
2012-06-14 05:34:02 497
原创 python中capsule对象与C语言void*对象的转换
在python3.2中,为了在扩展模块传递指针对象,使用了capsule对象,如在PySide中调用QWidget.WinId()返回的就是一个capsule对象,里面封装了一个窗口句柄。我们可以使用如下代码来得到里面封装的窗口句柄对象:PyCapsule_GetPointer = cdll.python3.PyCapsule_GetPointerPyCapsule_GetPointer.
2012-03-15 16:04:09 806
原创 python对象与C指针对象的转换问题
通过python的ctypes模块调用C函数,常常需要用到用户指针数据指针。如通过python调用Win32 API生成窗口时使用的窗口流程就是一个实例,本文通过这个实例说明如何在python对象和C语言中的指针对象进行相互转换问题。 1、python对象转换为C指针对象 当Python调用SetWindowLong绑定一个Python对象为用户数据时,我们可以如此调用:
2012-03-15 15:58:02 2020
原创 自定义插件框架中嵌入python脚本环境的注意问题
为方便用户以及程序员在插件框架中快速的进行二次开发,同时满足各插件之间互相调用但又不互相依赖,我们需要在插件框架中嵌入python环境。但由此带来两个问题,一个是部署问题,即需要用户分别部署Python环境和我们的插件框架环境;另一个问题是,当用户对独立部署的python环境升级时,往往给原本可以正常工作的脚本代码带来潜在的错误,如从Python3.1升级Python3.2时,往往带来字符串编码的
2012-03-14 18:17:50 842
原创 QT自定义部件在VS2008中moc预编译手动设置备忘
由于QT使用信号/槽取代回调函数进行同步/异步事件调用,所以QT中使用了元信息模型,自定义控件(包含Q_Object定义)需要使用QT的预编译处理器(moc.exe)进行头文件的预编译,以便生成元信息执行文件,其在VS2008中的手动设置过程如下: 1、点选相应
2011-09-14 11:36:02 1511 1
原创 PyQT信号槽_学习笔记 (Signals/Slots)
PyQT4.5版本以后可以采用新的信号与槽方式。1、信号定义通过类成员变量定义信号对象,如:class MyWidget(QWidget): Signal_NoParameters = PyQt4.QtCore.pyqtSignal()
2011-08-24 11:17:56 7194 2
原创 函数编写规则(一)
每一个程序员都会写函数,都写了很多函数。然而,写好一个函数却不是那么容易的事。1、调度与实现分离 编写函数的第一件事是定位本函数的类别。函数的类别分为调度函数和实现函数。实现函数是提供具体任务实现的函数,实现函数要求不依赖任何外部环境;调度函数是直接响应用户请求的函数,它认识或拥有大量的外部环境资源,并调用实现函数响应用户请求。调度函数与实现函数的分离满足单一职责的原则,即调度的不实
2009-07-20 20:12:00 881
原创 C++类设计思考(一):状态、查询和命令
类实例化后的对象是由成员变量和方法组成。各成员变量的当前值构成了对象的状态,当各成员变量的值发生变化时,就有可能由量变发生质变,此时我们认为对象的状态发生了改变。对象的方法分两类,一种是改变对象的值(有可能导致对象状态发生变化),我们称之为命令;一种是不改变对象的值,我们称之为查询。类设计时,需要重点考虑这三者的关系。 1、尽量保持类的良好状态。
2005-12-02 10:52:00 2016 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人