Heero's Blog

Heero's Blog » 编程开发
Jul 4

利用本地服务器让G.CN正常跳转

  • 作者:heero
  • 时间:2010-7-4 19:36

众所周知,从上月末开始,g.cn的首页就变成了一张图片,用户必须点击此图才能进入google.com.hk

google.cn首页图片

这给我等Google Fans带来了很大的麻烦。虽然浏览器中提供了搜索栏,但我还是比较习惯输入域名进入首页后搜索。既然g.cn首页不会自动跳转,我就在hosts文件中把g.cn直到google.com.hk吧!

66.249.89.99 g.cn

很可惜失败了,还是跳到了图片首页,可能google.com.hk检测了当前域名吧。既然如此,我就另外做

May 21

关于软件的维护

  • 作者:heero
  • 时间:2010-5-21 09:55

昨天在博客园看到了两篇文章。这两篇文章虽然标题不同,但讨论的主题都与软件维护有关,阅后颇有感触。

技术债务

原文地址:http://www.cnblogs.com/houbowei/archive/2010/05/20/1739751.html

作者把程序员开发时留下隐患称为技术债务。技术债务又分为代码债务文档债务

代码债务是指为了快速地解决问题,而采取的不规范的方案。比方说把某个条件写死,或者是把特殊情况写在了通用代码中。如果不尽快偿还,一旦基于该代码进行二次开发,影响范围将越来越大。

文档债务是指修改了代码后,没有修改相关的文档,造成文档和实际代码功能上的不一致。一段时间后,大家就会发现文档

Mar 26

输入法也做代码库

  • 作者:heero
  • 时间:2010-3-26 15:02

像Visual Studio、Dreamweaver、EditPlus这些IDE都是有代码库功能的,平时把一些常用的代码片段收藏到库里面,需要用的时候可以一键插入到上下文,无需重新编写。

然而,比较麻烦的是,这些IDE的代码库都是相互独立的,比如在Dreamweaver里面录入的代码片段,就无法直接插入到Visual Studio里面去。那有没有独立的代码库软件,可以跟所有IDE整合呢?很遗憾,我没有找到,如果看到此篇文章的你找到了,请顺便告诉我。

虽然没有专门的代码库软件,可我后来发现了功能类似的工具——输入法里面的自定义短语。当然,只有紫光、搜狗、QQ拼音这些现代化输入法才有这个功能,像Windows自带的那些八、九十年代的输入法是不行的。

搜狗拼音的高级设置

在这个界面开启自定义短语,并添加新短语:

Feb 17

VMWare与VirtualBox的对比

  • 作者:heero
  • 时间:2010-2-17 20:14

为了能在不同版本下的IE调试网页,也为了学习Linux,我用VMWare建了三台虚拟PC,分别安装了XP(IE6)、XP(IE7)和Ubuntu操作系统。自从更新到VMWare 7.0后,虚拟PC下的Ubuntu关机时经常出问题,导致主系统也一直被VMWare的界面占用。

因此,我决定改用另一个虚拟软件——VirtualBox。与VMWare不同,VirtualBox是免费软件,从此也不用到处找注册机和注册码了。折腾了好久,把三个系统在VirtualBox环境下重新装了一遍。我觉得VirtualBox比VMWare要快,但是一些操作没有VMWare友好:

  • VirtualBox的介质(虚拟硬盘、软盘、光驱等)是通过一个专用界面管理,一定要先建立这些介质才能在虚拟PC中调用,但是我们一般是以一台虚拟PC作为管理单元,对虚拟介质的统一管理似乎不太必要,还带来了额外的麻烦;
  • VirtualBox也有类似VMTo
Nov 21

EditPlus配置手记

  • 作者:heero
  • 时间:2009-11-21 20:31

最近打算换主IDE,主要原因是现在用的Dreamweaver太慢太占资源,特别是打开大文件的时候。而代替者就是EditPlus。下面简单记录一下如何把EditPlus配置成一个编程IDE。

首选项

无论是什么软件,一般都要先改全局设置,也就是首选项。

常规

常规

  • 还原最近文件的光标/标记/编码方式:这个一定要勾上,否则就不能保存代码折叠
  • 使用XHTML标签:标准化网页。
  • 自动关闭HTML标签:勾上这个以后,输入“<”后就会自动补全“>”,光标在两个字符之间。
Jul 20

从交换两个变量的值想到的

  • 作者:heero
  • 时间:2009-7-20 22:19

以C语言为例,一般来说,交换两个变量的值需要用到一个中间变量:

int a, b;
a = 10;
b = 11;
int c; //中间变量
c = a;
a = b;
b = c;

但也可以省掉这个中间变量,只是运算的次数增多了:

int a, b;
a = 10;
b = 11;
b = a + b; //得出两数字的和
a = a - b; //a减去两数字的和就得出原来的b的负值
a = -a;
b = b - a; //两数字的和减去原来b的值,就得出原来a的值

这是一个典型的时空问题:如果想省掉一个变量(节省内存),就需要多几次运算(运行时间更长)。在目前内存价格越来越低的情况下,大部分程序员会选择用空间交换