Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7624396 建立时间:2006年5月29日 |

| |
[Hibernate]一个简单的复合主键的做关联类的例子 软件技术
lhwork 发表于 2007/2/2 16:09:24 |
场景是这样的:
用户类User,物品类Goods,每次记录用户使用物品的情况,情况包括谁在什么时间借了什么物品。其中有一个约束条件就是用户只能对同一物品使用一次。使用记录类为Record类。我们可以看出User对Record是1:n多的关系,Record对Goods是n:1的关系,而User和Goods之间没有之间的关系。
RecordId类是复合主键类,分别以n:1关联User类,n:1关联Goods类。RecordId类需要实现equals方法,需要实现Serializable。而Record类用RecordId来做主键。
类定义如下:
java代码
/*
* Created on 2004-10-20
*
*/ |
|
[Python]图片批处理的脚本 软件技术
lhwork 发表于 2007/2/2 15:57:18 |
国庆出去玩,拍了一些相片要寄给家人。打开文件夹一看,200M,不知道要传到什么时候,所以必须的缩小一些。一两张还可以用ps改改,100多张?! 花了5分钟写了一段程序来处理,立即搞定,前提是计算机上要装有python和Python Imaging Library (PIL) 程序很简单
下载: batch.py
|
|
[Python]TCP网络程序的基本框架 软件技术
lhwork 发表于 2007/2/2 15:56:59 |
这段时间看了不少网络程序的代码,也动手写了几个server/client.总结一下,大部分网络程序使用的是tcp,用udp只有3个理由: 1.允许一定的包丢失 2.需要做nat穿透 3.节省资源,如socket句柄.
而大多数应用层通讯协议,特别是数据量传输比较大的,为了效率和可靠性都会采用tcp.而TCP是流结构,应此要考虑2种情况: 1.发送数据被阻塞 2.接受包不完整或者多余. 虽然tcp是stream,但是为了解析网络数据都是基于二进制封包或者基于文本的token形式存在. 对二进制的封包来说,一般结构如下:
|
|
[Python]Python中的单元测试 软件技术
lhwork 发表于 2007/2/2 15:56:11 |
我用过的testunit有Nunit,Pyunit,Dunit,从易用性来说Pyunit>Nunit>Dunit,这个是由语言特性决定的.PyUnit有不同的实现,python标准库中有一个自带的. 不过说回来,脚本语言unittest的重要性并没有这么大,因为在每个程序文件中随手定义一些测试函数,直接运行就是.这里unittest 模块存在的意义在于能够打印一些profile信息 它的使用非常简单,你的测试类必须是unittest.TestCase的子类,然后定义相应的测试函数,只要把函数名称写成testXXX的格式,然后运行unittest.main(),这些测试函数就会被调用.另外,unittest.TestCase提供了一个函数setUp,这个函数会在每个测试函数被调用之前都调用一次,如果需要做一些初始化处理,可以重载这个函数.unittest模块还提供了一些高级功能,可以查看帮助.
阅读全文(1759) | 回复(0) | 编辑 | 精华 | 删除 |
| | |
[Python]一个Gtalk的简单客户端 软件技术
lhwork 发表于 2007/2/2 15:55:52 |
一个python脚本程序,基于jabber.py(http://jabberpy.sourceforge.net/) Gtalk采用了xmpp协议,文本聊天基本上是xmpp的一个子集,同时在连接采用了TLS来作为 安全措施。但是gtalk对标准的jabberd通讯协议做了一些修改.
下载: gtalk.zip
|
|
[Python]贡献一个打包备份的脚本 软件技术
lhwork 发表于 2007/2/2 15:55:05 |
工程文件里面,除了代码,文档外,有很多垃圾文件,比如VC project里面的ncb,obj,pch等,要想备份文件夹,还得把它们剔出,特别麻烦.这个脚本我一直都用,可以把打包不同的文件夹,包括子目录,支持自定义保存的文件类型. 它会自动把备份文件压缩成zip格式
下载: pack.py
|
|
[Django]Running Django with FCGI and lighttpd 软件技术
lhwork 发表于 2007/2/2 15:46:24 |
Update: I maintain the actually descriptions now in my trac system. See the FCGI+lighty description for Django. There are different ways to run Django on your machine. One way is only for development: use the django-admin.py runserver command as documented in the tutorial. The builtin server isn't good for production use, though |
|
[Django]Django, lighttpd and FCGI, second take 软件技术
lhwork 发表于 2007/2/2 15:45:09 |
In my first take at this stuff I gave a sample on how to run django projects behind lighttpd with simple FCGI scripts integrated with the server. I will elaborate a bit on this stuff, with a way to combine lighttpd and Django that gives much more flexibility in distributing Django applications over machines. This is especially important if you expect high loads on your servers. Of cou |
|
[Django]Django的Cookie和Session 软件技术
lhwork 发表于 2007/2/2 15:37:07 |
在两个月前,就有同仁在论坛里面提到,Django的Cookie和Session有什么区别,由于我当时也只是懂得如何用这两个东东,但是有什么区别,确不知道,所以当时我说等我有时间好好看看,然后再做回答。由于一直很忙,没有想到一下子等到今天,实在是很抱歉。今晚忽然想起看了看代码,终于看了一个明白。
在Django里面,使用Cookie和Session看起来好像是一样的,使用的方式都是request.COOKIES[XXX]和request.session[XXX],其中XXX是您想要取得的东西的key,但是这两者的原理和实现方式确是非常的不同。 首先介绍Cookie,只要是HTTP协议,就会有COOKIE这个东西; 只要您的浏览器没有禁用Cookie,就 可是使用它。而且是不分用什么语言,用什么框架,因为这是在HTTP协议的层面支持的,浏览器会把您设置的XXX的这个Cookie在Response之后保存到您的本地机器,在下次您向服务器提交或者浏览的时候会把上次保存下来的COOKIE带上发送向服务器;说到这里我们应该澄清一个概念,就是BS结构理论 |
|
|