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)

(全文完)

好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 4.50 )
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

    好烂啊有点差凑合看看还不错很精彩 (5 人打了分,平均分: 3.60 )
    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

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

    程序员的相关笑话(二)

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

    牧羊人与IT顾问

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

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

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

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

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

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

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

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

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

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

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (28 人打了分,平均分: 4.71 )
    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

    好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 4.25 )
    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

    好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 5.00 )
    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

    好烂啊有点差凑合看看还不错很精彩 (2 人打了分,平均分: 4.50 )
    Loading...
    UI的恶梦

    UI的恶梦

    UI可能是编程中最令人头痛的事了。设计UI通常对于程序员来说是一件很痛苦的事情。下面,让我们来看一看一些可怕的UI设计吧,前面几个UI都是出于咱们程序员自己之手,把他们放在这里,希望能引起大家的注意。(国内软件的UI嘛的我就不说了,省得得罪人)下面这个例子不知道你是否让你似曾相识,呵呵,记得我上大学时,用delphi,PB经常开发这样的界面,当时觉得自己特牛!现在看上去嘛,简直就是一个垃圾。(关于UI设计,你可以查看本站的《35个强大的UI设计教程》)

    UI的恶梦

    首先,我们先来看一个叫wGetGUI的小工具软件,这是一个100%由程序员设计的UI,如下所示:

    阅读全文 Read More

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

    程序员的相关笑话(一)

    问答

    Q:你是怎么区分一个内向的程序员和一个外向的程序员的?
    A:外向的程序员会看着你的鞋和你说话时。

    Q:为什么程序员不能区分万圣节和圣诞节?
    A:这是因为Oct 31 == Dec 25!(八进制的31==十进制的25)

     

    刹车失灵

    有一个物理学家,工程师和一个程序员驾驶着一辆汽车行驶在阿尔卑斯山脉上,在下山的时候,忽然,汽车的刹车失灵了,汽车无法控制地向下冲去,眼看前面就是一个悬崖峭壁,但是很幸运的是在这个悬崖的前面有一些小树让他们的汽车停了下来,而没有掉下山去。三个惊魂未定地从车里爬了出来。

    物理学家说,“我觉得我们应该建立一个模型来模拟在下山过程中刹车片在高温情况下失灵的情形”。

    工程师说,“我在车的后备厢来有个扳手,要不我们把车拆开看看到底是什么原因”。

    程序员说,“为什么我们不找个相同的车再来一次以重现这个问题呢?”

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (48 人打了分,平均分: 4.65 )
    Loading...
    Visual Studio的Vim插件

    Visual Studio的Vim插件

    前两天向大家介绍了Eclipse 和Vim相互交融的插件,今天向大介绍几个插件,可以让你在Visual Studio中使用Vim的那些操作。

    第一个是:ViEmu,下面是一个演示图片。不过这个插件是商业版的,而且还不支持VS2010。不过据其网站说很快就会支持。最夸张的是ViEmu还支持Word和Outlook,SQL Server,呵呵。

    如果你要用免费的的插件,没有问题,试工这个新出的插件吧:VsVim。只不过好像目前只支持VS2010。

     看来Vim还是很强大的,不然,怎会有这些人把其集成到了 Eclipes 和Vistual Studio中,呵呵。Unix下的这个老得都不行了的编辑器正在影响着图形界面的编辑器。最后,让我问问你,你会用Vim吗?
    好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 4.17 )
    Loading...