现代浏览器中内置的几个可以等效替代jQuery的功能

| 技术技巧 | 5条评论
46
jquery

就我的个人习惯来说,不管开发什么项目,即使是一个很简单的demo,我做的第一件事就是引入jQuery,这样做主要是想使用它提供的DOM选择器功能。对于一些像IE6/IE7这样的老式浏览器,这种做法是显而易见的,但是,如今现代浏览器里已经内置了完整的DOM选择器功能,能让你使用原生的浏览器提供的方法来实现jQuery的功能。

函数加里化(Currying)和偏函数应用(Partial Application)的比较

| 技术技巧 | 18条评论
45
函数式编程

我感觉很多人都对函数加里化(Currying)和偏函数应用(Partial Application)之间的区别搞不清楚,尤其是在相似的上下文环境中它们同时出现的时候。

为什么编码规范里要求每行代码不超过80个字符的限制是合理的

| 技术技巧 | 11条评论
70
编辑器

现在很多软件公司采用的编码规范基本是PEP8,但每行80个字符的限制除外。GitHub上的项目,大多数都遵循PEP8规范(这一点似乎达到了高度的统一),但遵守80个字符限制的很少。在一些有明确规定的规范标准中,这个限制可能会增加(100或120),甚至完全删除。

我们是如何让服务器从30台缩减到2台的:从Ruby迁移到Go语言

| 技术技巧 | 13条评论
103

我们开发第一版的IronWorker已经是3年前的事了,是用Ruby写的,API基于Rails开发。我们没用多久就发展成了相当大的规模,很快我们就触及到了Ruby程序的承载上限。长话短说,我们切换到了Go语言,请接着读下去,下面是事情如何一步步发展的。

一次开发人员交换角色的尝试

| 技术技巧 | 5条评论
35
角色互换

在一次开发讨论会中,人们都在热火朝天的讨论出现的问题,而且你却待在角落里打盹儿——这说明你毫不关心他们关心的问题。出现这种现象并不能简单的认定你是个没能力的蠢货(然而,你很有可能就是),而是因为你确实跟他们讨论的问题不相干。

Haskell语言为什么值得你去学习

| 技术技巧 | 15条评论
56
函数式编程

当我向一些新手推荐学习Haskell语言时,得到的反应通常是:“为什么要学Haskell?”,“这是一种实用的语言吗?”或者“这是一种我可以真正用的语言吗?”我的回答是明确的YES。Haskell并不是我工作时的主要语言(我基本上是为嵌入式系统写C程序),但我仍然发现Haskell难以置信的有用。虽然我的工作从来不用Haskell,我仍然认为花时间去学习它是值得的。那么,为什么要学习Haskell语言呢?

史上最最佳软件开发实践指导

| 技术技巧 | 7条评论
177
指导

每过一段时间,我都能读到一些好东西,它是如此的深刻见解,写的如此的清晰,如此的条理,我必须把它收录进我的个人“史上最佳”圣物集里。最近,我新收录了一篇,非常棒的一篇叫做《Best Practices for Scientific Computing》的文章,我希望每个来读本文的读者都找个时间读读它。我在这里列出它的要点,是要鼓励你去阅读完整的全文。写的真是非常好。

代码审查:ThoughtBot官方给出的代码审查指导原则

| 技术技巧 | 4条评论
117
code_review 代码审查

这篇文章的内容由github官方提供,指导你如何在github上进行代码审查和如果让别人审查自己的代码。针对所有人的审查: 接受这样的事实:很多编程上的主张都是一种个人观点。应该讨论它们的利与弊,提出你的倾向观点,迅速的达成一种解决方案

测试驱动开发上的五大错误

| 技术技巧 | 8条评论
55
测试驱动开发

我曾经写过很多的糟糕的单元测试程序。很多。但我坚持着写,现在我已经喜欢上了些单元测试。我编写单元测试的速度越来越快,当开发完程序,我现在有更多的信心相信它们能按照设计的预期来运行。我不希望我的程序里有bug,很多次

中间人攻击(man-in-the-middle attack):你和互联网中间的第三人

| 技术技巧 | 26条评论
132

最近看到国外有一篇有趣的文章,是关于“中间人攻击(man-in-the-middle attack)”的,本想原文翻译,但里面有大量的政治敏感度内容,不宜在本网站公布,这里仅摘译出技术相关的部分内容,供大家探讨。大概是1月26号早上8点左右,在新浪微博和Twitter上相继有中国用户报告说在访问GitHub.com网站时出现无效SSL证书警告提示。后续不断的证据显示,这是由于受到“中间人攻击(man-in-the-middle attack)”造成的。

我的优化YouTube视频播放页面的故事

| 技术技巧 | 7条评论
58

三年前,当我还在YouTube做一名web程序员时,有一位资深的工程师发了一通牢骚,说播放视频的页面体积太大。这个页面体积已经膨胀到了高达1.2MB,包含有数十次的请求。这个工程师公开的宣称说,“如果他们Quake能在100KB的体积下克隆出我们的页面,我们没有理由达不到这个体积!”因为我同意他的观点,并且我正在找新的任务,于是就决定接受这个挑战,让YouTube的视频播放页面的体积减到100KB以下。

10步让你成为更优秀的程序员

| 技术技巧 | 17条评论
491

这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的10件事情。

Python高效编程技巧

| 技术技巧 | 4条评论
115
Python.jpg_thumb

我已经使用Python编程有多年了,即使今天我仍然惊奇于这种语言所能让代码表现出的整洁和对DRY编程原则的适用。这些年来的经历让我学到了很多的小技巧和知识,大多数是通过阅读很流行的开源软件

编程极端主义

| 技术技巧 | 5条评论
39
思想

编程极端主义 (跟极限编程没有关系)是一种接受某种理论、在所有事情上检验它、在所有地方运用它的行为。一通实验,尘埃落定后,人们通常会回想这次极端行为,认识到“不错,这很有趣,但很明显,在Y上使用X明显不合适。干这个事情我们需要使用合适的技术!”

从谷歌宕机事件认识互联网工作原理

| 技术技巧 | 5条评论
217
互联网

今天,谷歌的服务经历了短暂的宕机事件,持续大概27分钟。此次事件的原因深究起来需要进入互联网络那深邃的、黑暗的角落。我是CloudFlare公司的一名网络工程师,在帮助谷歌从此次宕机中恢复回来提供了一臂之力。下面就是事情发生的过程。