当我们在GitHub
中提交修改时,GitHub
通过我们本地git
配置文件中配置的邮箱地址,与我们的GitHub
账户相关联,这样GitHub
提交记录就可以关联提交者的GitHub
账户。
那么我们怎么在本地配置我们的git
邮箱呢?
#全局 git 配置
我们可以使用git config
命令来修改本地git
配置。设置全局用户及邮箱:
$ git config --global user.name gitaccount
$ git config --global user.email gitaccount@example.com
安装中文版 Ubuntu 后,我们可以看到在我们的用户目录下,有一些中文名称的文件夹:
$ ls ~/
examples.desktop 公共的 模板 视频 图片 文档 下载 音乐 桌面
这些中文命名的文件夹国人看起来会比较顺眼一些;但是对于习惯用命令行的用户,每次输入目录名称,切换中英文也是件麻烦的事情。我习惯的会把这些文件夹重新修改为英文目录。
这些目录可以在如下配置文件找到:
Show More在 Ubuntu 中修改主机名,需修改两个文件。
首先是 /etc/hostname 文件:
$ cat /etc/hostname
myhostname
然后是 /etc/hosts 文件:
Show More上文中介绍了 SSH 密钥对的生成,下面介绍下如何在 GitHub 中使用 SSH 密钥对。
#一. 查看已有的 SSH 密钥对
首先查看我们目前已有的 SSH 密钥对:
$ ls -al ~/.ssh
# 列出我们电脑上已有的所有 SSH 密钥对文件。
默认公钥文件名为以下形式:
我们可以使用本地已有的密钥对,也可以建立新的密钥对。
Show MoreSSH 密钥对可以让用户无需输入密码即可登录到 SSH 服务器中。由于登录的过程不需要密码,因此可以防止由于密码被拦截、破解造成的账户密码泄露。再加上密码短语(passphrase)的使用,使得 SSH 的安全性更高一层。
SSH 密钥对总是一把公钥、一把私钥的成对出现;公钥可以自由的添加到远程 SSH 服务器中用来验证用户是否合法;私钥相当于自己的身份认证,需要妥善保存不能泄露。
SSH 密钥的其使用原理很简单:用户将公钥添加到远程主机中,登录的时候,远程主机会向用户发送一段随即字符串,用户使用自己的私钥加密后,再发送到远程主机。远程主机使用本地存储的公钥进行解密,如果成功,证明用户时可信的,直接允许登录 shell ,不再要求密码。这样就保证了整个登录过程的安全,防止了中间人攻击。
Show More(本文基于android-2.3.3_r1代码研究)
前面研究了Android触屏事件的分发机制;本文继续从源码角度研究触屏事件的处理机制。
Android的触屏事件,最终分发给View的onTouchEvent方法来处理,我们来看看它是怎么处理的:
Show More(本文基于android-2.3.3_r1代码研究)
在Android Touch事件传递机制(一)和Android Touch事件传递机制(二)这两篇文章中研究了Android触屏事件的分发机制;本文从源码角度继续深入研究。
Android的所有触屏事件、按键事件、界面刷新等事件都是通过ViewRoot进行分发的。
ViewRoot实际就是一个Handler,接收native层传来的事件并进行分发。
下面看看ViewRoot对触屏事件处理的关键代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public final class ViewRoot extends Handler implements ViewParent,
View.AttachInfo.Callbacks {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case DISPATCH_POINTER: {
MotionEvent event = (MotionEvent) msg.obj;
try {
deliverPointerEvent(event);
} finally {
event.recycle();
if (msg.arg1 != 0) {
finishInputEvent();
}
}
} break;
}
}
ViewRoot接收到触屏事件,调用deliverPointerEvent方法。deliverPointerEvent方法关键代码如下:
Show More(本文基于android-2.3.3_r1代码研究)
在Android Touch事件传递机制(一) – onInterceptTouchEvent & onTouchEvent这篇文章中研究了Android触屏事件的分发机制;本文继续深入研究。
首先我们来看看View的OnTouchListener与onTouchEvent方法的区别与联系,如下布局:
设置OnTouchListener:
Show More