哪门编程语言影响力最大?

TIOBE 每个月都会给编程语言排名,从侧面说明哪些编程语言使用比较广泛。那么你是否考虑过这些编程语言彼此之间的影响力呢?哪一门语言的影响力是最大的呢?显而易见,大多数开发者都会认为他们的语言是最好的。如果你想要一个更科学的(或者艺术点的)视图,可以查看下面这幅编程语言影响图。[......]

阅读全文

敏捷开发过程剖析及工具推荐

敏捷开发,要求在开发过程中不断增强,从而提高软件质量,以达到提高商业收入的目的。它是一个迭代的过程,一个不断提高企业投资回报率和服务质量的过程。值得注意的是,成功的敏捷开发,单纯依附于活跃的开发过程和理解敏捷所带来的效益并对此有浓厚兴趣的企业用户。

本文将介绍敏捷开发的五大过程及这些过程中所要用到的工具。[......]

阅读全文

Github终于开始认真考虑开源项目许可证了

如今GitHub已成为全球最流行的开源项目托管平台,但也有质疑声音——“Github中的大多数项目并不算是开源项目”。这是因为Github中大多数项目并没有明确声明所使用的许可证。

根据版权法规定,如果开源项目中没有包含任何一种OSI批准的开源许可证,那么其他用户将没有权利以任何目的任何形式去使用这些代码或fork这些项目。[......]

阅读全文

推荐系统开发的十个关键点

亚马逊的CEO Jeff Bezos曾经说过,他的梦想是“如果我有100万个用户,我就要为他们做100万个亚马逊网站”。智能推荐系统承载的就是这个梦想,即通过数据挖掘技术,为每一个用户实现个性化的推荐结果,让每个用户更便捷的获取信息。为了实现这个梦想,过去十余年间,无数顶尖技术专家和工程师投身于推荐算法和技术的研究与应用中,很多优秀的方法被提出,很多技术难题被攻克。在今天的互联网应用中,越来越多“聪明”的推荐系统被开发出来,并被广大用户信赖和使用。(转自《程序员》11期 作者:陈运文)

智能推荐系统充分运用了机器学习、数据挖掘、搜索引擎、自然语言处理等相关领域的技术。但推荐系统并不神秘,事实上,推荐在我们身边无处不在。对广大软件开发工程师们来说,能够投身于推荐系统的研发,是一件既有趣又充满挑战的工作。想要成功的开发一套效果良好的推荐系统,有一系列值得重视的关键点,文本对此进行了总结,具体列举如下。
[......]

阅读全文

在团队中进行单元测试/TDD的12条经验

背景

两年前,我在一个Web项目开发组中,项目的目标是编写一个类似Excel的、用来计算产品/服务价格的Web应用程序。项目团队被分成3部分——开发团队、需求团队和QA团队。随着项目越做越大,而我们没有使用任何形式的自动化测试(QA团队使用手工测试),结果导致项目的测试时间比开发时间还要多。每进行一次小的改动,QA团队都要花费几个小时来做测试。

有一天,我参加了一个开发者会议,并与其他程序员谈到了这些问题。他们建议我去学习单元测试、验收测试和TDD(Test-Driven Development,测试驱动开发)。[......]

阅读全文

关于PHP的十大误解


        作为开发人员,你常常会在网上看到不使用XX的理由之类的新闻。而作为最受欢迎的开源服务器端脚本语言,PHP也难逃这样的命运。殊不知,金无足赤、人无完人,再流行的语言都会存在缺点,或者是误解,因此,有些开发者可能就因为这些,就对它敬而远之,这不实在可惜了吗?
        本文作者总结了人们对PHP的十大误解,并且进行澄清,有些误解值得深思,而有些又实在是捕风捉影。无论怎样,让我们一起来看下这些误解。[......]

阅读全文

用来简化开发任务的20个JavaScript类库

所谓JS库就是预先写好的JS程序库,用于简化以JS为基础的开发程序,尤其是对AJAX和其他以Web为中心技术的JS代码集。JS的首要用途是将编写的功能内嵌在HTML页面,并与页面的对象模型(DOM)进行互动。

很多JS库很容易和其他Web开发技术进行整合,例如CSS、 PHP、Ruby、和Java。许多程序库可以检测运行环境之间的差异,删除一些应用程序,以满足整合需求。文章搜集了20个JS库,帮你处理与开发相关的问题,让你的网站在竞争中领先一步。 [......]

阅读全文

maven中的snapshot版本和release版本的区别

        maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写)。[......]

阅读全文

Nginx限制IP地址

建立下面的配置文件放在nginx的conf目录下面,命名为deny.conf:
deny 192.168.100.100;    //这是nginx要禁止的IP
保存一下。
在nginx的配置文件nginx.conf中加入:include deny.conf;

重启一下nginx的服务:/usr/local/nginx/sbin/nginx -s reload 就可以生效了。

会很痛的

登登常抓自己的小JJ玩,我吓唬他说:“登登,你不能老是摸自己的JJ,摸久了会烂的,烂了就没有了,会很痛的。”登登:“那妈妈你痛不痛啊,你都没有JJ?!”

程序员不应该再犯的五大编程错误

当你成为程序员后,你很容犯下文所提到的这些错误。

话说失败是成功之母,在编程的道路上,犯错也是学习道路上不可或缺的一部分。尤其是初学者,他们犯的错误可能会比其他人更多,那么该如何才能避免这些错误的发生呢?

要有避免错误发生的意识,一旦意识到某种错误的发生,在下次编码时,就应该想办法避免,这样,代码就会越来越好,自己也会得到成长。

其实,大多数不良编程习惯的发生都源于我们的无知,没有其他原因了,下面让我们一起来看看哪些错误是编程人员经常犯的,不知道你有没有犯过这些错误,有则改之。[......]

阅读全文