个人学习

产品经理,超级奶爸

0%

这是一个强大的远程协助软件,teamviewer官网这样介绍它:

通过Internet进行远程访问和远程支持的一体化解决方案,TeamViewer可在几秒钟内连接到世界各地的任何PC或服务器上。您可以身临现场般地远程控制您伙伴的PC。

发现它对于我这个系统控真是最大的福音,因为我的设备基本上覆盖了所有系统,家里客厅一台Mac mini外加显示器(主力),卧室放着Windows10笔记本,公司宿舍里的Linux系统笔记本,办公室使用的是Windows7系统PC;移动设备也是iOS和Andriod并用。面对这么多系统,同步是个很大的问题,往往刚在Mac上写了一篇文章,然后上班了在公司PC上完成它,之后又想把手机里的一张照片附上去,最后再回到Mac上通过Hexo发布。所以同步和远程的需求非常强烈。并且把我养成了“只使用跨平台软件”的习惯,使用一款软件之前先确认其他平台是否都有。

通常情况下,大部分的任务都可以通过ssh连接终端来解决,但是有些时候还是需要一下桌面的,如果远程的是windows,那桌面就必不可少了。使用teamviewer时,只需要连接互联网,打开teamviewer软件,根据它所提供的ID以及密码就可以远程连接了,当然也可以将远程的电脑类似通讯录似的保存起来,方便下次的连接。

同时它也提供了会议功能以及桌面共享功能,当你正在远程其他桌面的时候,你会发现每一个windows窗口都有下图所示的小按钮,点击它可以设置与远程终端共享该窗口并进行演示。

同时也支持手机终端控制电脑桌面,下载对应App,还是通过ID连接到电脑,支持Android、iOS以及BlackBerry。可谓是基本上包含了所有的系统终端(貌似不支持windows phone),在不同的终端来回控制桌面。

闲之无聊,也许你会想和我一样尝试一下,当A控制B的时候,然后操作B再来远程A,会出现什么样的结果呢?会不会陷入一个循环的桌面呢?没错你猜对了,如下图所示。

最后,对于个人用户,该软件是免费使用的,所以直接上官网下载就可以了。

推荐一款强大的个人免费的SSH客户端,很长一段时间我都是使用puttywinSCP这两者来进行远程,一个负责命令行,一个负责文件传输,两个配合得非常完美,当初看上他哥两是因为够轻量,够简洁。

后来发现哥两虽然好,毕竟是哥两,操作比较频繁的时候,还是比较麻烦,特别是需要打开多个终端的时候。然后就发现bitviseSSH这一款SSH客户端,它简直就是上面哥俩的结合,使用起来更加方便了。

login之后,通过左侧的快捷按钮,New terminal console以及New SFTP window可以快速的打开新的终端以及新的文件传输窗口。

bitviseSSH是一款商业软件,包含有SSH服务器以及SSH客户端,但是SSH客户端针对个人用户是免费的,这才是关键。

这同样是一款类似Google Reader的RSS阅读器,它的优点:轻便、快捷、快速、优雅,balabalabala……百度上搜索inoreader介绍它的文章不在少数,这里就不多说了,推荐的目的就是让大家知道,然后去使用它,感受生活的美好,懒得搜索的直接点击下面链接就可以了,我帮大家搜索好了。

RSS阅读器大家或多或少都接触过,选择自己喜欢文章类型以及订阅喜爱的个人博客,各类RSS服务的用法都大同小异,这里不多说了,下面介绍一个关于inoreader独有的服务,针对kindle用户单独设计的一个在线阅读页面,让kindle用户也能优雅的享受到在线阅读的快感。了解kindle的应该都知道它最大的特点就是那电子墨水屏,得益于电子墨水屏,使得它的续航能力惊人,但是其极低的屏幕刷新率使得它根本无法正常浏览网页,所以kindle自带的那个体验版浏览器其实基本上就是个摆设,然而reabble却根据电子墨水屏单独设计了一个适合kindle阅读的页面,在页面全部是通过点击来完成RSS的阅读,体验非常棒。访问reabble.com使用inoreader帐号就能体验这个特别的页面。

当然,这么优秀的设计并不是一个免费服务,免费用户每天只能阅读15篇文章,而你只需花15元/年就可以解除这个限制,看清楚哦,是每年15元。好了,不多说了。没有kindle的也可以在网页上体验一下这个独特的用户体验。

Hexo3版本添加了一项数据文件的功能,大概意思就是可以将数据保存在文件中,然后从文件中读取数据,最后展示在站点上。官方Docs中简要介绍了一下Data files的使用方法。

正好想在站点上添加友情链接的功能,使用这个数据文件的功能,就可以将友情链接的数据保存在文件中,这样就避免了将数据直接写进HTML或者_config.yml配置文件中。

1. 添加数据文件

在Hexo根目录中的source目录中创建_data目录,然后在_data目录中新建links.yml文件,内容如下:

1
2
3
LP's Blog: http://pengloo53.farbox.com
xiaoxiao's Blog: http://xiaoyun.farbox.com
说说事: http://www.saysays.com

添加了两行数据,代表两条友情链接。

2. 添加主题布局文件

将友情链接放到右侧的sidebar中,于是需要在主题目录下的layout/_widget中添加文件links.ejs,内容如下:

1
2
3
4
5
6
7
8
9
10
<% if (site.data.links){ %>
<div class="widget tag">
<h3 class="title">友情链接</h3>
<ul class="entry">
<% for (var i in site.data.links){ %>
<li class='link'><a href='<%- site.data.links[i] %>'><%= i %></a></li>
<% } %>
</ul>
</div>
<% } %>

其中的site.data.links就是上面创建的links.yml数据文件所对应的对象。

3. 填写配置文件

这里使用的是Hexo-theme-light_cn主题,在主题目录下的_config.yml文件中widgets下添加上links就OK了,如下图:

启动服务就可以看到如下图样式了。

以后想要添加友情链接,直接编辑links.yml文件就可以了,而不必去修改主题的配置文件。

《时间的形状》可能是我历时最短的一本书了,从翻开它到看完不到一个月的时间。对于好多人来说可能算是相当慢了,毕竟作者仅仅才花了42天就把这本书写完了,然而我看完却花了二十来天。惭愧!

这本书主要讲解了相对论的相关知识,虽然在之前已经将《上帝掷骰子吗》看过两遍,不过看完这本书,收获还是比较大的。本书的侧重点跟《上帝掷骰子吗》有所不同,本书着重对爱因斯坦的狭义相对论以及广义相对论进行了详细的讲解,更多的篇幅放在了宏观尺度的相对论上了。而《上帝掷骰子吗》则是更全面、更完整的描述了量子理论的发展史。所以,如果你想了解整个量子物理史,看《上帝掷骰子吗》这本书,绝对是不二之选;然而如果你想了解一下相对论的知识,看下这本书会有很大的收获。

针对什么是绝对时空观,什么是相对时空观,为什么在运动中时间会变慢,为什么在运动方向上长度会变短等等问题的答案,本书都做了一些讲解,而且非常容易理解,正如作者所说,这是一本课外科普读物,适合那些并不想懂那些费脑的原理,并不想去看那些复杂的公式,但是却又对这个神奇的世界有那么一丝丝好奇的读者。对了,那么你就适合去了解去读一下这本书。

总体来说,我是比较推荐这本书的,因为在某一方面确实学习并了解了一些知识。并且作者采用了一种比较有趣的对话式的叙事方式,比较有意思的将一些理论叙述出来,读起来还比较轻松并且容易理解。但是,书中好些地方为了增加趣味性,加了很多非解释说明的”括号内用语“,显得有些多余,读起来就不甚流畅了。

书中有一段《红色革命》的内容比较新颖,大体讲述了在爱因斯坦的相对论理论风靡全世界的时候,国内文化大革命期间和相对论的一些故事,从这里也看出在追寻真理的道路上从来都不是一件容易的事情,对那些坚持真理的学者表示由衷的敬佩。

书的内容比较有限,毕竟是作者才花了42天并且无私奉献出来的作品,但是从书中能大致学习并了解到一些知识,证明这就是一本好书。

好久好久之前,入门学习了一下Git,基本上可以使用GitGithubpush自己的代码,并且clone一下别人的项目。本以为这就能够满足我的日常需求了,但是随着学习以及使用的复杂性,发现那些基础的命令不能再满足我的日常使用了,于是最近在看《pro Git》一书, 希望能更深入的学习一下Git这个工具,工欲善其事,必先利其器。

1. git config配置

刚开始使用Git的时候,很多人肯定都忽略配置的相关内容。也许你还记的在第一次push内容的时候,总会有提示让你设置你的用户名以及邮箱。其实这就是最基本的一个配置。

git config --list可以查看目前git仓库中有哪些配置。那么另外一个问题来了,Linux中有个观点是:『一切皆文件』,这些配置从哪里来的?共有3个地方设置,分别是系统级的、用户级的以及仓库级的。

  1. /etc/gitconfig 系统级的配置,系统中所有的git仓库都普遍适用的配置。使用git config --system来写入;如:
    git config --system user.name pengloo53

    注意:配置文件不一定是/etc/gitconfig,去你的git安装的目录下去找。怎么找?Linux和Mac用户可以使用which git找到git的所在地,然后就好找了,比如我的git的系统配置文件在/usr/local/etc/gitconfig下。我的Mac是通过homebrew安装的git。如果是Windows系统,去安装目录下找就OK了。

  2. ~/.gitconifg用户级的配置,该用户下所有的git仓库都普遍适用的配置。使用git config --globe来写入;如:
    git config --globe user.email aa@xxx.com

  3. .git/config仓库级的配置,只针对某个仓库而言的配置。在仓库目录下直接git config来写入配置。

如果我很无聊,分别使用git config --system user.name name_1git config --globe user.name name_2以及git config user.name name_3设置了我的用户名,那么推送消息的时候到底记录的是哪个呢?这里不用担心,git会一级一级覆盖的,也就是会显示最小范围的那个级别。如果有相同的配置存在,最终会显示仓库级的那个配置。

2. git commit提交

这个命令可真是熟悉得不能再熟悉了,每次git add --all都要习惯性的git commit -m "message"一下,message是一定要写的,Git默认也是要你写的,这是个好习惯,一定要坚持下去。反正我都习惯了,不写-m都觉得奇怪了。

当然保留好的习惯的时候,该偷懒也得偷懒一下。可以尝试git commit -a -m "message"git add --allgit commit -m 'message"合并一块写,我相信你会更爽的。

如果一不小心,message写成了meaasge,虽然不是啥大事,但是对于一个『强迫症』来说,那叫个难受。没事,试一下git commit --amend修改提交文本。

再如果commit之前忘了add某些文件了,想一块commit进来,没关系。

1
2
git add --all
git commit --amend

这样就不用产生两条提交信息了。

3. git show查看

在入门的常用命令的笔记里,通过git show v1.0可以查看标签信息,然而它还可以查看每次的提交信息,可能这并不是什么进阶知识,但是对我来说还是比较新鲜的,就记在这里吧。

当你想查看之前某个的提交改了些啥玩意的时候,那么git show就大有用处了。先通过git log --graph --pretty=oneline --abbrev-commit查看一下自己的分支信息,然后git show commitID就可以了。当然你不用写下全部的commitID,写前4位就行了。

如:git show 0fce,就可以查看0fce*那次都提交了哪些内容。

4. git remote远程

在之前,这个命令我基本上没有怎么使用过,因为创建的仓库,除了第一次使用关联到github上之后,就再也没咋用了。把本地的仓库上传至远程,基本上会用到如下两条命令。

1
2
git remote add origin https://github.com/XXX/xxx.git
git push -u origin

如果是你一个人玩Git,那么上面两条命令真的够了,很长一段时间我就是一个人玩。但是使用Git版本控制器就注定了你不能再一个人玩下去了,协同处理项目才是版本控制器的真正意义。

git remote -v查看一下远程的仓库,通常情况下,你会看到一个origin这个远程仓库,它是默认的远程仓库。基本上就是你第一次push or clone的那个仓库。

情景

假设你在githubfork了一个别人的项目,并且clone下到本地,而且玩了老长时间了,也许你还pull request一下别人的项目,运气好,别人还merge了你的pull request,然后过了好长时间,你都放弃了这个项目,然而别人还在一直更新,你想看看最新的项目状态。那么你可以通过下面几条命令,再把别人仓库的内容抓取下来。

1
2
3
git reomte add others https://github.com/xxx/xxx.git
git fetch others master
git checkout -b tmp others/master
  1. 首先添加一下别人的远程仓库,命名为others
  2. 然而使用git fetch命令抓取一下远程仓库的内容,通过git branch -r,你就可以看到others/master远程分支了;
  3. 再在本地创建一个tmp分支跟踪远程others/master分支。
  4. 最后tmp的处理权就交到你的手里了,删除它或者merge到本地master上就看你的心情了。
  5. 最最后别忘了,再把它推送到你的远程分支上origin/master,使用git push origin master就行了。

5. gitk图形界面

要是让我记那么多git log的参数实在是太让人为难了,基本上是用的时候现查命令参数,自从知道了gitk,现在连git log都快忘了,这个图形工具真是太方便了。一目了然各个分支都哪个地方。纵使我再崇拜命令行,我还是为了它妥协了。

  • Windows上就不用安装了,安装完git for windows就可以直接使用了。
  • Mac上如果无法使用gitk命令启动图形界面,赶紧点击这里安装,不要再犹豫。
  • Linux,啊,能把Linux当桌面系统使用的用户都是高手,我这里就不班门弄斧了。

以上是这段时间对Git学习的一些内容,当作是Git学习的一个进阶阶段吧。Git博大精深,想深入了解还需更多的学习。当然它毕竟只是一个工具,工具只有在使用的时候才能体会到它是否满足自己的需求,期待下一次进阶学习。

最近有好友会问,你那个博客站点域名是啥来着?我就发现之前申请的域名确实很难记,就算告诉过了很快就会忘了,虽然当时还觉得.com的域名很牛X的样子,发现问题后,果断入手了lupeng.me,这个域名虽然不是.com国际域名,但是相比而言要好记得多了,直接就是名字全拼,二级域名.me也比较新颖,由于站点只是一个简单的Blog,直接访问lupeng.me就OK了。

阅读全文 »