很短很好用,不过自己老是忘,干脆写下来吧。
当你有一大篇文字,没有换行(或者行宽太宽、太窄),并且段落之间用空行分开, 那么可以使用以下的技巧来重新分行。
:set tw=100 " textwidth,设置文本行宽度 :set fo+=mM " formatoptions,设置自动换行的条件 gggqG
用过之后第一感觉:太强大了,让那些商业的共享的软件都去死吧!
AviSynth,可以进行视频合成、编辑、添加字幕,支持所有格式(只要能播放出来), 甚至可以将图片转换为视频。
AviSynth的原理是通过一个脚本,将视频流、音频流处理之后再以流的方式输出。 输出流可以通过播放器直接播放,也可以利用ffmpeg、 VirtualDub等软件将流保存为各种视频格式。 而正是强大的脚本使它具有了强大了视频处理能力。
阅读全文 »相信有很多人都想架设自己的DNS服务器。我们知道世界上最好用的DNS服务器软件就是BIND; 但是我辈使用Windows操作系统的人就无福享用这Unix下的顶级软件了。
或者可以用Windows Server自带的DNS服务器试试? 需要安装Server版的Windows不说,麻烦的配置和令人迷惑的图形界面就够受的了。
难道就没有一个解决方案了吗?
柳暗花明又一村,突然发现BIND居然有Windows版,这这这………… 赶快下载下来试一下,居然成功地配好了DNS。
阅读全文 »昨天因为要将相机拍摄的视频刻录成VCD,于是上网找了好多MPEG的相关工具, 如切割、合并、格式转换等,大部分都是共享软件并且还有功能限制。 后来实在没办法了,想到了ffmpeg这个工具,抱着试试看的心情看了看帮助, 才发现原来真正的工具在这里!支持绝大多数常见的视频音频格式, 可以在各种格式之间随意转换,支持视频切割。所以说,真正好用的东西其实都是免费的。
ffmpeg的命令行格式如下:
ffmpeg [输入参数] -i 输入文件 [输出参数] 输出文件
这里仅举几个我用到的例子。
截取1分30秒到1分50秒的视频,格式不变。-ss指定起始时间,-t指定截取长度,-vcodec 和-acodec指定为copy表明不对源视频音频流做任何处理直接复制。
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.mpg -vcodec copy -acodec copy output.mpg
mpg转换成vcd所用的视频格式。-ac 2表示将单声道音频转换成立体声。
ffmpeg -i input.mpg -target pal-vcd -ac 2 output.mpg
VCD要求视频大小为 352x240,而我们的视频大小为320x240,需要在两边加上黑边凑足352像素:
ffmpeg -i input.mpg -padleft 16 -padright 16 -padcolor 000000 -target pal-vcd -ac 2 output.mpg
将字幕合并到视频中,可以利用AviSynth,首先制作好srt格式字幕, 然后利用DIO's RelProducer GUI加载视频和字幕生成avs文件,再利用ffmpeg转换此avs文件:
ffmpeg -i input.avs output.mpg
合并视频流和音频流,可以先利用ffmpeg将mp3转换成wav:
ffmpeg -i input.mp3 output.wav
然后再利用VirtualDub合并之。
这一篇是扫盲用的,主要讲解了几个最常用的函数IF、AND、OR、COUNT、COUNTA、COUNTIF和SUM, 会用的同学就可以跳过了。以后会逐渐讲解其他函数的应用。
1. 逻辑判断
逻辑判断所用的函数不多,IF、AND、OR三个就足以应付日常工作了。
IF函数可以用来转换值,如将1和0转换为OK和NG:
=IF(A1=1,"OK","NG")
与AND和OR组合使用可以判断多个条件,如判断是否是周末:
=IF(OR(WEEKDAY(A1)=0, WEEKDAY(A1)=6),"周末","工作日")
2. 统计数量的COUNT、COUNTA、COUNTIF
COUNT和COUNTA统计对象不同,COUNTA统计所有非空单元格的数量(包括出错的单元格), COUNT仅统计看起来像数字的单元格。
COUNTIF则可以添加搜索条件,这个特性可以用来做统计。如
=COUNTIF(F:F,"OK") 统计F列中OK的个数 =COUNTIF(F:F,"NG") 统计F列中NG的个数
3. 求和的SUM
这个函数简单得不能再简单了:
=SUM(A10:A254) 对A10~A254的范围求和
没了。别看Excel函数成百上千,常用的就这几个。充其量再加上其他几个信息函数, 如求日期的DATE、YEAR、MONTH、DAY、NOW、WEEKDAY,数值计算的FLOOR、INT、MOD、ROUND, 字符串操作的CHAR、LEFT、RIGHT、MID(具体使用方法参见帮助), 几乎可以应付全部的日常应用。
下面举几个例子来说明这些函数的应用。
1. 测试用例。一般测试用例的表格会是这样:
| A | B | C | D | E | F | |
| 1 | 编号 | 类别 | 测试内容 | 确认内容 | 结果 | 测试时间 |
| 2 | 1 | 界面 | 单击新建按钮 | 建立新文档 | OK | 8/27 |
| 3 | 2 | 界面 | 单击保存按钮 | 保存文档 | OK | 8/27 |
| 3 | 2 | 界面 | 单击另存为钮 | 打开保存对话框 | NG | 8/27 |
那么统计OK和NG的个数就分别用
=COUNTIF(E:E,"OK") 统计OK个数 =COUNTIF(E:E,"NG") 统计NG个数
如果测试用例分成好几个工作表,那么可以在最前面加一个统计用的工作表,并用SUM求出所有用例的状况。
2. 日历。这个日历是用在项目进度管理上的,格式类似于下面这种横向的日历。
| 8月 | ||||||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 三 | 四 | 五 | 六 | 日 | 一 | 二 | 三 | 四 | 五 | 六 |
可按以下格式输入:
| A | B | C | D | E | F | G | |
| 1 | 8/1 | =A1+1 | =B1+1 | ... | ... | ... | ... |
| 2 | =MONTH(A1) | =IF(MONTH(B1)=MONTH(A1), "",MONTH(B1) | ... | ... | ... | ... | ... |
| 3 | =DAY(A1) | =DAY(B1) | ... | ... | ... | ... | ... |
| 4 | =MID("日一二三四五六",WEEKDAY(A1),1) | ... | ... | ... | ... | ... | ... |
然后隐藏掉第一行即可。
2008-2-14更新 回答读者妮妮的问题,讲解一下VLOOKUP函数的用法。
VLOOKUP用于查找信息,更确切地说,它用来“翻译”信息。比如员工名单上有员工号和姓名的对应关系, 那么给出一个员工号的列表,就可以通过VLOOKUP将其“翻译”成姓名列表。先来看个例子:
| A | B | C | D | |
| 1 | 排行 | 姓名 | 排行 | 姓名 |
| 2 | 1 | 柯镇恶 | 3 | =VLOOKUP(C2,$A$2:$B$8,2) |
| 3 | 2 | 朱聪 | 3 | =VLOOKUP(C3,$A$2:$B$8,2) |
| 4 | 3 | 韩宝驹 | 4 | =VLOOKUP(C4,$A$2:$B$8,2) |
| 5 | 4 | 南希仁 | 7 | =VLOOKUP(C5,$A$2:$B$8,2) |
| 6 | 5 | 张阿生 | ||
| 7 | 6 | 全金发 | ||
| 8 | 7 | 韩小莹 |
这个表的$A$2:$B$8区域为参考数据(原始对应关系),C列为需要翻译的原始数据,D列为翻译结果。 具体的结果大家可以实际放到Excel里面执行一下。
VLOOKUP有三个参数,分别如下:
VLOOKUP(原始数据, 参考数据, 搜索结果在参考数据中的列位置)
Excel会在参考数据的第一列中搜索原始数据(上例中,在$A$2:$B$8的第一列即$A$2:$A$8中搜索原始数据C2), 找到后,返回第三个参数——列位置所对应的数据(上例中,在$A$2:$A$8中找到与C2相等的3之后, 返回3所对应的第2列——韩宝驹,这个“第2列”即为第三个参数)。
那么找不到时怎么办?其实VLOOKUP还有第四个参数,值为TRUE或FALSE,默认为TRUE。 取值TRUE时,VLOOKUP会返回不大于原始数据的最小值所对应的结果,例如=VLOOKUP(2.5,$A$2:$B$8,2,TRUE)会返回“朱聪” (朱聪的“2”为不大于2.5的最大值)。 取值为FALSE时,VLOOKUP会返回#N/A。
通常在处理字符串时,大多情况下希望在找不到时返回错误或空串。 这时可以为VLOOKUP加上第四个参数FALSE,再用ISNA函数将#N/A转换为空串。如:
[D2]=VLOOKUP(C2,$A$2:$B$8,2,FALSE) [D3]=IF(ISNA(D2),"",D2)
网上有很多关于如何制作漂亮的幻灯片的教程,而对Excel的美化则寥寥无几。 实际上Excel不仅仅是一个电子表格软件,它的单元格容易控制样式,操作方便, 因此使用Excel制作仅供阅读的电子文档也十分合适。 这就要求文档制作者必须懂得一些基本技巧,以制作出赏心悦目的电子文档来。
下面是我制作Excel格式电子文档时的一些经验,分享给大家。 希望大家都能够制作出漂亮的文档。
阅读全文 »今天介绍Excel的一个非常有趣(有时也有用)的功能:放大镜,它能将工作表上的任意区域放大缩小或者改变形状。
方法是,先选中区域,然后按住Shift键单击编辑菜单,选择粘贴图片链接,被选定的区域就会被当作图片粘贴进来, 然后你可以随意改变它的大小,如下图所示:

对源区域的任何修改都会即时反映到图片中,俨然就是个放大镜。它甚至可以放大源区域中的图形和图片:

那么这个功能有什么用呢?比如当你做了一张极其复杂的表格,想写一份说明文档教给别人如何使用时, 就可以利用这个功能了。
这篇文章分析了Firefox插件对浏览速度的影响。我个人也一直很奇怪 为什么我的Firefox打开新窗口时速度要比别人慢很多,后来发现 是自己装了很多插件的原因。原文在这里。
大部分Web程序开发者都喜欢Firefox,首要原因是因为它有丰富的插件, 像All-in-One Gestures、User Agent Switcher、Firebug、Greasemonkey、 WebDeveloper、ScrapBook等。
但是随着插件的增加,启动时间、页面显示时间也会变慢,其首要原因 就是插件,特别是部分插件会严重影响浏览速度。
那么,究竟是哪些插件影响了速度?能否通过数字进行比较? 这里给出了显示时间的测试结果。
阅读全文 »1. 行列转置。选择一片区域复制,然后在要粘贴的地方选择编辑->选择性粘贴, 勾选转置,你会发现行变成了列,列变成了行。记住它的快捷键:选中,Ctrl-C, 单击目的地,Alt-E, s, Alt-E,单击确定。
2. 公式转化成数值。有时使用一排公式算出结果后,想要删除原数据,但又要保留结果, 则可以先选中计算结果,复制,原地不动进行编辑->选择性粘贴,选择数值后确定。 键盘快捷方式:Ctrl-C,Alt-E,s,v,回车。
3. CSV转Excel。网页上的CSV如何快速输入到Excel中?先保存成.csv文件再用Excel打开, 不过太麻烦。应该直接复制所有内容,打开Excel,编辑->选择性粘贴,选文本,确定, 然后单击粘贴区域右下方的粘贴图标(如下图),选择使用文本导入向导, 适当选择即可。

4. 隐藏工作表。就像隐藏行和列一样,选择格式->工作表->隐藏,即可将当前显示的工作表隐藏起来。 一些常量值、列表数据、计算中的临时变量等,都可以放在一个临时工作表中, 制作完成后将临时工作表隐藏起来,就不会影响表格美观。 反过来,当你分析别人做的表格时发现引用了“不存在”的工作表, 试试格式->工作表->取消隐藏也许会有发现。
5. 给复杂的引用定义名称。选择你要引用的单元格或范围,然后插入->名称->定义, 即可为其定义一个简短的名称,以后在公式中就不必写成完整的“工作簿!单元格范围”的形式。
6. 多人共同编辑。选择工具->共享工作簿...,勾选其中的复选框,确定, 然后将你的Excel表格共享(通过Windows的共享功能)。别人就可以与你一同编辑表格, 每次保存时数据会自动合并。
7. 折叠部分行或列。选中你要折叠的几行,选择数据->组及分级显示->组合, 即可将选中的行折叠,如下图。

8. 输入提示,如下图的效果。方法是数据->有效性...,在输入信息标签页中设置。

VMware相信大家都耳熟能详,不过估计大家用的都是价值200多刀的VMware Workstation版。 而VMware公司的另一个产品——VMware Server,不收取一分钱费用却能让你实现真正的虚拟服务器。
有关VMware Workstation版和VMware Server版的详细区别请参见 smalldust的这篇文章, 但是你需要知道的一点是,Server并不是为Workstation准备的服务器端 (这和通常意义上的Workstation和Server的概念不同), 两者是完全不同的两个产品。VMware Workstation能运行在2000、XP、Linux等各种操作系统上, 但缺点就是你无法远程控制虚拟机,因此你必须在你自己的电脑上使用它; 而VMware Server则只能运行在2000 Server、RedHat Linux Enterprise等服务器操作系统上, 但你可以远程控制虚拟机,因此你可以将安装在服务器上,虚拟出多台服务器, 以充分利用服务器资源。
我最近部署的一台服务器,单CPU志强3G,2G内存,两块75G SCSI硬盘,OS为RHEL4。 部署的目的是为了做软件测试,显然这样一台服务器仅用做软件测试太浪费了, 因此我通过VMware Server在其上虚拟了四个服务器,以便同时进行四种不同的测试任务。 请注意看下面这张图,这是VMware Server的监控程序,可以看到四台虚拟服务器 总共才消耗了23% CPU和286M内存,远未达到服务器的处理能力上限。 因此通过这个方法可以大大提高服务器利用率。
通过VMware Console(下图),你可以远程控制服务器上的虚拟服务器, 就像在自己本机上使用VMware Workstation一样。
VMware Server可在vmware官方网站上免费下载。 注册用户后可以免费获取最多100个免费的许可证。
