《Git 权威指南》是 Git 领域的集大成之作,是一本关于 Git 的百科全书,在广度、深度和实战性上让同类作品望尘莫及。作者是国内顶尖的版本控制专家和咨询顾问之一,本书得到了 Git 官方维护者 Junio C Hamano 和 ITeye 创始人范凯(Robbin)先生等数位专家的高度认可和极力推荐,权威性毋庸置疑。

阅读全文 »

《3 分钟搞定对方:用最短的时间搞定最重要的人》追求的目标不是“滔滔不绝地述说”,而是在 3 分钟内敲开对方的心扉,激发对方聆听的欲望,利用短暂的时间获得对方的好感和认可,为自己的公关成功打下良好的基础。本书提供了众多现学现用的方法,旨在让读者口若悬河地说出难以表达的内容,不但让听众能够欣然地接受,说话者也会享受到口吐莲花的成就感。

阅读全文 »

this 不能在执行期间被赋值,并且在每次函数被调用时 this 的值也有可能不同。在绝大多数情况下,函数的调用方式决定了 this 的值。

在非严格模式下,this 值总是指向一个对象;在严格模式下,this 可以是任意值。

ES5 引入了 bind 方法来设置 this 值,而不用考虑函数是如何被调用的。

ES2015 引入了 箭头函数,而箭头函数则不提供自身的 this 绑定。

1
2
3
4
5
6
7
8
9
10
11
// Expressions - this

const person = {
name: 'Randal',
getName: function() {
return this.name;
},
};

console.log(person.getName());
// expected output: Randal
阅读全文 »

有时候我们经常需要使用 Google 搜索资料,毕竟百度的搜索结果中有太多不相关的结果。但是 Google 搜索在大陆地区被墙了,找了好多梯子用都不太理想,最后发现了这个 Shadowsocks,效果很不错,推荐给大家。

Shadowsocks

价格也非常不错,一年才一百来块钱,每个月有 100G 的流量根本用不完,有兴趣的大家自行去看看 -> Shadowsocks

阅读全文 »

本文介绍了使用 Docker 镜像搭建 MediaWiki 的步骤和方法。借助 Docker 能非常方便的搭建个人维基站点,在数据的备份等维护操作上同样也很便利。使用 Docker 镜像搭建的维基站点,不会在宿主机上安装 LNMP 或 LAMP 环境,能始终保持宿主机的干净清爽。

阅读全文 »

本篇介绍 TypeScript 实用类型中的 Extract 类型。看字面意思,Extract 是指取出挑出的意思,Extract 会挑选出传入的两个联合类型中相同的成员,将这些相同的成员构造成一个新类型,构造的新类型有可能是联合类型,也有可能是其他任何类型。

下面是一个简单的例子:

1
2
3
type U1 = "a" | "b" | "c";
type U2 = "a" | "f";
type T0 = Extract<U1, U2>;
阅读全文 »