- 浏览: 14859 次
- 性别:
- 来自: 忘记
最近访客 更多访客>>
最新评论
-
qichunren:
能说明一点吗?rails中的active record的事务我 ...
rails tip 1 -
Hooopo:
哇咔咔////////////不会的,点“ruby代码”旁边的 ...
ruby沉思录(2) -
easylife:
引用这代码居然不排版..........很难看的如果加上cod ...
ruby沉思录(2) -
Hooopo:
这代码居然不排版..........很难看的
begin
...
ruby沉思录(2) -
samsam:
night_stalker 写道用C超简单,问题是Ruby慢太 ...
发现一个可以使用ruby提交的acm网站
文章列表
1 代码里的坏味道
0 重复代码
1 类太大
2 参数太多
3 发散型变化
比如:“嗯,每次得到一个新数据我都要修改这三个方法。“
4 霰弹型修改(平行继承体系)
每次对某类修改时,都要修改其他类
5 特性依赖
某个方法似乎更对另一个类(而不是本身所在的)类更感兴趣
6 数据泥团
有些数据总是同进同出
最基本原则就是把一起变化的东西放在一起
7 基本类型偏执
8 case 语句
试着使用多态
9 废弃代码,过度设计
10 临时字段
数据库里有些字段很少使用,某个实例变量只在特殊情况下使用
...
1 在你觉得需要写注释的时候写注释:
首先你需要为方法,类或者模块起个简单易懂的名字
如果必须通读一个方法的代码才能了解它做什么,那么开发人员先要投入大量时间和精力才能使用它。反过来说:只需要短短几行 ...
1 所有内容都在本地
便宜快速的本地分支
因为是本地的所以是分散的
2 git 很省空间
git 很快
3 缓冲区功能
4 github
git flow
一些版本控制系统把工作目录称为工作拷贝。git新手经常会混淆git中的版本库和工作目录树。因 ...
即使冒着被板砖砸飞的风险,我也要说:
Object-Oriented Analysis and Design with Applications (3rd Edition)
对于ruby程序员(也许再加上使用敏捷的团队)并不实用
让我稍微借鉴某位名人说的话来评论这本书:
书分两种,一种是写的尽量简单,并且没有明显问题,另一种是写的尽量复杂,并且没有明显问题
本书属于后者,不值回书价
买之前在china-pub看书评,虽然有几条不和谐的评论(如现在的我),但是大多数还是好的。现在再看那些书评,莫非是书托,而且是官方的书托?
顺便看了a ...
controller测试
1 看一个普通,基本的用户请求是否能引发预计的ActiveRecord正常工作,需要的数据是否传给了view
2 检测controller是否能够适当地处理不合格式的请求
3 检测权限系统是否正常工作,比如一个用户请求了登录或者 ...
环境 2.2.2
call_back 中的操作和相应的action 是在同一个数据库事务下的。
一个save 及类似指令将会发起一个事务,如果rails 检测到某个model 对象中的全部属性并无改变(参阅rails 中的dirty objects),那么至少在development 的环境下,save 指令将不执行,事务仍然发起,像这样:
begin
commit
- 2009-08-03 13:39
- 浏览 804
- 评论(1)
begin
# raise "fine"
# raise ArgumentError, "ok"
# raise SignalException
exit
rescue => e
p "cool"
p e.message
end
p "cool"
=begin
begin
exit
rescue Exception
p "fine"
end
p "cool"
=end
- 2009-07-29 12:31
- 浏览 975
- 评论(3)
$answers = [[["an elephent", true]]]
$stack = []
def input
gets.chomp
end
# convert_answer_to_question
def c_a_t_q(key)
"Is it a/an #{key}? (y or n)"
end
def agent_answer
case gets.chomp
when "y"
true
when "n"
false
else ...
- 2009-07-29 11:49
- 浏览 895
- 评论(0)
module A
def fine
p "cool"
end
def right
p "hello"
fine
p "ok"
end
end
class B
include A
def fine
p "world"
end
end
B.new.right
- 2009-07-26 10:38
- 浏览 826
- 评论(0)
-- 差距很大,前一版本有很多冗余逻辑
#! /usr/bin/ruby
require ' rexml/document '
doc = REXML::Document.new "<gedcom/>"
stack = [doc.root]
ARGF.each_line do |line|
next if line =~ /^\s*$/
# parse line
line =~ /^\s*([0-9]+)\s+(@\S+@|\S+)(\s(.*))?$/ or raise "Invalid GEDCOM"
...
- 2009-07-22 12:09
- 浏览 704
- 评论(0)
Answer to "GEDCOM Parser" version 1
require "rexml/document"
include REXML
Global_pattern = /\S+/
Id_pattern = /\@(.*)\@/
Tag_pattern = /[A-Z]{3,4}/
doc = node = Document.new
previous_level = -1
def convert_to_node(doc, line)
cool = line.scan(Global_pattern)
if ...
- 2009-07-22 10:28
- 浏览 760
- 评论(0)
Best of Ruby Quiz quiz 01: Mad Libs
results = {}
pattern = /\(\(([^:]*?)\)\)/
=begin
string = "Our favorite language is ((gem:a gemstone)). We think ((gem)) is ((gem01:a gemstone01))\
better than ((a gemstone))."
=end
string = "I had a ((an adjective)) sandwich for lunch today. ...
- 2009-07-17 16:23
- 浏览 982
- 评论(0)
当create失败 render :action=> "new" 时,用的是create action的模板,不是使用 new action 的模板
- 2009-05-14 11:01
- 浏览 729
- 评论(0)
https://www.spoj.pl/
不仅能使用ruby,还可以使用python/perl/lisp等几乎你能叫得出名的编程语言进行提交
缺点:
1 每个语言的版本都低了些,ruby是1.8.5
2 题库的题少了些。对于初学者来说足够了
逆向翻译 原文地址:http://www.infoq.com/cn/news/2008/07/rubykaigi
This is the second part news about RubyKaigi 2008 from InfoQ, to see the first part in http://www.infoq.com/news/2008/07/rubykaigi-interview-with-matz
Ruby standardization
Yukihiro "Matz" Matsumoto put his mind of standardization ...
- 2008-07-16 09:44
- 浏览 1099
- 评论(0)