web analytics

存档

2009年4月 的存档

某Python实现的尾部递归

2009年4月30日 5 条评论 2,527 人阅读    

mailper 在2009年4月26的文章里《Guido认为程序员大多数工作不需要递归》谈及递归不是编程的基础。并且在python中并没有实现尾部递归Tail Recurssion。

但是,今天我们却看见了某Python实现的尾部递归

阅读全文…

分类: Python, 编程语言 标签:
好烂啊有点差凑合看看还不错很精彩 (4 人打了分,平均分: 5.00 )
Loading ... Loading ...

Glassfish ESB 的教程

2009年4月29日 没有评论 1,734 人阅读    

OpenESB项目实现了一个运行期企业服务总线(Enterprise Service Bus:ESB)使用JBI(Java业务集成)作为核心基础。OpenESB可以让你集成企业应用与Web Service松散地连接成复合的应用程序。这使得你可以无缝地组合与拆解该复合应用程序,并认识到一个真正面向服务架构(SOA)的优点。

BPEL是一种编程语言,它明确定义了基于Web服务的业务流程。BPEL在支持业务伙伴间的长时间会话方面表现尤为卓越。BPEL将成为基于Web服务的业务流程最广泛采用的标准,这一趋势早在该标准正式发布前就已经非常明显。

BPEL适用于支持业务流程逻辑的“宏观编程”。这些业务流程均是完整而独立的应用,它们将Web服务作为实现其业务功能的“活动”。BPEL不致力于成为通用的编程语言,相反,它的应用设想就是与其他实现业务功能(“微观编程”)的编程语言结合使用。

阅读全文…

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

编程语言流行度排名

2009年4月28日 1 条评论 3,472 人阅读    

下面的这些排名并不是非常科学的,它们只是从某种方面表现出了编程语言的流行程度。仅供参考。


Yahoo Search
这里,我们使用了Yahoo Search API,简单地搜索了一下相关的编程语言。收搜字样是”language programming”,下面是搜索到的页面结果。也许这能够说明语言的流行程度。

  

阅读全文…

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

25个Linux相关的网站

2009年4月28日 2 条评论 2,898 人阅读    

下面是25个最具有影响力,也是最重要的Linux网站,这些网站提供了Linux的分发包,软件,文件,新闻,以及其它所有的关于Linux的东西。关于Linux的分发包历史,可以看看本站的这篇文章《Linux Distribution Timeline

1. Linux.org

这个站点主要提供Linux相关的新闻、文档、教程,培训,以及其它一切和Linux相关的东西。这是你需要了解Linux开源社区的总入口。

2. Debian.org

如果你想要了解所有关于 Debian 和Linux/GNU 操作系统的相关信息,这个网站是必需要访问的,因为这是Debian的官网。

阅读全文…

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

Guido认为程序员大多数工作不需要递归

2009年4月26日 4 条评论 2,228 人阅读    

Python的创造者Guido在最近一篇关于为什么Python里没有 Tail Recurssion Elimination (暂译:尾递归优化)的文章中提到一个我们可能经常听到的观点“真正的程序员一般不用递归”。

http://neopythonic.blogspot.com/2009/04/tail-recursion-elimination.html

Third, I don’t believe in recursion as the basis of all programming. This is a fundamental belief of certain computer scientists, especially those who love Scheme and like to teach programming by starting with a “cons” cell and recursion. But to me, seeing recursion as the basis of everything else is just a nice theoretical approach to fundamental mathematics (turtles all the way down), not a day-to-day tool.

翻译:(第三点)我不认为递归是编程的基础。递归是一些计算机科学家们,尤其是那些热爱Scheme (lisp的一支)和喜欢用‘cons’ 来教表头表尾和递归的人们。但是对我(Guido)来说,递归只是一些为基础数学研究而存在的理论手段(例如分形几何学),而不是日常的编程工具。

这也再次证明当年“耗”哥当年在楼下遛弯时候给我的教导,好的程序员不在于多么会写看似非常聪明的代码,重要的是能够思路清晰的用最简单的方式解决问题。

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

你能做对下面这些JavaScript的题吗?

2009年4月26日 7 条评论 2,276 人阅读    

你能做对下面这些JavaScript的题吗?

原文

你认为你了解JavaScript? 快速的做一下下面的这些题目。并将下面的每一个表达式的值写出。(答案在问题后面)

1. ++Math.PI
2. (0.1 + 0.2) + 0.3 == 0.1 + (0.2 + 0.3)
3. typeof NaN
4. typeof typeof undefined
5. a = {null:null}; typeof a.null;
6. a = “5″; b = “2″; c = a * b;
7. a = “5″; b = 2; c = a+++b;
8. isNaN(1/null)
9. (16).toString(16)
10.016 * 2
11.~null
12.”ab c”.match(/\b\w\b/)

阅读全文…

分类: 编程语言 标签:
好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 4.63 )
Loading ... Loading ...

用Python写NCurses UI

2009年4月26日 4 条评论 4,751 人阅读    

Ncurses是一个能提供基于文本终端窗口功能的动态库. Ncurses可以:

  • 可以使用整个屏幕
  • 创建和管理一个窗口
  • 使用8种不同的彩色
  • 为您的程序提供鼠标支持
  • 使用键盘上的功能键

Ncurses可以在任何遵循ANSI/POSIX标准的Unix/Linux系统上运行,除此之外,它还可以从系统数据库中检测终端的属性,,并且自动进行调整,提供一个不受终端约束的接口。因此,Ncurses可以在不同的系统平台和不同的终端上工作的非常好。

阅读全文…

分类: Python, 编程语言 标签: ,
好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 5.00 )
Loading ... Loading ...

Python调用C语言函数

2009年4月26日 9 条评论 9,522 人阅读    

使用Python的ctypes,我们可以直接调用由C直接编译出来的函数。其实就是调用动态链接库中的函数。为什么我们需要这样做呢,因为有些时候,我们可能需要一个性能上比较讲究的算法,有些时候,我们可以在Python中使用已经有了的现成的被封闭在动态链接库中的函数。下面是如何调用的示例。

首先,我们用一个乘法来表示一个算法功能。下面是C的程序:

int
multiply(int num1, int num2)
{
    return num1 * num2;
}

阅读全文…

分类: Python, 编程语言 标签: ,
好烂啊有点差凑合看看还不错很精彩 (13 人打了分,平均分: 5.00 )
Loading ... Loading ...

使用PHP的cURL库

2009年4月25日 没有评论 2,397 人阅读    

使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库。本文主要讲述如果使用这个PHP库。

 启用 cURL 设置
首先,我们得先要确定我们的PHP是否开启了这个库,你可以通过使用php_info()函数来得到这一信息。

<?php
    phpinfo();
?>

阅读全文…

分类: PHP脚本, 编程语言 标签: ,
好烂啊有点差凑合看看还不错很精彩 (4 人打了分,平均分: 3.75 )
Loading ... Loading ...

Linux 的僵尸(zombie)进程

2009年4月25日 4 条评论 5,292 人阅读    

可能很少有人意识到,在一个进程调用了exit之后,该进程 并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所 有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有 任何内存空间。

僵尸进程的来由,要追溯到Unix,Unix的设计者们设计这个东西并非是因为闲来无事想装装酷什么的。上面说到,僵尸进程中保存着很多对程序员和系统管理员非常重要的信息,首先,这个进程是怎么死亡的?是正常退出呢,还是出现了错误,还是被其它进程强迫退出的?也就是说,这个程序的退出码是什么?其次,这个进程占用的总系统CPU时间和总用户CPU时间分别是多少?发生页错误的数目和收到信号的数目。这些信息都被存储在僵尸进程中,试想如果没有僵尸进程,进程执行多长我们并不知道,一旦其退出,所有与之相关的信息都立刻都从系统中清除,而如果此时父进程或系统管理员需要用到,就只好干瞪眼了。

阅读全文…

分类: Unix/Linux, 操作系统 标签: ,
好烂啊有点差凑合看看还不错很精彩 (11 人打了分,平均分: 4.91 )
Loading ... Loading ...