Mar 27, 2009
工作中写商务文书是必不可少的,如报告、文档、请求、邮件等等。
而搞技术出身的人,写作能力一般都很差,写出来的东西别人看不懂。
这篇文章
提出了写好商务文书的九个要点,也许能给广大搞技术的人作为参考吧。
写好文章当然不是要求你写出人人都说好的文章,那需要相当深厚的文字功底,
咱搞技术的也没那么多时间。所以降低一点标准,至少要写出没人说不好的文章来。
那么要点是什么呢?
- 写明观点
- 写明理由
- 按照结构化层次来书写
- 概要和详细内容分开写
- 一句话说明
- 不要抽象,要具体
- 不要随意省略
- 事实和意见分开写
- 明确论点
具体内容请点开看。
(Read More)
Mar 27, 2009
今天开始安装Solaris 10,跟Linux的差别挺多,真是不习惯啊。
(Read More)
Mar 19, 2009
有些人没有设置工作目录的习惯,而是想checkout哪个文件时就顺手设置一个,久而久之VSS中各个文件的工作目录设到哪儿的都有。想整理整理吧,但又不知道怎么删,甚至把整个数据库连接都删了重建也不行。
原来……真没想到vss居然把工作目录这个完全属于客户端的信息保存到了服务器上。打开服务器上的 ‘‘users/你的用户名/ss.ini’‘,看看最后那部分吧,工作目录的设置都在这儿呢。全删了,再重新设就行了。
(Read More)
Mar 16, 2009
GreaseMonkey这个插件大家都早已熟悉了。最近我遇到一个问题:需要让页面在调用完某个函数之后自动执行我的函数。
其实这个并不难,写个函数替换原有的函数即可:
function hook() {
var f = unsafeWindow.foo; // 保存旧函数
unsafeWindow.foo = function() { // 定义新函数
alert("Hello!"); // 先执行我们的处理
f(); // 再执行旧函数
}
}
然后加载到页面上:
这样,页面再执行foo函数时,就会先执行我们的alert("Hello!")
了。
不过这个函数还有很大的问题。比如,原有函数的参数不能正确传给foo,返回值无法取出来,无法应用到对象中的方法,通用性不好等。
下面来一个个解决。
(Read More)
Mar 10, 2009
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输出时使用的字符编码
(Read More)
Mar 4, 2009
通过把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下一切正常。
(Read More)
Mar 1, 2009
这一系列的文章参考了这个专题。
我从其中找出一些比较实用的,用中文总结一下,并加上一些我的想法。
懂日文的同学就直接去原文看吧。
(Read More)
Feb 26, 2009
最近想用VC写一个抓图程序。好久没用VC了,绝大部分知识都忘得一干二净了。
经过查阅无数资料之后终于得出一个差不多像样的程序来。
在这里说说基本思路吧。代码就不上了。
(Read More)
Feb 21, 2009
GNU diff有很多功能平时我们不常用到,但若知道,在急需时还真能派得上用场。
最常用的功能莫过于生成patch文件了:
diff -urN old/ new/ > mysoft.patch
参数 -u 表示使用 unified 格式,-r 表示比较目录,-N 表示将不存在的文件当作空文件处理,
这样新添加的文件也会出现在patch文件中。
然后在需要应用patch的地方使用下述命令即可:
diff的 -y 命令(长格式为--side-by-side
)可以将屏幕分成左右两部分,来比较两个文件之间的差异。
许多图形化的比较工具都有这个功能,但如果只能使用命令行,这个参数就相当有用了。
如果要改变左右各部分的宽度,可以通过 -W
(--width
)参数来指定。
(这条技巧来自于bkブログ,谢谢)
此外,--strip-trailing-cr
参数可以去除行尾的换行,这样DOS格式和Unix格式的文件互相比较时,
就不至于因为换行符不一致而出现大量的差异。
(Read More)
Feb 18, 2009
在Perl的各种文件测试运算符中,最有用的运算符之一就是 -C 了。
它返回的是文件的ctime到程序启动的那一时刻经过的天数。
如果不是整数天,返回值就带有小数。
这个运算符经常用来检测文件是否过期,比如判断文件距离上次修改是否超过了3天,
如果超过就将其删除。但是,你是否真正理解 -C 的工作原理呢?
(Read More)