Browsed by
月度归档: 2009年11月

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

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

编程语言时间地理图

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

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

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

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

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

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

好烂啊有点差凑合看看还不错很精彩 (64 人打了分,平均分: 4.48 )
Loading...
编程语言汽车

编程语言汽车

Oscar Mayer Wienermobile以前酷壳发布过《操作系统航空公司》戏谑了一下如果操作系统是航空公司会怎么样的一种情况。现在,我们来YY一下编程语言,如果编程语言是汽车,又会怎么样?

  • Ada   这是一辆坦克。一个很厚重但很丑的坦克,从不会崩溃。如果你告诉别人你正在驾驶Ada,别人会狂笑不已。但是,你会开着一辆跑车去打战吗?[from Amit Dubey]
  • 汇编语言   只是一个祼露在外的引擎。你不得不自己去造车,并向其提供汽油,但你在驾车时要小心,因为他会像一只从地狱放出来的蝙蝠一样。其实,对于汇编语言,你自己才是车。[From “Subterfug” off digg.com:]
  • Basic   是一辆很简单的车,对于一些短途的交通比如去一些超市商店,他是很有用的。以前这是一个对初学者很流行的车,然而,近来它蜕变成脚本,而更新的车型被抛光以应对长途旅程,但那也只是新瓶装旧酒。[from Przemyslaw Wrzos]
  • C   是一辆赛车,它的速度是令人难以想象的快,可惜的是它每50公里就会损毁一次。
  • Cobol   号称是一辆车,但是,没有哪个“有自尊的司机”会承认以前驾驶过它。
  • C#   是一个竞争性的家庭旅行车。一旦你开始使用,你就别想再使用别的竞争者的产品了。
  • C++   是一个加大马力的C赛车,其有一堆新增的功能,而且,它只会每250公里损毁一次。可是,一旦它有故障,没人会知道故障发生在哪里。
  • 阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 4.00 )
    Loading...
    Eclipse 和 Vim

    Eclipse 和 Vim

    以前,neo和发布过如何在vim中得到你最喜爱的IDE特性,这是一篇在vim中装一些插件而让Vim拥有IDE的功能,比如代码自动提示等功能。当然,目前,可能强大最好用的IDE就是Eclipse和,而最强大的编辑器又是Vim了,可不可以让这两个东西合二为一呢。没有问题,开源社区的创造力永远不会让你低估。

    在Vim中拥有Eclipse的功能,在Eclipse里有Vim的功能,那么eclim是你的选择了。http://eclim.org/ 相关的中文文档。使用eclim,你可以在vim中有Eclipse的功能,也可以在Eclipse中嵌入Vim编辑器。很酷。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (13 人打了分,平均分: 3.69 )
    Loading...
    IE6/IE7 0day 漏洞

    IE6/IE7 0day 漏洞

    昨天(2009年11月21日),Symantec发布了IE的一个0day安全漏洞的消息。关于这个消息,截止本文发布时,在中文社区里还没有报导。这是一个关于IE6/IE7处理CSS时的一个漏洞(关于IE和CSS的BUG)。如果你目前还在使用IE6/IE7,那你现在可能是你升级的时候了,当然,有很多人说IE8是没有问题的,但我个人还是建议在补丁出来之前先使用Firefox或Chrome。

    根据Symantec的的报告,他们在第一时间内测试了那个“Exploit Code”(攻击代码),根据测试结果表时,那个JavaScript的攻击代码并不是100%的可靠,而且很不可靠,但安全专家相信,100%完全可靠的“攻击代码”将会马上出现。这意味着,这段攻击代码会马上如潮水一样地放在各个有恶意的网站上,然后,所有的IE6/IE7的,打开JavaScript的用户都会被危及。

    目前,这段攻击代码,虽然很不可靠,但已经被证明在IE6/IE7的 Windows XP SP3上是可靠的,目前还没有相关报告说明有多少台电脑中招了,但我相信,在过去的这个周末,一定有一些人在拼命地在改善这段攻击代码,他们要赶在相关的补丁出来之前。而Microsoft,相信他还是和以前一样,一定要等到攻击很广泛的时候才会开始真正把补丁提上日程。

    最后,说一下攻击代码,这个代码是在Bugtraq邮件组中,这段攻击代码如下所示,这段代码攻击性并不可靠。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 3.14 )
    Loading...
    正则表达式生成器

    正则表达式生成器

     对正则表达式很头疼,是不是?每次看到都觉得像看天书似的,别说让人自己整一个出来了。下面这个网站可以帮你生成正则表达式,而且还可以根据不同的语言生成不同的代码示例,很强大。

    txt2re.com

    http://www.txt2re.com/index.php3

    打开上面那个网页,你会看到有三步。

    • 第一步,输出你想匹配的一个文本示例,然后点“Show Machted”,于是进入第二点。
    • 第二步,当你看到那花花绿绿的界面是不要头大(那个配色也太可怕了),那是这个会把你的这个字串每个字符都拆出来,并把单词分隔。于是,你可以点击那些花绿格子间的链接来组织你的正规表达式。,比如:c表示任意字符,还有什么int,day,string之流的东西。(相当ugly的界面)在这一步,你一点要点点什么,不然不会进入第三步。
    • 第三步,选择一个编程语言,然后你可以看到相关的代码示例。语言支持:Perl  PHP  Python  Java  Javascript  ColdFusion  C  C++  Ruby  VB  VBScript  J#.net  C#.net  C++.net  VB.net (这么多)

    总之,这是一个很酷,但却界面很丑陋的在线的正则表达式生成工具。

     

    好烂啊有点差凑合看看还不错很精彩 (16 人打了分,平均分: 3.75 )
    Loading...
    C语言和sh脚本的杂交代码

    C语言和sh脚本的杂交代码

    在网上看到了一个把 C语言和bash杂并起来的例子,这个示子如下所示。在下面这个例子中,我们把脚本用#if 0这个预编译给起来,这样就不会让其编译到C语言中了。

    #if 0
    echo "Hello from bash!"
    exit
    #endif
    #include <stdlib.h>
    #include <stdio.h>
    int main(int argc, char* argv[]) {
      puts("Hello from C!");
      return EXIT_SUCCESS;
    }

    下面,让我看看如果来使用这样的程序:

    $ sh test.sh.c
    Hello from bash!
    $ gcc test.sh.c -o test
    $ ./test
    Hello from C!
    

    你甚至还可以做一个自我编译,并自我运行的源代码。如下所示:

    阅读全文 Read More

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