共 36 页, « 1 2 [3] 4 5 6 » ... 最后一页 »
今天在安装Visual Studio 2003时,安装程序要求先重启计算机,重启之后再启动安装程序,依然要求重启计算机,如此一直反复下去。无奈Google了一下,发现这居然是个常见问题,解决方法是删除 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager 下的 PendingFileRenameOperations 键就可以了。
看了看我机器上的这个键的内容,好像是安装McAfee时遗留下来的。
ps.原来常见的那个“必须重启后才能完成安装”是这么回事儿啊。
工作中写商务文书是必不可少的,如报告、文档、请求、邮件等等。 而搞技术出身的人,写作能力一般都很差,写出来的东西别人看不懂。 这篇文章 提出了写好商务文书的九个要点,也许能给广大搞技术的人作为参考吧。
写好文章当然不是要求你写出人人都说好的文章,那需要相当深厚的文字功底, 咱搞技术的也没那么多时间。所以降低一点标准,至少要写出没人说不好的文章来。 那么要点是什么呢?
- 写明观点
- 写明理由
- 按照结构化层次来书写
- 概要和详细内容分开写
- 一句话说明
- 不要抽象,要具体
- 不要随意省略
- 事实和意见分开写
- 明确论点
具体内容请点开看。
阅读全文 »今天开始安装Solaris 10,跟Linux的差别挺多,真是不习惯啊。
阅读全文 »有些人没有设置工作目录的习惯,而是想checkout哪个文件时就顺手设置一个,久而久之VSS中各个文件的工作目录设到哪儿的都有。想整理整理吧,但又不知道怎么删,甚至把整个数据库连接都删了重建也不行。
原来……真没想到vss居然把工作目录这个完全属于客户端的信息保存到了服务器上。打开服务器上的 ”users/你的用户名/ss.ini”,看看最后那部分吧,工作目录的设置都在这儿呢。全删了,再重新设就行了。
GreaseMonkey这个插件大家都早已熟悉了。最近我遇到一个问题:需要让页面在调用完某个函数之后自动执行我的函数。 其实这个并不难,写个函数替换原有的函数即可:
function hook() {
var f = unsafeWindow.foo; // 保存旧函数
unsafeWindow.foo = function() { // 定义新函数
alert("Hello!"); // 先执行我们的处理
f(); // 再执行旧函数
}
}
然后加载到页面上:
setTimeout(hook, 1000);
这样,页面再执行foo函数时,就会先执行我们的alert("Hello!")了。
不过这个函数还有很大的问题。比如,原有函数的参数不能正确传给foo,返回值无法取出来,无法应用到对象中的方法,通用性不好等。 下面来一个个解决。
阅读全文 »xsltproc的常用参数
xsltproc有许多实用的参数。有两种方法指定参数。一是在执行xsltproc时通过--stringparam参数来设置,如:
xsltproc --stringparam html.stylesheet "style.css" -o index.html chunk.xsl index.xml
另外一种方法就是写到XSL文件中,格式如下:
<xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
常用参数有:
- html.stylesheet,设置生成的网页所用的CSS样式表。
- section.autolabel,设置为1可以对章节标题自动编号
- section.label.includes.component.label,默认情况下节的编号中不包括章的编号,如“第二章->1->1.1”,将此项设置为1,即可让节编号中包含章编号,如“第二章->2.1->2.1.1”。
- section.autolabel.max.depth,设置章节标题自动编号的深度
- chunker.output.encoding,设置chunk输出时使用的字符编码
使用catalog
catalog有很多作用,最重要的就是
- 可以给引用的xsl设置缩略名称
- 可以指定DTD在本地的位置
下面是个catalog.xml的例子:
<?xml version="1.0"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<!-- define public DTD -->
<public
publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
uri="file:///usr/share/sgml/docbook/xml-dtd-4.1.2-1.0-30.1/docbookx.dtd" />
<!-- XSL location -->
<uri
name="html/docbook.xsl"
uri="/usr/share/sgml/docbook/xsl-stylesheets-1.69.1-5.1/html/docbook.xsl" />
<uri
name="html/chunk.xsl"
uri="/usr/share/sgml/docbook/xsl-stylesheets-1.69.1-5.1/html/chunk.xsl" />
</catalog>
这里首先将 "-//OASIS//DTD DocBook XML V4.1.2//EN" 这个id定义到了本地, 这样在xsl中引用这个id所指的DTD时,xsltproc就会使用这里指定的本地DTD,而不用去Internet上去获取。
接下来定义了两个xsl别名:html/docbook.xsl指向 /usr/share/..../docbook.xsl, html/chunk.xsl 指向 /usr/share/..../chunk.xsl。 这样在我们自定义的xsl文件中要包含上述xsl时,只需这样写:
<xsl:import href="html/chunk.xsl"/>
而不用写成繁琐的
<xsl:import href="/usr/share/sgml/docbook/xsl-stylesheets-1.69.1-5.1/html/chunk.xsl"/>
这样做的好处是,可以将样式表的安装路径统一在catalog.xml中规定,不用在每个xsl中重复书写完整路径了。 以后万一要升级样式表,也只需修改catalog.xml中的定义即可,不用去每个xsl中修改。
那么如何使用catalog呢?只需将它设置到环境变量 XML_CATALOG_FILES 中即可。 或者也可以这样:
XML_CATALOG_FILES=catalog.xml xsltproc -o index.html chunk.xsl index.xml
通过把Content-Type设置为application/octet-stream, 可以把动态生成的内容当作文件来下载,相信这个大家都会。 那么用Content-Disposition设置下载的文件名, 这个也有不少人知道吧。 基本上,下载程序都是这么写的:
< ?php
$filename = "document.txt";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $filename);
print "Hello!";
?>
这样用浏览器打开之后,就可以下载document.doc。
但是,如果$filename是UTF-8编码的,有些浏览器就无法正常处理了。 比如把上面那个程序稍稍改一下:
< ?php
$filename = "中文 文件名.txt";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $filename);
print "Hello!";
?>
把程序保存成UTF-8编码再访问,IE6下载的文件名就会乱码。 FF3下下载的文件名就只有“中文”两个字。Opera 9下一切正常。
阅读全文 »这一系列的文章参考了这个专题。 我从其中找出一些比较实用的,用中文总结一下,并加上一些我的想法。 懂日文的同学就直接去原文看吧。
阅读全文 »最近想用VC写一个抓图程序。好久没用VC了,绝大部分知识都忘得一干二净了。 经过查阅无数资料之后终于得出一个差不多像样的程序来。 在这里说说基本思路吧。代码就不上了。
阅读全文 »GNU diff有很多功能平时我们不常用到,但若知道,在急需时还真能派得上用场。
最常用的功能莫过于生成patch文件了:
diff -urN old/ new/ > mysoft.patch
参数 -u 表示使用 unified 格式,-r 表示比较目录,-N 表示将不存在的文件当作空文件处理, 这样新添加的文件也会出现在patch文件中。
然后在需要应用patch的地方使用下述命令即可:
patch -p0 < mysoft.patch
diff的 -y 命令(长格式为 --side-by-side)可以将屏幕分成左右两部分,来比较两个文件之间的差异。 许多图形化的比较工具都有这个功能,但如果只能使用命令行,这个参数就相当有用了。 如果要改变左右各部分的宽度,可以通过 -W (--width)参数来指定。 (这条技巧来自于bkブログ,谢谢)
此外,--strip-trailing-cr 参数可以去除行尾的换行,这样DOS格式和Unix格式的文件互相比较时, 就不至于因为换行符不一致而出现大量的差异。
