-
svn switch and git svn
本文之前就想写,但是当时对svn switch不是非常了解,而且没有解决多分支开发的问题。 到今天为止,靠着强大的git把多分支开发的问题基本解决了,就上来把这一段时间内的解决过程和最终的方案说一下,希望对仍旧被svn“蹂躏”的各位有用。 首先说下多分支开发的问题。在svn下多分支开发唯一的方法是把代码checkout到不同目录中。svn switch并不能承担分支切换的功能。svn switch从它的功能来说是让一个工作副本中包含来自多个库的内容。我能想到的典型场景是“分支”合并到主干上时,当前的主干副本来需要来自其他库,即开发完成的分支的内容。其他可能是一些“异常情况”,反正不要被switch这个单词骗了…… 那么svn是否有别的命令支持分支切换么?我个人没有查到。其实从我这一段时间的research,我对svn进一步的认识是:svn没有分支的概念。得出这个结论的过程可能比较长,而且有比较多的个人标准,这里就不展开了。重点是如何解决多分支版本开发问题。
-
google calendar使用小记
使用google calendar有一段时间了,当初是看中了重复的事件(event)这个功能。现在经同事指点,又学到了一点新东西。另外自己对事件和任务(task)有了进一步的理解。 日历分类 你可以建立多个日历,比如按照类别的。分成多个日历之后,你可以选择性地显示日历,比如只显示个人的(personal),只显示工作的(working)。其次,你还可以选择性的和他人共享日历,把你的日程分享给其他人看。 说到日历共享,个人认为团队共享某个工作用的日历可能比填写日报更好一些。 事件和任务 google calendar中项目分事件和任务两种,任务理论上不等同于全天事件。任务应该可以被拆解成一个或多个事件。换句话说,你给自己设定某个任务,需要分派到哪天做什么。比如今天我要完成这篇文档,我设置了“[blog]google calendar使用小记”任务,过期时间设定为5月1日。晚上整理时分配今天几点写博客。 当然,个人的任务可能时间要求并不是很高,但是可以尝试这么去做。
-
vim recording小试
大家是否有这种经验,“不知道为什么按出recording状态,按ESC貌似无法直接退掉”的情况,个人已经有过好几次了。 与其出来烦人还不如了解它,昨天我就花了点时间学习recording。怎么说,还是有点用的。 首先说明的是recording是怎么按出来的:命令模式下按q。假如你想按退出的:q,右手有点慢的话就有可能出现recording。顺便说一句,q:出来的是command history,command history状态下:q或者enter都可以退出。 那么recording是干啥的?简单来说就是命令序列,加快工作效率的。基本使用是q开启录制,接着选择寄存器,比如1,2,a之类的。之后的到第一个q为止的命令都会加入序列中。录制完成之后@1(1这里为寄存器的名字,你也可以选择其他寄存器)就可以重复寄存器中的命令序列。举个简单的例子: 1. 你需要复制1. 20行,除了Vyo20p(选中行复制,进入下一行,粘帖20次)之外,你可以q1Vyopq录制命令序列,20@1执行20次。 这个例子可能还不能体现recording的好处,接下来举第二个例子,注释10行代码
-
linux命令使用小记1
bash的快捷键 现在碰到的服务器上的用户的默认shell都是bash,所以主要讲下bash的一些快捷键。 删除整行命令:Ctrl + u,对不回显的密码输入同样有效 向前删除单个单词:Ctrl + w,在vim里面同样有效 运行最近一条命令:!! 就是两个感叹号,个人是从sbt(scala下的一个构建工具)里面学来的 搜索最近的命令;Ctrl + r,输入关键字,比如你最近输入了vim /path/to/file,那么Ctrl + r,再输入vim,那么就可以显示出这条命令,回车就直接执行了 在搜索最近的命令的基础上,!vim 可以执行最近这条vim的命名。这个用在什么地方最好呢?如果你最近tail了某个文件,输入!tail就可以直接执行tail了,不用输入文件名 清屏命令:Ctrl + l,效果和clear一样 上一条命令和下一条命令:Ctrl + p,Ctrl + n,个人不是很喜欢用上下键,因为要移动右手,而且有些键盘需要按FN才有上下,比如hhkb-pro,不过这个仁者见仁,智者见智 暂停屏幕输出:Ctrl + s,恢复屏幕输入Ctrl + q,这个用来干嘛呢?类似tail时scroll lock 更多bash快捷键,请google
-
关于rel=”nofollow”
Google在Webmaster Tools页面提到: “Nofollow” provides a way for webmasters to tell search engines “Don’t follow links on this page” or “Don’t follow this specific link.” What are Google’s policies and some specific examples of nofollow usage? Untrusted content Paid links Crawl prioritization However, a solid information architecture — intuitive navigation, user- and search-engine-friendly URLs, and so…
-
[scala]基于resourcebundle的messagesource
之前写了一篇模拟spring的messagesource实现,后来了解到spring使用的是resourcebundle,于是稍微了解resourcebundle之后改进了实现,可能比以前简化很多。 import java.util.Locale import java.util.ResourceBundle import java.util.MissingResourceException import java.text.MessageFormat trait MessageSource { def getMessage( code: String, locale: Locale, args: Array[Any] = Array[Any]()): Option[String] } class ResourceBundleMessageSource(codeBase: String) extends MessageSource { def getMessage(code: String, locale: Locale, args: Array[Any]) = { val bundle = ResourceBundle.getBundle(codeBase, locale) getString(bundle, code).map(new MessageFormat(_).format(args)) } private def getString(bundle: ResourceBundle, key: String): Option[String]…
-
使用synergy在多台电脑之间共享鼠标和键盘
synergy是一个简单的在多台电脑之间共享鼠标和键盘的方案,官方网站在这里。 对我来说,synergy的主要特性如下: 跨平台,linux/windows/mac下均可使用 鼠标和键盘共享 剪贴板共享 我的实际应用方案是 server: ubuntu 12.04(64) client: windows 7(64)
-
[个人时间管理]线程饥饿与动态任务管理
虽然主标题有点像开发上的内容,但实际上不是那样的,讨论程序开发上的内容的目的是为了解决个人时间管理上的“动态任务管理”。 首先说下“动态任务管理”是什么。当你早上制定了一天的计划并付诸实施的话,很有可能遇到干扰或者未曾预期的新任务。处理这些干扰或者任务的过程我个人称为“动态任务管理”。不用说,动态任务管理是个人时间管理很重要的一项内容,如果你处理不好的话,会使得你早些安排的任务一团糟。
-
落書き20130413
しずえちゃんです。