鼓掌!
git+U 盘,每次只要复制更新的
http://roynotes.com/blog/gitbox/ 把文章的 Dropbox 目录换成 U 盘目录即可
加上 encoding 貌似不报错了,但还是不行
require 'mechanize'
agent = Mechanize.new
page = agent.get('http://finance.sina.com.cn/oldnews/2012-03-09.html')
page.encoding = 'gb2312'
page.links.each do |link|
puts link.text
end
可以尝试换个 html parse
正则行吗?
简单版:year =~ /^\d+$/
文件查找那一块不知道可以改成 Dir['**/*.txt']
不?
OO呢?
#2 楼 @tech_blogbin 觉得没有必要再引入一个 gem 了,需要优化的话可以自己再简单封装
在磁盘是主要瓶颈的今天,项目引入 gem 数量直接影响 rails 的启动直接,启动慢开发时不爽
这个方法好,谢谢分享了
盛大云引擎 http://www.grandcloud.cn/product/ae 现在是免费的,基于 CloudFoundry,貌似现在不支持绑定域名
是啊,感觉好奇怪,不知道是不是花在方法查找上去了 不过创建对象的时间到时一样的
require 'benchmark'
class Mimmy
def hi
'mimmy'
end
end
class Kitty
def self.define_hi
puts 'hi kitty'
define_method :hi do
'kitty'
end
end
define_hi
end
3.times do
puts Benchmark.measure { 1000000.times {Kitty.new} }
puts Benchmark.measure { 1000000.times {Mimmy.new} }
end
puts "*"*30
3.times do
puts Benchmark.measure { 1000000.times {Kitty.new.hi} }
puts Benchmark.measure { 1000000.times {Mimmy.new.hi} }
end
运行结果
hi kitty
0.580000 0.000000 0.580000 ( 0.586829)
0.480000 0.000000 0.480000 ( 0.497991)
0.490000 0.000000 0.490000 ( 0.497683)
0.490000 0.000000 0.490000 ( 0.501469)
0.490000 0.000000 0.490000 ( 0.505061)
0.500000 0.000000 0.500000 ( 0.504393)
******************************
0.490000 0.000000 0.490000 ( 0.497051)
0.600000 0.000000 0.600000 ( 0.657138)
0.500000 0.000000 0.500000 ( 0.522111)
0.490000 0.000000 0.490000 ( 0.510200)
0.490000 0.000000 0.490000 ( 0.512266)
0.490000 0.000000 0.490000 ( 0.506171)
[outman@outman-desktop tmp]$ ruby kitty.rb
hi kitty
0.590000 0.000000 0.590000 ( 0.628322)
0.490000 0.000000 0.490000 ( 0.508545)
0.500000 0.000000 0.500000 ( 0.507284)
0.490000 0.000000 0.490000 ( 0.505821)
0.490000 0.000000 0.490000 ( 0.519993)
0.530000 0.000000 0.530000 ( 0.571263)
******************************
1.520000 0.000000 1.520000 ( 1.554227)
0.780000 0.000000 0.780000 ( 0.807944)
1.500000 0.010000 1.510000 ( 1.544104)
0.800000 0.000000 0.800000 ( 0.813888)
1.300000 0.000000 1.300000 ( 1.322703)
0.790000 0.000000 0.790000 ( 0.802711)
一周四个工作日
双手协调就行了,按 ctrl+shift 与按字母不要用同一只手
inverse_of 这么高级的参数也用上了?英文不行,看了半天也不看懂参数是啥意思,有人能解释一下吗?
#12 楼 @help5305fff 哈哈 at 错人了 没头像,不仔细看就搞错了
#1 楼 @southwolf 这个只能破解简单的验证码,复杂的验证码需要自己去色之类的 京东商品价格是因为不能加入太多干扰,怕影响到用户正常查看价格
before_filter :find_user, :only => [:a,:b,:c,:d]
before_filter :check_permission, :only => [:c,:d]
不知道这样写符合你的业务逻辑不
一个方法只做一件事,且仅仅只做一件事,使一个方法成为最小的一个单元。 http://yunshuisuiyuan.iteye.com/blog/1561179
如果你需要检测权限,find_user 这个方法名不是一个很好的选择,从 find_user 意思来说,它的职责只是用来查找一个用户,给之后的 action 用. 用两个过滤器,过滤器是按写的顺序执行的。你可以先写一个过滤器查找用户,再写一个过滤器检查权限。
权限检查可以参考 typo 博客,个人觉得很不错https://github.com/fdv/typo/blob/master/vendor/plugins/typo_login_system/lib/login_system.rb current_user 方法拿到当前登录用户 logged_in?检测是否登录 login_required 提供给过滤器使用,没有登录的用户跳转到登录页面
没有用过 PHP 开发过项目,不过用 JAVA 开发过项目,项目代码量稍微多一些,各种混乱,当一个项目经过三四道离职人员的手后,你就会明白,rails 是有多么的好
斯坦福大学公开课:<编程方法学> 提到一个概念,"信息隐藏", 使用微波炉你不需要知道微波炉是怎么动作的,只需要知道怎么使用它。把需要加热的东西放进去,调节好温度,再按启动就行了 编程也一样
事实上我的第一个应用用脚手架生成的,一个简单的门店报表系统,现在都还在使用中 https://github.com/mangege/peng rails 包含的概念太多了,没有编程经验是很难理解的,如果有其它语言的经验,就很容易多了. 比如像 MVC,RESTful, 这些概念在 JAVA WEB 开发都是一些基本概念
ruby 的灵活不是 java 能比的,yield block 和 method alias 能够很方便的元编程,不需要像 java 那样分层,最后用 AOP 统一处理
既然是 rails2,那最好用 ruby 1.8.7,就不会有这个编码问题了
直接跑 thin? 没有反向代理?
一般的 http 服务器都可以配置限制 post body 的大小,超过大小还没有到应用服务器就直接返回错误
这样要求就相当于要一个 Ruby VM 同时存在两个不同的 A 类
你可以在 http://open.taobao.com/doc/detail.htm?id=118#s5 网页搜索"re_expires_in",坑爹的演示,Refresh token 过期时间为 10 秒,你看一下你的应用的返回结果是多少?也许需要手动申请加长时间
另外,不同的 API 文档里有提到过期时间不一样 http://open.taobao.com/doc/detail.htm?id=1002 ,可以加网页里面的旺旺群问问
盛大云引擎 什么时候开放的?这么好的东西,这么 ruby 部署也能和 php 部署一样简单
#11 楼 @jiyinyiyong 此文章有详细说明 http://www.worldhello.net/2010/11/30/2166.html
当执行 "git reset HEAD" 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。 当执行 "git rm --cached " 命令时,会直接从暂存区删除文件,工作区则不做出改变。 当执行 "git checkout ." 或者 "git checkout -- " 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。 当执行 "git checkout HEAD ." 或者 "git checkout HEAD " 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改 动。
#6 楼 @jiyinyiyong 其它的意图我到是没有领悟到,觉得它主要用来方便命令行下选择性提交文件
比如你同时修改了 a,b 两个文件,但你只想提交 a 文件的修改,那么 git add 时只添加 a 文件git add a
,而不是添加修改过的文件git add .
没有暂存区时的话,是不是在 commit 时选择文件,那么多不方便