Golang并发的次优选择:sync包

我们都知道Golang并发优选channel,但channel不是万能的,Golang为我们提供了另一种选择:sync。通过这篇文章,你会了解sync包最基础、最常用的方法,至于sync和channel之争留给下一篇文章。

Read more

Git在错误的分支上进行开发,处理方式

最近在开发项目的一个小需求的时候,发生了一件尴尬的事情。那就是当我把新功能开发完成的时候,忽然发现自己开发使用的分支是错误的分支。不过我记得之前学习git的时候有一个git stash的命令可以把当前没有提交的内容存档起来,然后可以在切换分支之后把当前的存档应用到目标分支。不过因为平时不怎么使用这个命令,所以有点生疏了,需要再次去看看文档。

Read more

5款好用的开源Docker工具

最近,开发者谢哈尔·古拉蒂(Shekhar Gulati)收集了一些他在日常工作中使用的又有趣又实用的 Docker 工具,他称这些工具提升了自己的工作效率,减少了原本需要手工完成的工作。以下就是古拉蒂推荐的五款开源 Docker 工具,以及他选择它们的原因。

Read more

如何理解对扩展开放、修改关闭?

​ 开闭原则的英文全称是 Open Closed Principle,简写为 OCP。它的英文描述是:software entities (modules, classes, functions, etc.) should be open for extension , but closed for modification。我们把它翻译成中文就是:软件实体(模块、类、方法等)应该“对扩展开放、对修改关闭”。

Read more