??xml version="1.0" encoding="utf-8" standalone="yes"?> EverNote 的强大已l无需多说。他自己有很好的客户端,不过那个只是对Windows和OS X。在linux下面pc了。就是Windows和OS X下面的客L也存在一个致命的qQ不支持 MarkDown ? ?
vim中一般是Ҏ文g的后~名来识别该文件是什么类型。然后ؓ他加载相应的语法高亮Q代码补全什么的。在没有改动前geeknote是ؓW记创徏的?
文g时没有后~的。只是随机的创徏一个Ş?tmpsNbc8kq样的文件。所以Vim无法识别他是何种文gQ就无法Z加蝲对于的语法高亮之cȝ?/p> 既然扑ֈ原因了就先看一下geeknote是否有什么地方可以设定,让他产生的时文件有后缀。最后在editor.py文g中发Cq么一行代码: (tmpFileHandler, tmpFileName) = tempfile.mkstemp() ?直接没有lQ何后~的想法?br />那就加上吧? q个其实geeknote已经惛_了,而且已经做了。代码仓库中的那?bash_completion/geeknote 文g是q这个活的?所以我只要把这个文件copy?/etc/bash_completion.d/ 下就可以了?br />但是copyq去后没有达到我惌的效果。没有自动补全。最后发现是geeknote配置的补全命令和我们执行的时候不一致?br />下面要做的就是把它们搞一致了?br />我的操作步骤如下Q?br />1. chmod +x geeknote.py lgeeknote.py加上可执行权限?br />2. geeknote.py所在\径加入到PATH中去?br />3. 修改 /etc/bash_completion.d/geeknote 文g中的 geeknote 为geeknote.py q个在我上面提到的github中可以找到?/p> q个时候在新开一个控制台Q输?geeknote.py tab 可以自动补全了。小爽一下!
前几天不知道那根{搭错,又拿Z大学时候买的一本讲法的书Mh。想起当q学习Tree的时候,看着数据l构凭空L那颗倒着的树。那个叫做苦啊。所以就像有没有什么办法让Tree自己dq样的结构图出来?
既然惛_了,动手做把。因Z前用Graphviz画过一点mindmapQ类图之cȝ东ѝ让我一下子想CQ我只要能从Treel构中方便的输出成一个能l制出对应树l构的Graphviz脚本可以。这应该是代h的做法?
呵呵Q废话不多说了。看看的Tree的代码吧Q?
产生脚本的动作全部在q里完成了。我通过如下代码创徏了一颗树 最后得到的一副如下的?br />
呵呵Q这L话就可以随时查看树的l构了,我们所需要做的只是把object toString一下就可以?/p>
附上一些文?/p>
不过有好人做了一个工?Geeknote 让我们可以在M装有python的机器上使用Evernote?更强大的是他可以使用M~辑器编辑笔讎ͼ支持 MarkDown ?有如此好处还{什么啊赶紧用v来?br />个h在用的时候发现原版有点点不舒服的地方Q做了点点小改动攑֜?GitHub?具体是什么改动,先买个关子?/p>安装
直接从源码安?
不爽的地?/h2>
改之
让vim正确讑֮filetype
我所做的动作是q个Q给他加上了一个文件后~的设定?br />通过python geeknote settings --suffix suffix q样的命令来讑֮零时文g的后~。这栯法高亮,代码补全回来了。小爽一下!命o行自动补?
]]>
~v
动手
public String toString() {
StringBuffer strValue = new StringBuffer();
StringBuffer rout = new StringBuffer("{rank=same ");
if(getLeftTree() != null ) {
strValue.append(root).append(ARROW).append( getLeftTree().getTreeNode()).append(";\r").
append( getLeftTree());
rout.append(getLeftTree().getTreeNode() ).append(ARROW).append(EXTEND).append(root);
}
strValue.append(EXTEND).append(root).append("[label=\"\",width=.1,style=invis];\r");
strValue.append(root).append(ARROW).append(EXTEND).append(root).append("[style=invis];\r");
if(getRightTree() != null) {
strValue.append(root).append(ARROW).append( getRightTree().getTreeNode()).append(";\r").
append( getRightTree());
rout.append(ARROW).append(getRightTree().getTreeNode());
}
strValue.append(rout).append(" [style=invis] } ;\r");
return strValue.toString();
}
tree.addNode(3);
tree.addNode(16);
tree.addNode(5);
tree.addNode(4);
tree.addNode(2);
tree.addNode(10);
tree.addNode(30);
]]>
1. 提供一个开发和试交互的^収ͼ测试和攚wE序化。不需要测试h员就每一个问题和开发h员直接交,也避免了发生错误被遗忘的问题?/p>
2. 提供错误索功能,?span lang="EN-US">PM和测试经理掌握测试和攚w情况
除了基本功能外,Bugzillaq有如下强大功能Q?/span>
1. ZWeb的访问方式,不需要安装客L
2. Email自动通知错误相关人员
3. L数量Q类型的附g。如屏幕截图Q日志文?/p>
4. 丰富的字D,如品名Q组件名Q版本号Q错误发生的q_{等Q可以精的描述错误?/p>
5. 强大的检索功能,可以Ҏ错误的所有特性进行检索。如日期Q责MhQ提交hQ所属版本,所属组Ӟ状态,{等?/p>
6. 强大的即时报表和历史报表
7. 可以定制的权限管理机Ӟ实现Ҏ限的_控制。如只有Test Manager才能关闭错误?/span>
8. 使用MySql作ؓ后台数据库,E_Q数据迁UM很方ѝ?/span>
9. 完全开攄Perl代码Q如果需要,可以自己实现特定功能
Q以上文字摘?/span>http://jason.rocklv.net/freesoftware/ar01s06.htmlQ?/span>
q个图中描述了一?/span>bug的生命周期(Life Cycle of a BugQ。从图中我们可以了解C?/span>Bug从生到死一般会l过NewàEvaluationàResolvedàVerificationàClose。在q个q程中参与的角色有两个:试人员和开发h员?/span>
我们先从试人员的角度这个系l?/span>
试人员看除了新?/span>Bug以外其实一个很重Q务就是回。也是上图Resolved一下的工作。如何安排回的工作Q?/span>Bugzilla可以Z提供一个很人性的方式。这Uh性的方式得益?/span>Bugzilla强大的搜索能力?br />直接点击First,Last,Prev,Next可以达到在你选择?/span>Bug中来回游赎ͼ其实q个是你工作的q程Q?/span>
如果你说今天下班前这部分工作可能做不完,明天我又不想在输入那么多的查询条Ӟ好办保存他啊。直接看右下角:看?/span>Change Several Bugs at Once”就是ؓq个时候的你量w订做的?/span>Bugzillaq有很多不错的功能我q里׃多说了?/span>
<!--[if !supportEmptyParas]--> <!--[endif]-->
下面来看?/span>Bugzilla能给开发者带来什么样的好处。开发者在整个?/span>bug生命周期中主要处?/span>Resolved?/span>ASSIGNEDQ这个功能项目经理或目负责人用的比较多Q这两块功能。但是这两块功能是应该算?/span>bug在其生命周期中最辉煌的一D|间。他们就是ؓq个时候而生?/span>
好了废话不多说了。我们来看看一般开发h员如何利?/span>Bug Tracepȝ。首先登陆到pȝà搜烦自己?/span>BugQ有?/span>Bug Trace提供了让用户一登陆可以看到自qBugQ?/span>à打开开发环?/span>à修改代码à自测à提交修复。需要不停的?/span>Bug Tracepȝ和开发环境间不停的切换?/span>
Bugzilla?/span>Eclipse l我们提供了一个更人性的解决Ҏ。假讑ּ发h员小J来到了办公室在开机和倒茶的时候他心里在盘算着今天可能有些bug需要修复?/span>OkQ可qEclipseh了。那先看看今天有没有自qbug吧?br />看v来很不错吧?/span>
除了q个q个Taskq有除了能让你看到整z的workbench外还可以l你一个整z的思\?br />通过讑֮旉让你有效的管理你的时间。这样就让在开发过E中最难掌控的部分理h了?/span>
Bugzilla?/span>EclipseQ?/span>MylarQ的好处我就不一一多说了。如果你不相信我的话可以先去体验一下?/span>
其实q个时?/span>Bugzilla可以当成一个项目管理Y件来用了Q不光光?/span>Bug了。如果我们能加上报表Q这样就可以为项目管理者提供最准确的项目进度数据?/span>
<!--[if !supportEmptyParas]--> <!--[endif]-->
说道报表Bugzilla为项目管理者们提供了很强大的报表功能。ؓ目ȝ{场合提供最有h值的原始资料?/span>
<!--[if !supportEmptyParas]--> <!--[endif]-->
源码理Q?font face="Times New Roman, serif">cvs
bug理Q?font face="Times New Roman, serif">bugzilla
目理Q?font face="Times New Roman, serif">open workbench?/p>
Cvs没什么好说的?/p>
不过在安?font face="Times New Roman, serif">bugzilla的过E中有点问题?/p>
我是Ҏhttp://www.websina.com/cn/bugzilla-install-windows.html一文进行安装的?/p>
Bugzilla Version 2.20.1
MySql version 4.1
Perl version 5.8.7
Z减少安装 perl 模块的麻烦。我使用?/span> 汉化 Bugzilla 中收集的模块 BugzillaModules-2.20 。这个在 http://sourceforge.net/projects/bugzilla-cn 可以扑ֈ?/span>
所有都qA后,?/span> 再次q行 Bugzilla 的安装检查程序( CheckSetup.pl Q?/font> 。发现给了我下面的错误:
找了半天?/span> Byron Jones 写的?/font> Installing Bugzilla on Microsoft Windows ?/font> http://www.bugzilla.org/docs/win32install.html l于扑ֈ原因了?/span>
产生q个错误是因?/font> MySQL 4.1 及以后的版本使用了新的密码加密算法,而用的 Perl ?/font> DBD::MySql 模块不够斎ͼ不支持新的加密算法。你可以采取两种方式来解册个问题:一是?/font> 新的 DBD::MySql 模块 Q不q需要自q译;另一U是?/font> MySQL 中强制用兼容老版本的密码加密法Q?/font>
q样搞定了?/font>
q个 open workbench 。通过看它的简介发C也是一个类g很有的软g。核心部分是 java 实现。而界面却?/font> MFC 做的。不可思议吧?/font>
http://www.openworkbench.org/ 可以下蝲?/font>
我下载以后不能跑。给我报错是说?/font> Here's the fix for the JRE[n] not found. My specs is Windows 2000 w/ JDK1.5.0 and private JRE (in JDK dir). ?/font>
我想啊,惛_。我明明安装?/font> JDK1.5.0_04 了啊。其他?/font> java 的程序( Eclipse Q都可以好好的跑啊?/font>
Z么到了这儿就不可以了呢。火大?/font>
后来在论坛中扑ֈ一个解x案:
login as administrator
open regedit
goto HKEY_LOCAL_MACHINE/Software/JavaSoft
create if not exist : subkey "Java Runtime Environment" (the key did not exist before on my computer)
In
the new subkey add String value
CurrentVersion="1.5.0"
In the new subkey, create new subkey "1.5.0"
In
the subkey 1.5.0 create the string values JavaHome, MicroVersion,
RuntimeLib (read http://java.sun.com/j2se/1.4.2/runtime_win32.html)
if you installed JDK in c:\program files\java\jdk1.5.0 then set
the values to
JavaHome="c:\program files\java\jdk1.5.0"
MicroVersion="0"
RuntimeLib="C:\Program
Files\Java\jdk1.5.0\jre\bin\client\jvm.dll"
Ҏq个Ҏ我修改了我的注册表。修改结果如下图Q?/font>
修改了这个以后就能顺利启动。小用了一下,感觉很不错。基本能满我的需求了?/font>
q样我的工作台就完全搞定了。全部开源品。省钱啊?br />