七月
29

在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成“主从表结构”,这是数据库设计中常见的用法。但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录。

这里面有个困难,就是插入主表记录后,如何获得它对应的id。通常的做法,是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以“X锁“,待获得max(id)的值以后,再解锁。这种做法需要的步骤比较多,有些麻烦,而且并发性也不好。有没有更简单的做法呢?

阅读全文…

七月
23

hide-Real-URL

早上,老杨发信问我怎么在浏览器的状态栏隐藏真实的URL链接地址。

例如下面这段html代码,当我们把鼠标指向“点击这里”时,在浏览器的状态栏会显示http://www.evil.com,而他希望用其他的文本(比如http://www.pure.com)来替换掉原有的URL地址,以达到某种邪恶的目的 :mrgreen: (也就是你在指向链接的时候,你以为访问的是www.pure.com,结果。。。你懂的)。

	<a href="http://www.evil.com">点击这里</a>

解决方法其实很简单,只要将上面的代码改成:

	<a href="http://www.evil.com" onMouseOver="window.status='http://www.pure.com';
	return true" onMouseOut="window.status=''">点击这里</a>

以上代码很简单,也非常易懂,就是让你在鼠标移到链接上的时候,在浏览器的状态栏里用http://www.pure.com来取代原来的http://www.evil.com。但是,问题来了,以上这段代码只能在IE上才能生效,如果访客用的是firefox或者是chrome要怎么办呢?

阅读全文…

七月
22

browser_transportation

Firefox – 改装车,改得好的话马力强跑得快,改不好的话…会长得蛮蠢的。

IE – 死马一只,大概也没得医了,但逼不得已的时候拿来代步还是可以的。

Safari – 脚踏车,虽然非常有效率,但通常只有骑的人在自我感觉良好。

Opera – Smart,有些人爱得要死,但其它人只会觉得它长得很呆。

Chrome - 火箭,非常快,就这样而已。 :cool:

七月
21

install-software-most-hate安装软件、使用软件本来是一件快乐的事,但是偏偏有的软件在安装步骤时会搞「小聪明」,或者连问都不问就自作主张的装在它默认预设的地方,这些其实都是小问题,但是累积起来可是会气死人,今次就来发一下牢骚,诉说安装软件时最讨厌的几个地方。

讨厌一,预设安装在 C盘还没得改

最讨厌连问都不问就把软件安装在C:\ 盘!每次安装新或升级软件时,我总会特别注意预设安装的地方,因为不喜欢很多软件去占据装有操作系统的 C 盘。我喜欢把 C 修改成 D,D 盘里放着我许多喜欢或试用的软件,若不幸重装时,也能从这里知道哪些没重新安装到。

但是,很多软件在安装时,却完全跳过这一项选择,好像一副「这个问题还需要问?交给我最放心」的自负模样,然后安装完就发现,全都装到 C 盘去……请问是有什么特殊任务一定要装在 C 盘?还是怕使用者把软件乱安装到其它盘去、弄坏了系统、搞乱了路径,使得电脑自爆?

阅读全文…

七月
21

potato-batteries

耶路撒冷的研究者开发了所谓的”马铃薯电池”,老实说它也就是将锌和铜电极插到煮过的马铃薯里。

这个,实在是看不出和小学时候做的柠檬电池到底有什么太大的不同,不过这种通过简单的”煮”(应该有加料吧?)就能让电力变为原本的 10 倍,使得马铃薯电池有机会成为发展中国家便宜而随处可得的电力来源。

像左图那样的配置可以跑个几天,甚至如果状况正确的话,几个礼拜呢!

虽然在蓄电量上和我们习惯的锂电池有不小的差距,但可是完全 100% 环保的呢 :cool:

六月
26

plane-call

这虽然已经不是很先进的科技新闻,但是在中国实现难度很大,而如果成真,将会是重大突破。

国航、南航、东航三大国内航空公司表示已经和移动运营商签署了机上通讯软件的开发协议,并已呈报相关政府部门审批。

不过,那些想在飞机上煲电话粥的人可要听好了,一分钟可是15元,不过这次协议没有提到上网费用。

我们不排除那些公款人士(商务人士几分钟一个电话也是可能的)在飞机上打电话的可能,那么航班上想睡觉的人可要痛苦了。

你觉得如何?