git cherry-pick 教程
· ☕ 4 分钟

对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。

这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并(git merge)。另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick。


函数式编程初探
· ☕ 7 分钟

诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。

不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言层出不穷,比如Erlang、clojure、Scala、F#等等。目前最当红的Python、Ruby、Javascript,对函数式编程的支持都很强,就连老牌的面向对象的Java、面向过程的PHP,都忙不迭地加入对匿名函数的支持。越来越多的迹象表明,函数式编程已经不再是学术界的最爱,开始大踏步地在业界投入实用。


查找并修复页面意外的overflow
· ☕ 1 分钟

响应式网站设计切换不同尺寸后偶尔会出现页面内容比屏幕要宽面导致出现横向滚动条。这里有个脚本可以方便的检测哪个元素超出了屏幕:

var docWidth = document.documentElement.offsetWidth;

[].forEach.call(
  document.querySelectorAll('*'),
  function(el) {
    if (el.offsetWidth > docWidth) {
      console.log(el);
    }
  }
);

找到元素后,修改适配即可。


家用游戏机的历史:世嘉、任天堂和 PlayStation 的故事
· ☕ 14 分钟

今年是电子游戏业很重要的一年,下一代游戏主机 PlayStation 5 和 Xbox Series X 都将发布。

这件事有多重要,就这么说吧,大家都觉得,电影业很庞大,对不对?但是,你可能不知道,2019年全国电影总票房,只有全国游戏收入的五分之一!


如何选择开源许可证?
· ☕ 1 分钟

如何为代码选择开源许可证,这是一个问题。

世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种—-GPLBSDMITMozillaApacheLGPL-—之中做选择,也很复杂。

乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。


501 程序员宣言
· ☕ 2 分钟

原文:The 501 Developer Manifesto

翻译:码农真经

501程序员指的是,一到 5:01 就离开办公室下班回家的程序员。

我们是软件开发人员,为自身的工作感到自豪,但我们不选择完全被工作所定义所支配。


什么是闭包?
· ☕ 3 分钟

文章内容

  • 《JavaScript ES6 函数式编程入门经典》4.1理解闭包
  • 《JavaScript高级程序设计(第3版)
  • 《代码之髓 编程语言核心概念》
  • 闭包 - JavaScript | MDN