09 July 2015

小米07月工作记录


2015.07.09

今明两天是git大讲堂,进一步熟练此工具。

git学习绝好笔记

添加远程仓库

git remote add [name] [url]

git add 是个多功能命令,根据目标文件的状态不同,此命令的效果也不同:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等

git diff 是看本地修改与暂存区的差别,若暂存区没有内容,那就是比较本地与staged的差别。

若要看已经暂存起来的文件和上次提交时的快照之间的差异,可以用 git diff --cached

跳过使用暂存区域: 尽管使用暂存区域的方式可以精心准备要提交的细节,但有时候这么做略显繁琐。Git 提供了一个跳过使用暂存区域的方式,只要在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤

git reset是撤销上一次的add并不会对文件内容有变化

另外一种情况是,我们想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。换句话说,仅是从跟踪清单中删除。$ git rm --cached readme.txt,不再跟踪。不加的话在工作目录中也没了。

git log -p -2

我们常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新:

如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend 提交:

$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend

git fetchgit pull的区别

git 代码自动补全 代码自动补全 代码自动补全 这里走

git 命令别名


2015.07.13

MiLinkSDKForJava 开发 , InputStream 得重新开一个线程,因为读会阻塞。


2015.07.15

利用FutureTask 实现同步的效果,我们知道 V v = futureTask.get() 会阻塞当前线程,直到其set()方法被调用,所以我们可以执行一个异步方法,待方法成功后利用回调执行set()解除当前线程的阻塞。 这里要注意set的作用域是 protected ,无法外部调用,可以子类继承使用。

svn add后取消 svn revert --recursive example_folder

网卡看tcp发包 sudo tcpdump -i en1 host 120.134.33.114 -nx -s 5000 -XX

周一确定这个命令 git checkout --track origin\v7.2 效果与 git checkout -b [分支名] [远程名]/[分支名] 相同

Thread.setDaemon 设定后台运行,为true时,创建他的线程结束,他也就结束。

git cherry-pick commit_hashcode 是个好命令,在当前分支提交相应hashcode的 commit 。

删除远程分支 git push origin :chengsimin

git rebase 衍合

Thread.setUncaughtException() 自定义异常处理,可以在其中上报异常。


2015.07.22

Timer.scheduleAtFixedRate(task, 1000, 4000); 周期定时器,1s后启动,每4s执行一次。

Timer.schedule(task, 1000); 一次性定时器,1s后启动。


2015.07.28

安装 protobuf,运行autogen.sh时提示缺少autoreconf: command not found.安装它,又提示Can't exec "glibtoolize": No such file or directory , 安装brew install libtool.

get conf 心跳代替

native 层因为消息队列的清空丢失发送包问题。


2015.07.29

思考:为什么抽象方法不能是静态的?


2015.07.30

HomeBrew ,apt-get 的替代品

终极Shell iTerm2 + oh my zsh

Handler利用Messenger(隶属aidl)实现进程间通信


2015.07.31

Eclipse 和 Android Studio 都有主题,换成黑色背景,大家一起来保护眼睛。



blog comments powered by Disqus