共 37 页, « 1 2 [3] 4 5 6 » ... 最后一页 »
第一次看到这个标题时我也很惊讶,Apache居然还能做负载均衡?真是太强大了。 经过一番调查后发现的确可以,而且功能一点都不差。 这都归功于 mod_proxy 这个模块。 不愧是强大的Apache啊。
废话少说,下面就来解释一下负载均衡的设置方法。
阅读全文 »很多软件都支持gettext,比如WordPress、ZenPhoto等。那么要想做个语言包,就得用到gettext这个工具。以ZenPhoto为例,使用方法如下:
首先要找出所有需要翻译的文件:
$ cd zenphoto $ find . -name "*.php" > filelist.txt
然后从所有需要翻译的文件中提取出英文字符串。
$ xgettext --from-code utf-8 -f filelist.txt -d zenphoto
这样,xgettext命令就会分析所有文件,找出其中需要翻译的字符串(即php中调用gettext所用的字符串)并输出到zenphoto.po中。--from-code参数指定源代码的编码格式。ZenPhoto的源代码中,gettext函数参数中含有一些UTF-8的字符(实际上应该没有),如果不指定这个参数,xgettext就无法正确识别这些UTF-8字符。-f 指定要分析的文件列表。-d指明输出文件的名称,扩展名为.po。
然后创建语言文件夹,把.po文件放进去。ZenPhoto的话,操作方法如下(当前目录为zenphoto根目录):
$ mkdir -p locale/zh-CN/LC_MESSAGES $ mv zenphoto.po locale/zh-CN/LC_MESSAGES $ cd locale/zh-CN/LC_MESSAGES
接下来翻译zenphoto.po文件就行了。
翻译完成后,执行如下命令将.po文件编译成.mo文件:
$ msgfmt -o zenphoto.mo zenphoto.po
然后重启httpd就能看到翻译的效果。
忘了说了,如果系统上没有xgettext和msgfmt命令,只需安装gettext包即可。
今天想用摄像头录一段视频,上网找视频录制的软件,发现好用的都是收费的。 没办法,想起VirtualDub也能录制视频,于是尝试了一下,发现它的效果还是很不错的。 而且是免费的哦!
以下演示的版本是Virtual 1.5.10,摄像头是罗技的QuickCam系列。
首先要设置好音频源。打开控制面板->声音和视频设备,选择音频选项卡。 如果摄像头的驱动已经装好,那么“录音”中的“默认设备”中应该有一项“USB Audio Device”, 选择该项,确定。

然后启动VirtualDub,选择菜单File->Capture AVI...,进入视频捕捉的界面。 此时即可看到摄像头的图像。

接下来,需要做一些设置:
- 按P,打开视频预览,以便随时观察视频录制情况。
- 按F,选择视频录制的分辨率、颜色深度等。根据摄像头的功能及自己的需求设置即可。
- 按S,启动摄像头的设置对话框,在这里调节摄像头的亮度、对比度、快门速度、光圈、白平衡等参数,直到画质满足需要。
- 按Shift-C,选择视频的压缩方式。一般选择DivX即可。如果不压缩,录下来的AVI文件会有几十G之大。
- 按A,选择录音的音质。一般选择CD音质。
- 按V,打开声音显示,测试摄像头自带的麦克风是否好用。
- 按F2,选择将视频保存到哪里。
OK,这样就全部设置好了。接下来按 F6 键开始录制,按 Esc或单击鼠标结束录制。 效果还不错吧?
唯一的一点遗憾就是,这样录下来的AVI中,音频是没有压缩的,需要用VirtualDub做后期处理, 将视频中的音频分离出来,选好压缩算法之后重新保存成AVI。
熟悉J2EE开发的人应该对此不屑一顾吧,俺是Java新手,没办法……做个笔记先。 Tomcat 5.5下测试通过。
首先要添加管理员用户。打开 conf/tomcat-users.xml,在其中加入这样一行:
<user username="manager" password="password" roles="standard,manager"/>
然后重启Tomcat。
之后访问以下地址:
http://localhost:8080/manager/status
输入刚才设置好的管理员用户名和密码,就能看到服务器状态的页面。 其中几个比较重要的数值:
- Max threads: 150 最大线程数
- Min spare threads: 25 最小空闲线程数
- Max spare threads: 75 最大空闲线程数
- Current thread count: 25 当前线程数
- Current thread busy: 2 当前繁忙线程数
谢谢fcicq指出书中的一些错误。也请其他读者在发现错误后告诉我,如果这本书有幸重印,我会在重印时改正这些错误的。给大家阅读带来不便,真是对不起。
P3,倒数第2段第3行:
用户想把音量调低,但我却没有把它设置到一个较高的音量,以便用户能通过软件来控制它。
修改为:
音箱的音量太小了,我根本没想到应该把音量调大些,这样用户才能通过软件来控制音量。
P5,最后两行:
以及如何进行高可用性的开发。
修改为:
以及如何开始符合高可用性的开发。
P37,“试一试”的第一行:
什么沟通障碍可能会阻碍项目创建高可用性?
修改为:
什么样的沟通障碍可能会阻碍项目创建高可用性?
P57,第2段第4行
请习惯这个思维。
修改为:
拥有这种想法很重要。
UML中的联系(association)、聚合(aggregation)和组合(composition)三个概念很相似,也很难理解。 今天看到这篇文章解释得很清楚,所以在这里转一下, 希望能对需要的人有所帮助。
联系
联系(association)表明某个对象可以向另一个对象通过某种方式发送消息。发送消息的方法可以通过指针成员变量, 也可以是方法参数、局部变量等等。例如:

class A
{
private:
B* itsB;
};
聚合
聚合(aggregation)是一种特殊的联系,它表明了“部分”到“整体”的关系,显著的特点就是不能包含循环的联系 (就是说,部分中不能包含整体)。如:

class Node
{
private:
vector<Node*> itsNodes;
};
上述代码只有当子节点不会成为父节点的父节点时(即,必须是树结构,不能是图结构),才能称之为聚合。
组合
组合(composition)跟聚合几乎相同,唯一的区别就是“部分”不能脱离“整体”单独存在,就是说, “部分”的生命期不能比“整体”还要长。例如:

class Car
{
public:
virtual ~Car() {delete itsCarb;}
private:
Carburetor* itsCarb
};
今天拿到了一台Dell Vostro 1200,准备安装Windows XP。没想到第一次安装就出了问题,安装程序进行到分区这一步,报告找不到硬盘(下面的分区列表中显示没有硬盘)。用Linux急救盘进去之后用fdisk删除了所有分区,再次安装Windows XP,结果故障依旧。后来问了技术支持的人说,这台笔记本的硬盘是SATA接口,必须要用集成了SATA驱动的Windows XP安装盘才能正常安装。晕,原来Windows XP安装盘还有各种不同的版本哪。
拿到集成了SATA的Windows XP安装盘后继续安装,这次倒是一切顺利,但装完之后进入系统一看,咦?怎么两个硬盘分区变成了 E: 和 F:,系统装到了 E: 上?而C:呢,却被读卡器占了位置。后来试图通过修改注册表的方式把系统改到C:盘上,可是失败了。上网查了查发现Dell的本子这个问题居然是人所皆知的,解决方法也简单,就是进入BIOS把所有板载的USB设备都关掉,再安装就没有问题了。
于是进入BIOS关掉所有USB设备,安装,这次顺利完成,没出任何毛病。
今天在安装Visual Studio 2003时,安装程序要求先重启计算机,重启之后再启动安装程序,依然要求重启计算机,如此一直反复下去。无奈Google了一下,发现这居然是个常见问题,解决方法是删除 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager 下的 PendingFileRenameOperations 键就可以了。
看了看我机器上的这个键的内容,好像是安装McAfee时遗留下来的。
ps.原来常见的那个“必须重启后才能完成安装”是这么回事儿啊。
工作中写商务文书是必不可少的,如报告、文档、请求、邮件等等。 而搞技术出身的人,写作能力一般都很差,写出来的东西别人看不懂。 这篇文章 提出了写好商务文书的九个要点,也许能给广大搞技术的人作为参考吧。
写好文章当然不是要求你写出人人都说好的文章,那需要相当深厚的文字功底, 咱搞技术的也没那么多时间。所以降低一点标准,至少要写出没人说不好的文章来。 那么要点是什么呢?
- 写明观点
- 写明理由
- 按照结构化层次来书写
- 概要和详细内容分开写
- 一句话说明
- 不要抽象,要具体
- 不要随意省略
- 事实和意见分开写
- 明确论点
具体内容请点开看。
阅读全文 »今天开始安装Solaris 10,跟Linux的差别挺多,真是不习惯啊。
阅读全文 »


