小编Log*_*man的帖子

是否值得为禁用javascript的用户编写不同的功能?

我目前正在构建一个项目,我想使用一些简单的javascript - 我知道有些人禁用它来阻止XSS和其他东西.我是不是该...

a)使用简单的javascript,那些禁用它的用户会丢失

b)不要使用简单的javascript,启用它的用户必须再点击一下

c)编码启用了javascript和禁用javascript的功能

我不确定网络总是在变化,你推荐什么?

javascript

21
推荐指数
6
解决办法
2176
查看次数

如何在工作表中格式化的VBA中检索Excel单元格值?

我需要在数字列表中保留前导零.这些数字是这样添加的(在循环中,但这只是使用(1,1)的一个例子:

Set cel = Sheet.worksh.Cells(1, 1)
cel.ColumnWidth = 10
cel.Value = e.Name
cel.NumberFormat = "0000"
Run Code Online (Sandbox Code Playgroud)

数字在哪里e.Name,比如"0720".这显示在工作表上就好了,但如果我做这样的事情:

Msgbox Sheet.worksh.Cells(1, 1).Value
Run Code Online (Sandbox Code Playgroud)

我得到"720".我需要它是"0720",我知道我可以检查使用Len()并以这种方式添加零,但我想知道是否有更直接的方法使用Range对象来为我做这个.

excel formatting vba

17
推荐指数
3
解决办法
4万
查看次数

在Interface Builder中定义"通用"segue

我理解如何通过右键单击一个控件在XCode 4.2中创建一个segue,让我们说一个按钮,并将其拖动到故事板中的视图控制器.

我想要做的是创建一个不依赖于控件的segue,并且必须以编程方式调用,以便我可以执行以下操作:

- (void)viewDidLoad
{
    if (condition) 
    {
        [self performSegueWithIdentifier: @"identifier" sender: self];
    }
}
Run Code Online (Sandbox Code Playgroud)

同时仍然在Interface Builder中定义"标识符"segue.这可能吗?

iphone xcode objective-c segue

13
推荐指数
1
解决办法
3292
查看次数

在Windows 7中安装Express.JS的问题

我已经通过他们的网页上的安装程序安装了Node.js,并将其添加到我的环境变量的路径中,以便我可以使用nodenpm通过命令行.如果我制作一个快速应用程序,它可以工作,但我必须手动创建它.

我猜这很好,但我想知道为什么我不能使用express命令?我正进入(状态

`express` is not recognized as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

我注意到C:\ Username \node_modules中的快速安装,而不是我认为它会在C:\ Program Files\Nodejs \node_modules中安装.这是一个问题吗?

node.js express

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

使用file_get_contents()加载远程xml页面

我在互联网上看到了类似的一些问题,没有答案.

我想将远程XML页面的源返回到字符串中.出于此问题的目的,远程XML页面是:

http://www.test.com/foo.xml
Run Code Online (Sandbox Code Playgroud)

在常规的Web浏览器中,我可以查看页面,源代码是XML文档.file_get_contents('http://www.test.com/foo.xml')但是,当我使用它时,它返回一个带有相应URL的字符串.

是否可以检索XML组件?我不在乎它是否使用file_get_contents,只是一些可行的东西.

php xml file-get-contents

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

基于键将大关联数组转换为局部变量

我发现自己经常要做的一件事是将一个大的关联数组转换成一个POST请求(一个注册表单,例如,有很多输入),根据数组中的键转换为局部变量.如果您经常使用数组中的值,您的代码很快就会被长变量名和引号所占据.

为了防止小关联数组,可以这样做:

$username = $_POST['username'];
$password = $_POST['password'];
Run Code Online (Sandbox Code Playgroud)

我不是为了这个例子而逃避它们,以尽可能保持整洁,所以放松一下.

你也可以这样做:

list($username, $password) = $_POST;
Run Code Online (Sandbox Code Playgroud)

但是如果$ _POST数组更大呢?然后,做这两种方法变得乏味.要解决这个问题,你可以像这样运行一个循环:

foreach($arr as $key => $value)
{
    ${$key} = $value;
}
Run Code Online (Sandbox Code Playgroud)

这种方法的问题是它分配局部变量.如果可以在运行此循环的父类中调用函数并且在调用类中可以访问这些局部变量,那将是很好的.想象一下MVC设置,其中每个控制器都来自一个Controller类,同样也适用于模型.这样做会很好:

$this->localize($_POST);
doWhatever($username) // $username works! Assuming $_POST['username'] is defined
Run Code Online (Sandbox Code Playgroud)

创建这样的方法会导致局部变量仅保留在localize()父类的函数范围内,因此这不起作用.我一直在做的是通过一个修改运行相同的循环:

foreach($arr as $key => $value)
{
    $this->{$key} = $value;
}
Run Code Online (Sandbox Code Playgroud)

这有效,但并没有真正解决最初的问题.它不是用括号和引号混乱的代码,而是$this->遍布整个地方,更不用说分配从未在类中正式定义的变量了.

最后,我的问题是:是否可以创建一个像localize()我所描述的函数,这样它可以从父类继承,但相对于子类($username而不是$this->username)创建局部变量.

此外,无论你能否,这被认为是不好的做法?对我来说这似乎有些苛刻,你忽略了OOP的一些原则.如果是,您是否使用解决方案来修复大型关联数组的丑陋和混乱,或者您只是处理它?

php arrays oop

10
推荐指数
1
解决办法
5754
查看次数

在Resque作业期间,Rails.root指向生产中的错误目录

我有两个同时排队的工作,一个工人连续运行它们.这两个作业都复制了builds/我的Rails项目根目录中的一些文件,并将它们放入一个临时文件夹中.

第一份工作总是成功,从来没有问题 - 哪个工作先运行也没关系.第一个将工作.

第二个在尝试复制文件时收到此错误:

没有这样的文件或目录 - /Users/apps/Sites/my-site/releases/20130829065128/builds/foo

该版本文件夹已有两周时间了,不应该仍在服务器上.它是空的,只包含一个公共/上传目录,没有别的.我已经杀死了我的所有工作人员并多次重新启动它们,并多次重新部署Rails应用程序.当我删除那个版本目录时,它再次成功.

我不知道该做什么.为什么这个工作者总是在这个旧版本目录中创建/查看?为什么只有第二个工人这样做?我通过使用获得路径:

Rails.root.join('builds') - Rails.root显然是一个2周的capistrano发布?我还应该提到这只发生在生产环境中.我能做什么 ?

capistrano ruby-on-rails resque

9
推荐指数
1
解决办法
1331
查看次数

使用PHP处理验证错误的最简洁方法是什么?

只要我一直在开发Web应用程序,我一直在寻找更好的方法来处理验证.通常需要捕获多个验证错误,因此我想知道是否有比下面更好的方法.

现在我assert在自己开发的框架中有一个方法.方法的一个例子是:

assert(($foo == 1), 'Foo is not equal to 1');

如果第一个参数中的条件为false,则将第二个参数中的错误消息添加到$errors数组中(该数组包含在$eh提供便利函数的类中(由下面引用)hasErrors()).

这种方法有效,但在实践中很麻烦.考虑以下代码:

public function submit($foo, $bar, $baz)
{
    assert(($foo == 1), 'Foo is not equal to 1');
    assert(($bar == 2), 'Bar is not equal to 2');

    if (!$eh->hasErrors())
    {
        assert(($baz == 3), 'Baz is not equal to 3');

        if (!$eh->hasErrors())
        {
            finallyDoSomething();
            return;
        }
    }

    outputErrors();
}
Run Code Online (Sandbox Code Playgroud)

这是相当普遍的事情.我想在继续之前检查两个条件,然后如果这些条件通过,请在最终做我想做的事之前检查第三个条件.如您所见,此代码中的大多数行都与验证有关.在实际的应用程序中,将有更多的验证和可能更多嵌套的if语句.

有没有人有比这更好的处理验证结构?如果有更优雅地处理这个问题的框架,那么它们是什么以及它们如何实现呢?多个嵌套的if语句似乎是解决问题的"强力"解决方案.

只是一个注释,我理解在一个类中包含一些常见的验证函数可能是个好主意,这样我就可以通过调用这些函数来检查长度,字符串格式等.我要问的是一种更清晰的代码结构方法,而不是我实际检查错误的方法.

谢谢!

php validation error-handling

8
推荐指数
2
解决办法
3971
查看次数

ActiveResource如何从具有单数名称的REST API获取资源?

我试图从具有以下API的第三方库中获取数据:

https://foo.com/user.json?username=<USERNAME>

我无法弄清楚如何强制ActiveResource使用"user.json"而不是"users.json".可能吗?

我使用了reactive_resources gem ...有没有办法在纯粹的ActiveResources中做到这一点?

api rest ruby-on-rails activeresource

8
推荐指数
2
解决办法
1694
查看次数

数据库表的最佳设计是什么,可以由两个不同的资源拥有,因此需要两个不同的外键?

我的应用程序具有可属于组的用户的通知设置.组管理员可以定义整个组的设置,以便在任何用户执行操作时,将通知管理员.管理员还可以定义单个用户的设置,这将覆盖组设置.

现在我有一个包含列的数据库:group_id, action1, action2, action3, ....这些操作是布尔值,用于确定当用户在其组中执行该操作时是否通知管理员.

我可以创建一个由User模型而不是Group模型拥有的单独的表,但是将完全相同的数据存储在一个完全独立的表中并保存更改group_iduser_id.

另一种选择是添加user_id到我已经拥有的表中,并允许空值group_id.在确定用户的通知设置时,应用程序将首先根据用户选择设置,然后回退到group_id非空的设置.这感觉效率低下,因为数据库中会有很多空值,但这对我来说肯定需要的工作量更少.

这种情况的设计是否比我描述的两种设计更有效?

database database-design foreign-keys relational-database

7
推荐指数
1
解决办法
4170
查看次数