![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
转载
文章平均质量分 69
chengliang69
这个作者很懒,什么都没留下…
展开
-
敏捷质疑: 结对编程, 代码集体所有权
Q: 结对编程、责任共享,完全是胡说,代码找不到作者,开发人员哪里会有责任心!A: 这个疑问基于一个假设: 开发人员的责任心来自于问责制度, 开发人员只有在恐惧的驱使下才会细心去编码.我不知道你的职位是什么, 你或许是某个大中型企业的中高层领导, 或许手下有不少的人, 但你不会得到手下的尊敬, 他们只有"畏".或许在对死亡之类的恐惧面前, 人类会爆发出强大的力量, 对于医疗系统,...2008-07-27 22:20:00 · 258 阅读 · 0 评论 -
MySQL Connector/C++入门教程(上)
原文地址:http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html#trx 翻译: DarkBull(www.darkbull.net)示例代码:MySqlDemo.7z 译者注:该教程是一篇介绍如何使用C++操作MySQL的入门教程,内容简单易用。我对原文中的一些例子进行了修改,并新...2010-06-10 14:54:00 · 122 阅读 · 0 评论 -
跨语言使用对称加密
这两天在写GM工具,使用wxPython开发,GM工具需要与Web服务器进行简单的交互,Web服务器是用.NET写成。一些关键的数据在传输的过程中进行了加密。.NET有非常完整的加密库,使用也很方便,翻箱倒柜从以前的代码中整了一些对称加密算法出来。而Python标准模块只提供一些hash加密算法,没有提供私钥加密与共钥加密算法,但是借助于开源社区强大的威力,可以很方便的找到加密库。从网上找...2010-09-16 17:27:00 · 195 阅读 · 0 评论 -
python写的进程守护者
用Python写的一个守护者,核心的代码不到10行。这个方法是由同事想到的,我把核心的代码提出来,真是太cool了:import os, subprocessdef Run(): while True: taskList = os.popen('tasklist').read() for path, exe in [os.pat...2010-10-23 16:33:00 · 140 阅读 · 0 评论 -
python模块学习 ---- anydbm, shelve
好久没写这系列的文章了,我越来越喜欢用python了,它在我的工作中占据的比例越来越大。废话少说,直接进入主题。 anydbm允许我们将一个磁盘上的文件与一个“dict-like”对象关联起来,操作这个“dict-like”对象,就像操作dict对象一样,最后可以将“dict-like”的数据持久化到文件。对这个"dict-like"对象进行操作的时候,key和value的类型必...2010-10-29 15:09:00 · 230 阅读 · 0 评论 -
Python模块学习 ---- fileinput
这几天有这样一个需求,要将用户登陆系统的信息统计出来,做成一个报表。当用户登陆成功的时候,服务器会往日志文件里写一条像下面这种格式的记录:”日期时间@用户名@IP“,这样的日志文件第天生成一个。所以,我们只要编历这些日志文件,将所有的登陆信息提取出来,并重新组织数据格式就可以了。用python写一个分析工具非常简单,你会说,用glob获取所有的日志文件,然后对每个日志文件都open(logfil...2010-11-03 14:10:00 · 89 阅读 · 0 评论 -
HTTP请求截取器
写了一个Http请求截取器,写Web时偶尔会用到。需要wxPython环境。点击下载2010-12-10 16:28:00 · 154 阅读 · 0 评论 -
将阿拉伯数字转换成中文
源文出版:http://darkbull.net/101/%E5%B0%86%E9%98%BF%E6%8B%89%E4%BC%AF%E6%95%B0%E5%AD%97%E8%BD%AC%E6%8D%A2%E6%88%90%E4%B8%AD%E6%96%87 周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文。程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用...2011-03-21 12:48:00 · 344 阅读 · 0 评论 -
Android用户界面详解
这个章节描述怎么实现一个基本的Android界面。它涉及构建屏幕基本元素,怎么在xml(定义文件)内定义屏幕、用你的代码生成、在不同任务你需要操作你的用户接口。Android生成屏幕有三种方式:xml配置生成;通过你自己用户界面接口生成;直接用代码生成。根据MVC原则,UI应该与程序逻辑相分离,因此,在XML中定义UI结构是高度推荐的。此外,一个程序从一个屏...2011-03-21 21:56:00 · 119 阅读 · 0 评论 -
【转】Launcher研究之AndroidManifest.xml分析
Launcher的AndroidManifest.xml文件有很多特殊性,分析一下就会理解整个程序的大概结构。 代码如下: <manifest xmlns:android=http://schemas.android.com/apk/res/android package="net.sunniwell.l...2011-03-22 11:50:00 · 123 阅读 · 0 评论 -
【转】AndroidManifest.xml文件综合详解
转自:http://yangguangfu.javaeye.com/blog/796062一,重要性AndroidManifest.xml是Android应用程序中最重要的文件之一。它是Android程序的全局配置文件,是每个 android程序中必须的文件。它位于我们开发的应用程序的根目录下,描述了package中的全局数据,包括package中暴露的组件(activities, s...2011-03-22 19:56:00 · 82 阅读 · 0 评论 -
python访问纯真IP数据库
项目中有这样的需求,通过IP地址判断客户端是网通的还是电信的。从同事那拿了个纯文本的IP纯真数据库,用Python写了一个小程序,感觉挺好的。点击这里查看例子。 源码下载#!/usr/bin/env python# -*- coding: utf-8 -*-from bisect import bisect_LIST1, _LIST2 = [], [...2011-03-28 23:11:00 · 83 阅读 · 0 评论 -
Linux命令之Ethtool
描述:Ethtool是用于查询及设置网卡参数的命令。概要:ethtool ethX //查询ethX网口基本设置ethtool –h //显示ethtool的命令帮助(help)ethtool –i ethX //查询ethX网口的相关信息 ethtool –d ethX //查询ethX网口注册性信息ethtool –r ethX ...原创 2011-03-30 20:25:58 · 451 阅读 · 0 评论 -
Linux系统的文件句柄数量问题
转至:http://wangshuxing123-126-com.iteye.com/blog/703735在Linux下面部署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题,其实Linux是有文件句柄限制的(就像WinXP?),而且默认不是很高,一般都是1024,作为一台生产服务器,其实很容易就达到这个数量,因此我们需要把这个值改大一...原创 2011-04-03 11:08:18 · 121 阅读 · 0 评论 -
Javascript的回调机制讲解
本文出自http://blog.csdn.net/yeahq,转载请注明出处由于其运行环境的特殊性,Javascript大量使用异步的通信机制,凡是涉及到网络调用和事件机制的代码都会涉及。在异步通信的环境下编码经常会用到回调函数。Javascript由于有函数式语言的一些特点使得它在Javascript里面实现回调函数非常的优雅和自然,包括函数作为一级的对象、匿名函数、闭包机制...2011-04-06 23:05:00 · 126 阅读 · 0 评论 -
SpringMVC加载WebApplicationContext源码分析
Spring框架提供了构建Web应用程序的全功能MVC模块,叫Spring MVC,通过Spring Core+Spring MVC即可搭建一套稳定的Java Web项目。本文通过Spring MVC源码分析介绍它的核心实现原理。 Tomcat服务器启动入口文件是web.xml,通过在其中配置相关的Listener和Servlet即可加载Spring MVC所需数据。基于Spr...原创 2015-09-06 19:04:13 · 133 阅读 · 0 评论 -
像定义“函数”一样定义宏
可以使用宏定义没有返回值的“函数”。例如:#define PrintMax(a, b) \ do \ { \ int x = a, y = b; \ printf("Max: %d\n", x > y ? x : y);\ } while (0)// ...PrintMax(3, 4); 这样...2010-06-06 23:40:00 · 192 阅读 · 0 评论 -
CSS让你的IE浏览器崩溃
原文链接:http://blog.gulu77.com/?p=59严格来说不单是CSS就能令IE浏览器崩溃(crash),而要配合相应的XHTML架构。到现时为止发现有两种正常写法及一种错误结构分别导致会IE6、IE7崩溃(crash),至于原因我尝试寻找过答案但至今还没找到…如你有这方面的认识或更详细的资料很希望你能分享!1 crash IE6 codeDemo:ht...2010-06-06 12:58:00 · 96 阅读 · 0 评论 -
敏捷外传
敏捷外传之FBI: 世界上最敏捷的团队事实上, 世界上有一支最著名的敏捷团队, 一直很少有人意识到, 这就是美国的 FBI. 虽然我们不知道它内部实际的情况, 也有不少电影把FBI 描述的很白痴, 但是至少在<<越狱>>中他们的做事方法所反应出来的思想, 与敏捷如出一辙.跨功能的团队:各方面的专家组成一个抓捕团队, 归一个人指挥, 而不是...2008-10-16 22:20:00 · 93 阅读 · 0 评论 -
敏捷质疑: 持续集成
Q: 我的产品是电信级的设备, 几百人分成几十个项目组在开发, 各个项目组进度不统一, 如何集成?A: 你要做的其实跟技术无关, 更多的是管理工作, 就是制定你的产品级别的集成策略.这涉及到需求分析和发布计划(依赖管理, 价值和风险识别), 开发方法(自顶向下还是自底向上, 横向分层还是垂直特性), 集成粒度划分(完整特性的集成还是API的集成), 集成间隔计划, 版本控制策略, 还有...2009-06-25 22:24:00 · 88 阅读 · 0 评论 -
敏捷质疑: 迭代开发
迭代在于我们明确的承认信息和知识的不完备性, 不可完备性. 而项目的成功, 需要某种程度的完备性.这种认知的局限与成功的条件之间的矛盾, 促成了人们解决这类问题的通用方法: 渐进的试错法 试错法参考一: http://en.wikipedia.org/wiki/Trial_and_error.试错法参考二: http://zh.wikipedia.org/wiki/%E8%A...2009-07-01 20:46:00 · 63 阅读 · 0 评论 -
跨团队的持续集成: 几个基本矛盾
单个团队内部的持续集成已经是成熟的实践. 跨团队的集成则碰到了很多问题, 包括全部测试运行时间过长, 合并成本高等问题. 针对这些问题有一些对应的解决方案, 如合理的分支策略, 分层的集成等.这里想讨论一下几个基本的矛盾, 和理想中的解决方案1. 并行开发 与 集成 之间的矛盾这是本质问题, 如果所有功能都是由单一开发者循序渐进的完成, 则集成并不是大问题. 由于团队内...2009-07-05 22:33:00 · 75 阅读 · 0 评论 -
python模块学习 ---- Cookie
最近在用GAE开发自己的博客程序。虽然GAE的API没有显式的提供操作Cookie的方法,但他现有的架构,使我们有足够的自由来操作Cookie。Cookie模块,顾名思义,就是用来操作Cookie的模块。Cookie这块小蛋糕,玩过Web的人都知道,它是Server与Client保持会话时用到的信息切片。Http协议本身是无状态的,也就是说,同一个客户端发送的两次请求,对于W...2010-04-02 23:18:00 · 84 阅读 · 0 评论 -
Python模块学习 ---- datetime
Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致。相比于time模块,datetime模块的接口则更直观、更容易调用。今天就来讲讲datetime模块。 datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYE...2010-04-07 11:02:00 · 78 阅读 · 0 评论 -
再次封装IOCP的收获
以前写过一篇用python封装IOCP的文章,这几天因朋友需要,再一次封装了iocp接口。这一次我并不是简单的把原有代码拿过来简单的修修改改,基本上是推到重来。改正第一次封装时的许多缺点,同时修正了许多bug,再回首看以前的代码,感觉自己在进步。这次封装iocp,收获了以下几点知识: 1. 数据的重复投递。一般情况下,一个Socket句柄在同一时刻最多只能有一次WSASend与SWARecv,...2010-01-17 23:19:00 · 163 阅读 · 0 评论 -
Python模块学习 ---- filecmp 文件比较
filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单。python标准库还提供了difflib模块用于比较文件的内容。关于difflib模块,且听下回分解。 filecmp定义了两个函数,用于方便地比较文件与文件夹: filecmp.cmp(f1, f2[, shallow]): 比较两个文件的内容是否匹配。参数f1, f2指定要比较...2010-04-08 10:53:00 · 126 阅读 · 0 评论 -
用Python写的图片蜘蛛人
写了个图片蜘蛛人玩玩,抓了几个网页试试,感觉不不错。核心的代码可能20行也不到,简洁明了,嘻嘻。废话少说,翠花,上代码~~#coding=utf-8import osimport sysimport reimport urllibURL_REG = re.compile(r'(http://[^/\\]+)', re.I)IMG_REG = re.com...2010-04-10 23:32:00 · 220 阅读 · 0 评论 -
Python模块学习 --- urllib
urllib模块提供的上层接口,使我们可以像读取本地文件一样读取www和ftp上的数据。每当使用这个模块的时候,老是会想起公司产品的客户端,同事用C++下载Web上的图片,那种“痛苦”的表情。我以前翻译过libcurl教程,这是在C/C++环境下比较方便实用的网络操作库,相比起libcurl,Python的urllib模块的使用门槛则低多了。可能有些人又会用效率来批评Python,其实在操...2010-04-16 15:13:00 · 65 阅读 · 0 评论 -
Python模块学习 ---- atexit
atexit模块很简单,只定义了一个register函数用于注册程序退出时的回调函数,我们可以在这个回调函数中做一些资源清理的操作。 注:如果程序是非正常crash,或者通过os._exit()退出,注册的回调函数将不会被调用。 我们也可以通过sys.exitfunc来注册回调,但通过它只能注册一个回调,而且还不支持参数。所以建议大家使用atexit来注册回调函数。但千...2010-04-19 21:47:00 · 94 阅读 · 0 评论 -
译: Code::Blocks手册 使用篇
原手册下载:http://www.codeblocks.org/docs/manual_en.pdf 译者:JGood(http://blog.csdn.net/Jgood) 译者言:工欲善其事,必先利其器。一个好的工具能事半功倍。写程序时,特别是写C++程序,大部分人脑子里想到的第一个工具就是VisualStudio。不可否认,VS很好很强大,用户体验非常好。但Visual...2010-01-25 00:05:00 · 225 阅读 · 0 评论 -
python版本问题导致Boost.Python无法正常使用
(www.darkbull.net) 今天打算将Python集成到项目中作为脚本语言,主要用于处理字符串与网络交互(如发送邮件,提交http请求等)。Boost.Python组件提供了非常方便的接口,使Python集成到C/C++项目中变得十分容易。今天在运行以前写的例子时,发现无法运行,不管是在Python中调用C++扩展库还是在C++中调用Python。在Python中调用C++扩展模块...2010-08-08 22:29:00 · 463 阅读 · 0 评论 -
C语言复杂声明
《C专家编程》第三章介绍了如何分析复杂的声明,讲的非常不错。对于作者介绍的分析复杂声明的方法,我没有完全掌握,不过,我有我自己的一套方法来解析复杂的声明,正所谓条条大道通罗马,只要结果一样,必须在乎过程呢。今天在网上找了几个复杂的声明,练练手(声明的例子全部来自网络,原谅出处未详)。记下此文,作个标记,待日后回味。 int (*func)(int *p) 这个就不解释了,...2010-05-23 21:31:00 · 74 阅读 · 0 评论 -
boost::shared_ptr的性能
原文出版:http://www.darkbull.net/ 在最近的项目中,使用了大量的boost::shared_ptr。在游戏服务器中,有时候同一数据块要发送给不同的连接(例如A玩家的一个行走消息包要发给所有附近的玩家),如果为每个连接都拷贝一份数据,显的代价比较大且难以维护,想想发送完数据之后还要释放这些数据块,极易出错,而且性能也不佳。使用智能指针,只需要一份数据块的拷贝,并且不...2010-08-16 00:10:00 · 135 阅读 · 0 评论 -
INSERT INTO ON DUPLICATE KEY UPDATE
mysql当插入重复时更新的方法:第一种方法: 示例一:插入多条记录假设有一个主键为 client_id 的 clients 表,可以使用下面的语句: Sql代码 INSERT INTO clients (client_id,client_name,client_type) SELECT supplier_id,supplier_name...原创 2017-04-20 17:28:47 · 400 阅读 · 0 评论