buyaoa.com

不要...啊(buyaoa.com)

不要再受陋习和误区的影响,走向健康生活……

buyaoa.com RSS Feed
 
 
 
 

Wordpress插件(plugin)推荐- SEO插件(关键字、Sitemap和数据统计)

介绍几个我正在使用的Wordpress插件(plugin)。这是一组SEO相关的插件。

All in One SEO Pack

下载地址http://wordpress.org/extend/plugins/all-in-one-seo-pack/

功能介绍:设置Blog文章页面的title、description和keywords。

使用方法:在wordpress文章编辑界面内增加了可以设置tile、description、keywords的输入框。在Option里多了一个All in One SEO Pack的设置页

Google XML Sitemaps

下载地址http://wordpress.org/extend/plugins/google-sitemap-generator/

功能介绍:生成google、yahoo、msn、ask等都支持的sitemap文件。

使用方法:使用这不用做任何事情,在添加文章、重新发布文章等时候程序会自动在你blog根目录下生成sitemap.xml和sitemap.xml.gz两个文件的。

Google Analytics for WordPress

下载地址:http://wordpress.org/extend/plugins/google-analytics-for-wordpress/

功能介绍:Google Analytics for WordPress给你的blog添加Google Analytics的统计功能

使用方法: 安装后在plugin界面里多了一个Google Analyticsfor WordPress的设置页面,在里面设置好你的UA-ID就可以了。其他设置凭个人喜好。

[原创]达到“让特定用户只能查看特定项目的Issue”效果的JIRA设置

【全局修改】 只需修改一次
Schemes — [Permission Schemes] — Default Permission Scheme — [Permissions] ,针对 Browse Projects :
删除: Project Role (Users)
增加: Project Role (Developers)

【假设】
客户项目名称为:2008001-IFELC
客户用户名称为:user1

【项目用户组】每个项目修改一次
1,Add Group
本例为:Group_IFELC
2,Project Role Browser
2.1,[View Usage],Developers后面的(其实这里三个中的任意一个貌似都可以)
2.2,[查看],对应项目的“Project Role Members Per Project”
2.3,[编辑],Developers这个Role的组
2.4,[Join>>],为该项目增加的用户组

【客户用户人员】每个客户人员修改一次
1,Add User
本例为:ifelc_user1
2,添加该用户到该项目的用户组去
本例为:将用户 ifelc_user1 加入 Group_IFELC

【设置效果】
通过上述的设置,可以达到如下效果:
1,用户只能看到自己所在的Group所在项目中的 Issue ,并且能看到该项目中的全部 Issue 。
2,通过为不同的项目设置不同的 User Group ,可以控制特定用户只能看到特定的项目中的 Issue 。
3,不足之处:用户可以看到全部项目,并能创建 Issue 到无权查看的项目,不过创建之后他就看不到了。

摘录的几段关于“重构(refactoring)”的资料

工作累了,看了几篇文章,摘录几点备忘 。

和别的任何开发任务一样,重构任务(以及其他“技术债”类型的任务)也应该符合INVEST的标准:彼此独立(Independent),可讨论(Negotiatable),有价值(Valuable),可估算工作量(Estimatable),足够小(Small),可测试(Testable)。尤其是,它们的工作量应该得到估算,它们应该按照业务价值排列优先级。因为归根到底,重构(以及其他任何开发任务)都归结为“花在代码上的成本”与“对业务创造的价值”之间的权衡。

重构是现代开发的一项利器,因为它同时满足现代开发的核心思想:正交性(做一件事情不会影响到另外一件)、小步快跑(人的大脑在处理多头绪的事情时效率不高,多头绪的事情要分解成大脑最擅长处理的单头绪)、实用优于优雅(不过多考虑将来的事情,用最简单明了的方法解决当前的工作)。

重构的着眼点主要在于两个方面:一是系统相关的重构,一是文件相关的重构。系统相关的重构即是对于整个系统的系统逻辑和系统架构进行思考和改造,而文件相关的重构则是对于文件内部的逻辑和结构进行重组和修改。当然系统相关的重构必然包含着文件相关的重构,但是在实际的重构活动中大多数进行的则是文件相关的重构。

重构的具体方法主要包括:

1、文件的重构:主要包括文件的命名,文件中相关的类的分布

2、包的重构:主要包括包的命名,包中所包含的类的分布

3、接口的重构:主要包括接口的命名,接口中域的抽象以及方法的抽象

4、类的重构:主要包括类的命名,类的主要目标与其所包含的方法十分对应的,域的抽象是否合理等。

5、方法的重构:主要包括方法的命名,方法的名称与其功能的对应,方法的功能抽象是否合理,方法的参数十分合理,方法的返回参数是否合理。

6、域的重构:主要包括域的命名,域的抽象是否合理

7、内部类的重构:是否有必要将内部类抽取为一个单独的外部类

8、语句的重构:这就包括各种具体的代码语句,而且和具体的语言还有较大的关系。

所以,代码的重构需要相当多的经验积累,而且不要为了重构而重构,在重构之前还必须考虑付出成本和重构收益之比,以决定是否有必要进行软件重构。
————————–

《对遗留系统组织重构项目》
http://blog.csdn.net/gigix/archive/2008/02/25/2118896.aspx

《代码重构--实践家的快乐游戏》
http://blog.csdn.net/lomo/archive/2004/08/02/58598.aspx

《一次滴血的重构经历》
http://english.zhuaxia.com/item/234871993

(zt)永远不要对父母说的十句话

1、好了,好了,知道,真罗嗦!

2、有事吗,没事?那挂了啊。
(父母打电话,也许只想说说话,我们能否理解他们的用意,不要匆忙挂了电话?)

3、说了你也不懂,别问了!

4、跟你说了多少次不要你做,做又做不好。
(一些他们已经力不能及的事,我们因为关心而制止,但这样让他们觉得自己很无用)

5、你们那一套,早就过时了。
(父母的建议,也许不能起到作用,可我们是否能换一种回应的方式?)

6、叫你别收拾我的房间,你看,东西找都找不到!
(自己的房间还是自己收拾好,不收拾,也不要拂了父母的好意)

7、我要吃什么我知道,别夹了!
(盼着我们回家的父母总想把所有关心融在特意做的菜里,我们默默领情就好)

8、说了别吃这些剩菜了,怎么老不听啊!
(他们一辈子的节约习惯,很难改,让他们每次尽量少做点菜就好)

9、我自己有分寸,不要老说了,烦不烦

10、这些东西说了不要了,堆在这里做什么啊!
(他们总想把跟我们成长有关的东西都收藏起来,也许占满房间,多年后,看到自己还是婴儿时的小棉袄,难道不是很惊喜吗?)

看书

象其他很多人一样,看书是我学习和消遣的一种方式。

床头一直都堆着几本还没有看完的书,电脑里面也有几本。春节放假前本来想要买几本业务理论的书看看的,无奈找好了书,到了下订单的步骤的时候,当当网提示 因为恶劣天气,不能准时送货了。一时郁闷,也就没有下订单。如今想来,当时还是应该下订单才对,迟到也比不到好啊。一旦开始上班,恐怕就不容易再有那么多 时间看书了。

这几天假期,就是吃饭、发呆,再吃饭,再发呆……直到天黑了睡觉。发呆期间,想起自己是起点VIP,于是上起点看了一个异世大陆类型的小说《卷轴批发商》,连载还没完,等更新实在是一件不爽的事情。


看这种异世大陆类型的小说,就是YY一下,算是打法无聊的时光的一个方法,只要作者有新颖的构思和不差的文笔,就能让读者YY得很爽。

手头纸质的书籍也还有好几本以前买的没有看完,类似什么《自己挑战自己》看着着实没有看YY小说来的轻松愉快。

不禁有点怀念学生时代看武侠小说的情景了。

提高在多个Domino数据库中查找设计元素中的特定信息的效率

【背景】
帮助客户进行部门拆分的有关实施和改造工作。
需要在两个Domino服务器上的几百个数据库的设计中,需要查找特定的部门的名称进行修改。
问题是客户系统中有不少数据库在代码中写死的部门名称或者部门编号,一个一个数据库打开,逐个查看设计元素,简直有些不可想象。

【思路】
在前面,我已经介绍过,“利用NotesDXLExporter class来将Notes的设计元素导出成XML文件”(http://www.buyaoa.com/wp/?p=215)的方法。
这次的思路就是通过搜索这些导出的XML文件,来快递定位到这些写死在设计中的内容,进而目的明确的去进行修改。

【步骤】
我使用UltraEdit作为查找工具。
(其实我也写了一个批处理来查找并输出到一个文件,但是觉得还是UE更加方便好用一些。因为还是要结合上下文来判断出现的部门名称等特定信息,到底是否需要修改。比如注释。)

1,下面假设从Notes数据库导出的XML文件,都放在%workspace_dir%目录及其子目录下。

2,使用UltraEdit的“搜索”菜单下的“在文件中查找”。
如果搜索菜单下面没有这个选项,在菜单栏(比如“帮助”的右边空白处)点击右键,选择“Advanced”。

3,“在文件中查找”窗口的设置:
“文件类型”,如果你导出文件的扩展名像我一样都是.xml的话,那么就填写“*.xml”,否则请相应修改。
“目录”:就是XML文件存放的目录,本例中就是%workspace_dir%。
注意选中“搜索子目录”,搜索范围选择“列出的文件”。

4,点击查找,UE会在编辑窗口下面显示出查询的结果,在有关的语句上面双击就能在编辑窗口中打开该文件,并定位到选定的行上。

5,其实到上面已经说明了主要的部分。下面补充个小心得。
快速知道代码属于那个代理或者Script库,就是向上搜索“<agent name”或者“<scriptlibrary name”(其实不搜索name也可以)。其他的form什么的也是一样。

[原创]一个下载和安装SAV的病毒定义库的批处理

::::::::: $Id: readme.txt 101 2008-01-20 05:24:53Z honghunter $

::::::::: 说明:
::: 运行本批处理文件,将首先从指定网站 (由 %defs_site% 参数指定),
::: 获得最新的Symantec AntiVirus的病毒库更新文件(defs)的文件名,
::: 然后下载该最新的defs到系统%temp_dir%目录下,并启动运行之。
:::
::::::::: 其他说明:
::: 1,代理:
::: 在需要使用代理的环境下,请在下面这句中加上您使用的代理服务器的地址。
::: 不用代理的e.g.: set “http_proxy=”
::: 使用代理的e.g.: set “http_proxy=192.168.1.1:8080″
::: 2,非32位系统:
::: 本批处理默认下载的是32位操作系统使用的defs文件。
::: 对于非32位的操作系统,请注意修改 %HTML_STR_KEY%参数。
:::
::::::::: 测试环境:
::: 本批处理文件,在如下环境下测试有效。
::: Microsoft Windows XP Professional 版本 2002 Service Pack 2
::: Symantec AntiVirus 10.0
:::
:::::::::
版权说明:
:::
This 作品 by
:::
<a xmlns:cc=”http://creativecommons.org/ns#” href=”www.buyaoa.com” property=”cc:attributionName” rel=”cc:attributionURL”>kevin shen</a>
:::
is licensed under a
:::
<a rel=”license” href=”http://creativecommons.org/licenses/by-nc-sa/2.5/cn/”>Creative Commons 署名-非商业性使用-相同方式共享 2.5 中国大陆 License</a>.
:::
:::::::::

需要wget.exe和getkeystr.exe。

其中所需的getkeystr.exe是我用perl写的一个小工具,希望将来能用批处理实现其功能。
getkeystr_v0.1.8.rar

批处理文件和Wget:

http://www.fs2you.com/files/
30140d99-c840-11dc-bb3c-00142218fc6e/

或者:http://bbs.highot.net/
attachment.php?aid=503401

也谈Lotus Domino/Notes开发中的版本管理

** Lotus Domino/Notes开发中的版本管理似乎一直不太理想,因为.nsf和.ntf都是二进制文件格式。导致其中的开发成果,难以想一般的开发语言产生的纯文本格式文件那样,被CVS、VSS、SVN等工具进行简单有效的版本管理。

** 因为这样的原因,很多团队中还是保持着:通过将数据库不断的新建拷贝来作为版本管理方式。这样虽然有了版本,但是版本之间的差异只能靠另外写文件做记录,无法进行基于自动半自动化工具的统计分析……总之,很多进一步的管理都难以实现。

** 刚工作的时候,就面对这样的问题,不过那个时候,需求不迫切。(刚工作的时候是很不迫切,想到这个只是因为看有关的软件工程的书籍后,知道这个点是弱项。)

** 最近之所以又想起这个问题,是因为我现在的工作的缘故。在做了一年多的专职配置经理之后,再次回到牵涉Domino开发的工作岗位上来,发现还是避不开这个问题。不过这次,还是找到了一些办法的。经过一阵的Google,从www.notes411.com看到一个帖子,得到启发,再仔细看了有关的Lotus Domino Designer 7 Help,并简单试验之后,找到了一个思路。

****关键步骤如下:
1,将系统设计元素导出成为XML 文件;
2,对于XML文件想一般的纯文本文件一样做版本管理。

****实现将系统设计元素导出成为XML文件的关键,是用好从Notes R6开始新增的NotesDXLExporter class。Represents the conversion of Domino data to DXL (Domino XML).

参见《Lotus Domino Designer 7 Hel》中的Examples: SelectAllCodeElements method

This agent builds a note collection consisting of all code elements in the database.
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase

REM Open xml file named after current database
Dim stream As NotesStream
Set stream = session.CreateStream
path$ = “c:\dxl\”
filename$ = Left(db.FileName, Len(db.FileName) – 3) & “dxl”
filename$ = path$ & filename$
If Not stream.Open(filename$) Then
Messagebox “Cannot open ” & filename$,, “Error”
Exit Sub
End If
Call stream.Truncate

REM Create note collection
Dim nc As NotesNoteCollection
Set nc = db.CreateNoteCollection(False)
Call nc.SelectAllCodeElements(True)
Call nc.BuildCollection

REM Export note collection as DXL
Dim exporter As NotesDXLExporter
Set exporter = session.CreateDXLExporter(nc, stream)
Call exporter.Process
End Sub

将Notes联系人变成Foxmail的联系人

—— 21:05 2008-1-8 —
[用途]
将Notes联系人(通讯录)变成Foxmail的联系人(地址簿的卡片)

[用法]
1,在Notes客户端上,在Names.nsf中的用户视图上,选择“文件”菜单的“引出”。
将该视图中的“全部文档”引出成为格式文本“n.txt”

2,运行批处理文件n2f.bat,n2f.bat读入n.txt,处理后,输出f.txt。

3,在Foxmail中,打开地址簿,选择“工具”菜单中的“导入”-“文本文件”。导入“f.txt”。

——22:52 2008-1-8 在WinXP SP2 + Notes 7.0.2 +Foxmail 6.5 bate1下测试通过。

下载:http://dps4u.googlecode.com/files/Notes2foxmail.rar

XP下给右键添加“使用记事本打开”

在右键菜单中添加“用记事本打开”这一命令功能

经常使用电脑做些维护和开发的人,会体会到快捷的使用“记事本”打开文件带来的好处。

下面就是参考网上的一些帖子,我整理备份的,通过修改注册表实现,在右键菜单中添加“用记事本打开”这一功能的方法。

【方法一】
打开注册表编辑器,找到下面的键值:HKEY_CLASSES_ROOT\*,接着新建一个名为shell的子项,接着再它的下方新建名为“Notepad”,然后在右侧窗口中将其默认值改为“使用&Notepad打开”,最后在“Notepad”项下新建名为“command”的子项,在右侧窗口中将其值改为:notepad.exe %1就可以了。

【方法二】
打开注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*,用鼠标右键单击 * 号,选择新建主键,输入名字:shell,再用鼠标右键单击刚做好的 shell,再建一个叫做 notepad 的主键(可取任意字符串),并将 notepad 右边的(默认)改为:&Notepad(这里的 & 号作用是将 N 作为键盘快捷按键,你也可以将 & 放在后面,总之它是将后面的字符作为快捷按键)。然后在 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shell\Notepad 下边增加个叫 command 的主键,修改 command 右边的默认值(默认) 为 notepad.exe %1。(这里的 notepad.exe 指实际的“记事本”可执行程序。)

【方法一补充】
在Windows XP sp2下,使用方法一之后,导出该键得到如下内容的文件。
(比如保存成《右键添加用记事本打开.reg》文件后,双击导出系统。)
————文件开始(不含本行)————-
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell]

[HKEY_CLASSES_ROOT\*\shell\Notepad]
@=”使用&Notepad打开”

[HKEY_CLASSES_ROOT\*\shell\Notepad\command]
@=”notepad.exe %1″

————文件结束(不含本行)————-

[许可声明]

除非特别注明,本站采用 署名-非商业性使用-相同方式共享 2.5 授权条款授权, 欢迎转载但必须保留到buyaoa.com的超文本链接。

Meta

Blogroll

Categories

我的近况