如何找到某个方法的声明

1. 在VIM中,输入:    :Gsearch -F ‘要搜索的东西’ -R –include=*rb –include=*js
2. 就会得到:(可以看到,最下面的绿色地方,就是JS的声明)
1 #
2 # Modify the contents of this buffer and then
3 # use the “:Greplace” command to merge the changes.
4 #

5 app/views/client/version_ups/_form.html.erb:149:  validate_form( ‘form’, {


15 app/views/layouts/_customized_coffeescript.html.erb:118:@validate_form = (form_selector, options) ->

只有15那一条变量前面是加了@符号的,所以就可以直接回车查看了,那个文件就是方法声明的地方。

crontab添加定时任务

crontab是LINUX系统下的定时任务触发器,常用的方法如下:

crontab -l    显示用户crontab文件的内容

crontab -r  删除用户的crontab文件

crontab -e   编辑crontab文件

 

它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,
格式如下:Min Hour Date Month Day program 

第一段代表分钟0-59,第二段代表小时0-23,第三段代表日期1-31,第四段代表月份1-12,第五段代表星期0-6,其中0是星期天,

本次我用到的是

#0 7 * * *  cd  /vol/remote_logs_shelter && ruby apple.rb  意思就是每天早上七点打开目录,并执行一下apple.rb

以下是从网上找到的一些例子

● 0 */2 * * * /sbin/service httpd restart  意思是每两个小时重启一次apache

● 50 7 * * * /sbin/service sshd start  意思是每天7:50开启ssh服务

● 50 22 * * * /sbin/service sshd stop  意思是每天22:50关闭ssh服务

● 0 0 1,15 * * fsck /home  每月1号和15号检查/home 磁盘

● 1 * * * * /home/bruce/backup  每小时的第一分执行 /home/bruce/backup这个文件

● 00 03 * * 1-5 find /home “*.xxx” -mtime +4 -exec rm {} \;  每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
● 30 6 */10 * * ls  意思是每月的1、11、21、31日是的6:30执行一次ls命令

在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup  
  
周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s “hi” alex@domain.name  /dev/null 2>&1 即可
例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’
示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):

 

request-log-analyzer日志分析

日志分析是常见的工作,方法如下:

使用工具:request-log-analyzer
安装:$ gem install request-log-analyzer
运行:$ request-log-analyzer 20131224.log –format rails3 –output HTML –file report.html

20131224.log是我们要分析的日志文件,运行之后会生成一个 report.html文件,这就是我们最终需要的文件了。

ruby实现简易计算器

回到家里,用的还是windows系统,ruby的编辑器换成了Aptana Studio 3

puts “Please input the first Number:”
number1=gets
puts “Please input a operator(+,-,*,/):”
op=gets
puts “pleasse input the second Number:”
number2=gets

case op.chomp
when “+”
result=number1.to_i + number2.to_i
when “-”
result=number1.to_i – number2.to_i
when “*”
result=number1.to_i * number2.to_i
when “/”
result=number1.to_i / number2.to_i
end
puts “Result:#{number1.chomp}#{op.chomp}#{number2.chomp}=#{result}”

 

运行一下:

$ ruby calculator.rb
Please input the first Number:
2
Please input a operator(+,-,*,/):
*
pleasse input the second Number:
8
Result:2*8=16

 

继续阅读

初识cms

上上个月,Y同学跳槽到新浪cms,上个月H同学从雅虎跳到新浪cms,紧接着W同学从百度跳到了新浪cms(他们可以在公司开同学会了),每次听到cms,都会默默好奇下,于是,冥冥之中的安排,明白些了,哈哈。

 

终端  <–>无线API<–>无线cms

ubuntu下git输出的颜色变化

11点进家门,感觉很温暖哦。

 

以下是如何在用git的时候清晰的看出关键字的方法。

  1. $ vim .git/config
  2. $ git config –global color.status auto
  3. $ git config –global color.diff auto
  4. $ git config –global color.branch auto
  5. $ git config –global color.interactive auto

vundle安装 给vim插上翅膀


vundle安装方法如下

首先执行以下命令
$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

先在终端下执行 vim ~/.vimrc
如果存在.vimrc则打开,不存在.vimrc则创建一个.vimrc并打开。把下面的内容复制到 .vimrc中
filetype on
set langmenu=none
set fileencodings=utf-8
set fileencoding=utf-8
set encoding=utf8

set expandtab
set shiftwidth=2
set softtabstop=2
set tabstop=2
set number
set autoindent
set hlsearch
set incsearch
set encoding=utf-8
" highlight Normal ctermfg=white ctermbg=cyan
set nowrap
syntax enable

let g:proj_window_width=5
set laststatus=2

map <C-T> :FufFile<CR>
map <C-E> :MRU<CR>
map <C-S-M> :Rmodel<CR>
map <C-S-C> :Rcontroller<CR>
map <C-S-U> :Runit<CR>
map <C-S-L> :Rfunctional<CR>
map <C-H> :Rhelper<CR>
map <C-V> :Rview<CR>
map <C-J> :ZoomWin<CR>

" Strip trailing whitespace
function! <SID>StripTrailingWhitespaces()
    " Preparation: save last search, and cursor position.
    let _s=@/
    let l = line(".")
    let c = col(".")
    " Do the business:
    %s/\s\+$//e
    " Clean up: restore previous search history, and cursor position
    let @/=_s
    call cursor(l, c)
endfunction
autocmd BufWritePre * :call <SID>StripTrailingWhitespaces()

" match Todo /\s\+$/
filetype plugin on
let mapleader = ","

" THE VIM OUTLINER (TVO)
" defaults:
let otl_install_menu=1
let no_otl_maps=0
let no_otl_insert_maps=0

" overrides:
let otl_bold_headers=0
let otl_use_thlnk=0

" au BufWinLeave *.otl mkview
" au BufWinEnter *.otl silent loadview
let maplocalleader = ","

""Only do this part when compiled with support for autocommands.
"if has("autocmd")
"  autocmd Filetype java setlocal omnifunc=javacomplete#Complete
"endif

set nocompatible               " be iMproved
filetype off                   " required!

" ============== Vundle part =================
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'

" My Bundles here:
"
" original repos on github
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
"Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'
Bundle 'tsaleh/vim-matchit.git'
Bundle 'ecomba/vim-ruby-refactoring.git'

" vim-scripts repos
Bundle 'L9'
Bundle 'FuzzyFinder'
Bundle 'kchmck/vim-coffee-script.git'

Bundle 'git://git.wincent.com/command-t.git'
"Bundle 'snipMate'
"Bundle 'snipmate-snippets'
Bundle 'Jasmine-snippets-for-snipMate'
Bundle 'YankRing.vim'
Bundle 'vividchalk.vim'
Bundle 'The-NERD-Commenter'
Bundle 'The-NERD-tree'

colorscheme vividchalk
set background=light
set background=dark
Bundle 'mru.vim'
Bundle 'greplace.vim'

filetype plugin indent on     " required!
"
" Brief help
" :BundleList          - list configured bundles
" :BundleInstall(!)    - install(update) bundles
" :BundleSearch(!) foo - search(or refresh cache first) for foo
" :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Bundle command are not allowed..

map <S-F> <Leader><Leader>f
map <Leader>a :YRShow<CR>
map <Leader>t :NERDTree<CR>
map <Leader>q :q<CR>
map <Leader>f :Rfixture<CR>
map <Leader>rj :Rjavascript<CR>

在终端输入 vim,  进入后输入 :BundleInstall 

安装完毕后  终端输入vim,按下 ctrl t,光标就自动跳转到上方,输入 **/ 就可以检索所有的文件了

安装ruby

过程中有点小曲折,我们leader是技术大牛,现在我生命中多了个超高智商处女座man了,还有一个是我老爸。o(∩∩)o..

记录下命令行:

rbenv

rbenv install -l

rbenv install 1.9.3-p484

ruby -v (报错ruby:commond not found)

rbenv  global 1.9.3-p484

ruby -v(正常了)

gem  install   bundler

rbenv  rehash

bundle install

(报错如下 Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.—–
libxml2 is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.)

原因是libxml2文件丢失

sudo apt-get install libxml2-dev  libxslt-dev

bundle install(这下正确了)

bundle exec rails server(报错)

cd config/

ll(看一下这里的conf文件)

cp log4r.yml.example log4r.yml(改一下文件后缀)

cp database.yml.example  database.yml(同上)

cp settings.yml.example settings.yml(同上)

rbenv rehash

rails sever

sudo mkdir -p  /opt/logs/cms

sudo chown  wangzheng:wangzheng /opt/logs/cms

mkdir log

touch log/development.log

rails server

vim常用指令及快捷键(持续更新)

发现了个非常赞的网站  http://openvim.com/

以下很多操作都是安装好vundle之后的操作哦

在命令行输入vim,进入vim,

输入 :NERDTree可以进入树形菜单

ctrl+t 光标会移动到顶端,输入**/abc   这样可以检索到所有名字中含有abc的文件

ctrl+ww 左右两侧的切换,左边是树形菜单,右边是代码,

ctrl+e 打开上一个打开过的文件

ctrl+n自动补全

shift+j 退行

shift+o 换行,另起一个新行

ctrl+c  快速切换到对应的controller

ctrl+v快速切换到对应的view

g;  跳到本文档上次编辑的地方

,a 显示曾经复制过的内容

shift+g 显示最后

shift+v选中后,按下=  可以调整格式,如对齐、缩进之类的

將光标移动到某个变量上,按gf可以打开,与此同时,ctrl+o可返回,ctrl+i可再次返回

:sp 切屏,水平方向上

:vs 垂直方向切屏

ctrl+f 上一页

ctrl+b 下一页

 

在操作的时候如果显示了you need to be root to perform this command,表示权限不足,在前面加sudo可以取得临时权限。

/字母  回车     (表示查找,n是从前往后,N是从后往前)

:%s/\$relea/17/g  替换$relea为17,看到g的时候很温馨,想到了js

 

ruby学习