我对rails和TDD都很陌生(毫无疑问,从我的帖子中可以看出这一点)并且很难将我的大脑包裹在Rspec和FactoryGirl周围.
我正在使用Rails 3,rspec和工厂女孩:
gem 'rails', '3.0.3'
# ...
gem 'rspec-rails', '~>2.4.0'
gem 'factory_girl_rails'
Run Code Online (Sandbox Code Playgroud)
我有一个用户模型,我在开发过程中已成功运行测试,但随后需要添加一个名为"source"的属性.它用于确定用户记录最初来自何处(本地与LDAP).
在我的factories.rb文件中,我定义了几个工厂,看起来如下所示:
# An alumnus account tied to LDAP
Factory.define :alumnus, :class => User do |f|
f.first_name "Mickey"
f.last_name "Mouse"
f.username "mickeymouse"
f.password "strongpassword"
f.source "directory"
end
Run Code Online (Sandbox Code Playgroud)
我有一个宏定义(直到现在一直在工作),看起来像这样:
def login(user)
before(:each) do
sign_out :user
sign_in Factory.create(user)
end
end
Run Code Online (Sandbox Code Playgroud)
我在多个规范中调用它(例如来自users_controller_spec.rb):
describe "for non-admins or managers" do
login(:alumnus)
it "should deny access" do
get :index
response.should redirect_to(destroy_user_session_path)
end
end
Run Code Online (Sandbox Code Playgroud)
如果我没有指定"source"属性,一切正常,但是一旦我这样做,运行测试时会出现类似的错误
12) UsersController for non-admins or managers should deny access …Run Code Online (Sandbox Code Playgroud) 我有一个用python 2.6编写的程序,它创建了大量的短期实例(这是一个典型的生产者 - 消费者问题).我注意到top和pmap报告的内存使用情况似乎在创建这些实例时会增加,并且永远不会再次下降.我担心我使用的一些python模块可能会泄漏内存,所以我仔细隔离了代码中的问题.然后我开始尽可能简短地再现它.我想出了这个:
class LeaksMemory(list):
timesDelCalled = 0
def __del__(self):
LeaksMemory.timesDelCalled +=1
def leakSomeMemory():
l = []
for i in range(0,500000):
ml = LeaksMemory()
ml.append(float(i))
ml.append(float(i*2))
ml.append(float(i*3))
l.append(ml)
import gc
import os
leakSomeMemory()
print("__del__ was called " + str(LeaksMemory.timesDelCalled) + " times")
print(str(gc.collect()) +" objects collected")
print("__del__ was called " + str(LeaksMemory.timesDelCalled) + " times")
print(str(os.getpid()) + " : check memory usage with pmap or top")
Run Code Online (Sandbox Code Playgroud)
如果你用'python2.6 -i memoryleak.py'这样运行它会停止,你可以使用pmap -x PID来检查内存使用情况.我添加了del方法,以便我可以验证GC是否正在发生.它不在我的实际程序中,似乎没有任何功能差异.每次调用leakSomeMemory()都会增加此程序消耗的内存量.我担心我会犯一些简单的错误,并且引用被意外保留,但无法识别它.
有没有办法在sqlserver中的数据字符串的开头放置非打印或非突出字符.这样当执行order by时,字符串按字母顺序排在字母z之后?
我在字符串的开头使用了一个空格来获取排序列表顶部的字符串,但我希望做一些类似的事情,在列表的末尾放一个字符串.
我宁愿不在表中添加另一个字段如"SortOrder"来用于排序,我宁愿不必在我的代码中对列表进行排序.
补充:是的我知道这是一个坏主意,感谢所有人提到它,但仍然,我很好奇我能提出的问题是什么
我有一些使用的sql脚本
INSERT INTO secondtable
(field, field1)
SELECT field, field2
FROM table;
Run Code Online (Sandbox Code Playgroud)
我使用oracle 9.x和sqldevelopper.
当我启动它们时,在某些插入上选择我得到外键错误.所以他们没有插入那些工作的人.
当错误出现并且可能显示或记录错误时,是否可以说oracle继续相同?
自昨天站在超市的销售点以来,再一次试图在试图忽略我身后不耐烦和紧张的队列的同时试图找到我的硬币的最佳分区时,我一直在思考潜在的算法问题:
给定一个值为v 1,...,v n的硬币系统,有限的硬币库存a 1,...,a n和我们需要支付的金额.我们正在寻找一种算法来计算分区x 1,...,x n(0 <= x i <= a i)x 1*v 1 + x 2*v 2 + ... + x n*v n > = s使得和x 1 + ... + x n -R(r)最大化,其中r是变化,即r = x 1*v 1 + x 2*v 2 +. .. + x n*v n - s和R(r)是从收银员返回的硬币数量.我们假设出纳员拥有无限量的所有硬币并且总是返回最小数量的硬币(例如使用SCHOENING等人中解释的贪婪算法).我们还需要确保没有钱的变化,所以最好的解决方案不是简单地给所有的钱(因为在这种情况下解决方案总是最优的).
感谢您的创意投入!
在extjs中,如果我有这样的网格定义:
xtype: 'grid',
store: 'someStore',
flex: 1,
frame: true,
loadMask: true,
titleCollapse: true,
cls: 'vline-on',
ref: '../someGrid',
id: 'someGrid',
columns: [
{
xtype: 'gridcolumn',
header: 'ID',
dataIndex: 'someID',
sortable: true,
width: 100
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将一些格式应用于此列?例如,这个字段是一个数字,如果我想设置小数精度..我可以这样做吗?或者在我的java文件中加载商店时是否需要应用格式?我的猜测是后者?
我有一个超链接的图像.单击图像后,如何从服务器端访问"searchRedirect"函数以进行重定向?
<input id="textSearch" runat="server" name="textSearch" type="text" />
<asp:HyperLink id="searchButton" runat="server">
<img alt="" src="images/SearchButton.png"/>
</asp:HyperLink>
protected void searchRedirect()
{
Response.Redirect("/NewProject/Home/?searchString=" + textSearch.Value;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试确定ac#ulong数字中的位数,我试图使用一些数学逻辑而不是使用ToString().长度.我没有对这两种方法进行基准测试,但已经看到有关使用System.Math.Floor(System.Math.Log10(number))+ 1来确定位数的其他帖子.似乎工作正常,直到我从999999999999997过渡到999999999999998,此时,我开始得到一个不正确的计数.
有没有人遇到过这个问题?
我看过类似帖子的Java重点@ 为什么log(1000)/ log(10)与log10(1000)不一样?还有一个帖子@ 如何获取一个int数字的单独数字?这表明我如何使用%运算符实现相同的功能,但代码更多
这是我用来模拟这个的代码
Action<ulong> displayInfo = number =>
Console.WriteLine("{0,-20} {1,-20} {2,-20} {3,-20} {4,-20}",
number,
number.ToString().Length,
System.Math.Log10(number),
System.Math.Floor(System.Math.Log10(number)),
System.Math.Floor(System.Math.Log10(number)) + 1);
Array.ForEach(new ulong[] {
9U,
99U,
999U,
9999U,
99999U,
999999U,
9999999U,
99999999U,
999999999U,
9999999999U,
99999999999U,
999999999999U,
9999999999999U,
99999999999999U,
999999999999999U,
9999999999999999U,
99999999999999999U,
999999999999999999U,
9999999999999999999U}, displayInfo);
Array.ForEach(new ulong[] {
1U,
19U,
199U,
1999U,
19999U,
199999U,
1999999U,
19999999U,
199999999U,
1999999999U,
19999999999U,
199999999999U,
1999999999999U,
19999999999999U,
199999999999999U,
1999999999999999U,
19999999999999999U,
199999999999999999U,
1999999999999999999U
}, displayInfo);
Run Code Online (Sandbox Code Playgroud)
提前致谢
拍
如何在后面的代码中为sqlDatasource设置sql参数?我这样想:
int id=1;
SqlDataSource1.SelectCommand = "SELECT * FROM categ WHERE id=@id";
SqlDataSourceArticole.SelectParameters.Add("@id", id);
// and also like this:
SqlDataSourceArticole.SelectParameters.Add("id", id);
Run Code Online (Sandbox Code Playgroud)
但它不起作用?我究竟做错了什么?
我认为这与MS Access使用的相同,我认为它与MySQL和其他人使用的不一样.我需要SQL语言的这种特殊"种类"或"子集"的文档.