- 浏览: 413889 次
- 性别:
- 来自: 北京
-
最新评论
-
冯大圆__渐成胡子渣:
写得很详细,想请求一下,bundler install的时候设 ...
Rails Assets Pipeline -
DaSunWarman:
...
#!/usr/bin/env 脚本解释程序的作用 -
alexag:
...
javascript立即执行函数与函数声明和函数表达式 -
houxm:
你也可以使用更简单的方式(只要在元素上添加 data-togg ...
bootstrap 小tip -
jaycongwen:
帮我看看啊,我刚学wen@wen-desktop:~$ cd ...
cannot load such file -- openssl
文章列表
Assets Pipeline 有什么好处,不用会怎样
怎样禁止Assets Pipeline:
不用当然可以,你可以在config/application.rb中将它干掉:
config.assets.enabled = false
Assets Pipeline 好处:
...
本来一直都是用rails自带的webrick做本地开发的,但是自从ruby升级到1.9.3后,用rails3.2.5开发的时候,每次启动3000端口,运行程序后总是有一大堆的waring:
WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true,很是烦人。除此之外,每次一个简简单单的get请求都要很长时间才能反应过来,即在页面请求已经发出去了,但是你tail日志发现,日志要很长时间才会反映出来,这个过程大 ...
Ruby on Rails的部署方案基本上都是由两层结构组成,前端做请求的分发,后端以多个Ruby进程接受并处理请求,主要的差别便是其中的通讯协议,比如使用FastCGI 或者是HTTP.这里讨论的局限于一台服务器,所以我不称之为架构方案,而仅仅是部署配置方案。
前端的选择:
Apache
Apache功能十分强大,稳定性也十分好,是全球市场占有率最高的Web服务器。与它搭配的Rails部署方案也有很多,如:
Apache+mod_ruby:类似于mod_php、mod_python,将Ruby解释器作为一个模块加载到Apache中。(mod_ruby已经停止更 ...
正向代理:
正向代理,也就常说的代理,他的工作原理就像一个跳板。简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站
于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。
结论就是,正向代理,是一个位于客户端电脑和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
...
attr_protected、 attr_accessible 解析
1:为什么使用这两个方法:
我们提交一个表单,该表单中有一些不可以让用户提交的字段,例如‘激活(active)’字段、‘用户权限(purview)’字段,但是怀有恶意的用户可以模拟表单提交这些属性,可以随意的给自己权限,而我们控制器中的取得属性的代码是Account.new(params[:account]),这句代码,会接受所有的用户模拟提交的account下的信息,此时我们不希望发生的事情发生了,我们要防止这种情况的发生,可以使用以上两个方法。
2:方法解释:
attr_protected: ...
NewRelic
- 博客分类:
- ruby on rails
NewRelic是一家提供Rails性能监测服务的网站, NewRelic提供了不同级别的监测功能,免费的是Lite版本,最高有Gold版本.
New Relic工具有两种运行模式:
(1)Production 模式:当您的工程以生产模式运行时,您可以在rpm.newrelic.com 网站上实时对它进行监督。
(2)Developer模式:当您的工程以开发模式运行时,您可以在本地localhost:3000/newrelic网页上查看到性能分析数据。
New Relic工具安装步骤(默认Rails 3版本):
1. gem install newrelic_rpm
2. 在Gemfi ...
tmux
- 博客分类:
- tmux 常用快捷键
- 其他
tmux是GUN screen的替代品,它比screen有很多方便的地方,下面我就来数显tmux的使用方法,我用的是ubuntu,所以安装tmux直接利用apt-get install tmux就可以安装这个服务了,一个tmux服务可以开启多个session,一个session可以开多个窗口,一个窗口可以分多个子窗口,下面是一些常用方法:
tmux默认的前缀操作都是ctrl + b ,当然你也可以自己设置为更合适的键。我还是比较习惯默认的C + b 的,所以我没有进行快捷键设置。
tmux #开启tmux服务
tmux ls ...
声明:本文转载自http://ruanwz.github.com/2010/02/25/eigenclass.html
Ruby中对象的实例变量(instance_variable)是放在对象中,而对象的方法(instance_methods)则是放在对象的类里。我们可以在irb里用下面的命令来验证:
» “abc”.methods == String.instance_methods
=> true
在ruby里所有都是对象,因此String应该也是对象,下面的命令也应该返回true:
» String.methods == String.class.instance_metho ...
单例模块儿
- 博客分类:
- ruby on rails
#单例模块,存在的意义就是在模块被载入类时,给类添加类方法和创建对象实例等
module Singleton
#这个方法在模块被载入类时调用,传入的参数是 类对象
def self.included(base)
#这个操作把另一个模块直接添加到Class对象上。类对象上的方法就是类方法。尽管模块中的方法是模块的实例方法。
base.extend(SingletonClass); #让类对象引入另外一个模块:SingletonClass
puts("Singleton Include!");
#创建类的实例,然后把类的new方 ...
ubuntu 安装 nginx
下载nginx源码包(从http://wiki.nginx.org/NginxChs上)
编译nginx需要指定pcre,zlib,openssl,既然我的系统没有安装这些包,我也不安装deb的包了,直接运行
sudo apt-get install libssl-dev libepcre3 libepcre3-dev
然后也将nginx-0.6 ...
人民币升值,贬值,顺差,逆差,货币国际化
- 博客分类:
- 金融财经
顺差:100元进口原材料,加工后120卖出,中间赚20,这个20就是顺差。但是因为中国招商引资,把大量的外资引入到中国,这些企业当中有相当一部分再进行原材料加工再出口的贸易,即这20块的顺差里面,有相当一部分是让外资 ...
ruby super
- 博客分类:
- ruby Tip
ruby 中super和super()的区别
我们经常要在子类的initialize方法中调用super和super()。
从语法上说super和super()是有微妙区别的。
super不带括号表示调用父类的同名函数,并将本函数的所有参数传入父类的同名函数;
super()带括号则表示调用父类的同名函数,但是不传入任何参数;
演示代码如下:
class SParent
def initialize *args
args.each {|arg| puts arg}
end
end
class SChild < SPa ...
ruby 输入输出
- 博客分类:
- ruby on rails
Ruby提供了两种不同的I/O方法。
第一种就是我们一直在用的RUBY的内核模块中的gets,open, print, printf, putc, puts, readline, readlines, 以及test。做为一直以来都在使用的standard input和standard output,我就不多做解释了。只要说一句大家就明白了,上面的函数如果出现在C中,那么实现就和C的语法一样,如果出现在JAVA中,你就直接使用JAVA的写法去调用,完全OK。
第二种方法就要体现出Ruby自己的东西了:I/O对象。接下来,我们就来看一下I/O对象的几类。还是从我们最常用的一个子类开始吧:File。
...
ruby的动态性 回调和钩子方法
- 博客分类:
- ruby Tip
==回调方法和钩子方法
回调和钩子是相当常见的元编程技术。在Ruby程序运行过程中,当特定的事件发生时,将调用这些回调和钩子方法。特定事件是指:
* 调用一个不存的对象方法
* 类混含一个模块
* 定义类的子类
* 给类添加一个实例方法
* 给对象添加一个单例方法
* 引用一个不存在的常量
以上的每个事件,都可以编写一个回调方法,在该事件发生时,该回调方法被执行。这些回调方法是针对某个对象或某个类的,而不是全局的。
===method_missing
给对象调用一个方法,对象没有这个方法时,则会抛出NoMethodError异常,这时就可以使用method_missing来拦截。
class ...
Ruby动态特性 可调用对象
- 博客分类:
- ruby Tip
可调用对象:
可调用对象是一个对象,可以给该对象发送call消息,让它执行定义在其中(通常是在一个代码块中)的一些代码。Ruby中主要的可调用对象是方法、Proc对象和lambda。
Proc对象
用一个代码块来实例化Proc类,可以产生一个Proc对象。
pr = Proc.new {puts "Inside a Proc's block"}
这里的代码块是不是会马上执行,只是作为Proc对象的一个定义体保存了下来。如果要执行它,就要发送call消息给这个对象。
pr.call #Inside a Proc's block
作为闭包的Proc对象
首先我们应该清楚:方法 ...