- 浏览: 115195 次
- 性别:
- 来自: 成都
最新评论
-
sp42:
Oracle 不是很吊的么,怎么连个分页都这么麻烦?
数据库分页大全(oracle利用解析函数row_number高效分页) -
metarnetyflu:
不知道哪里快了!!!over()是最慢的,rownum其次,r ...
数据库分页大全(oracle利用解析函数row_number高效分页) -
wfd0807:
09年发的博文,五年了,一定影响到了不少人。首先,你描述的三层 ...
数据库分页大全(oracle利用解析函数row_number高效分页) -
diyunpeng:
学习了,写的不错。
python urlOpen使用代理 -
qepwqnp:
帖子沉的好深,涝起来
js_自己封装一个可查询frame中对象的一个方法
文章列表
这几天有这样一个需求,要将用户登陆系统的信息统计出来,做成一个报表。当用户登陆成功的时候,服务器会往日志文件里写一条像下面这种格式的记录:”日期时间@用户名@IP“,这样的日志文件第天生成一个。所以,我们只要编历这些日志文件,将所有的登陆信息提取出来,并重新组织数据格式就可以了。用python写一个分析工具非常简单,你会说,用glob获取所有的日志文件,然后对每个日志文件都open(logfile),再一行一行的读取;或者用os.walk,也很简单。其实,标准库提供了另一个辅助模块,我们可以非常方便的完成这个工作,那就是fileinput。下面我们就通过fileinput来编历所有的D盘下的文 ...
- 2010-11-03 14:10
- 浏览 1883
- 评论(0)
好久没写这系列的文章了,我越来越喜欢用python了,它在我的工作中占据的比例越来越大。废话少说,直接进入主题。
anydbm允许我们将一个磁盘上的文件与一个“dict-like”对象关联起来,操作这个“dict-like”对象,就像操作dict对象一样,最后可以将“dict-like”的数据持久化到文件。对这个"dict-like"对象进行操作的时候,key和value的类型必须是字符串。下面是使用anydbm的例子:
#coding=utf-8
import anydbm
def CreateData():
try:
...
- 2010-10-29 15:09
- 浏览 2444
- 评论(0)
用Python写的一个守护者,核心的代码不到10行。这个方法是由同事想到的,我把核心的代码提出来,真是太cool了:
import os, subprocess
def Run():
while True:
taskList = os.popen('tasklist').read()
for path, exe in [os.path.split(line.strip()) for line in open('config') if line.strip()]:
if exe not in taskLis ...
- 2010-10-23 16:33
- 浏览 1142
- 评论(0)
这两天在写GM工具,使用wxPython开发,GM工具需要与Web服务器进行简单的交互,Web服务器是用.NET写成。一些关键的数据在传输的过程中进行了加密。.NET有非常完整的加密库,使用也很方便,翻箱倒柜从以前的代码中整了一些对称加密算法出来。而Python标准模块只提供一些hash加密算法,没有提供私钥加密与共钥加密算法,但是借助于开源社区强大的威力,可以很方便的找到加密库。从网上找了一pyDes模块,它实现了DES与TripleDES算法,经过简单的测试,用.NET加密,用Python解密或者用Python加密,用.NET解密没有任何问题。写这篇文件,做个标记,以后再用到类似的应 ...
- 2010-09-16 17:27
- 浏览 1506
- 评论(0)
原文出版:http://www.darkbull.net/
在最近的项目中,使用了大量的boost::shared_ptr。在游戏服务器中,有时候同一数据块要发送给不同的连接(例如A玩家的一个行走消息包要发给所有附近的玩家),如果为每个连接都拷贝一份数据,显的代价比较大且难以维护,想想发送完数据之后还要释放这些数据块,极易出错,而且性能也不佳。使用智能指针,只需要一份数据块的拷贝,并且不需要去管理内存的释放。但这几天,我又在想,boost::shared_ptr号称是线程安全的,那么在低层维护对象的引用计数时,必定有加琐/解琐。如果频繁的对智能指针进行复制,性能开销也不能忽略。我现在对 ...
- 2010-08-16 00:10
- 浏览 1944
- 评论(0)
(www.darkbull.net)
今天打算将Python集成到项目中作为脚本语言,主要用于处理字符串与网络交互(如发送邮件,提交http请求等)。Boost.Python组件提供了非常方便的接口,使Python集成到C/C++项目中变得十分容易。今天在运行以前写的例子时,发现无法运行,不管是在Python中调用C++扩展库还是在C++中调用Python。在Python中调用C++扩展模块,提示的错误是:Dll load failed: 找不到指定的模块。而在C++中调用Python,则提示找不到python25.dll。哦,这个错误提醒了我,原来,我的boost是比较早前编译的,那时电 ...
- 2010-08-08 22:29
- 浏览 1461
- 评论(0)
为了实现varchar型的字段序号递增,我每次插入数据要先找出数据库中序号最大的那个再加1,可是对 varchar进行order by 时,得不到正确结果,如 varchar里,‘100’<'99' 怎么实现转化 另外,我只比较varchar的后几位,那个怎么截取后几位再进行int转化再排序呢?
回答1: select * from yourtable order by cast(youcol as int)
回答2: order by convert(int, 字段)
回答3: 但是你的列里面只能是数字组 ...
原文地址:http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html#trx
翻译: DarkBull(www.darkbull.net)
示例代码:MySqlDemo.7z
译者注:该教程是一篇介绍如何使用C++操作MySQL的入门教程,内容简单易用。我对原文中的一些例子进行了修改,并新添加了部分例子,主要目标是更简单明了的向读者介绍如何操作MySQL数据库。本人也是MySQL的初学者,错误也在所难免,欢迎拍砖!
这篇教程将一步一步引导您如何去构建和安装MySql ...
- 2010-06-10 14:54
- 浏览 2801
- 评论(0)
可以使用宏定义没有返回值的“函数”。例如:
#define PrintMax(a, b) \
do \
{ \
int x = a, y = b; \
printf("Max: %d\n", x > y ? x : y);\
} while (0)
// ...
PrintMax(3, 4);
这样的“函数”与真正意义上的函数有本质的区别,因为宏是一个编译前行为,仅仅是编译前对文本进行替换。在Python源码中,经常可以看到下面类似的宏定义:
#define foo(x) \ ...
- 2010-06-06 23:40
- 浏览 965
- 评论(0)
原文链接:http://blog.gulu77.com/?p=59
严格来说不单是CSS就能令IE浏览器崩溃(crash),而要配合相应的XHTML架构。到现时为止发现有两种正常写法及一种错误结构分别导致会IE6、IE7崩溃(crash),至于原因我尝试寻找过答案但至今还没找到…如你有这方面的认识或更详细的资料很希望你能分享!
1 crash IE6 code
Demo:http://blog.gulu77.com/demo/200808/crash_ie6.html
此BUG只存在IE6中,当伪类为 a:active 时同样会遇到此问题
<mce:style ...
- 2010-06-06 12:58
- 浏览 1040
- 评论(0)
《C专家编程》第三章介绍了如何分析复杂的声明,讲的非常不错。对于作者介绍的分析复杂声明的方法,我没有完全掌握,不过,我有我自己的一套方法来解析复杂的声明,正所谓条条大道通罗马,只要结果一样,必须在乎过程呢。今天在网上找了几个复杂的声明,练练手(声明的例子全部来自网络,原谅出处未详)。记下此文,作个标记,待日后回味。
int (*func)(int *p)
这个就不解释了,每本C语言参考书上都会有的。作为一个C/C++程序员还不会的话,说明你已经out了~~_~~
int (*func)(int *p, int (*f)(int*))
func是一个指针 ...
- 2010-05-23 21:31
- 浏览 726
- 评论(0)
atexit模块很简单,只定义了一个register函数用于注册程序退出时的回调函数,我们可以在这个回调函数中做一些资源清理的操作。
注:如果程序是非正常crash,或者通过os._exit()退出,注册的回调函数将不会被调用。
我们也可以通过sys.exitfunc来注册回调,但通过它只能注册一个回调,而且还不支持参数。所以建议大家使用atexit来注册回调函数。但千万不要在程序中同时使用这两种方式,否则通过atexit注册的回调可能不会被正常调用。其实通过查阅atexit的源码,你会发现原来它内部是通过sys.exitfunc来实现的,它先把注册的回调函数放到一个 ...
- 2010-04-19 21:47
- 浏览 948
- 评论(0)
urllib模块提供的上层接口,使我们可以像读取本地文件一样读取www和ftp上的数据。每当使用这个模块的时候,老是会想起公司产品的客户端,同事用C++下载Web上的图片,那种“痛苦”的表情。我以前翻译过libcurl教程,这是在C/C++环境下比较方便实用的网络操作库,相比起libcurl,Python的urllib模块的使用门槛则低多了。可能有些人又会用效率来批评Python,其实在操作网络,或者在集群交互的时候, 语言的执行效率绝不是瓶颈。这种情况下,一个比较好的方法是,将python嵌入到C/C++中,让Python来完成一些不是核心的逻辑处理。又扯远了,废话少说,开始urlli ...
- 2010-04-16 15:13
- 浏览 939
- 评论(0)
写了个图片蜘蛛人玩玩,抓了几个网页试试,感觉不不错。核心的代码可能20行也不到,简洁明了,嘻嘻。废话少说,翠花,上代码~~
#coding=utf-8
import os
import sys
import re
import urllib
URL_REG = re.compile(r'(http://[^/\\]+)', re.I)
IMG_REG = re.compile(r'<img[^>]*?src=([\'"])([^\1]*?)\1', re.I)
def download(dir, url):
'''下载网页中的图片
...
- 2010-04-10 23:32
- 浏览 838
- 评论(0)
filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单。python标准库还提供了difflib模块用于比较文件的内容。关于difflib模块,且听下回分解。
filecmp定义了两个函数,用于方便地比较文件与文件夹:
filecmp.cmp(f1, f2[, shallow]):
比较两个文件的内容是否匹配。参数f1, f2指定要比较的文件的路径。可选参数shallow指定比较文件时是否需要考虑文件本身的属性(通过os.stat函数可以获得文件属性)。如果文件内容匹配,函数返回True,否则返回False。
filecmp. ...
- 2010-04-08 10:53
- 浏览 1183
- 评论(0)