推荐几个镜像站点
粉丝眼中的操作系统
在发布完《程序员眼中的编程语言》一文后,发现网上还有一个关于操作系统的。如下所示。
- 图片的横轴是三大操作系统。
- 纵轴是各操作系统的粉丝和信徒。
- 中间的各个小图片则是,粉丝眼中的操作系统的形象。
关于操作系统,还有这一张图也很有意思。
程序员眼中的编程语言
下图是一个搞笑的图片——程序员眼中的编程语言。
- 图片的横轴是编程语言。
- 纵轴是各语言的程序员、粉丝、信徒。
- 中间的各个小图片则是,粉丝眼中的编程语言的形象。
比如说,
- 第一行第一列,是Java程序员看Java语言的样子,一幢现代化的大厦。
- 第一行第二列,是Java程序员看C语言,一个年老过时的骨灰级老头。
- 当然,C程序员看Java语言也比较搞,见第二行第一列。呵呵。
其它的大家自己看吧。还有另外一个关于操作系统的《粉丝眼中的操作系统》
C语言的演变史
1972 – C语言的先驱——B语言,被贝尔实验室开发。B语言是一个很快速的,容易维护的,而且对于从系统到应用开发是很好用的。设计这门语言的整个团队被马上解雇了,因为他们干了一件和电话通讯不相干的事情。最后这个项目转给了 Dennis Ritchie。他把这个语言变得不容易理解,很难维护,而且,只能用于系统方面的编程。而且,他还设计了一个指针系统,保让每一个程序都超过500行,并可以使用操作系统的指针。
1982 – 大家发现有97% 的C程序调用产生了“缓冲区溢出”问题。于是,C 程序员们开始意识到,就算是不必要也必需要初始化变量。然而,强制性的变量初始化这个明智的决定,很难影响了当时已经写成了的97%的C程序,所以结果什么也没有发生。
1984 – 操作系统出现了“错误指针”的问题数量开始戏剧性地增涨。
1985 – 一系列的让C语言有面向对象能力的解决方法出现了,一个叫“C With Classes”正准备商业化。然而,大家觉得名字“C With Classes”太清楚和容易被理解了,所以,最终的商业版本叫做—— C++。
【问题】传球问题
有a,b,c,d,四个人
互相传球
从a开始传出
经过5次传球后
球回到a的手里
算总共有多少种传球的方法
一个“精湛”的JS程序
下面是一个很“精湛”的JS程序:
http://rmd.atdmt.com/tl/DocumentDotWrite.js
这个JS文件中“精湛”之处在于,其只有一行代码,如下所示:
function DocumentDotWrite(s){document.write(s);}
下面这个贴子讨论了这个JS文件:
http://forums.thedailywtf.com/forums/p/7872/147330.aspx
大家都在猜测为什么那个程序员要这么干,下面是一些猜测:
- 网友superjer说:这是一个伟大的创造,解决了你的键盘“.”键损坏的情况。
- 网友Heron说:这是从Character Map上拷贝粘贴下来的。
- 网友mfah说:这是世界上第一个用C来包装Javascript的示例。
- 网友djork说:我是一个用手机编程的人,这个方法可以让人在手机上更容易输入我的代码。
- 网友PSWorx说:可能他们想把document.write作为一个回调函数,但直接把document.write传进去不行。
- 还有一个网友说:这么做或者可以阻止网页上的广告阻截器。
呵呵,看来,“超级天才”和“极端愚蠢”可能只是一线之差,只有写这段程序的那个程序员才知道为什么要这么干了。也许,他的键盘的那个键真的是坏了也不一定。
Java异常另类手册
在这个页面上http://rymden.nu/exceptions.html,你会看到Java的各种异常,不过,你看看各个异常的解释,你会发现非常有趣,下面例举几个吧:
java.lang.ArithmeticException
你正在使用计算解决一个你不能自己解释的数学问题,请你重新读一下你的程序,然后,再试一次。
java.lang.ClassNotFoundException
你应该是发明创造了一个你自己的类,目前,Java中还没有实现“种姓制度”,但是Java明显使用了巴厘岛的种姓制度。也就是说,如果你是一个武士(wesia),也就相当于印度种姓制度中的第三层——吠舍(vaishya)
java.lang.IllegalAccessException
你是一个正在运行Java程序入室盗窃的小偷,请停止对电脑的盗窃行为,离开房子,然后再试一次。
纯CSS做的3D效果
下面是一个用CSS做的一个3D的效果。你可以使用鼠标在图片中移动来显示这个效果。其实,这个效果只是能过移动图片来产生的。其可以工作在Internet Explorer 8, Firefox 3, Opera 9, Safari 3, Chrome 4 和 Konqueror 3.5下。网页在这里:http://www.romancortes.com/ficheros/meninas.html
Web程序的最佳测试数据
这里有一篇Matthias写的关于转义字符文章-“The art of escaping”,这篇文章告诉你有一些比较特殊的字符需要你去认真的处理,不然,你的网站程序轻则出错,重则被人黑了。这些物殊的字符是[<"@%'&_\?/:;,>কী €
] ,你可以使用这个字符串到任意一个可以输入的Web程序上去做测试。
下面这个表格告诉你为什么这些字符很特殊。这个列表不会是完整的,而且也永远不会完整。
相关领域 | 转义字符 |
---|---|
HTML | < , > , & |
JSON | “ |
SQL in mySql | 字符串 “, ‘, 通配符 %, _ |
rfc 1738 for URL-parameter | ;, /, ?, :, “, @, =, & 空格 |
把这些转义字符放在一起,然后再整些 utf-8 的一些特殊字符。这些utf-8的字符你可以参看本站的Unicode字符预览表一文,并从中获取。另外,你还可以使用下面的这些工具来对你的程序进行调试或检查:
- 一个高级Web调试插件: firebug
- 标准的请求/响应插件: Live HTTP headers
- 一些抓包程序: HTTPfox or tamper data
- IE的开发者可以试试这个:Fiddler.com
如果上面的工具都不能帮助你的话,你可能需要打调试日志,或是使用一个透明的代理服务器:如: Charles Web Debugging Proxy (Windows)
(全文完)