于是一个妇人说:请给我们谈苦痛。 他说: 你的苦痛是你那包裹知识的皮壳的破裂。 连那果核也是必须破裂的,使果仁可以暴露在阳光中,所以你们也必须晓得苦痛。 倘若你能使你的心时常赞叹日常生活的神妙,你苦痛的神妙必不减于你的欢乐; 你要承受你心天的季候,如同你常常承受从田野上度过的四时。 你要静守,度过你心里凄凉的冬日。 许多的苦痛是你自择的。 那是你身中的医士,医治你病身的苦药。 所以你要信托这医生,静默安宁地吃他的药, 以为他的手腕虽重而辣,却是有冥冥的温柔之手指导着。 他带来的药杯,虽会焚灼你的嘴唇,那陶土却是陶工用他自己神圣的眼泪来润湿调转而成的。
Author: tsing
一个图片验证程序
在http://blog.csdn.net/countstars/上看到的,OO方式,觉得写得不错! Continue reading 一个图片验证程序
想睡……
想睡,因为很晚了,明天想早点去查点东西,不过现在已习惯熬夜,想睡也睡不着。 新学期要开始了,作息该改了……
PostgreSQL 8
似乎使用PostgreSQL的人都非常瞧不起MySQL, 特别是Windows上的MySQL. PostgreSQL8已经beta了.
我是个PostgreSQL文盲, 之前在平凡的香草的blog上看到篇介绍PostgreSQL的文章,后来试了一下,唯一的经验就是win上安装和要安装成服务都不是傻瓜的,国内目前用的很少(本来开源软件用的就少)。新版不同了, 居然有了方便的msi,而且网站上说了, 它到Win可是完全的Port,不似MySQL,是借助cygwin才能跑在win上。
PostgreSQL作为开发用数据库似乎绝对值得推荐!!
有机会的话要再深入学一学。
奖牌榜,即时新闻…
看了sina和sohu的奥运奖牌榜,发现新浪是用iframe嵌入的: <iframe name=”1″ src=http://2004.sina.com.cn/iframe/medals/index.shtml frameborder=0 scrolling=no height=225 width=163> sohu则用的是flash <object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/ swflash.cab#version=6,0,29,0″ width=”192″ height=”122″>2004.sports.sohu.com/upload/olympic/rank/box2.swf” /> <param name=”quality” value=”high” /> <embed src=”http://2004.sports.sohu.com/upload/olympic/rank/box2.swf” quality=”high” pluginspage=”http://www.macromedia.com/go/getflashplayer” type=”application/x-shockwave-flash” width=”192″ height=”122″> blog上的即时新闻是用的 feedsweep提供的服务,将新华网提供的rss链接填入即可生成一段script代码,把它加入网页中就可以了,不过它将guid和link弄混了,链接打不开。所以现在正想自己写一个,顺便熟悉一下XML 贴上面这些代码时发现这个blog的标签功能还不是特别强,只好把尖括号改成全角的,看来还得改一改……
人生一辈子…
这好像是个很沉重的话题,但是这里不准备谈论那些。: -) 今天的 Slashdot 出来一则消息,说已经有人快实现在3.5英寸的光介质存储器上存储100T 的数据(1T = 1024GB)。对于这项技术,开发者认为驱动器成本控制在 $570 – $750,每盘片 $40 (还算是比较便宜的)。 其实这新闻也没什么——还在试验阶段嘛,而且还没有试验成功的说。 关键是新闻稿里面有人用了这么一句话“being able to record our entire lives on a single 3.5′ optical disc”。呵呵,于是下面一群人就开始计算一个人的一生会需要多大的数据量了。好玩!
写程序的乐趣
这些天专注于PHP,第一次写了那么多的代码,虽然都是写些PHP库函数用法试验,还有练习OO和template的代码,可用的不多。 不过写的过程是最快乐的,动手写和看差别实在太大,虽然有时状态好的时候,写了几百行,还只有一两个语法错误,稍微改一下就行了,但多数时候发现很多问题,而且有很多看了N久还觉得莫名其妙,看不出错在哪的问题。 这时候就得查文档,在google上搜,然后再把代码一行一行的对。最重要的是要懂得换换思路,有时出去游走几圈,路上就常常就晃然大悟,发现问题所在。而这一过程则就是最爽的过程。 11说
人的劳动分很多种,人的喜悦也会有很多种,可是不管什么样的劳动,有一种喜悦是共通的也是最强烈的:那就是付出自己的心力,然后看着一个东西从无到有。
确实如此!
和同学买笔记本
下午陪同学去买笔记本,她买了一款东芝M18的。迅驰1.5G,256内存,40G硬盘。感觉还不错,有点可惜的是日货。 我发现我喜欢那种纯黑色的笔记本。呵呵,不过拥有一台笔记本应该还是N年后的事情。 在海龙呆了一下午,还是比较累的,可能是因为昨天喝的酒特别凉,而且昨晚没怎么睡。 回来吃了肯德基,呵呵,这还是我第一次。 回来后的第一个消息就是杜丽夺冠得女子10米气步枪金牌,雅典奥运首枚金牌,值得庆贺! 今天真是是很高兴的一天 🙂
PHP 5.0.1 Released!
开源软件的升级就是快,这次修正了5.0.0的很多bug(ChangeLog),同时4.3.8和4.3.9也出来了。
php5在对OOP的支持上确实有很大加强,和Smarty结合作MVC模式感觉比php4爽多了。
据说php5在xml和webservice有很大增强,不过我还没试过。
MYSQL高级特性 — 事务处理
下面以两个银行账户之间的转账为例子进行演示。
要使用MySQL中的事务处理,首先需要创建使用事务表类型(如BDB = Berkeley DB或InnoDB)的表。
CREATE TABLE account ( account_id BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, balance DOUBLE ) TYPE = InnoDB;
要在事务表上使用事务处理,必须要首先关闭自动提交:
SET AUTOCOMMIT = 0;
事务处理以BEGIN命令开始:
BEGIN;
现在mysql客户处在于服务器相关的事物上下文中。任何对事务表所做的改变在提交之前不会成为永久性的改变。
UPDATE ACCOUNT SET balance = 50.25 WHERE account_id = 1;
UPDATE ACCOUNT SET balance = 100.25 WHERE account_id = 2;
在做出所有的改变之后,使用COMMIT命令完成事务处理:
COMMIT;
当然,事务处理的真正优点是在执行第二条语句发生错误时体现出来的,若在提交前终止整个事务,可以进行回滚操作:
ROLLBACK;
下面是另一个例子,通过MYSQL直接进行数学运算:
SELECT @first := balance FROM account WHERE account_id = 1;
SELECT @second := balance FROM account WHERE account_id = 2;
UPDATE account SET balance = @first – 25.00 WHERE account_id = 1;
UPDATE account SET balance = @second + 25.00 WHERE account_id = 2;
除了COMMIT命令外,下列命令也会自动结束当前事务:
ALTER TABLE
BEGIN
CREATE INDEX
DROP DATABASE
DROP TABLE
LOCK TABLES
RENAME TABLE
TRUNCATE
UNLOCK TABLES