Browsed by
分类:编程语言

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...
SQL的Where语句

SQL的Where语句

某DBA在查看自己的数库日志的时候,看到了数据库服务器上出现了很多很怪异的SQL的Where条件语句,是下面这个样子:(所有的where语句前都有了一个叫“1=1”的子条件)呵呵。

SQL Where Clause

要理解这个事情的原因其实并不难。只要你是一个编写数据库的程序员,你就会知道——动态生成where后的条件的“麻烦”,那就是条件的“分隔”-and或or。下面听我慢慢说来。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (20 人打了分,平均分: 4.55 )
Loading...
Javascript程序员嘴最脏??

Javascript程序员嘴最脏??

请看下图,我在Google Code上,针对每个程序语言都搜索了一下“fuck”一词的出现文件的个数X,以及没有出现fuck一词的文件的个数Y,然后放在Excel里求了一下百分比(X/(X+Y) * 100%),做了一个图。结果,JavaScript语言中出现的次数高达0.56%,名列全部语言之首,然后是Perl,C 和 PHP。(对于Javascript程序员的这种行为可以理解,因为IE,因为浏览器嘛,我就不多说了)

Google Code 中程序语言出现 fuck 一词的比率

相关的数据表格如下:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (22 人打了分,平均分: 4.82 )
Loading...
编程语言时间地理图

编程语言时间地理图

 有人使用Google Map做了一个网页,把所有编程语言的时间线和地理位置,如下图,上面是一个编程语言的时间轴,下面是Google Map地图,点击编程语言,你可以查看该编程语言的发明者,发明地,和其Hello World示例(点击这里查看更多的Hello World)

http://www.geospat.com/hoprola/
编程语言时间地理图

JavaScript 的发明者,发明地和示例

(点击小星,可以看到语言的发明者和示例)

好烂啊有点差凑合看看还不错很精彩 (2 人打了分,平均分: 5.00 )
Loading...
C 语言整型谜题

C 语言整型谜题

如题,此篇文章是描述C语言中的整数谜题。

假定机器字长是32位的,用2的补码表示整数。对以下C表达式,请问它们在所有情况下都正确吗?如果不是,请给出反例。

初始化:

int x = foo();
int y = bar();
unsigned ux = x;
unsigned uy = y;

1. 若x < 0, 则x * 2 < 0

2. ux >= 0

3. 若x & 7 == 7, 则(x << 30) < 0

4. ux > -1

5. 若x > y, 则-x < -y

6. x * x >= 0

7. 若x > 0 && y > 0, 则x + y > 0

8. 若x >= 0, 则-x <= 0

9. 若x <= 0, 则-x >= 0

答案如下:

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 4.75 )
Loading...
MySQL性能优化的最佳20+条经验

MySQL性能优化的最佳20+条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。

1. 为查询缓存优化你的查询

大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。

这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:

// 查询缓存不开启
$r = mysql_query("SELECT username FROM user WHERE signup_date >= CURDATE()");

// 开启查询缓存
$today = date("Y-m-d");
$r = mysql_query("SELECT username FROM user WHERE signup_date >= '$today'");

上面两条SQL语句的差别就是 CURDATE() ,MySQL的查询缓存对这个函数不起作用。所以,像 NOW() 和 RAND() 或是其它的诸如此类的SQL函数都不会开启查询缓存,因为这些函数的返回是会不定的易变的。所以,你所需要的就是用一个变量来代替MySQL的函数,从而开启缓存。

阅读全文 Read More

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