I can believe fly.

Tuesday, April 28, 2009

Gmail账号:一个=多个?

   刚发现:使用gmail邮箱有个技巧,那就是在你邮箱账号名称后弄个+号,其跟上的任意字串信息都是被忽略的,因为邮箱地址照常使用。

   而这功能对我们用户有什么用处呢?据介绍:可以方便设置过滤

  假设:你用邮箱去订阅网站信息,如果你用对方管理员的邮箱地址设置过滤,那就不灵活了,万一邮箱名称变了,你就收不到了.(邮箱标题也一样).现在,你可以利用这个功能,给自己的账号加上后缀信息去订阅,然后在去设置过滤,不管对方怎么变,你给的地址是不变的.

  再说白点,你可以将邮箱账号+标签作为邮箱使用,不同注册站点用不同的邮箱,只要你把约定好的地址设置好过滤,那你收到的邮件就会自动归档到相应的标签里了,是不是挺有用的。


  听上去,是不是觉得就一个gmail邮箱,其实等于拥有多个邮箱地址了。

相当于elian at gmail dot com=elian+movie at gmail dot com=elian+scm at gmail dot com 

Gravatar是什么?

Gravatar,什么玩意?有人解释说是全球通用头像(Globally Recognized Avatar

   还是自己动手玩一把,比较有感触:

1. 登录它的站点http://en.gravatar.com,使用个人邮箱注册, 然后配置相应的个人头像(可能有些邮箱收不到它发送的注册邮件).

2. 注册成功后,你在任何blog上使用该注册的邮箱留言,都会显示对应的头像(前提:你访问的blog是支持Gravatar的API

Ps: 你上传过的图片都会存储下来



Redmine项目管理工具介绍

前言

Redmine是一web目管理,基于Ruby on Rails 框架开发 .平台且支持多种数据库..

功能介绍

支持多目的管理

redmine平台就可以管理多個項目

个项目可以分解成多目來管理

目可以所有人可目成

在不同的目中可承担不同角色

可以方便激活或隐藏功能模块(wiki/版本/问题跟踪....

角色的限控制

自定义项目中所需要的角色

根据角色灵活分配权限

和甘特

通过日历,方便查看每个时间点上的任务

通过甘特图,方便查看每个任务的完成进度

、文和文件管理

供团队即时发布任何消息及共享文件

订阅(Feeds)和郵件通知

项目活动/变更/新闻/问题/问题变更都可通过Atom feeds获取通知

设置每項目独立wiki

Wiki页面即采用文本标记符,具有版本控制及比较功能

每个项目都可以拥有独立的wiki页面

置每讨论区

团队可以围绕某个主题建立讨论区,方便项目成员发表看法及观点

简单时间功能

在项目级别中,你可以制定某时间段的工作量报表

1. 以年/月/周/天为单位

2. 项目/活动/成员/问题等作为统计对象

支持問題、目和用户增加自定义属性

自定义属性可以像常规属性那样显示在问题列表中,并可以作为过滤器使用

您可以根据需要为问题、项目和用户添加属性

属性使用多种格式:文本、日期、证书、下拉列表、复选框

集成版本管理系統

可以为每个项目绑定已有的版本库

Redmine使您可以浏览版本库的内容,查阅和搜索变更信息

对比和注释(即追溯)查看器

支持的版本管理系统: Subversion, CVS, Mercurial, Darcs and Bazaar

支持多LDAP(单点)认证方式

Redmine使您可以通过多种LDAP方式认证用户

用户账户可在从目录服务中发现用户后被自动创建(可选的)

支持用自行注冊账号

您可以配置系统允许用户在线注册

提供3种用户激活方式:自动激活(不需要确认)、手动激活(由管理员激活)、通过邮件自动发送的邮件激活

支持多語言

· Bulgarian,Czech,Danish,Dutch

· English,Finnish,Chinese,French

· German,Hebrew,Italian,Japanese

· Lithuanian,Korean,Norvegian,Polish,Portuguese,Romanian

· Russian,Serbian,Spanish,Swedish,Ukrainian

支持多数据库

  Redmine可以使用的数据库有:MySQL、PostgreSQL、SQLite 

相关资讯

 http://218.107.133.32:5000/projects/ezwork/wiki/ZhRedmine 

Friday, April 10, 2009

python + sql server

1. 模块选用pyodbc,资料如下:
Home Page:http://code.google.com/p/pyodbc
Documentation:http://code.google.com/p/pyodbc/w/list
Issues/Bugs:http://code.google.com/p/pyodbc/issues/list
Discussion Group:http://groups.google.com/group/pyodbc
Source:http://github.com/mkleehammer/pyodbc

2. 问题
问题:执行cursor_oem.execute("SELECT id FROM list")
出错:
Errors: ('42S02', "[42S02] [Microsoft][ODBC SQL Server Driver][SQL Server]\xb6\x
d4\xcf\xf3\xc3\xfb 'oem_list' \xce\xde\xd0\xa7\xa1\xa3 (208) (SQLExecDirectW)")
原因:表oem_list需要指定所有者才可行
分析:表的所有者是user2,但连接数据库用的是user1,因此估计跟表的所有者有关系!

问题:连接数据库出
错误信息:
Errors: ('22001', '[22001] [Microsoft][ODBC SQL Server Driver][SQL Server]\xbd\x
ab\xbd\xd8\xb6\xcf\xd7\xd6\xb7\xfb\xb4\xae\xbb\xf2\xb6\xfe\xbd\xf8\xd6\xc6\xca\x
fd\xbe\xdd\xa1\xa3 (8152) (SQLExecDirectW); [01000] [Microsoft][ODBC SQL Server
Driver][SQL Server]\xd3\xef\xbe\xe4\xd2\xd1\xd6\xd5\xd6\xb9\xa1\xa3 (3621)')
原因:
执行的sql语句有问题,即服务器: 消息 8152,级别 16,状态 9,行 1
将截断字符串或二进制数据。语句已终止。

问题:在执行insert之前未加入cursor = cnxn.cursor()    
报错:Errors: No results.  Previous SQL was not a query.
查询数据库表,数据已新增. 反过来,如有加入,则信息:
Errors: ('HY010', '[HY010] [Microsoft][ODBC SQL Server Driver]\xba\xaf\xca\xfd\x
d0\xf2\xc1\xd0\xb4\xed\xce\xf3 (0) (SQLFetch)')
原因:可能是sqlserver的一个bug http://support.microsoft.com/kb/257517/en-us/
解决:将cnxn的提交动作移到循环插入数据外
注意:添加前,需要有cursor_oem = cnxn.cursor()  

Thursday, April 2, 2009

SVN属性介绍

tsvn:logtemplate
1.  说明:SVN修改日志模板设置,即设置提交时填写修改日志的模板格式.
2.  例子:符号 [修改的目录或单个文件] 详细说明
3.  缺陷: 定制了该模板属性,在提交的对话框中会显示该模板,如果有人不愿意按此格式写,加上日志不能为空,则就等于方便别人将模板的信息作为修改日志说明提交了.
4.  解决: 想要解决这个缺陷,可以考虑在hooks加入检测,如果日志信息与模板相同,此不能提交.

svn:keywords 
1.  说明:SVN关健字设置即在文件里如果出现指定$关键字$,则会被替换成实际值.
2.  例子:以下是针对SVN提供的几个关键字
a. aa.txt文件的头内容
$Rev::               $:  Revision of last commit
$Author::            $:  Author of last commit
$Date::              $:  Date of last commit
b.  属性设置
格式一: Rev Author Date   # 你可以让所有文件都生效
格式二: Rev Author Date *.txt #你可以指定生效的文件类型
注意: 假设是通过TortoiseSVN工具设置,则别忘了打勾Apply property recursively
因为该属性是针对文件而不是文件夹且设置格式:
c.  属性设置完提交查看aa.txt
$Rev:: 1058          $:  Revision of last commit
$Author:: ysl        $:  Author of last commit
$Date:: 2009-04-03 1#$:  Date of last commit
注意: 由于$Date::              $: 我们在文件中写上关键字加上对应的空格,等于是有固定的长度,所有过长的数据会被截断.

bugtraq:url  
1.  说明: BUG号链接之地址设置
2.  例子: http://bug系统地址?IssueID=%BUGID%
bugtraq:label
1.  说明: BUG号链接之标签设置,即会在提交对话框上增加标签组件的名称,默认Bug-ID / Issue-Nr:
2.  例子: BugID:

bugtraq:message
1.  说明: BUG号链接之信息设置,即会在修改日志里追加上对应的信息.其中%BUGID%值会替换成相应的值.
2.  例子: 响应处理bug:%BUGID%

bug其它设置
bugtraq:warnifnoissue BUG号链接之警告设置,
bugtraq:append 默认true,这个属性定义了IssueID是追加到日志信息的末尾(true),还是插入到日志信息的开始(false)
bugtraq:number 默认true,只能输入数字且逗号隔开多值.
bugtraq:logregex 设置正则表达式,自动从修改日志信自里获取.不增加单独输入框.