Browsed by
月度归档: 2010年6月

StackOverflow的404错误页

StackOverflow的404错误页

不知道大家有没有注意到StakeOverflow的404错误页面?其显示了下面的这个图片:

这个是一个很有意思的图片,不知道你看懂了吗?看上去像Python,又像 Ruby,还像 Perl,当然也有 C的影子,还有Brainfuck。是的,这是一个杂交程序,杂交了Python,Ruby,Perl,C,还有Brainfuck(注意其中的#号),所有的语句都是输出“404”字符串。

关于这种杂交程序,本站以前也发布过《C语言和sh脚本的杂交代码》,大家可以前往一看。这样的有趣的玩法叫“Polyglot”,也就是说,把N种语言写在一个文件中,然后,该文件在任何编译器下都可以运行,上述的那段代码在Python,Ruby,Perl,Brainfuck下都可以正常运行,也可以被C和的编译器编译通过,并被运行。

下面是这个图片的字符码,以供各位试试。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (16 人打了分,平均分: 4.13 )
Loading...
几个Web的资源

几个Web的资源

首先一个先给大家介绍一个HTML5的资源网站:http://www.html5rocks.com/ ,在这个网站上,有三个子站:

  1. HTML5的幻灯片:http://slides.html5rocks.com/,虽然是英文的,但相信我,这个幻灯片做得很好,你应该能看得懂。
  2. HTML5的操练场:http://playground.html5rocks.com/,这个页面上有很多HTML5的源码,你可以就直接在上面修改,并查看修改结果。
  3. HTML5的教程:http://www.html5rocks.com/tutorials/,这个页上有一些Steps by Steps的教程,很不错。

第二个,给大家推荐一个Javascript库,叫——DragDealer。这个JS主要是处理Web上的各种拖动效果,脚本很小,在没有压缩的情况下也只有12K,而且没有任何的dependence,使用起来也比较方便。

第三个,是Apple的Showcase,我们都知道,iPhone不支持flash,但支持HTML5,大家可以点下面这些链接看看Apple公司自己做的HTML5的一些效果。当然,有一些需要safari浏览器。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 3.14 )
Loading...
面试题:布尔变量

面试题:布尔变量

下面这篇文章是从StackOverflow来的。LZ面试的时候遇到了一道面试题:“如果有三个Bool型变量,请写出一程序得知其中有2个以上变量的值是true”,于是LZ做了下面的这样的程序:

boolean atLeastTwo(boolean a, boolean b, boolean c) {
    if ((a && b) || (b && c) || (a && c)) {
        return true;
    } else {
        return false;
    }
}

面试官接着问到,请对你的这个程序改进一下,但LZ不知道怎么改进,于是上StackOverflow上问了一下,下面是StackOverflow上的众网友的回答。再往下看的时候,希望你自己能先想一想怎么改进。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (15 人打了分,平均分: 4.20 )
Loading...
伦敦地铁实时图

伦敦地铁实时图

下面这个网站是关于伦敦地铁实时的运行图:http://traintimes.org.uk:81/map/tube/

这是个很有意思的网站,其数据是通过伦敦政府发布的TfL API获得的,然后再加上Google Maps的API,于是就有了这样的一个页面。很不错哦。

伦敦地铁实时图

从这个事情,我们可以得到,英国的信息化的发达,首先地铁部门有实时监控的数据,然后以Web API的方式发布,从这点看来,我国的信息化水平还很差。主要是钱都投到G/F/W上去了。

好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 3.57 )
Loading...
2000年的iMac和2010年的iPhone

2000年的iMac和2010年的iPhone

以前本站发过“1980年和2009年的1GB电脑内存的比较”,下面是2000年的iMac和2010年的iPhone的比较。

2000 – iMac

操作系统 – Mac OS 9.0.4
处理器 – 500 MHz PowerPC G3 CPU, 128MB Memory
显示卡 – ATI Rage 128 Pro, 8MB of memory (8 million triangles)
屏幕- 786K pixels
数据传输速度 – 1.3-12.5 MB/s (DVD-ROM-1/100 Ethernet)
存储设备 – 30GB Hard Drive
显示器 – 15.0 x 15.0 x 17.1 inches
重量 – 12.25公斤


2010 – iPhone 4
操作系统 – iOS 4.0
处理器 – 1 Ghz ARM A4 CPU, 512MB Memory
显示卡 – PowerVR SGX 535, uses system memory (28 million triangles)
屏幕 – 614K pixels
数据传输速度 – .04-20MB/s (3G-WiFi)
存储设备 – 32GB Flash Drive
显示器 – 4.5 x 2.31 x .31 inches
重量 – 136克

那么,2020年的产品会是怎么样的?

好烂啊有点差凑合看看还不错很精彩 (17 人打了分,平均分: 3.59 )
Loading...
信XML,得永生!

信XML,得永生!

在计算机的世界里,什么最牛?JavascriptC语言C++iPad?还是brainfuck?我个人觉得都不是,这个世界里,XML最NB,这世界到处都充斥着XML,正如在“十条不错的编程观点”文中所说,我们不用XML我们都不知道怎么编程了。下面,让我们来看一看XML的几个真实的示例,相信你会同意我的观点的。

一、如何用XML返回数据库SQL查询结果

<?xml version="1.0" encoding="iso-8859-1" ?>
<result>
  <fields>
    <field>NAME</field>
    <field>LAST NAME</field>
    <field>MOTHER MAIDEN NAME</field>
    <field>BIRTHDATE</field>
    ...
  </fields>
  <data>
    <row>
      <value>MARLENE</value>
      <value>RUTH</value>
      <value>DE MARCO</value>
      <value>1973-02-24 00:00:00</value>
      ...
    </row>
  </data>
</result>

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (17 人打了分,平均分: 2.76 )
Loading...
把Flash转成Javascript/HTML5

把Flash转成Javascript/HTML5

SmokeScreen是这样一个开源软件,它可以把Flash的swf文件转成Javascript/HTML5,它的口号是:Flash without plugin。为什么要这样做呢?它说主要是因主Apple的iPhone/iPod/iPad不支持flash,而且看似Steve Jobs也不愿意在以后支持flash。所以,他们搞了这样一个玩意。目前,这个开源软件还在开发阶段,在其主页上,你可以看到一些Demo,在Chrome上看上去很不错,虽然还有一些小问题,不过已经很不错了。

HTML5几乎颠覆了原来的HTML,其可以让你用HTML不单单只是做网页布局,而且还让你可以开发更强的东西,比如:WebSockets,使用这项技术,已经有人在搞Web版的Quake 2了(http://code.google.com/p/quake2-gwt-port/),还有Google的3D Javascript API,所以,把swf完美地转成Javscript/HTML5可能也只是一个时间问题。

虽然,HTML5还在draft阶段,而且很多东西都和flash重复了。所以,加上iPhone的推波助澜,发生这样的事情也不奇怪,不知道adobe会怎么想?也许adobe目前对其AIR或是Actionscript还抱有希望,虽然有这样一篇文章力挺Flash,但未来真的不好说,adobe会使用HTML5/Javascript来作为其flash的引擎吗?如果不这样的话,我相信总有一天,会有人开发出HTML5/Javascript的IDE。而且,有理由相信,一旦在未来所有的浏览全面支持HTML5,那么我们可以想像,这个世界可能几乎所有的桌面应用都会被Web所取代,这个进程可能会越来越快。让我们拭目以待。

好烂啊有点差凑合看看还不错很精彩 (11 人打了分,平均分: 3.45 )
Loading...
WTF Javascript

WTF Javascript

请先看一下下面的这段Javascript程序以及其结果。

[javascript]
1 + + 1              // => 2
1 + – + 1            // => 0
1 + – + – + 1        // => 2
1 + – + – + – + 1    // => 0
1 + – + + + – + 1    // => 2
1 + / + + + / + 1    // => 1/ + + + /1
[/javascript]

提示一下,1++1等价于1 + (+1),也就是1加上一个正数1,如果你能搞懂其它的表达式的话,请看看下面的这段程序,你能说出其结果吗?

[javascript]
1 + / + / + / + 1 // => ?
[/javascript]

如果不知道的话,你可以到这个网页上去讨论讨论。当然,如果你不懂也没有什么关系,因为Javascript本身就是一个很怪异的语言,再加上浏览器的种种不是,所以,Javascript程序员也是很郁闷的。在以前的“最为奇怪的程序语言的特性”中也说过一些。Javascript最怪异的特性导致了wtfjs.com这样的一个网站,还有一个WTF JS的开源站点。呵呵。

好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 3.25 )
Loading...
四个流行的Java连接池

四个流行的Java连接池

C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。(主页:http://sourceforge.net/projects/c3p0/

BoneCP 是一个开源的快速的 JDBC 连接池。BoneCP很小,只有四十几K(运行时需要log4jGoogle Collections的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。另外个人觉得 BoneCP 有个缺点是,JDBC驱动的加载是在连接池之外的,这样在一些应用服务器的配置上就不够灵活。当然,体积小并不是 BoneCP 优秀的原因,BoneCP 到底有什么突出的地方呢,请看看性能测试报告。(主页:http://jolbox.com/

DBCPDatabase Connection Pool)是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。目前 DBCP 有两个版本分别是 1.3 和 1.4。1.3 版本对应的是 JDK 1.4-1.5 和 JDBC 3,而1.4 版本对应 JDK 1.6 和 JDBC 4。因此在选择版本的时候要看看你用的是什么 JDK 版本了,功能上倒是没有什么区别。(主页:http://commons.apache.org/dbcp/

Proxool是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能。(主页:http://proxool.sourceforge.net/

好烂啊有点差凑合看看还不错很精彩 (9 人打了分,平均分: 3.44 )
Loading...