- 博客(62)
- 资源 (5)
- 收藏
- 关注
转载 ruby 控制台改变输出字体的颜色
puts "\033[1mForeground Colors...\033[0m\n"puts " \033[30mBlack (30)\033[0m\n"puts " \033[31mRed (31)\033[0m\n"puts " \033[32mGreen (32)\033[0m\n"puts " \033[33mYellow (33)\033[0m\n"puts
2014-09-24 20:21:35 4194
转载 本地运行 ruby-china 报/home/chenc/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/psych/visitors/to_ruby.rb:2错
修改~/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/psych/visitors/to_ruby.rb第264行private def revive_hash hash, o ... if key == ' case v when Nodes::Alias hash
2014-09-23 16:41:07 2012
转载 rails 3,4遇到 Could not find a JavaScript runtime execjs错误(ubuntu)
当我运行[html] view plaincopy$rake db:create 遇到下面错误[html] view plaincopyrake aborted! Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a
2014-09-23 16:28:24 746
转载 gem install nokogiri 安装错误
administrator@ubuntu:~/store$ gem source*** CURRENT SOURCES ***http://ruby.taobao.orgadministrator@ubuntu:~/store$ gem install nokogiriBuilding native extensions. This could take awhile...
2014-09-23 16:15:03 5585
转载 ubuntu 安装imagemagick()
I. 安装ImageMagic1. 安装:sudo apt不指定安装路径--prefix,就默认将可执行程序安装到/usr/local/bin/目录下(该目录默认在path中)。2. 测试:1). 版本察看简单地执行:引用convert -version如果看到下面的信息说明安装已经成功引用Version: ImageMagick
2014-09-23 15:12:06 15730
翻译 ruby 格式化字符串 浮点数
在ruby中使用format(或 "%")来格式化string.例子1: 接收1个参数"Number is %d" % 12 # Number is 12format("Number is %d" , 12) # Number is 12"Number is %d, type is %s" % [12, "cat"] # Number is
2014-09-23 11:47:21 4931
转载 Ubuntu 安装 memcached
1、安装Memcache服务端sudo apt-get install memcached安装完Memcache服务端以后,我们需要启动该服务:memcached -d -m 128 -p 11111 -u root这里需要说明一下memcached服务的启动参数:-p 监听的端口-l 连接的IP地址, 默认是本机-d start 启动memcached服务-d r
2014-09-22 23:16:28 590
转载 DSL(Domain Specific language)
第一次听到DSL(Domain Specific language)还是去年春节前和Edwin的一次咖啡馆的聊软件工厂时候。在真正了解领域模型(领域内的概念类或现实世界中对象的可视化表示的模型)前对DSL还不太了解。最近正好在支持一个项目做领域建模,正好写点我对DSL的理解。DSL如果按照机器翻译多半叫做:领域定义语言....我理解DSL就是一种描述现实问题的语言,用这种语言去实现
2014-09-22 22:24:15 2463
转载 操作标签
如果标签打错了,也可以删除:因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。如果要推送某个标签到远程,使用命令git push origin tagname:$ git push origin v1.0Total 0 (delta 0), reused 0 (delta 0)To git@github.com:michaelliao/le
2014-09-22 21:27:12 536
转载 为git命令配置别名
有没有经常敲错命令?比如git status?status这个单词真心不好记。如果敲git st就表示git status那就简单多了,当然这种偷懒的办法我们是极力赞成的。我们只需要敲一行命令,告诉Git,以后st就表示status:$ git config --global alias.st status好了,现在敲git st看看效果。当然还有别的命令可以简写,很多人都用
2014-09-18 22:48:56 1951
转载 忽略特殊文件
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示“Untracked files ...”,有强迫症的童鞋心里肯定不爽。好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。不需要
2014-09-18 22:36:58 531
转载 自定义git
在安装Git一节中,我们已经配置了user.name和user.email,实际上,Git还有很多可配置项。比如,让Git显示颜色,会让命令输出看起来更醒目:$ git config --global color.ui true这样,Git会适当地显示不同的颜色,比如git status命令:文件名就会标上颜色。我们在后面还会介绍如何更好地配置Git,以便让你的工作更高效。
2014-09-18 22:25:44 571
转载 使用github
我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。在GitHub出现以前,开源项目开源容易,但让广大人民群众参与进来比较困难,因为要参与,就要提交代码,而给每个想提交代码的群众都开一个账号那是不现实的,因此,群众也仅限于报个bug,即
2014-09-18 22:22:52 643
转载 搭建git服务器
在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几
2014-09-18 22:17:19 599
转载 标签管理
发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。转自:http://www.li
2014-09-18 22:03:51 528
转载 多人协作
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。要查看远程库的信息,用git remote:$ git remoteorigin或者,用git remote -v显示更详细的信息:$ git remote -vorigin git@github.com:michaelliao/lear
2014-09-18 21:51:25 842
转载 linux重定向及nohup不输出的方法
from http://hi.baidu.com/zhaolegend/blog/item/245ad226e860bdfed7cae2ed.html先说一下linux重定向:0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log
2014-09-18 14:07:24 573
转载 Feature分支
软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。现在,你终于接到了一个新任务:开发代号为Vulcan的新功能,该功能计划用于下一代星际飞船。于是准备开发:$ git checkout -b feat
2014-09-16 23:14:24 978
转载 Bug分支
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue -101来修复它,但是,等等,当前正在dev上进行的工作还没有提交:$ git status# On branch de
2014-09-16 23:08:23 505
转载 分支管理策略
通常,合并分支时,如果可能,Git会用“Fast forward”模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用“Fast forward”模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下--no-ff方式的merge:首先,仍然创建并切换dev分支:$ git checkout -b dev
2014-09-16 23:05:53 639
转载 解决合并分支时产生的冲突
人生不如意之事十之八九,合并分支往往也不是一帆风顺的。准备新的feature1分支,继续我们的新分支开发:$ git checkout -b feature1Switched to a new branch 'feature1'修改readme.txt最后一行,改为:Creating a new branch is quick AND simple.在feat
2014-09-16 23:04:53 9104
转载 创建与合并分支
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定
2014-09-16 22:36:57 595
转载 分支管理
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导
2014-09-16 22:25:29 509
转载 从远程库克隆
上次我们讲了先有本地库,后有远程库的时候,如何关联远程库。现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。首先,登陆GitHub,创建一个新的仓库,名字叫gitskills:我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看
2014-09-16 22:15:53 574
转载 添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:在Repository name填入learngit,其他保持默认设置,点击“
2014-09-16 22:01:48 599
转载 远程仓库
到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了。可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方。没错,如果只是在一个仓库里管理文件历史,Git和SVN真没啥区别。为了保证你现在所学的Git物超所值,将来绝对不会后悔,同时为了打击已经不幸学了SVN的童鞋,本章开始介绍Gi
2014-09-16 20:28:46 617
转载 删除文件
在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:$ git add test.txt$ git commit -m "add test.txt"[master 94cdc44] add test.txt 1 file changed, 1 insertion(+) create mode 100644 test.txt一般情况下,你
2014-09-16 20:19:04 478
转载 撤销修改
自然,你是不会犯错的。不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行:$ cat readme.txtGit is a distributed version control system.Git is free software distributed under the GPL.Git has a mutable index called stage.
2014-09-16 20:09:32 1570
转载 管理修改
现在,假定你已经完全掌握了暂存区的概念。下面,我们要讨论的就是,为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。为什么说Git管理的是修改,而不是文件呢?我们还是做实验。第一步,对
2014-09-16 19:58:05 479
转载 工作区和暂存区
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。先来看名词解释。工作区(Working Directory):就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:版本库(Repository):工作区有一个隐藏目录“.git”,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫inde
2014-09-16 19:48:41 633
转载 集中式vs分布式
Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改
2014-09-16 19:16:28 1266
转载 ubuntu 12.04 安装搜狗输入法
Ubuntu 12.04 LTS 版本由于 Ubuntu 12.04 LTS 自带的 Fcitx 版本较旧,需要先通过 PPA 升级,才能安装下载的 deb 软件包。1. 点击左上角的图标打开Dash,输入update-manager,点击更新管理器。2. 在更新管理器中,选择菜单:编辑->软件源,点击添加...按钮,在弹出的窗口中输入ppa:fcitx-team/nightly,
2014-09-16 11:38:45 12195
转载 安装deb软件包时出现Unknown media type in type **/** 的解决办法
在安装astah uml时出现了如下问题: 该问题的解决方法如下: 1、找到kde.xml文件,我这里的路径是: ?1/usr/share/mime/packages/kde.xml 2、先对kde.xml文件进行备份: ?1
2014-09-16 10:53:17 4966
转载 Ruby正则表达式(上)
先推荐一个在线的Ruby正则表达式编辑器http://www.rubular.com/Ruby的正则表达式以"//"作为构造方法。表达式返回一个RegExp的对象。 一般规则: /a/匹配字符a。 /\?/匹配特殊字符?。特殊字符包括^, $, ? , ., /, \, [, ], {, }, (, ), +, *. .匹配任意字符,
2014-09-15 18:09:57 727
转载 Active Record用Counter Cache实现计
经常会有遇到这样的场景:统计页面的访问次数如果每次访问时都直接update数据库,对于大并发场景效率太低。由于对事务要求并不高,如访问次数数据延迟几分钟并没有太大问题,每次都操作数据库显得有点浪费。Rails中有ActiveRecord::CounterCache专门用于这个场景。这个类用起来很简单,只有4个方法:- (Object) decrement_c
2014-09-11 11:10:30 734
转载 linux lsof命令详解
简介lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口
2014-09-10 16:20:09 11582
转载 ubuntu12.04下redis安装/配置
redis安装下载安装包: wget http://redis.googlecode.com/files/redis-2.6.12.tar.gz 编译源程序:解压安装包:tar xzf redis-2.6.12.tar.gz进入解压后的安装包目录:cd tar xzf redis-2.2.12进行编译:make编译后安装(需要管理员权限)
2014-09-10 11:28:45 579
转载 Ubuntu上安装部署redis
下载,解压和安装:$ wget http://download.redis.io/releases/redis-2.8.13.tar.gz$ tar xzf redis-2.8.13.tar.gz$ cd redis-2.8.13$ make编译后的可执行文件在src目录中,可以使用下面的命令运行Redis:$ src/redis-server你可以使用内置的客户端连接R
2014-09-10 11:25:30 637
转载 Ubuntu 系统 Update-rc.d 命令
Ubuntu或者Debian系统中update-rc.d命令,是用来更新系统启动项的脚本。这些脚本的链接位于/etc/rcN.d/目录,对应脚本位于/etc/init.d/目录。在了解update-rc.d命令之前,你需要知道的是有关Linux 系统主要启动步骤,以及Ubuntu中运行级别的知识。 一、Linux 系统主要启动步骤 读取 MBR 的信息,启动 Boot Manager。
2014-09-10 11:21:13 1552
转载 ubuntu chkconfig undate-rc.d
ubuntu 9.10 已经不支持chkconfig 了而用了update-rc.d,关于 update-rc.d 的一些使用介绍Debian的update-rc.d与RH的chkconfig工具相类似。然而chkconfig是一个二进制程序,而update-rc.d是一个Perl脚本。这些工具有不同的命令行选项,但是却执行类似的功能。下表列出了update-rc.d的一些用法。如
2014-09-10 11:20:06 569
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人