0%

1)一句话启动http server

1
ruby -rwebrick -e "WEBrick::HTTPServer.new(:DocumentRoot => './', :Port => 8080).start"

2)解决maven下,运行mvn test时出现乱码的问题

1
2
3
4
5
6
7
8
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>once</forkMode>
<argLine>-Dfile.encoding=UTF-8</argLine>
</configuration>
</plugin>

3)禁止#to_json方法对中文的escape

1
something.to_json.gsub(/\\u([0-9a-z]{4})/){|s| [$1.to_i(16)].pack("U")}

4)在windows下使用vundle

1
2
3
4
5
6
7
if has("win16") || has("win32") || has("win64")
set rtp+=$VIM\vimfiles\bundle\vundle
call vundle#rc('$VIM\vimfiles\bundle')
else
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
endif

4)一个比较好看的bash的显示方式

bash中路径太长的话看起来实在是很不舒服,把下面这段代码添加到.bashrc里面试试

1
2
export PS1='%{$fg[magenta]%}%(?..%?%1v )%n%{$reset_color%}@%{$fg[green]%}%m%{$reset_color%} %{$fg[cyan]%}%c%{$reset_color%} ${vcs_info_msg_0_}%# 
$ '

5)一个小知识

  • 日本企业的职称顺序(参考):(会長>)(副会長>)社長>専務>常務>部長>(次長>)課長>係長>平社員。(括号表示并非所有公司都有同样职位)
  • 台湾企业的职称次序(参考):董事长(>执行长)>总经理>副总经理>协理(>襄理)>经理>副经理>课长>副课长>组长>副组长。

###Befor work

1)在Gemfile中添加如下代码

1
2
3
4
group :test do
gem 'rspec'
gem 'capybara'
end

2)在Rakefile中添加如下代码

1
2
3
4
5
6
7
require 'rspec/core/rake_task'
desc "Run specs"
task :spec do
RSpec::Core::RakeTask.new(:spec) do |t|
t.pattern = './spec/**/*_spec.rb'
end
end

3)在/ROOT/spec文件夹下的spec_helper.rb文件中添加如下代码

1
2
3
require 'rspec'
require 'capybara/rspec'
require 'rack/test'

做完以上步骤后就可以进行测试代码了

###Test

1)测试功能

在/ROOT/spec文件夹中添加lib_helper.rb文件,里面中添加如下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
require File.dirname(__FILE__) + '/spec_helper'
$LOAD_PATH.unshift(File.dirname(__FILE__) + '/../lib')
require 'lib'

describe Lib do
before(:each) do
@lib = Lib.new
end

it "test name" do
@lib.name = "test name"
@lib.name.should == 'test name'
end
end

2)测试页面动作

在/ROOT/spec文件夹中添加root_helper.rb文件,里面中添加如下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
require File.dirname(__FILE__) + '/spec_helper'
# 加载sinatra app
require File.join(File.dirname(__FILE__), '..', 'app.rb')

# 采用模块化的方式
Capybara.app = App.new

# 采用传统的方式
Capybara.app = Sinatra::Application.new

feature Root do
context 'login' do
it 'success' do
visit '/login'
within("#login") do
fill_in 'name', :with => 'admin'
fill_in 'password', :with => 'password'
end
click_button 'Login'
current_path.should == '/'
page.should have_content 'Login success'
end
end
end

3)在命令行中运行rake spec

####Read more

在偶然的一次资料查询中找到了几个好看的字体,「M+とIPAフォントの合成フォント」,拿来显示代码效果非常不错,推荐给各位使用。

Tips:在Linux中安装字体

在Windows跟Mac OS X下安装字体是在是太方便了,直接把字体文件弄到“Font”文件夹下就行了,下面则是介绍在Linux中安装字体的方法

安装字体支持

1
sudo apt-get install fontforge -y

创建字体文件夹

1
mkdir ~/.fonts

把字体文件移动到~/.fonts文件夹中,刷新系统字体缓存

1
fc-cache -vf

Done.

最近发现,如果是一个轻量级的项目的话使用MongoDB数据库会比用sqlite3来的更方便,下面就来介绍一下如何在rails中使用MongoDB

阅读全文 »

该系列是用来记录最近学到的琐碎的东西。

1)解决在rails或sinatra中出现的OpenSSL::SSL::SSLError错误

比如想要调用twitter的api得到auth授权的时候,会出现这个错误

1
OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed)

解决方法是,在需要的代码(比如config/initializers/devise.rb)中加上如下代码

1
2
3
4
5
6
7
8
require 'openssl'

module OpenSSL
module SSL
remove_const :VERIFY_PEER
end
end
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
阅读全文 »

这篇文章写的是怎样在ubuntu下快速安装ruby on rails环境。

###1. 初始化设置

####1)修改源列表

因为本地的源列表不一定全,因此为了下一步着想还是先去看看源列表的好,或者可以换一个速度快的镜像地址。
每个版本的源列表都不一样在这里就不贴出来了。

之后记得运行

1
2
sudo apt-get update
sudo apt-get upgrade

####2)设置语言包以及时区

1
2
sudo locale-gen --lang zh_CN.UTF-8
sudo dpkg-reconfigure tzdata
阅读全文 »

面对越来越凶残的某个东西,你自己动手丰衣足食,赶快行动吧骚年

###1)安装必备的包###

1
sudo apt-get install curl libcurl3 libcurl3-dev

###2)安装php运行环境###

1
sudo apt-get install php5-cli php5-cgi php5-curl spawn-fcgi

之后到/etc/php5/cgi/php.ini文件中修改两配置

1
2
cgi.fix_pathinfo=1
doc_root= #(这个是自己添加的)

###3)安装nginx###

1
sudo apt-get install nginx
阅读全文 »

为了方便往系统中导入数据,这次不用ruby代码而是写成一个rake任务,直接使用ActiveRecord来做这个工作。

不过非常悲催的遇到了些问题,解决方法如下:

1)无法直接使用models文件夹下的model类,因此需要require要操作的类。
如果是在rake中调用外部类实现这个功能的话,还需要在外部类里面加上

1
$LOAD_PATH.unshift("#{Rails.root}/app/models")

2)对于ActiveRecord::ConnectionNotEstablished这个错误的,需要自己加上

1
ActiveRecord::Base.establish_connection(Rails.application.config.database_configuration[Rails.env || 'development'])