最新文章
一次Ajax查错的经历 Web前端
先说故事,再说想法吧。 我有一朋友做网站,用 jQuery 的 Ajax 方法从后端载入一段 HTML 代码然后动态插入到网页的 Div 元件中。这个东西太普遍了。jQuery 强大的 load 方法可以完成这个事情。朋友的代码是这么写的:var tab = jQuery ("#dynamic...
IE 浏览器的创新 Web前端
英文原文:The innovations of Internet Explorer 作者:Nicholas C. Zakas 译者:Justice 译者按 IE 曾是 web 创新的先驱,但最近几年因为对 web 标准的支持落后于其他浏览器以及低版本 IE 的各种 bug 而被人诟病。雅...
我和Google的故事 IT业界
也许有人看见过我批判 Google 的那篇英文文章。它好像有一部分片面性,所以被我从英文博客上拿下来了。我一直在反思自己在 Google 的经历,因为在这个公司工作总是感觉不对劲,但是却总也说不清楚为什么。也许现在用自己的母语,我可以得出一个准确一点的结论吧。 受命于危难 先说说我的项目是怎...
函数式编程是一个倒退 编程语言
英文原文:Functional programming: A step backward 除非你生活中与世隔绝的深山老林里,否则你应该知道,在众多的所谓顶级编程高手(alpha geeks)中,函数式编程是十分盛行的。也许你已经使用了某种函数式编程语言。如果你是在使用很传统的编程语言,例如 J...
Rob Pike:最有价值的编程忠告 程序人生
英文原文:"The Best Programming Advice I Ever Got" with Rob Pike Rob Pike,目前谷歌公司最著名的软件工程师之一,曾是贝尔实验室 Unix 开发团队成员,Plan9 操作系统开发的主要领导人,Inferno 操作系统开发的主要领导人。...
以Facebook为案例剖析科技公司应有的工具文化 互联网
编者按:本文由@王淮 Harry 哥 撰写,摘自他即将出版的新书。王淮是 Facebook 早期员工,中国藉第二位工程师第一位研发经理。 前言 前段时间和大众点评的 CEO 张涛聊天的时候碰到内部工具这个话题,我们都非常推崇一个优秀的技术公司应有有一个非常强势的工具文化。在工具上,我有很深的体会...
新时代的QA角色:IT全能战士 程序人生
故事开始于客户告诉我的一个反馈:ThoughtWorks成都的一个项目组,最近这段时间开发工作量变多,于是担任QA角色的某同学自动转入开发模式开始写代码。不仅自己写,还拉上远在墨尔本的客户QA一起远程结对。两个QA结对开发,效果出奇的好:代码质量毫无问题,而且对需求理解充分透彻,story完成得...
没有完美的软件:编程永远不容易 程序人生
英文原文:Bad Software, Worse Solutions: Programming Will Always Be Hard 最近读了一篇文章Software Runs the World: How Scared Should We Be That So Much of It Is ...
函数要多小才够好——谈小函数之道 编程基础
“设计良好的函数往往比较小,而过大函数的设计往往一塌糊涂,或者存在很大的优化空间。” 也许你认为讨论函数的大小没有必要,原因是函数设计的本质是内聚,它的大小只是它的表现形式。而上面的原因有必要让我们讨论一下函数的大小问题。 我对函数的核心思路:我提出代码最小处理单元的概念:一个基本操作(赋值...
失败是不存在的 其他分类
英文原文:There Is No Such Thing As Failure 在你的婴幼儿时期,你是通过不断尝试与犯错来学会走路的。当你第一次努力尝试时你摔倒了并重新回到爬行。你没有在意你对摔跤的恐惧也忽视了你造成的结果。你不断地再次起身又再次摔倒。终于你可以像一个摇摇晃晃的人那样站直了,但接...
从工具的奴隶到工具的主人 程序人生
我们每个人都是工具的奴隶。随着我们的学习,我们不断的加深自己对工具的认识,从而从它们里面解脱出来。现在我就来说一下我作为各种工具的奴隶,以及逐渐摆脱它们的“思想控制”的历史吧。 当我高中毕业进入大学计算机系的时候,辅导员对我们说:“你们不要只学书本知识,也要多见识一下业界的动态,比如去电脑城看...
什么是“对用户友好” 软件设计
当我提到一个工具“对用户不友好”(user-unfriendly)的时候,我总是被人“鄙视”。难道这就叫“以其人之道还治其人之身”?想当年有人对我抱怨 Linux 或者 TeX 对用户不友好的时候,我貌似也差不多的态度吧。现在当我指出 TeX 的各种缺点,提出新的解决方案的时候,往往会有美国同学...
Unix的缺陷 软件设计
我想通过这篇文章解释一下我对 Unix 哲学本质的理解。我虽然指出 Unix 的一个设计问题,但目的并不是打击人们对 Unix 的兴趣。虽然 Unix 在基础概念上有一个挺严重的问题,但是经过多年的发展之后,这个问题恐怕已经被各种别的因素所弥补(比如大量的人力)。但是如果开始正视这个问题,我们也...
如何掌握程序语言 编程语言
学习程序语言是每个程序员的必经之路。可是这个世界上有太多的程序语言,每一种都号称具有最新的“特性”。所以程序员的苦恼就在于总是需要学习各种稀奇古怪的语言,而且必须紧跟“潮流”,否则就怕被时代所淘汰。 作为一个程序语言的研究者,我深深的知道这种心理产生的根源。程序语言里面其实有着非常简单,永恒不...
文件上传的渐进式增强 Web前端
文件上传是最古老的互联网操作之一。 20多年了,它几乎没变,还是原来的样子:操作麻烦、缺乏交互、用户体验不佳。在这个新技术日新月异的时代,显得非常落伍。 网页开发者们想了很多办法,试图提升文件上传的功能和操作体验,在各种 Javascript 库的基础上,开发了五花八门的插件。可是,由于不同...
11个高效的同行代码评审最佳实践 软件工程
英文原文:11 proven practices for more effective, efficient peer code review SmartBear Software 团队® 花费了数年时间去搜索已有的代码评审研究成果,并从超过 100 家公司的 6000 多名程序员那里,收集了...
前端工程师新手必读 Web前端
公司招了几个刚毕业的学生,作为重构的新手让我来带。 首先感谢感谢党、感谢国家、感谢公司给了我这样的一个机会,对我工作的肯定和认可,让我带这样的一个重构团队,同时我也明白任务的艰巨,但我一定会将工作做好,不负公司对我的期望。(哈哈,好像从小到大,老师都是教育我们要这样先说的。) 在网站的发展史...
史上最糟糕的两个变量名 编程基础
英文原文:The world’s two worst variable names 作为一个程序员,“起名字”是他们工作中非常重要的一部分。Phil Karlton就说过:“在计算机科学领域,有两大难题,如何让缓存失效(cache invalidation)和如何给各种东西命名。”虽然很难,但...
从人类基因组到人造生命:克雷格·文特尔领路生命科学 其他分类
原文发布于2010-6-12 自人类基因组计划 (Human Genome Project,HGP) 完成以后,生命科学进入“后基因组时代”,生物信息学、计算生物学、系统生物学以及合成生物学等崭新学科不断出现,并得到快速发展。前不久,首个“具有人造DNA的活细胞”在克雷格·文特尔(J. Cra...
陈梓瀚:关于编程的胡扯 程序人生
写于 2012-6-22 博客光写GacUI的Demo更新也好无聊啊。所以今天先换换口味,胡扯点别的。 一年一度的高中毕业生填志愿的日子即将就要到了,又有很多人问计算机专业的事情。其实我从心底里觉得,高考后才来问这个,已经晚了一大半了。当然另一小半十分有前途的人可以在大学四年赶上来,不过估计...