Archive for category 未分类

Date: 六月 26th, 2010
Cate: css, 未分类

项目中calendar模块修改版

把项目中负责的一个模块精简修改后放在这里,以记录在css+javascript+jquery上的精进和展示现阶段的前端上的技术水准。后端简化了取数据方式,不过也还可以代表一部分的设计水准。

ghrcalendar

源码下载,部署在任意application server就好,如tomcat,可直接运行。

GHRCalendarWeb

Date: 十二月 29th, 2009
Cate: 未分类

无敌鼠标映射工具

新买的惠普百灵无线鼠标没有自定义左侧两个按键的驱动, 但这个世界伟人辈出, 做出了这样的软件, 它支持将鼠标的一个按键映射到53种功能之一, 其中一个是映射到自定义键盘按键, 间接达到调用任何功能的目的.

它就是X Mouse Button Control.

这里有汉化http://diybbs.it168.com/thread-515119-1-1.html

Date: 十月 23rd, 2009
Cate: 未分类

开机SvcHost.exe出错的其中之一可能原因

曾经遇到过开机还没登陆桌面就出错的这个问题,后来关了很多服务,清理了很多注册表,打了很多补丁,不知是哪个起了作用就自然解决了.
今天再次遇到这个问题.
看到日志服务中有个关于360安全卫生核心服务的记录, 又看到有DCOM某某条错. 查看出错原因是某个程序在web准备好前从web启动服务失败.
于是福如心至, 想到360安全卫士的云查杀服务可能就是罪魁祸首, 而且也能解释为什么会在登录前就出错, 因为权限很高(在服务里根本停不掉), 于是开360起来看, 发现右边的广告信息被公司网络屏蔽了, 再访问360网站, 确认也被屏蔽.
于是结果很明显, 360云查杀服务在启动的时候要访问网络, 而360网络被公司封掉, 自然就无法启动, 于是报错.
卸载360后重启, 错误消失.

从上可以看出SvcHost.ext出错的可能原因是某个服务需要访问网络, 当网络连通, 但却没有返回正确结果的时候就可能出错. 因此解决思路应该从找那些服务是启动时候就访问网络的开始.
比如windows的自动更新服务, 比如后台智能传输服务, 比如SMS服务, 然后停掉它们. 其中windows的自动更新服务出错的几率很高.
这也能很好解释为什么SvcHost.exe出错, 虽然解决方法很多, 却又没有通用方法的原因, 因为出错的服务不同.

Date: 五月 15th, 2009
Cate: 未分类

VPN下同时上本地网络

VPN是一种很奇妙的东西,为了安全无所不用其极.

A,B用路由器连起来, 但只有一个显示器.
A机器是常用机器, 为了保持清洁, 所以没装公司VPN.
B机器装了VPN,可以正常拨VPN.

1. 需要VPN的时候, A远程桌面到B上拨VPN,提示证书紊乱. 相信是A上应该装证书, 如此一来就没必要在B上装VPN了.

换一种做法.

2. 需要VPN的时候, 在B上拨VPN, 远程桌面A做日常娱乐, 连接失败.
ping A不通.
ping –R A发现先经过16.159.152.9, 蹊跷.
查看route, 断开VPN后再查看route

route print

比较发现, 其中有两行

192.168.1.0     255.255.255.0     16.159.152.9   16.159.152.9

192.168.1.0     255.255.255.0     192.168.1.100 192.168.1.100

上一行是连接VPN后添加上去的.
这一行表示将内网先解析到VPN去, 当然, 就连不上本地A机器.
于是修改之

route change 192.168.1.0 mask 255.255.255.0 192.168.1.100

再ping A, 连通了.
再远程桌面A, 成功连上.

到此VPN可以用, 本地网络也OK了.这样在家办公的时候也可以爽了.

Date: 四月 25th, 2009
Cate: 未分类

Ext3转Ext4实录

本人linux菜鸟, 虚拟机上玩Ubuntu, 刚从8.10升级到9.04, 将Ext3转Ext4格式, 实录如下:

1. 打开终端, 登录为root, 用parted工具查看当前文件系统格式, 当为ext3

sudo su
parted
print all
quit

2. 修改fstab, 预先将分区格式改为ext4, 防止转换格式后启动不成功

vi /etc/fstab

3. 关机, 然后用Ubuntu 9.10的CD启动, 并在光盘上运行, 登陆为root, 确认分区没有被mount

sudo su
cd /
umount /dev/sda1

4. 开始转换

tune2fs -O extents,uninit_bg,dir_index /dev/sda1
fsck -pf /dev/sda1

5. 稍等一下就转换成功了. 确认转换成功

parted
print all
quit

6. 重启画面可以看到/boot分区是ext4格式了

Date: 三月 8th, 2009
Cate: 未分类

MSN无法登陆的可能原因及解决方法

买了新电脑,装了新的2003,装了msi版的MSN,装了该装的或可能不需要的组件,居然发现MSN报各种莫名的以800和810开头的错.网上的各种方法也都试过,但都不奏效.

问题解决的路径是这样的:

1. 正常登陆总是有各种莫名错误

2. 发现测试的时候似乎检查端口的时候很慢, 且有时行有时不行

3. 使用了IE代理的时候能顺利登陆

4. 于是想是否端口被限制

5. 将路由DMZ主机设置成本机, 结果依然不能顺利登陆

6. 检查windows防火墙, 结果根本没开

7. 偶然想起卡巴斯基有安全防御, 其中有相关web监控, 于是查看什么内容

8. 有监控端口, 其中有MSN端口1863端口.

9. 去掉对1863端口监控, 结果MSN能顺利登陆

总结: MSN无法登陆的时候检查下端口通讯是否良好, 是否有杀毒软件监控端口, 这次纯属卡巴斯基好心办坏事.

Date: 三月 4th, 2009
Cate: 未分类

什么是完美的静态化插件

在wordpress之前,我用的是oblog,一个asp的多用户blog程序,它的静态化不错,虽然也还不是最完美.

wordpress有wp-cache, wp-super-cache, hyper-cache, cos-html-cache, 1 blog cacher, 效果也都可以, 但总体来说仍然十分粗糙.

那么完美的静态化插件应该是什么样的?我想它应该符合一些条件.

1. 能够生成静态文件,并且显示样式应该与之前一样.

1. 可预生成, 也可第一次访问时生成

2. 做到0数据库访问,最好做到0php处理,只由apache处理,在数据库宕机情况下仍能访问

3. 能够生成html文件

4. 支持gzip时生成gz文件

5. 可配置浏览器缓存, 如过期时间

6. 确认生成静态页是否成功, 如判断源码中是否包含</html>, 以防生成包含错误代码的静态页面

2. 支持wordpress mu

1. 可以分站点缓存,按站点域名存放

2. 按URL路径放置,方便管理

3. 可配置允许不同站点使用同一套缓存文件, 原因是多个不同域名可能指向同一个站点

4. 能够列出所有缓存文件,能够分站点列出,限制用户可见范围

5. 可改写.htaccess文件使得在没有php情形下找到正确缓存文件

6. 作为mu插件,只能管理员可见. 为方便用户定制, 应该通过权限判断给出适合用户定制的选项页面

3. 对动态内容的处理

1. 一般处理方法为为匿名用户返回缓存, 为登录用户禁止缓存

2. 尝试使用服务端包含机制(SSI, Server Side Include), 即生成shtml的方式, 将动态部分如侧边栏,评论,数据统计部分作为子页面被生成的静态页包含,最终做到静态页完全不受动态数据影响

3. 如果服务器不支持SSI,可使用ajax方式引用动态部分的小静态页,从而仍然做到原静态页不受影响

4. 创建,更新和删除

1. 可定期清理缓存文件, 可禁止清理缓存文件(永不过期)

2. 能够列出符合条件的缓存文件,如超过180日的缓存文件

3. 采用SSI时,原动态页面被缓存部分能够手工更新

4. 可局部生成或重建和删除, 可按站点生成, 可选按postid, postname, permailink, 或通过查询条件选出后, 勾选再执行.按postid执行时,可选区间

5. 批量生成或删除时可选一次多少页后暂停多长时间, 以此来限制CPU使用率, 而免于被停机

6. 多种更新触发机制, 可选发文,评论,更新模板触发, 后台手工触发等

5. 对某些情形不使用缓存或永远缓存

1. 对某些范式不使用缓存.如wp-*.php之类

2. 对某些页永远使用缓存, 如openid配置文件, 关于页等

3. 对某些情形不使用缓存, 如搜索引擎(特殊user-agent值), feed等

6. 支持gzip

7. 方便调试, 方便确认效果, 如在页面源码中添加特殊字符

8. 以上条件都有开关选项以方便定制

因此按以上要求看来,现在还没有一个插件是完美的,希望作者们再接再厉.