王筝的博客
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

 

(更多…)

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

 

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

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安装方法如下

首先执行以下命令
$ 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,光标就自动跳转到上方,输入 **/ 就可以检索所有的文件了

过程中有点小曲折,我们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

发现了个非常赞的网站  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

 

PP真的是一位很有姿势的程序猿,有这样的邻居真好,榜样啊。

pwd 当前路径

df  -kh 当前盘符实用情况

top 系统当前的使用情况,进程状态

apt -get   update更新现有的程序

sudo apt -get install  vim 安装vim

sudo apt -get install curl 安装curl

curl -O http://mirrors.xxxxxx.repo 下载文件,大写的o能直接把名字赋给新文件,这是大小写的区别

yum makecache 生成缓存

mv   vimrc_bak_2    .vimrc   將前面的的文件移动并替换成后面的文件,也就是把前面的文件内容给后面的文件,名字还是后面的文件名

 

 

 

–圣诞节怎么过,

–略过。

今天装ubuntu的时候把windows覆盖了, 凌乱,TX童鞋建议我买mac,我问他这俩有啥区别,他说相当于拖拉机和保时捷的区别,好吧,我没开过拖拉机,也没坐过保时捷呢哦,如果他告诉我这是馒头和包子的区别,我肯定会心动的O(∩_∩)O

开始用ubuntu了,装上之后就是新版本的界面,如何改成旧版本呢,请看一下这篇文章吧,灰常实用。

www.psychocats.net/ubuntu/classicgnome

重要的热键:

[Tab]按键:命令补齐 和 文件补全。

[Ctrl]+c:停止当前执行的任务,在mysql里做退出的作用。

[Ctrl]+d:exit

[Ctrl]+[Alt]+t 打开终端,相当于搜terminal然后点击了。

在vim里[Ctrl]+[Shift]+v粘贴

cttl+pageup或pagedown在多个终端之间切换

 

      最近经常听到各种JS前缀的名称,瞬间感觉自己弱爆了,啥都没用过呢,这么下去将来怎么嫁人呢。

     多个js工程师一起开发项目,不能用一个js文件,不好管理,又不能用多个js文件,因为页面连多个js文件会变慢,应该怎么办,

用于模块化加载的RequireJS 和 SeaJS 则是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更简单自然。     模块加载器一般可降级为文件加载器用,因此使用 RequireJS 和 SeaJS,也可以达成 LABjs 的性能优化目的。RequireJS 和 SeaJS 都是很不错的模块加载器,两者区别如下:

1. 两者定位有差异。RequireJS 想成为浏览器端的模块加载器,同时也想成为 Rhino / Node 等环境的模块加载器。SeaJS 则专注于 Web 浏览器端,同时通过 Node 扩展的方式可以很方便跑在 Node 服务器端

2. 两者遵循的标准有差异。RequireJS 遵循的是 AMD(异步模块定义)规范,SeaJS 遵循的是 CMD (通用模块定义)规范。规范的不同,导致了两者 API 的不同。SeaJS 更简洁优雅,更贴近 CommonJS Modules/1.1 和 Node Modules 规范。

3. 两者社区理念有差异。RequireJS 在尝试让第三方类库修改自身来支持 RequireJS,目前只有少数社区采纳。SeaJS 不强推,而采用自主封装的方式来“海纳百川”,目前已有较成熟的封装策略。

4. 两者代码质量有差异。RequireJS 是没有明显的 bug,SeaJS 是明显没有 bug。

 

     
      zip压缩文件听说过,GZIP对我可是新鲜词儿,这个世界好复杂,压缩是无处不在的,哈哈。
 
      GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。
       HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的。
 
    吼吼,顺便把LINUX的解压缩默写一遍,省的自己下次忘记,
    tar -xvsf  xxxx.gz
    本想说这么多LINUX命令,我这脑子得背到猴年去,但是一想确实快到猴年了,心里一惊,争取猴年来临之前都背下吧,周末去大悲院拜拜神仙,哈哈。