2009年3月31日星期二

十佳Gmail Gadgets

 Gmail 的左侧边栏中可以加入许多实用的 Gadgets(小工具)。如果你经常使用 Gmail 收发邮件,这些 Gadgets 能极大的提高工作效率。

下面就是精选的十个实用 Gmail Gadgets

Wikipedia Search / 维基百科

将一个微型 Wikipedia 搜索框集成到 Gmail 侧边栏,搜索结果会新开标签页打开。唯一可惜的是,现在只有英文版本。

地址:http://www.google.com/ig/modules/wikipedia.xml

Google Translate / 谷歌翻译

 

收发邮件时是否有单词需要翻译?安装 Google Translate Gadget 后,这些操作就可以直接在 Gmail 里完成,不用另开翻译软件或网页了。

地址:http://www.google.com/ig/modules/dictionary.xml

World Clock / 世界时钟

在 Gmail 侧边栏显示世界各地的时间,适合经常出差的商务人士。

地址: http://gad.getpla.net/poly/clock.xml

Remember The Milk

Remember The Milk 是最好用的在线 GTD 系统之一(详细介绍),这款 Widget 可以在 Gmail 侧边栏显示你在 RTM 中的 Todo List(待办事项)。

地址:http://www.rememberthemilk.com/services/modules/googleig/rtm.xml

Google Task / 谷歌任务

Google 自己的任务管理应用,简洁大方,非常好用。

另外,你也可以将 Google Task 集成到 Firefox 侧边栏

地址:http://www.google.com/ig/modules/tasks.xml

Google Caculator

能进行简单的计算和单位转换。

地址:http://calebegg.com/calc.xml

Google Docs Gadgets / 谷歌文档

在 Gmail 侧边栏中显示 Google Docs 中的文档列表,并可以打开编辑。

可以直接在 Google Labs 中开启。

Google Calendar / 谷歌日历

在 Gmail 侧边栏中显示 Google Calendar 中的日程安排,可以快速新建日程安排。

可以直接在 Google Labs 中开启。

Currency Convertor / 货币转换器

实时更新汇率。用 Google Adsense 的童鞋可以常常用这个 YY 一下:)

地址:http://www.ac-markets.com/forex/currencyconverter.xml

Link To Google Services

这个 Gadget 提供了许多 Google 服务的快速链接。

地址:http://blakewest.googlepages.com/googleservices.xml

原文:Best Gmail Gadgets: Useful Gadgets That Make Your Life Easier 
译文:十佳Gmail Gadgets 
译者:LiGht

twitter at Gmail

http://twittergadget.appspot.com/gadget/gadget-gmail.xml

请问这些小工具如何添加?

在 Google Labs 中将 Add any gadget by URL 打开……如果 Gmail 界面上没显示 Google Labs,可以试试切换到英文版


 
------------------
snigoal@Wang,HUST.Wuhan.China
 

Java 编程技术中汉字问题的分析及解决

http://www.ibm.com/developerworks/cn/java/java_chinese/

Java 编程技术中汉字问题的分析及解决

developerWorks

级别: 初级

段明辉, 自由撰稿人

2000 年 11 月 01 日

在基于 Java 语言的编程中,我们经常碰到汉字的处理及显示的问题。一大堆看不懂的乱码肯定不是我们愿意看到的显示效果,怎样才能够让那些汉字正确显示呢?Java语言默认的编码方式是UNICODE,而我们中国人通常使用的文件和数据库都是基于GB2312或者BIG5等方式编码的,怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?本文将从汉字编码的常识入手,结合Java编程实例,分析以上两个问题并提出解决它们的方案。

现在 Java 编程语言已经广泛应用于互联网世界,早在 Sun 公司开发 Java 语言的时候,就已经考虑到对非英文字符的支持了。Sun 公司公布的 Java 运行环境(JRE)本身就分英文版和国际版,但只有国际版才支持非英文字符。不过在 Java 编程语言的应用中,对中文字符的支持并非如同 Java Soft 的标准规范中所宣称的那样完美,因为中文字符集不只一个,而且不同的操作系统对中文字符的支持也不尽相同,所以会有许多和汉字编码处理有关的问题在我们进行应用开发中困扰着我们。有很多关于这些问题的解答,但都比较琐碎,并不能够满足大家迫切解决问题的愿望,关于 Java 中文问题的系统研究并不多,本文从汉字编码常识出发,分析 Java 中文问题,希望对大家解决这个问题有所帮助。

汉字编码的常识

我们知道,英文字符一般是以一个字节来表示的,最常用的编码方法是 ASCII 。但一个字节最多只能区分256个字符,而汉字成千上万,所以现在都以双字节来表示汉字,为了能够与英文字符分开,每个字节的最高位一定为1,这样双字节最多可以表示64K格字符。我们经常碰到的编码方式有 GB2312、BIG5、UNICODE 等。关于具体编码方式的详细资料,有兴趣的读者可以查阅相关资料。我肤浅谈一下和我们关系密切的 GB2312 和 UNICODE。GB2312 码,中华人民共和国国家标准汉字信息交换用编码,是一个由中华人民共和国国家标准总局发布的关于简化汉字的编码,通行于中国大陆地区及新加坡,简称国标码。两个字节中,第一个字节(高字节)的值为区号值加32(20H),第二个字节(低字节)的值为位号值加32(20H),用这两个值来表示一个汉字的编码。UNICODE 码是微软提出的解决多国字符问题的多字节等长编码,它对英文字符采取前面加"0"字节的策略实现等长兼容。如 "A" 的 ASCII 码为0x41,UNICODE 就为0x00,0x41。利用特殊的工具各种编码之间可以互相转换。





回页首


Java 中文问题的初步认识

我们基于 Java 编程语言进行应用开发时,不可避免地要处理中文。Java 编程语言默认的编码方式是 UNICODE,而我们通常使用的数据库及文件都是基于 GB2312 编码的,我们经常碰到这样的情况:浏览基于 JSP 技术的网站看到的是乱码,文件打开后看到的也是乱码,被 Java 修改过的数据库的内容在别的场合应用时无法继续正确地提供信息。

String sEnglish = "apple";

String sChinese = "苹果";

String s = "苹果 apple ";

sEnglish 的长度是5,sChinese的长度是4,而 s 默认的长度是14。对于 sEnglish来说, Java 中的各个类都支持得非常好,肯定能够正确显示。但对于 sChinese 和 s 来说,虽然 Java Soft 声明 Java 的基本类已经考虑到对多国字符的支持(默认 UNICODE 编码),但是如果操作系统的默认编码不是 UNICODE ,而是国标码等。从 Java 源代码到得到正确的结果,要经过 "Java 源代码-> Java 字节码-> ;虚拟机->操作系统->显示设备"的过程。在上述过程中的每一步骤,我们都必须正确地处理汉字的编码,才能够使最终的显示结果正确。

" Java 源代码-> Java 字节码",标准的 Java 编译器 javac 使用的字符集是系统默认的字符集,比如在中文 Windows 操作系统上就是 GBK ,而在 Linux 操作系统上就是ISO-8859-1,所以大家会发现在 Linux 操作系统上编译的类中源文件中的中文字符都出了问题,解决的办法就是在编译的时候添加 encoding 参数,这样才能够与平台无关。用法是

javac ?Cencoding GBK。

" Java 字节码->虚拟机->操作系统", Java 运行环境 (JRE) 分英文版和国际版,但只有国际版才支持非英文字符。 Java 开发工具包 (JDK) 肯定支持多国字符,但并非所有的计算机用户都安装了 JDK 。很多操作系统及应用软件为了能够更好的支持 Java ,都内嵌了 JRE 的国际版本,为自己支持多国字符提供了方便。

"操作系统->显示设备",对于汉字来说,操作系统必须支持并能够显示它。英文操作系统如果不搭配特殊的应用软件的话,是肯定不能够显示中文的。

还有一个问题,就是在 Java 编程过程中,对中文字符进行正确的编码转换。例如,向网页输出中文字符串的时候,不论你是用

out.println(string);还是用

<%=string%>,都必须作 UNICODE 到 GBK 的转换,或者手动,或者自动。在 JSP 1.0中,可以定义输出字符集,从而实现内码的自动转换。用法是

<%@page contentType="text/html;charset=gb2312" %>

但是在一些 JSP 版本中并没有提供对输出字符集的支持,(例如 JSP 0.92),这就需要手动编码输出了,方法非常多。最常用的方法是

String s1 = request.getParameter("keyword");

String s2 = new String(s1.getBytes("ISO-8859-1"),"GBK");

getBytes 方法用于将中文字符以"ISO-8859-1"编码方式转化成字节数组,而"GBK" 是目标编码方式。我们从以ISO-8859-1方式编码的数据库中读出中文字符串 s1 ,经过上述转换过程,在支持 GBK 字符集的操作系统和应用软件中就能够正确显示中文字符串 s2 。





回页首


Java 中文问题的表层分析及处理

背景
开发环境JDK1.15Vcafe2.0JPadPro
服务器端NT IISSybase SystemJconnect(JDBC)
客户端IE5.0Pwin98?span >

.CLASS 文件存放在服务器端,由客户端的浏览器运行 APPLET , APPLET 只起调入 FRAME 类等主程序的作用。界面包括 Textfield ,TextArea,List,Choice 等。

I.用 JDBC 执行 SELECT 语句从服务器端读取数据(中文)后,将数据用 APPEND 方法加到 TextArea(TA) ,不能正确显示。但加到 List 中时,大部分汉字却可正确显示。

将数据按"ISO-8859-1" 编码方式转化为字节数组,再按系统缺省编码方式 (Default Character Encoding) 转化为 STRING ,即可在 TA 和 List 中正确显示。

程序段如下:

dbstr2 = results.getString(1); //After reading the result from DB server,converting it to string. dbbyte1 = dbstr2.getBytes("iso-8859-1"); dbstr1 = new String(dbbyte1);

在转换字符串时不采用系统默认编码方式,而直接采用" GBK" 或者 "GB2312" ,在 A 和 B 两种情况下,从数据库取数据都没有问题。

II.处理方式与"取中文"相逆,先将 SQL 语句按系统缺省编码方式转化为字节数组,再按"ISO-8859-1"编码方式转化为 STRING ,最后送去执行,则中文信息可正确写入数据库。

程序段如下:

sqlstmt = tf_input.getText(); //Before sending statement to DB server,converting it to sql statement. dbbyte1 = sqlstmt.getBytes(); sqlstmt = newString(dbbyte1,"iso-8859-1"); _stmt = _con.createStatement(); _stmt.executeUpdate(sqlstmt); …… 

问题:如果客户机上存在 CLASSPATH 指向 JDK 的 CLASSES.ZIP 时(称为 A 情况),上述程序代码可正确执行。但是如果客户机只有浏览器,而没有 JDK 和 CLASSPATH 时(称为 B 情况),则汉字无法正确转换。

我们的分析:

1.经过测试,在 A 情况下,程序运行时系统的缺省编码方式为 GBK 或者 GB2312 。在 B 情况下,程序启动时浏览器的 JAVA 控制台中出现如下错误信息:

Can't find resource for sun.awt.windows.awtLocalization_zh_CN

然后系统的缺省编码方式为"8859-1"。

2.如果在转换字符串时不采用系统缺省编码方式,而是直接采用 "GBK" 或"GB2312",则在 A 情况下程序仍然可正常运行,在 B 情况下,系统出现错误:

UnsupportedEncodingException。

3.在客户机上,把 JDK 的 CLASSES.ZIP 解压后,放在另一个目录中, CLASSPATH 只包含该目录。然后一边逐步删除该目录中的 .CLASS 文件,另一边运行测试程序,最后发现在一千多个 CLASS 文件中,只有一个是必不可少的,该文件是:

sun.io.CharToByteDoubleByte.class。

将该文件拷到服务器端和其它的类放在一起,并在程序的开头 IMPORT 它,在 B 情况下程序仍然无法正常运行。

4.在 A 情况下,如果在 CLASSPTH 中去掉 sun.io.CharToByteDoubleByte.class ,则程序运行时测得默认编码方式为"8859-1",否则为 "GBK" 或 "GB2312" 。

如果 JDK 的版本为1.2以上的话,在 B 情况下遇到的问题得到了很好的解决,测试的步骤同上,有兴趣的读者可以尝试一下。





回页首


Java 中文问题的根源分析及解决

在简体中文 MS Windows 98 + JDK 1.3 下,可以用 System.getProperties() 得到 Java 运行环境的一些基本属性,类 PoorChinese 可以帮助我们得到这些属性。

类 PoorChinese 的源代码:

public class PoorChinese { }

执行 java PoorChinese 后,我们会得到:

系统变量 file.encoding 的值为 GBK ,user.language 的值为 zh , user.region 的值为 CN ,这些系统变量的值决定了系统默认的编码方式是 GBK 。

在上述系统中,下面的代码将 GB2312 文件转换成 Big5 文件,它们能够帮助我们理解 Java 中汉字编码的转化:

? import java.io.*; import java.util.*; ? public class gb2big5 { ? static int iCharNum=0; ? public static void main(String[] args) { System.out.println("Input GB2312 file, output Big5 file."); if (args.length!=2) { System.err.println("Usage: jview gb2big5 gbfile big5file"); System.exit(1); String inputString = readInput(args[0]); writeOutput(inputString,args[1]); System.out.println("Number of Characters in file: "+iCharNum+"."); } ? static void writeOutput(String str, String strOutFile) { try { FileOutputStream fos = new FileOutputStream(strOutFile); Writer out = new OutputStreamWriter(fos, "Big5"); out.write(str); out.close(); } catch (IOException e) { e.printStackTrace(); e.printStackTrace(); } } ? static String readInput(String strInFile) { StringBuffer buffer = new StringBuffer(); try { FileInputStream fis = new FileInputStream(strInFile); InputStreamReader isr = new InputStreamReader(fis, "GB2312"); Reader in = new BufferedReader(isr); int ch; while ((ch = in.read()) > -1) { iCharNum += 1; buffer.append((char)ch); } in.close(); return buffer.toString(); } catch (IOException e) { e.printStackTrace(); return null; } } } ? 			

编码转化的过程如下:

GB2312------------------>Unicode------------->Big5

执行 java gb2big5 gb.txt big5.txt ,如果 gb.txt 的内容是"今天星期三",则得到的文件 big5.txt 中的字符能够正确显示;而如果 gb.txt 的内容是"情人节快乐",则得到的文件 big5.txt 中对应于"节"和"乐"的字符都是符号"?"(0x3F),可见 sun.io.ByteToCharGB2312 和 sun.io.CharToByteBig5 这两个基本类并没有编好。

正如上例一样, Java 的基本类也可能存在问题。由于国际化的工作并不是在国内完成的,所以在这些基本类发布之前,没有经过严格的测试,所以对中文字符的支持并不像 Java Soft 所声称的那样完美。前不久,我的一位技术上的朋友发信给我说,他终于找到了 Java Servlet 中文问题的根源。两周以来,他一直为 Java Servlet 的中文问题所困扰,因为每面对一个含有中文字符的字符串都必须进行强制转换才能够得到正确的结果(这好象是大家公认的唯一的解决办法)。后来,他确实不想如此继续安分下去了,因为这样的事情确实不应该是高级程序员所要做的工作,他就找出 Servlet 解码的源代码进行分析,因为他怀疑问题就出在解码这部分。经过四个小时的奋斗,他终于找到了问题的根源所在。原来他的怀疑是正确的, Servlet 的解码部分完全没有考虑双字节,直接把 %XX 当作一个字符。(原来 Java Soft 也会犯这幺低级的错误!)

如果你对这个问题有兴趣或者遇到了同样的烦恼的话,你可以按照他的步骤 对Servlet.jar 进行修改

找到源代码 HttpUtils 中的 static private String parseName ,在返回前将 sb(StringBuffer) 复制成 byte bs[] ,然后 return new String(bs,"GB2312")。作上述修改后就需要自己解码了:

HashTable form=HttpUtils .parseQueryString(request.getQueryString())或者

form=HttpUtils.parsePostData(……)

千万别忘了编译后放到 Servlet.jar 里面。





回页首


关于 Java 中文问题的总结

Java 编程语言成长于网络世界,这就要求 Java 对多国字符有很好的支持。 Java 编程语言适应了计算的网络化的需求,为它能够在网络世界迅速成长奠定了坚实的基础。 Java 的缔造者 (Java Soft) 已经考虑到 Java 编程语言对多国字符的支持,只是现在的解决方案有很多缺陷在里面,需要我们付诸一些补偿性的措施。而世界标准化组织也在努力把人类所有的文字统一在一种编码之中,其中一种方案是 ISO10646 ,它用四个字节来表示一个字符。当然,在这种方案未被采用之前,还是希望 Java Soft 能够严格地测试它的产品,为用户带来更多的方便。

一个用于从数据库和网络中取出 中文乱码的处理函数,入参是有问题的字符串,出参是问题已经解决了的字符串。

技术应用者提供解决方案



关于作者

段明辉 has co-authored this article


--
snigoal,Wuhan,China

2009年3月30日星期一

强人DIY山寨版Sunjar

不知山寨这个词何时已经变成DIY的代名词了... Sunjar是什么呢?它是由英国的一家叫做Suck UK公司(这什么名字)设计的可以存储阳光并在夜间释放的玻璃罐。有兴趣的可以自行google下(关键词:sunjar 淘宝)。虽然这个玻璃罐并非真正是将阳光"存储"了起来,不过创意还是十分的不错。尽管就是一个太阳能灯,但是通过罐子这个概念一包装,就给人新奇感。


但是,撇开如此好的创意,看到其正品的售价(¥200 + )实在上我觉得买它太不值得了。同时,不出我预料的国内已经有不少仿品了,且开价都低于60。同时还声称拥有多种其它功能。后来,那些卖正品的卖家估计是自身利益受损,就想尽办法在商品描述中"诋毁"那些山寨货。我觉得最经典的一句是:"那些仿品罐子还允许随意切换黄色或者蓝色的光线,这个主意看似很妙,实则很糟糕。要知道这是一个存储阳光的罐子,不是地摊上的变色灯……"原文大致如此,看得我实在觉得好笑...

好了,不胡扯了。与其花大价钱买这个玻璃罐,还不如自己做一个吧。实用价值还是有一点的,比如当小夜灯。于是,我花了2个周末作了2个山寨版Sunjar:

白天将它们至于阳光处(阳台上即可),到了晚上(光线变暗时),它们就开始发光了:

像不像Diablo里边的Mana药剂瓶...

 以上便是这山寨Sunjar的效果。自认为很不错。Sunjar这样优秀的创意,再加之自己DIY,其中的乐趣绝对要比在Taobao上花大价钱买一个好!同时,我认为它的电气特性要远远高于那些200多地"正规军"。下面我主要介绍制作过程以及原理和成本与性能分析。欢迎各位仿制,此为开源硬件项目。
原理和性能 Sunjar其实原理十分简单,就是一个太阳能储能装置+LED。或者说就是一个太阳能灯。不过实际作起来,并不是简单的将光伏电池、充电电池与LED接在一起如此简单。需要考虑几个问题:

  1. 玻璃罐限制了太阳能电池的功率,输出电压也不高
  2. 需要有光控电路控制LED仅在夜间发光
一般能装进玻璃罐的太阳能电池板一般开路电压都在1.5-5V左右,且短路电流一般不会超过200mA。同时考虑成本因素,一般3-4V 40-180mA的太阳能电池板是比较合理的选择。同时这里的数值是需要在室外晴天阳光照射下才能实现的。同时单晶硅或者多晶硅太阳能电池的弱光性差,在阴天和市内基本就不会有什么电流了。因此这样的配置下,充电电池一般考虑使用单节或双节的(1.2-2.4V)。这样的选择能确保在白天大多数情况下,太阳能电池输出的能量能尽可能充入电池。
但一般LED都需要2V以上电压驱动,尤其是蓝色和白色LED需要的驱动电压更高,即使2.4V的电压下白色LED的发光亮度也不高。因此很有必要设计驱动LED用的升压电路。将LED端的电压提升到3-5V。
对于上述第二个问题很好理解,实现起来就是一个简单的开关电路。
下面是本山寨Sunjar采用的电路图:

该电路并不复杂,所用元件也很少,且基本都能从已有的废旧设备上拆下。这里我就简要的介绍下原理,后文会提到材料的来源和选择问题。
该电路主要分为2部分,一为驱动LED的升压电路,它可以整体上看作一个负载。当图中9012三极管集电极上施加0.6-3V的电压时,图中的8050以及电感构成了一个振荡电路,通过电磁感应会在输出端(LED两侧)产生峰值约为5V的脉冲电压。经过电解电容的滤波可近似看成直流。此时驱动LED将得到耀眼的光线。足以驱动玻璃罐发光。
电路另一部分为光控电路,其主要靠两个9013管的饱和/截至特性构成了非门,并经过末端的9012驱动升压电路工作。
经我测量,在使用单节镍氢电池(1.2V)供电时,电池出的输出电流在35mA。如果使用600mAh的充电电池供电的话,大致可以在整个晚上持续发光了。电路中采用了最高4V-180mA输出的单晶硅太阳能电池。虽然理论上存在将电池过充的风险。但是考虑到白天日照是不持续且不稳定的。因此该风险其实大部分情况是不存在的。且较高功率的太阳能电池也允许在室内将充电电池充满,并不一定需要在阳光下暴晒。可以说如此的山寨Sunjar性能应当是很强悍的。
成本、选材与制作 这里先介绍选材的问题。我想大部分人手头是不会留有什么元件盒这类东西的,因此这里我主要介绍如何从身边废弃物中取出有用的元件来制作电路。
首先是太阳能电池板,该组件直接关系到Sunjar的性能,前文已经提到了,我使用的是4V/180mA的单晶圆形太阳能电池,直径为80mm。采用的是压层封装,寿命在10-15年。太阳能电池板很多时候只能自己购买。目前taobao上卖太阳能电池板的商家十分多。要挑选自己合适的太阳能板是很方便的,这里要注意的是应当注重其寿命以及输出电流。我购买的单片价格约为¥9。如果不在乎寿命,使用滴胶封装的板子,价格应当会很便宜。

其次是充电电池,因为LED耗电并不好,一般选用600mAh的镍氢电池即可。没必要使用高容量的。我采用了GP AAA的600mAh镍氢电池。如果使用锂电池要注意充电电路,避免过充爆炸。
其次是电路中电感用到的磁芯,我推荐用环形的磁芯。也可用柱状的。环形的磁芯其实很好找,可以从废弃的电子镇流器或者节能灯灯泡底座(需要拆除)取出。然后使用0.5mm的漆包线或者单股导线分别绕9匝以及15匝。如果没有环形的磁芯,也可采用中波收音机内的磁棒。

上图中绕有漆包线的黑色环就是磁环

白色部分为用收音机磁棒天线制作的电感
其余元件基本都能从电子玩具废旧的电子设备里找到。或者可以替代。图中第一级9013集级处的可变电阻的目的是调节光控电路的灵敏度,也可忽略该电阻。
LED只要选用自己喜欢的颜色即可,不过最好采用高亮度,散色类型的。
如果能顺利搞到这些材料,细心的焊接好基本就能工作了。这里就不介绍元器件的常识了。
那么实在不想或者不会焊接电路怎么办?这里有2个办法:
  1. 其中的升压电路可以从地摊买到的单节电池驱动的LED手电,或者那种用单节五号电驱动的手机应急充电器中拆出。效果是一样的。
  2. 可以在taobao购买一个草坪太阳能灯,将所有电路拆出。
其实,如果你选择了第二个方案,其成本已经高出直接购买一个山寨版Sunjar了。但DIY的乐趣还是很值得的。
我先是做了一个原形电路来验证这个电路图,十分的原始,没有用PCB板,完全架空焊接。且用了2节充电电池供电/储能,因此驱动的LED比较亮。之后又在万用PCB上作了一个"精美版",采用单节电池供电/储能。




对于罐子的选择,为了充分发挥山寨本色,外形上要和正版的类似。我用了宜家中卖的那种玻璃罐。其内径也正好是80mm。正好将太阳能板装入。不过宜家的罐子是全透明的,最好在内壁贴上磨砂纸这类的实现漫反射效果。

好了,下面就算算材料成本。
一个宜家的玻璃罐 ¥11
太阳能电池板 ¥9
充电电池 ¥10
电路部分 ¥0-10 (如果完全废物利用,就不算成本了)
这样算来总共花费还是很低的,虽然做工可能没有正品精美(其实有本事完全可以超越),但是性能上是远远超过正品的。并且我怀疑市面上销售的Sunjar无论是否正品,都采用的是滴胶工艺的太阳能电池,其寿命一般只有2-3年。进一步说,DIY的乐趣绝对不是花钱能买来的。如果做的很好拿去送人也很有面子(骗小姑娘?)。
如果你也对此感兴趣,欢迎仿制,有什么问题也欢迎交流。

原文地址:http://www.csksoft.net/blog/post/sunjar_diy.html


--
snigoal,Wuhan,China

丫头,假如我娶到的是你,

假如你娶到的是你最心爱的人,你会怎样???

丫头,假如我娶到的是你,      
我起床之后就可以端详依旧熟睡的你,看你那可爱的面孔,乱乱的长发,还有一丝孩子气,      

丫头,假如我娶到的是你,      
我们就可以在洗漱时互相泼水,打湿彼此的睡衣,      

丫头,假如我娶到的是你,      
我要为你做早餐,让你醒来时朦胧着双眼就看到香喷喷的饭菜和整齐的餐具,      

丫头,假如我娶到的是你,      
我们会高高兴兴的走出家门,为着温馨的天空,互相加油,一同拼搏努力,      

丫头,假如我娶到的是你,      
每天中午,我会到你的单位接你,带你去找一家隐蔽的小吃店或体面的饭店,享受浪漫与甜蜜,      

丫头,假如我娶到的是你,      
下班后,我们会一起去超级市场,或者买一点果蔬,或者买一点安逸,      

丫头,假如我娶到的是你,      
回到我们温馨的小屋后,我们要一齐在厨房开工,弄它个翻天覆地,      

丫头,假如我娶到的是你,      
饱餐后的我们,要在电视前,我躺在沙发上,而你,躺在我的怀里,      

丫头,假如我娶到的是你,      
我们可以一起看看新闻,一起关注体育,或者弄几个抑或浪漫抑或搞笑的连续剧,      

丫头,假如我娶到的是你,      
或许,我们会买两台电脑,打打游戏聊聊天,你在卧室,而我,在隔壁,      

丫头,假如我娶到的是你,      
躺在舒适的大床上,软软的被子里,我们会回归儿时的捣蛋,儿时的调皮,      

丫头,假如我娶到的是你,      
我会在梦里与睡在身边的你,牵手,嬉戏,回味每天的快乐记忆...          



丫头,假如我娶到的是你,      
我们依偎着看看老电影,搞笑的大话西游,震撼的勇敢的心,浪漫的铁达尼,      

丫头,假如我娶到的是你,      
我们要一起看世界杯,一起疯狂的呼喊进攻,一起撅着嘴慨叹失利,      

丫头,假如我娶到的是你,      
我们要组成夫妻cs小队,刻苦训练,默契配合,争取参加wcg,(好像还没有双人组,hoho)      

丫头,假如我娶到的是你,      
我们要坐在床上打扑克,先赢你,看你嗔怪的样子,再输你,得到你的吻,你的甜蜜,      

丫头,假如我娶到的是你,      
我们要躺在一起欣赏泰戈尔的诗,静谧的卧室,你读给我,我也读给你,      

丫头,假如我娶到的是你,      
我们会一起聆听维也纳的新年音乐会,听我昏天黑地的卖弄,看你似懂非懂的傻兮兮,      

丫头,假如我娶到的是你,      
我们买一大堆好吃的,坐在一起,你争我抢,话梅,薯条,烀猪蹄,      

丫头,假如我娶到的是你,      
我们要一起打扫小窝的卫生,你擦玻璃,我擦桌椅,你洗衣服,我扫地,      

丫头,假如我娶到的是你,      
我们要去照好多好多大头贴,贴在卧室,贴在厨房,贴在洗手间,贴在各自的钱夹里,      

丫头,假如我娶到的是你,      
我们买一对漂漂的手机,工作的间歇,可以打打电话,发发信息,      

丫头,假如我娶到的是你,      
我们要漫步在繁华的商业街,打爆信用卡,带走心仪的 burberry & gucci,      

丫头,假如我娶到的是你,      
我们要非常努力的工作,争取早日买到你喜欢的QQ开出来自由潇洒,还有对着大海的别墅,住进去心旷神怡,      

丫头,假如我娶到的是你,      
我们要一起去游乐场,过山车,死亡电梯,用这一切一切找回童年的回忆,      

丫头,假如我娶到的是你,      
我们要一起到湖边垂钓,鱼杆,鱼饵,大大的遮阳帽,温馨的双人小椅,      

丫头,假如我娶到的是你,      
我们要一起去跑马场,体验英纯血马的风驰电掣,享受阿拉伯马的轻盈飘逸,      

丫头,假如我娶到的是你,      
我们要一起去蹦极,体验从天而降的快感,感受疯狂的至死不渝,      

丫头,假如我娶到的是你,      
我们要一起去登山,不管它的海拔,不管它的名气,只为我们彼此心中如青山的爱意...      


    


丫头,假如我娶到的是你,      
当你过生日时,我要每次想一个好点子,让你开心,给你惊喜,      

丫头,假如我娶到的是你,      
当我过生日时,我们买一小块蛋糕就好,坐在烛火旁,你吻我,我也吻你,      

丫头,假如我娶到的是你,      
当情人节时,我要送你7朵玫瑰花,代表咱爸咱妈咱未来的或已经有了的宝宝和咱自己,      

丫头,假如我娶到的是你,      
当情人节时,你送我一盒灿灿的巧克力,亲手为我剥开一颗,放进我的嘴里,      

丫头,假如我娶到的是你,      
过新年时,我们各自去买新衣服,新围巾,新鞋子,却都不是买给自己,      

丫头,假如我娶到的是你,      
当你生病时,我会背着玲珑的你,到医院看看照照,图一个放心,      

丫头,假如我娶到的是你,      
当我生病时,你会陪在我的身边,给我讲你和朋友的趣事,琐碎的稀奇,      

丫头,假如我娶到的是你,      
当你不开心时,我会哄你,逗你,让你骂我,打我,直到你为笑破涕,      

丫头,假如我娶到的是你,      
当我不开心时,你会安慰我,鼓励我,或者就是趴在我的背上,轻轻在我耳边吹气,      

丫头,假如我娶到的是你,      
当你升职抑或我升职时,我们要出去狂欢,喝得醉醺醺,回来的路上还哼唱着婚礼进行曲,      

丫头,假如我娶到的是你,      
当你怀孕时,我要更加小心的照顾你,你的饮食,你的运动,还要藏起来你的洗衣机,      

丫头,假如我娶到的是你,      
当你临产时,我会一直陪着你,牵着你,在你的耳边呼唤你,亲爱的,我在这呢,我爱你,      

丫头,假如我娶到的是你,      
当你做了妈妈我做了爸爸,我们就忙得不可开交啦,给宝宝喂奶,洗澡,教他(她)喊mammy和daddy... 


--
snigoal,Wuhan,China

2009年3月29日星期日

有一种生涯,叫 PSD2HTML

http://www.cnbeta.com/articles/80596.htm

新闻来源:designmovesme.com
CSS 诞生以前,如果谁拿着自己的 Photoshop 设计稿找人转换成 Web 页面,他只能失望。CSS 让一种不可能的生涯成为现实,PSD to HTML 或 XHTML,如今这是一个成熟的行业,本文搜集了40个从事 PSD2HTML 服务的网站,他们的真实水准我们不得而知,不过,他们自己的网站设计已经到了美轮美奂的地步

Nifty XHTML


PSD to HTML


MediaGirl


Markup4U



markmeup


HTML Burger


Feather Code


The Designer's Chop Shop


CSS Rockstars


CSS Ninjas


CMSthemer


The Choppr


247xhtml


9xhtml



YummyCSS



XHTML Team



XHTML Slicer



XHTML Slice



xHTML Master



XHTMLized



XHTMLiT



WPfromPSD




WPCoder



We Do Markup



W3 Markup



ThemeSlice



SnobbySlice



Slice'r'us



Slice&Go



RetroXHTML



QualityXHTML



PSD to WordPress



psdtolife



PSD to Any



PsdSlicing



Psdslicer




PSDgator




PSD2HTML



PixelCrayons



Outline to Design



本文来源:COMSHARP CMS 官方网站
素材来源:http://designmovesme.com/40-beautiful-slicing-websites/


--
snigoal,Wuhan,China

VISIT COUNT