Thursday, August 14, 2008

月满西楼

红藕香残玉簟秋
轻解罗裳 独上兰舟
云中谁寄锦书来
雁字回时 月满西楼
花自飘零水自流
一种相思 两处闲愁
此情无计可消除
才下眉头 却上心头

Friday, August 08, 2008

基于svn的cruise control config file

<?xml version="1.0" encoding="UTF-8"?>
<cruisecontrol>
<project name="test">
<bootstrappers>
<!-- 根据本地svn目录check -->
<svnbootstrapper localWorkingCopy="projects/${project.name}" username='yourname' password='yourpassword'/>
</bootstrappers>
<modificationset quietperiod="30">
<!-- 根据本地svn目录查找修改的代码文件 -->
<svn localWorkingCopy="projects/${project.name}" username='yourname' password='yourpassword'/>
</modificationset>
<schedule interval="300">
<!-- 定时构建, 标准ant -->
<ant buildFile="projects/${project.name}/build.xml" antHome="apache-ant-1.7.0" target='all'/>
</schedule>
<log>
<!-- 指定ant build log结果存放目录 -->
<merge dir="projects/${project.name}/target/test-results" />
</log>
<publishers>
<onsuccess>
<!-- 构建成功之后, 将bin移动到指定目录 -->
<artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/${project.name}.jar" />
</onsuccess>

<!-- htmlemail -->
<!-- email -->
</publishers>
<listeners />
</project>
</cruisecontrol>

Thursday, August 07, 2008

tomcat下单独设置某个app的access log

在project的META-INF目录下添加context.xml文件, 内容:
<Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="appname_localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false" buffered="false"/> </Context>
这样就能够单独设置某个app的access log了

如果把
这一段放到server.xml中, 那么就是记录所有app的access log:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="appname_localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false" buffered="false"/>

更详细的说明见文档
http://localhost:8080/docs/config/valve.html

Wednesday, August 06, 2008

Django ORM 中ForeignKey生成sql的方式

django根据model的name按照字母序升序排序, 然后依次生成sql, 例如有model A, B, C, 此时A外键引用B, C外键引用B, 则生成的sql即为:
create table app_a(...)
create table app_b(...)
create table app_c(...reference app_b(...))
alter table app_a add foreign key fkey_name reference app_b(...))