并发不是并行,它更好!

并发与并行是两个既相似而又不相同的概念,但往往容易混为一谈,这两者究竟有什么区别呢?本文通过一个例子让你更好地理解(本文由并发编程网翻译)。

现代社会是并行的:多核、网络、云计算、用户负载,并发技术对此有用。

Go语言支持并发,它提供了:并发执行(goroutines),同步和消息(channels)和多路并发控制(select)。[......]

阅读全文

关于程序员开发效率的悖论

程序员看起来应该都是一帮非常高产的人。

你总能看到他们在电脑桌前噼里啪啦的敲着键盘;他们焦急的等待会议结束,希望马上能回去编程。当被问起,他们总是说没有足够的时间编写出这些程序,需要立刻开始编码,这样才能及早完成。

看来,敲代码一定是最重要的事情了,不是吗?[......]

阅读全文

SLB技术原理浅析

1 SLB功能介绍

SLB(Server Load Balance)服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;再根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。[......]

阅读全文

15款提高工作效率的Web项目管理工具

在今天的快节奏的商业世界里,能够通过计划、组织、和管理资源池以及评估开发资源的模式来管理一个项目,是一个很艰巨的任务。事实上,有很多现成的项目管理软件来帮助减轻项目管理的负担,并且他们几乎覆盖了所有类型的业务。下面收集了15款提高工作效率的项目管理工具推荐给大家,值得你去关注它们。[......]

阅读全文

代码整洁之所以重要的七个理由

首先要承认,大学毕业的时候我是个糟糕的程序员。我拿到了学位,学到了一大堆书本知识,然后,我开始做一个不太重要的项目,每天晚上花大量的时间做简化。 起初,一切正常,但是我的代码风格一直在添乱。复制、粘贴、蹩脚的命名,混乱的思考,而且总用长期连续运行的方法,执行各种各样本可以分开的任务。几个月之后,我意识到一个严峻的现实:这个项目要崩溃了。原本我以为一个人开发,可以避免混乱。但是最终不得不承认,这个项目被我弄得一团糟,没法维护,更别说去理解了。 [......]

阅读全文

你的单元测试有多稳定?提升自动测试质量的最佳实践

单元测试的重要性不言而喻,但是对于经常会出现“失败测试”的现象我们该如何解决呢?失败的原因在哪?单元测试又有哪些副作用?作者Thomas Klambauer在此以最佳实践为例讲述如何提升自动测试的质量。[......]

阅读全文

编程语言中一些令人抓狂的规则

许多年前在编程语言设计和操作系统设计上的选择可能当时看起来无关紧要。但是,这些远古的决定至今仍然继续困扰着软件开发者。

程序员使用的是别人开发出来的编程语言和操作系统以及各种开发工具。一些语言开发和系统设计行业里的前辈以前所作出的决定在那个时候可能是很有意义的,不过在现在看来可能是多此一举。[......]

阅读全文

和Web设计师约会的10个好处

可能在大部分人看来,Web设计师对细节问题的处理是比较细致的,而且他们满口都是专业术语,高深莫测的样子。也许有些人认为Web设计师的工作很无聊、令人讨厌,但是有些人认为这样的工作很酷、富有创造力、逻辑性比较强,只要点击一下鼠标就会让生活变得不一样。[......]

阅读全文

Windows XP “死亡”倒计时

2014年1月,微软正式宣布Windows XP将于2014年4月8日停止服务,确切地说是停止安全更新服务。而根据第三方统计数据,中国目前至少有2亿用户仍然在使用这款已经诞生13年之久的经典操作系统。因此,无论是普通用户还是中国政府都面临两难选择。对于普通用户更多的是使用习惯和用户体验的差异,对于中国政府则面临安全和巨额采购费用的 双重压力。[......]

阅读全文

如何安全的存储用户的密码

大多数的web开发者都会遇到设计用户账号系统的需求。账号系统最重要的一个方面就是如何保护用户的密码。一些大公司的用户数据库泄露事件也时有发生,所以我们必须采取一些措施来保护用户的密码,即使网站被攻破的情况下也不会造成较大的危害。如果你还在存储用户密码的MD5,那可真的有点弱了。赶紧来看看这篇文章吧。[......]

阅读全文

优秀的HTML5实战教程,提升你的综合开发能力

HTML5 作为下一代网站开发技术,无论你是一个 Web 开发人员或者是一个想探索新的平台的游戏开发者,HTML5都值得你去研究它。借助尖端功能,技术和 API,HTML5 允许你创建响应性、创新性、互动性以及令人惊叹的漂亮网站。更进一步,你也可以使用 HTML5 创建原来只能用于桌面平台上的复杂应用程序。[......]

阅读全文