问题列表 - 第45241页

这个操作安全吗?

这个操作安全吗?如果没有,为了做同样的事情,如何编写代码?

Set<Object> set;

......

for (Object o: set) {
    if (some_condition) {
        set.remove(o);
    }
}
Run Code Online (Sandbox Code Playgroud)

java containers iterator

2
推荐指数
1
解决办法
130
查看次数

为什么两个类,视图模型和域模型?

我知道将域模型用作视图模型可能会很糟糕.如果我的域模型有一个名为IsAdmin的属性并且我有一个Create控制器操作来创建用户,那么即使我没有在我的视图中公开这样的文本字段,也有人可以改变我的表单并使其发布一个IsAdmin = true表单值. .如果我正在使用模型绑定,那么当我提交我的域模型时,该人现在将成为管理员.因此,解决方案只是在视图模型中公开我需要的属性,并使用AutoMapper之类的工具将我返回的视图模型对象的属性值映射到我的域模型对象的属性值.但是我读到类上的bind属性可以用来指示Model Binder它应该和不应该绑定哪些属性.那么究竟是什么原因使得两个独立的类(领域模型和视图模型)必须代表相同的东西,然后在映射它们时增加开销呢?这是一个代码组织问题,如果是这样,我如何受益?

编辑

我遇到的与域模型分离的视图模型的最重要原因之一是需要实现MVVM模式(基于Martin Fowler的PM模式)来管理复杂的UI.

model modelbinders viewmodel asp.net-mvc-3

26
推荐指数
2
解决办法
2万
查看次数

最佳实践:在JavaScript代码中包含PHP

我是一个PHP phr34k沉迷于JavaScript寻求一些知识.如果要在他们的脚本中包含php代码,那么最好的方法是什么?我提供了一些示例代码作为我将如何在脚本中包含PHP的示例.

这是一种有效的方法吗?

的index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PHP with JavaScript?</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="test.js.php"></script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

test.js.php

<?php 

$foo = 'bar';

?>

$(document).ready(function() {
    var foo = '<?php echo $foo; ?>';
    alert(foo);
});
Run Code Online (Sandbox Code Playgroud)

再次感谢!

javascript php jquery

2
推荐指数
1
解决办法
1896
查看次数

由列表乘法创建的嵌套引用列表的Deepcopy不起作用

尽管我喜欢Python,但引用和深度复制的东西有时会让我感到厌烦.

为什么deepcopy在这里不起作用:

>>> import copy
>>> a = 2*[2*[0]]
>>> a
[[0, 0], [0, 0]]
>>> b = copy.deepcopy(a)
>>> b[0][0] = 1
>>> b
[[1, 0], [1, 0]]     #should be: [[1, 0], [0, 1]]
>>> 
Run Code Online (Sandbox Code Playgroud)

我正在使用一个numpy数组作为一个workarround,无论如何我以后需要.但我真的希望如果我使用deepcopy,我就不必再追逐任何非预期的引用了.是否有更多的陷阱不起作用?

python nested list multiplication deep-copy

4
推荐指数
2
解决办法
1379
查看次数

无法反转django.contrib.admin.sites.index

我尝试做以下事情

from django.core.urlresolvers import reverse, resolve
a = resolve('/admin/')
b = reverse(a[0], args=a[1], kwargs=a[2])
Run Code Online (Sandbox Code Playgroud)

并得到以下错误

NoReverseMatch: Reverse for 'django.contrib.admin.sites.index' with arguments '()' and keyword arguments '{}' not found.
Run Code Online (Sandbox Code Playgroud)

这怎么可能?

django

2
推荐指数
1
解决办法
720
查看次数

如何将字符"\n\t\r"替换为" - "?

如何将字符"\n\t\r"替换为" - "?

echo preg_replace('/\s/','-','\n\t\n\r\n');//output '\n\t\n\r\n' instead should be'-----'
Run Code Online (Sandbox Code Playgroud)

编辑:我在真正的应用程序中有动态内容,如:

 preg_replace('/\s/','-',$_Request['content']);
Run Code Online (Sandbox Code Playgroud)

我可以通过在变量周围添加""来修复它吗?

preg_replace('/\s/','-',"$_Request['content']");
Run Code Online (Sandbox Code Playgroud)

EDIT2:

如何将字符串从格式'str'转换为格式"str"?

谢谢

php regex

1
推荐指数
2
解决办法
1万
查看次数

在 CMAKE sub_directory CMakeLists.txt 文件中更改编译器

我想在作为更大项目的一部分编译的内部子目录中更改 CMAKE_C_COMPILER 和 CMAKE_CXX_COMPILER。

从 GNU 更改为 intel 编译器。然而,在这个目录之外没有什么需要改变的。

那可能吗?

谢谢

cmake

6
推荐指数
2
解决办法
2227
查看次数

Rails的assert_difference忽略了一些变化吗?

我有一个测试,我向一个拥有一个帐户的用户付款.该帐户包含余额并具有许多交易.

付款完成后,将创建一个交易并更新帐户余额.

使用assert_difference检查事务数量更改会给出预期结果.但是,使用assert_difference检查余额是否已更改.我可以看到SQL更新我的日志中的余额,但断言认为它没有改变.

我完全糊涂了,有人可以解释一下吗?

提前致谢.

这通过:

assert_difference("a_user.account.transactions.count", 1) do
  # Process payment
end
Run Code Online (Sandbox Code Playgroud)

这失败了,说没有变化:

assert_difference("a_user.account.balance", 250.00) do
  # Process payment
end
Run Code Online (Sandbox Code Playgroud)

这是断言的失败消息:

"a_user.account.balance" didn't change by 250.0.
<300.0> expected but was
<50.0>.
Run Code Online (Sandbox Code Playgroud)

这是日志文件中的相关SQL:

  User Load (0.4ms)   SELECT * FROM `users` WHERE (`users`.`id` = 108093344) 
  Account Load (0.2ms)   SELECT * FROM `accounts` WHERE (`accounts`.user_id = 108093344) LIMIT 1
  Transaction Columns (1.5ms)   SHOW FIELDS FROM `transactions`
  Transaction Create (0.3ms)   INSERT INTO `transactions` (`created_at`, `updated_at`, `amount`, `account_id`, `detail`) VALUES('2011-02-01 17:15:21', '2011-02-01 17:15:21', 250.0, …
Run Code Online (Sandbox Code Playgroud)

unit-testing ruby-on-rails

3
推荐指数
1
解决办法
887
查看次数

ALTER TABLE语句与FOREIGN KEY约束冲突

我是一个新的SQL脚本,我在我的一个脚本中遇到了错误.有问题的部分是:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE dbo.WorkspaceSettings
(
    Id INT NOT NULL IDENTITY PRIMARY KEY ,
        ReportColorRGB1 VARCHAR(15) NOT NULL DEFAULT '61,105,138' ,
    ReportColorRGB2 VARCHAR(15) NOT NULL DEFAULT '180,210,121' 
)

GO

ALTER TABLE Workspace ADD WorkspaceSettingsId int NOT NULL default 1;

GO
ALTER TABLE Workspace
ADD CONSTRAINT FK_WorkspaceSettings_Workspace
FOREIGN KEY (WorkspaceSettingsId)
REFERENCES WorkspaceSettings(Id);
GO
Run Code Online (Sandbox Code Playgroud)

并收到以下错误消息:

消息547,级别16,状态0,行1
ALTER TABLE语句与FOREIGN KEY约束"FK_WorkspaceSettings_Workspace"冲突.冲突发生在数据库"ClearRisk2_0",表"dbo.WorkspaceSettings",列"Id"中.

有人可以告诉我哪里出错了吗?

sql t-sql sql-server

15
推荐指数
1
解决办法
4万
查看次数

ValidationMessage始终显示/摘要不 - ASP.NET MVC 3

问题是:

我有一个Ajax.BeginForm,它基本上由两个下拉列表和提交按钮组成.如果用户没有从两个下拉列表中选择一个选项,我希望MVC 3验证启动.

这是没有发生的.而是打开页面,其中ValidationMessages显示在ddls旁边,如果提交的数据无效,则不会显示验证摘要.

代码是:

using (Ajax.BeginForm(MVC.Admin.TutorEditor.AddTutorCourse(Model.TutorName, 0, 0),
                        new AjaxOptions
                        {
                            UpdateTargetId = "TutorCourses",
                            OnBegin = "isValidPleaseWait",
                            LoadingElementId = "PleaseWait"
                        },
                        new { name = "AddTutorCourseForm", id = "AddTutorCourseForm" }))
        {
            Html.ValidationSummary("Sorry, there was an error. Please check below and try again:");                
            <fieldset>
                <legend>Add Course</legend>
                <div class="editor-label">
                    @Html.LabelFor(model => model.AllCourses)
                    @Html.DropDownList("CourseId", Model.AllCourses, "-- Choose Course --", new { style = "width:180px;" })
                    @Html.ValidationMessage("CourseId", "*: Required")
                </div>
                <div class="editor-label">
                    @Html.LabelFor(model => model.TutorRoles)
                    @Html.DropDownList("TutorRoleId", Model.TutorRoles, "-- Choose Role --", new { …
Run Code Online (Sandbox Code Playgroud)

validation asp.net-mvc

0
推荐指数
1
解决办法
5667
查看次数