我有一个Rails问题.
如何在控制器操作中获取控制器操作的名称?
例如,而不是
def create
logger.info("create")
end
Run Code Online (Sandbox Code Playgroud)
我想写点类似的东西
def create
logger.info(this_def_name)
end
Run Code Online (Sandbox Code Playgroud)
有什么方法可以获得this_def_name?
它不会更接近:
n * (n - 1) / 2
以上公式是这个中学数学团队问题的答案:
"你在一个房间里有n个人,他们都和其他人握手.发生了多少次握手?"
这也不适用于在软件项目中进行通信的人数吗?
放弃
我还没有读过这本书,但我已经看过n^2其他地方引用的公式.
我用SimpleTest对一些PHP代码进行单元测试,但我遇到了麻烦.在我对数据库类的测试中,我希望能够为PHP mysql函数设置期望.在我的mail函数包装类的测试中,我想模拟PHPs mail函数.这只是一些例子.
关键是:我不(总是)想测试我的Mail类是否发送电子邮件,我想测试它如何调用该mail函数.我希望能够控制这些函数返回的内容.我希望能够测试我的数据库类,而不需要数据库,灯具和那么多.
我有一些测试Ruby代码的经验,而Test :: Unit和RSpec使得单独测试代码变得非常容易.我是测试PHP的新手,感觉我测试的内容比我需要的要多得多,以便让我的测试通过.
在SimpleTest或PhpUnit或其他一些测试框架中是否有办法使这成为可能或更容易?
我有一个公共程序集/项目,它有一个抽象基类,然后是几个我想公开给其他程序集的派生类.
我不希望抽象基类出现在Intellisense中的这些其他程序集中,所以我想我会成功internal,但是我得到了这个错误:
可访问性不一致:基类"设置"比"IrcSettings"类更难访问....
我真的不明白.我被迫制作抽象Settings类public,因此在这个程序集之外可见.
我怎样才能成为这门课internal呢?
我正在使用SQL Server 2008.我应该能够"连接"到用户指定的数据库文件(mdf)(使用连接字符串的AttachDbFilename部分)并保存所选文件的副本.我还必须处理数据库的内容.
如果我做对了,一个mdf文件代表一个包含表,存储过程等的完整数据库.但是,如果我在不同文件夹中有两个同名文件(一个在SQL Server的DATA文件夹中,另一个在C :)的根,我尝试在C下加载文件:我收到一条错误,指出已存在具有该名称的数据库.
我在C:下重命名了该文件,但现在我收到一个错误:
"尝试打开或创建物理文件'C:/myDatabaseFile_log.ldf'时,CREATE FILE遇到操作系统错误5(无法检索此错误的文本.原因:15105).无法打开新数据库'C:/MYDATABASEFILE.MDF '.CREATE DATABASE被中止.尝试为文件'C:/myDatabaseFile.mdf'附加一个自动命名的数据库失败.存在一个同名的数据库或指定的文件无法打开,或者它位于UNC共享上."
请注意:我正在尝试打开数据库而不是尝试创建它.
那么我做错了什么?我误解了什么吗?这些数据库文件如何工作(我的意思是,如何使用它们)?
简单的问题,但我无法在任何地方找到答案:是Active Directory事务感知?
换句话说,将回滚以下更改(因为我没有调用scope.Complete()):
using (var scope = new TransactionScope())
{
DirectoryEntry entry = ...;
entry.Properties["givenName"].Value = "New Given Name";
entry.CommitChanges();
}
Run Code Online (Sandbox Code Playgroud)
如果没有,是否有可能以某种方式启用它?现在我有代码执行数据库更新和相应的AD更新,如果它们以某种方式失败,我有AD更新的补偿逻辑.这种解决方案远非最佳.
亲切的问候,罗纳德威尔登伯格
我一直在努力解决这个问题,似乎无法弄明白......
我有一个BlogPost类,它有一个集合Comments,每个注释都有一个DatePosted字段.
我需要做的是查询a BlogPost并使用部分加载的Comments集合返回它,比如2009年8月1日发布的所有评论.
我有这个问题:
BlogPost post = session.CreateCriteria<BlogPost>()
.Add(Restrictions.Eq("Id", 1))
.CreateAlias("Comments", "c")
.Add(Restrictions.Eq("c.DatePosted", new DateTime(2009, 8, 1)))
.UniqueResult<BlogPost>();
Run Code Online (Sandbox Code Playgroud)
当我运行此查询并检查生成的sql时,它首先针对BlogPost表运行查询,加入Comment具有正确日期限制的表,然后在Comment返回所有内容的表上运行第二个查询.
结果是完全填满了班级的Comments集合BlogPost!
我究竟做错了什么?
如果有人需要更多信息,我有代码示例......!
我试图更好地理解为什么这个查询优化是如此重要(超过100倍),所以我可以重用其他查询类似的逻辑.
使用MySQL 4.1 - 在所有查询和结果时间可以一致地再现之前,重置QUERY CACHE和FLUSH TABLES.在EXPLAIN上,对我来说唯一明显的事情是在JOIN期间只需要找到5行?但这是速度的全部答案吗?两个查询都使用部分索引(forum_stickies)来确定已删除的主题状态(topic_status = 0)
使用EXPLAIN进行更深入分析的屏幕截图
慢查询:0.7+秒(缓存清除)
SELECT SQL_NO_CACHE forum_id, topic_id FROM bb_topics
WHERE topic_last_post_id IN
(SELECT SQL_NO_CACHE MAX (topic_last_post_id) AS topic_last_post_id
FROM bb_topics WHERE topic_status=0 GROUP BY forum_id)
Run Code Online (Sandbox Code Playgroud)
快速查询:0.004秒或更短(缓存清除)
SELECT SQL_NO_CACHE forum_id, topic_id FROM bb_topics AS s1
JOIN
(SELECT SQL_NO_CACHE MAX(topic_last_post_id) AS topic_last_post_id
FROM bb_topics WHERE topic_status=0 GROUP BY forum_id) AS s2
ON s1.topic_last_post_id=s2.topic_last_post_id
Run Code Online (Sandbox Code Playgroud)
请注意,最重要的列(topic_last_post_id)上没有索引,但无法帮助(无论如何都会存储结果以供重复使用).
答案只是因为第一个查询必须扫描topic_last_post_idTWICE,第二次将结果与子查询匹配?如果是这样,为什么它会指数速度变慢?
(不太重要我很好奇为什么第一个查询仍然需要这么长时间,如果我确实做了一个索引topic_last_post_id)
我正在为一系列网站制定计划,这些网站将在其中共享用户帐户信息.这个想法是,一旦用户使用他们的OpenID登录,他们就可以访问任何网站,并且知道他们是谁.
我可以采用哪些常见模式/最佳实践来实现这一目标?
我正在研究一个实验室项目的应用程序,我正在用C#编写它.它应该从我们用来运行测试的应用程序导出的文本文件中导入结果,到目前为止,我遇到了障碍.
我已经得到程序来保存大约250个十进制值作为一维数组,但后来我试图让数组本身能够保存在SQL数据库中,以便我以后可以检索数组并使用小数用于构建点的图的值.
我需要将整个数组作为单个值导入到数据库中,因为实验室项目有几个样本,每个样本都有自己的250个左右的小数点(也将作为数组存储)
谢谢你的帮助.
编辑:感谢您的快速回复,伙计们但问题是它不仅仅来自只有1次测试的样本.每个样本本身都进行相同的测试,不同的分贝水平超过15次.每个测试都有自己的250个结果,我们有很多标本.
此外,样本已经分配了一个唯一的ID,它将被存储为String而不是Int.我正在计划做的是在每个样本的DB中有一个单独的表,并且每行包含测试的分贝级别的信息并存储序列化的数组...
我认为这样可行,因为我们不需要直接从数据库中访问数据中的各个点; 我只是使用数据库来存储数据内存,因为它有很多.我将查询数据库中的数组和其他信息,然后使用zedgraph绘制数组中的点并同时比较多个样本.
c# ×3
.net ×2
algorithm ×1
arrays ×1
asp.net-mvc ×1
function ×1
inheritance ×1
mocking ×1
msdtc ×1
mysql ×1
nhibernate ×1
openid ×1
php ×1
sdlc ×1
simpletest ×1
sql ×1
sql-server ×1
transactions ×1
unit-testing ×1