- 浏览: 31337 次
- 性别:
- 来自: 北京
最新评论
文章列表
centos安装ruby
- 博客分类:
- ruby
curl -L get.rvm.io | bash -s stable
如果没有公钥匙之类 运行它提示的语句
然后source /etc/profile.d/rvm.sh
rvm install 2.2.1
完成
mechanize模拟登录与爬取数据
- 博客分类:
- 爬虫
(1)mechanize
gem install mechanize
(2)模拟浏览器行为
require "mechanize"
agent = Mechanize.new
agent.user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
# 获得一个page对象
page = agent.get("http:/xxxx ...
运行产品环境的时候需要运行如下命令
bundle exec rake assets:precompile RAILS_ENV=production
如果config/secrets.yml文件还是下面设置就会报错
secret_key_base :<%= ENV["SECRET_KEY_BASE"] %>
解决解决方法生成一个key来替换
rake secret RAILS_ENV=production 把产生的一串key替换掉<%= ENV["SECRET_KEY_BASE"] %>就ok
此文为全部转载,http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%96%87/30104.shtml
rails 4.0 -- production环境配置之解决无法加载css或js
最近配置production环境,找了好几份文档,从傻逼到苦逼~~终于配置成功~~@_@!!!
首先,先加载以下几个插件:
# use uglifier as compressor for javascript assets
gem 'uglifier', '>= 1.3.0'
# use coffeescript for .js .coff ...
使用Capistrano3.5.0部署项目
- 博客分类:
- ruby
(1)安装capstrano gem install capstrano# --version默认版本也行
(2)capfile .可以看到怎么初始化capistrano文档的命令,以及官方文档网址,大的版本信息
(3)cap install 这一步如果你是单独新建了一个文件夹会获得如下结构。
.
├── ...
go两种方式读取http.Request数据
- 博客分类:
- go
buf := new(bytes.Buffer)
buf.ReadFrom(r.Body)
fmt.Println(buf.String())
//第二种方式
res,_:=ioutil.ReadAll(r.Body)
fmt.Println(string(res))
go 安装package 命令
- 博客分类:
- go
go get 无法使用或者使用起来特别慢,使用gopm
(1)go get -u github.com/gpmgo/gopm
(2)gopm get -g package_name
-g 是直接放到你的全局GOPATH里
得go build
go 如何把结构体变成一个map
- 博客分类:
- go
https://github.com/fatih/structs
使用方式:
m:= structs.Map(server)
.Values()获取值
..
go处理protobuf文件
- 博客分类:
- go
protobuf提供两个包
(1)proto
(2)protoc-gen-go
前者负责处理处理protobuf的goprotocbuf编码、解码,后者作为编译器插件使用。
(1)使用方式
error:= proto.Unmarshal([]byte(media_request_str), &bidreq)负责把字符串流解析解码到一个结构体bidreq。如果有错,err不为nil
data, err := proto.Marshal(test)编码结构题
(2)使用
protoc --go_out=plugins=grpc:. *.proto会编译所有的pr ...
go语言搭建本地redis
- 博客分类:
- redis
使用包:https://github.com/go-redis/redis/tree/v3.2.29
使用方法:https://godoc.org/gopkg.in/redis.v3#pkg-examples
链接方法:redis.NewClient,里面有例子
这个包也满足集群的方式。
package lib
import (
"gopkg.in/redis.v3"
)
//no cluster
func NewRedisClient(host string, port string, password string) *redis.Client{
clie ...
ruby mock redismock
- 博客分类:
- ruby
stub 与mock之间的区别是,给接受者fake一个方法,并阻断原方法,参数可以是字符串、symbol,后者则是创建一个对象。https://ruby-china.org/topics/10977。后者创建一个对象
不仅仅方法,但基本可以直接用mock解决https://github.com/rspec/rspec-mocks#mock-objects-and-test-stubs
gem install rspec
gem install rspec-mocks
创建一个实例
book = instance_double("Book", :pages => 25 ...
使用两个包
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
github:https://github.com/onsi/ginkgo
文章:
http://onsi.github.io/ginkgo/#measuring-time
使用duck typing方式多
创建接口,放入不同的构造中,然后另建结构实现,返回自己想要的值,可以解决某些方法前置调用
func CallMethod(i interface{}, methodName string) interface{} {
var ptr reflect.Value
var value reflect.Value
var finalMethod reflect.Value
value = reflect.ValueOf(i)
// if we start with a pointer, we need to get value pointed to
// if we start with a value, we need to get a ...
type Box struct {
color Color
}
func (b *Box) SetColor(c Color) {
b.color = c
}
func (b Box) SetColor(c Color){
b.color = c
}
现在让我们回过头来看看SetColor这个method,它的receiver是一个指向Box的指针,是的,你可以使用*Box。想想为啥要使用指针而不是Box本身呢?
我们定义SetColor的真正目的是想改变这个Box的颜色,如果不传Box的指针,那么SetColor接受的其实是Box的一个copy,也就是说method内 ...
if r_index = $*.index("-r")
$*.delete_at(r_index)
$curr_rtb = $*.delete_at(r_index)
else
$curr_rtb = 'false'
end
ruby config/xxx.rb -r youku