Browsed by
作者: 陈皓

芝兰生于深谷,不以无人而不芳 君子修身养德,不以穷困而改志
一个“精湛”的JS程序

一个“精湛”的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

大家都在猜测为什么那个程序员要这么干,下面是一些猜测:

  1. 网友superjer说:这是一个伟大的创造,解决了你的键盘“.”键损坏的情况。
  2. 网友Heron说:这是从Character Map上拷贝粘贴下来的。
  3. 网友mfah说:这是世界上第一个用C来包装Javascript的示例。
  4. 网友djork说:我是一个用手机编程的人,这个方法可以让人在手机上更容易输入我的代码。
  5. 网友PSWorx说:可能他们想把document.write作为一个回调函数,但直接把document.write传进去不行。
  6. 还有一个网友说:这么做或者可以阻止网页上的广告阻截器。

呵呵,看来,“超级天才”和“极端愚蠢”可能只是一线之差,只有写这段程序的那个程序员才知道为什么要这么干了。也许,他的键盘的那个键真的是坏了也不一定。

好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 3.83 )
Loading...
Java异常另类手册

Java异常另类手册

在这个页面上http://rymden.nu/exceptions.html,你会看到Java的各种异常,不过,你看看各个异常的解释,你会发现非常有趣,下面例举几个吧:

java.lang.ArithmeticException

你正在使用计算解决一个你不能自己解释的数学问题,请你重新读一下你的程序,然后,再试一次。

java.lang.ClassNotFoundException

你应该是发明创造了一个你自己的类,目前,Java中还没有实现“种姓制度”,但是Java明显使用了巴厘岛的种姓制度。也就是说,如果你是一个武士(wesia),也就相当于印度种姓制度中的第三层——吠舍(vaishya)

java.lang.IllegalAccessException

你是一个正在运行Java程序入室盗窃的小偷,请停止对电脑的盗窃行为,离开房子,然后再试一次。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (9 人打了分,平均分: 3.67 )
Loading...
Web程序的最佳测试数据

Web程序的最佳测试数据

这里有一篇Matthias写的关于转义字符文章-“The art of escaping”,这篇文章告诉你有一些比较特殊的字符需要你去认真的处理,不然,你的网站程序轻则出错,重则被人黑了。这些物殊的字符是[<"@%'&_\?/:;,>কী €] ,你可以使用这个字符串到任意一个可以输入的Web程序上去做测试。

下面这个表格告诉你为什么这些字符很特殊。这个列表不会是完整的,而且也永远不会完整。

相关领域 转义字符
HTML < , > , &
JSON
SQL in mySql 字符串 “, ‘, 通配符 %, _
rfc 1738 for URL-parameter ;, /, ?, :, “, @, =, & 空格


把这些转义字符放在一起,然后再整些 utf-8 的一些特殊字符。这些utf-8的字符你可以参看本站的Unicode字符预览表一文,并从中获取。另外,你还可以使用下面的这些工具来对你的程序进行调试或检查:

如果上面的工具都不能帮助你的话,你可能需要打调试日志,或是使用一个透明的代理服务器:如: Charles Web Debugging Proxy (Windows)

(全文完)

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

Java读写Excel

本文主要向你演示如何使用JavaExcel API来读写Excel文件。关于JavaExcel API,这是一个开源的lib库。其相关的feature如下:

  • 支持Excel 95, 97, 2000, XP, 2003 的制表页。
  • 可以读写相关的Excel公式 (仅支持Excel 97 及以后版本)
  • 可以生成 Excel 2000 格式的xls文件。
  • 支持字体,数字和日期格式。
  • 支持单元格的阴影,边框和颜色。
  • 可以修改已存在的制表页。
  • 国际化多语言集。(公式目前支持,英文,法文,西班牙文和德文)
  • 支持图表拷贝。
  • 支持图片的插入和复制。
  • 日志生成可以使用Jakarta Commons Logging, log4j, JDK 1.4 Logger, 等。
  • 更多……
  • 你可以在这里下载:http://jexcelapi.sourceforge.net/,然后,把jxl.jar加到你的Java的classpath中。

    下面是两段例程,一段是如何创建Excel,一段是如何读取Excel。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 2.63 )
    Loading...
    Web中的省略号

    Web中的省略号

    在Web开发中,对于一种情况很常见。那就是,文本太长,而放置文本的容器不够长,而我们又不想让文本换行,所以,我们想使用省略号来解决这个问题。但是,在今天HTML的标准中并没有相关的标识或属性让你可以简单地完成这个事。但是我们可以使用CSS样式表来完成这个事,在IE,Safari,Chrome,Opera中都可以。但在Firefox中却不行,但我们可以使用jQuery来解决Firefox不兼容的问题。下面是相关的代码示例。

    使用CSS设置省略号

    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 2.86 )
    Loading...
    程序员的相关笑话(二)

    程序员的相关笑话(二)

    前面发表过《程序员的相关笑话(一)》现在继续一些相关的笑话。

    牧羊人与IT顾问

    从前,有一个牧羊人,他有很多的羊。一天他赶着他的那群羊到了一条公路边上。突然,有一辆保时洁急驶过来,上面坐着一个年轻人人,穿着Armani的衣服,和Cerutti的皮鞋,Ray-Ban的太阳眼镜,TAG-Heuer的手表,以前Versace的领带。

    他走到牧羊人面前问牧羊人:“如果我能说出你有多少只羊,你能给我一只吗?”

    牧羊人看了看他那一大群数都数不过来的羊,说:“可以!”。

    那个年轻人,于是打开了他的笔记本电脑,接上手机,进入了NASA Webster,通过GPS定位,开始扫描。然后打了40多页充满各位对数微积分的公式的Excel表格,最后通过他的那个高科技迷你打印机打出了150多页的分析报告,然后,他看了看报告,走到牧羊人前说:“你一共有1586只羊!”

    牧羊人拍手道:“牛啊,你说的一点也没错,你挑一只吧”。

    于是,那个年轻人挑了一只,并准备从他的保时捷中拿出一些文档给牧羊人,这时,牧羊人说:“如果我能猜出你是干什么的,我能不能要回我的那只羊?”

    年轻人说:“为什么不呢?”

    牧羊人说:“你是一个IT咨询顾问”

    年轻人说:“你是怎么知道的?”

    牧羊人说:“很简单。首先,我并没有叫你,你就来了。然后,你开始用一些我已经知道的东西向我收费。第三,你根本就不了解我的业务……,所以,现在请你把我的牧羊狗还给我。”

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (31 人打了分,平均分: 4.35 )
    Loading...
    哥是玩程序的

    哥是玩程序的

    下面一组有趣的Web示例,这些示例使用Web的一些很“土”控件做出一些很有趣的玩意儿。原来,编程是可以用来玩的,看看这些玩程序的人搞出的这些有意思的玩意,简直是玩得太有意思了。不过,请注意,这些东西只能使用Chrome打开,不然,你看不到相关的效果。

    用滚动条做的时间

    http://toki-woki.net/p/scroll-clock/,下面的抓图只显示了时和分,后面还有不停跳动的秒。可以在IE,Fireforx和Chrome中查看。

    用滚动条做的时间

    用CheckBox做成一个水滴效果

    http://the389.com/works/drops/,这个示例的整个页面由Checkbox构成,你用鼠标点一下其中一个CheckBox,你会看到一个巨大的水滴滴了下去。Chrome中效果更好。

    用checkbox做的雨滴效果

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (15 人打了分,平均分: 3.60 )
    Loading...
    如何使用Python操作摄像头

    如何使用Python操作摄像头

    用过USB摄像头的都知道,你需要使用鼠标来操作它,比如截个图,录个像什么的,要点N次鼠标,对于我们那些不喜欢多次点击鼠标的人来说,这是一件很boring的事情,所以,本文将教你如何使用Python来操作摄像头。

    这里,我们需要三个Python库: VideoCapturePIL  和 pygame。使用这三个库你可以非常容易的编写一个摄像头程序。之所以使用pygame,其目的就是因为这个库可以处理视频帧(fps)。下面是代码:

    from VideoCapture import Device
    import ImageDraw, sys, pygame, time
    from pygame.locals import *
    from PIL import ImageEnhance
    
    res = (640,480)
    pygame.init()
    cam = Device()
    cam.setResolution(res[0],res[1])
    screen = pygame.display.set_mode((640,480))
    pygame.display.set_caption('Webcam')
    pygame.font.init()
    font = pygame.font.SysFont("Courier",11)
    
    def disp(phrase,loc):
        s = font.render(phrase, True, (200,200,200))
        sh = font.render(phrase, True, (50,50,50))
        screen.blit(sh, (loc[0]+1,loc[1]+1))
        screen.blit(s, loc)
    
    brightness = 1.0
    contrast = 1.0
    shots = 0
    
    while 1:
        camshot = ImageEnhance.Brightness(cam.getImage()).enhance(brightness)
        camshot = ImageEnhance.Contrast(camshot).enhance(contrast)
        for event in pygame.event.get():
            if event.type == pygame.QUIT: sys.exit()
        keyinput = pygame.key.get_pressed()
        if keyinput[K_1]: brightness -= .1
        if keyinput[K_2]: brightness += .1
        if keyinput[K_3]: contrast -= .1
        if keyinput[K_4]: contrast += .1
        if keyinput[K_q]: cam.displayCapturePinProperties()
        if keyinput[K_w]: cam.displayCaptureFilterProperties()
        if keyinput[K_s]:
            filename = str(time.time()) + ".jpg"
            cam.saveSnapshot(filename, quality=80, timestamp=0)
            shots += 1
        camshot = pygame.image.frombuffer(camshot.tostring(), res, "RGB")
        screen.blit(camshot, (0,0))
        disp("S:" + str(shots), (10,4))
        disp("B:" + str(brightness), (10,16))
        disp("C:" + str(contrast), (10,28))
        pygame.display.flip()

    这段代码中的一些要点的解释如下:

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (9 人打了分,平均分: 3.67 )
    Loading...
    Javascript 曲线表作图库

    Javascript 曲线表作图库

    dygraphs 是一个开源的Javascript库,它可以产生一个可交互式的,可缩放的的曲线表。其可以用来显示大密度的数据集(比如股票,气温,等等),并且可以让用户来浏览和解释这个曲线图。在它的主页(http://www.danvk.org/dygraphs/),你可以看到一些示例和用法。

    dygraphs Javascript 曲线图库

    要使用这个库,很简单,只需要包括dygraph-combined.js文件,其文件尺寸很经济,也就45K。

    <script type="text/javascript"
      src="dygraph-combined.js"></script>

    下面两个示例,你可以把数据写在javascript中,也可以设置一个csv文件。

    阅读全文 Read More

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