Configuring a remote for a fork

给 fork 配置一个 remote

主要使用 git remote -v 查看远程状态

1
2
3
git remote -v
# origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
# origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
阅读全文 »

我们都知道国内应用市场非常多,为了统计各个应用市场的 app 下载量和使用情况,我们需要多渠道的打包。如果一个一个的手动去打包岂不烦死了,要多麻烦就有多麻烦。这就要求我们学会使用 Gradle 进行多渠道打包。废话不多说了,直接进入正题吧!

第一步:配置 AndroidManifest.xml

以友盟渠道为例,渠道信息一般都是写在 AndroidManifest.xml 文件中,大约如下:

1
<meta-data android:name="UMENG_CHANNEL" android:value="xiaomi" />

如果不使用多渠道打包方法,那就需要我们手动一个一个去修改 value 中的值,xiaomi,360,qq,wandoujia 等等。
使用多渠道打包的方式,就需要把上面的 value 配置成下面的方式:

1
2
3
4
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}"
/>

其中${UMENG_CHANNEL_VALUE}中的值就是你在 gradle 中自定义配置的值。

阅读全文 »

原型 prototype 是 javascript 中极其重要的概念之一,但也是比较容易引起混淆的地方。我们需要花费一些时间和精力好好理解原型的概念,这对于我们学习 javascript 是必须的。


原型的概念

真正理解什么是原型是学习原型理论的关键。很多人在此产生了混淆,没有真正理解,自然后续疑惑更多。

首先,我们明确原型是一个对象,其次,最重要的是,
Every function has a prototype property and it contains an object
这句话就是说,每个函数都有一个属性叫做原型,这个属性指向一个对象。
也就是说,原型是函数对象的属性,不是所有对象的属性,对象经过构造函数 new 出来,那么这个 new 出来的对象的构造函数有一个属性叫原型。明确这一点很重要。

阅读全文 »

要理解 javascript 中的回调函数,首先我们就要对 javascript 中的函数有一定的理解,所以我们先从 javascript 中函数谈起,讲讲它与其他语言中的函数有什么不同。


javascript 中的函数

在 javascript 中,函数也是一种 data,一种数据,只不过这种数据比较特殊,它里面存的是代码,而且这种 data 可以被调用执行。
自然,因为函数也是数据,所以就可以赋值给变量。
所以我们在 javascript 中经常看到这样的程序:

1
2
3
var f = function () {
return 1;
};
阅读全文 »

闭包可以说是 javascript 中最令人迷惑的概念了。需要我们在实践中去慢慢理解,在实际编码中,由于闭包的效率和会产生大量无法销毁的内存,所以原则是尽量少使用闭包,但是作为 javascript 中的一个特别的概念,理解闭包是很重要的。闭包像是一种突破 javascript 中作用域限制的利剑。下面我们就从 javascript 中的作用域链谈起,简单讲讲闭包的概念和理解。

作用域链

javascript 中没有大括号级的作用域,但是 javascript 中拥有函数作用域。在某函数内部定义的变量,在函数外部是不可见的。
如下面这段代码:

1
2
3
4
5
6
7
var a = 1;
function f() {
var b = 1;
return a;
}
f();
b;
阅读全文 »
0%