问题列表 - 第24587页

验证嵌套属性的数量

我有一个嵌套属性的模型:

class Foo < ActiveRecord::Base
    has_many :bar
    accepts_nested_attributes_for  :bar
end
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是我想确保每一个Foo,我至少有两个Bar.我无法访问bar_attributes我的验证,所以我似乎无法验证它.

有没有干净的方法呢?

ruby ruby-on-rails nested-attributes

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

ASP.NET SQL Server选择前N个值但跳过M个结果

我正在开发一个ASP.Net项目,用于在数据库中显示网站上的信息.我想从新闻表中选择前10项,但跳过第一项,我遇到了一些问题.

<asp:SqlDataSource ID="SqlDataSource1" 
                   runat="server" ProviderName="System.Data.SqlClient"
                   ConnectionString="<%$ ConnectionStrings:ClubSiteDB %>" 
                   SelectCommand="SELECT top 5 [id], 
                                               [itemdate], 
                                               [title], 
                                               [description], 
                                               [photo] 
                                  FROM [Announcements] order by itemdate desc">
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止,但我无法在网上找到有关如何跳过记录的任何信息

sql sql-server asp.net

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

图像上传 - 安全问题

我正在开发一个ASP.NET Web应用程序,并希望用户能够从本地系统上传图像,或者将URL传递给图像.图像可以是JPG或PNG.这样做我应该关注哪些安全问题?我已经看到了在JPG文件中嵌入代码的各种方法.C#(或外部库)中是否有任何方法可以确认文件是JPG/PNG,否则会抛出错误?至少,我正在制作保存上传图像不可浏览的目录,并将最大大小限制为1mb,但我想实施进一步的检查.

谢谢你的建议.

c# asp.net security image image-uploading

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

解决MySQL错误"尝试获取锁定时发现死锁;尝试重新启动事务"

我有一个大约有5,000,000行的MySQL表,通过DBI连接的并行Perl进程以小的方式不断更新.该表有大约10列和几个索引.

一个相当常见的操作有时会产生以下错误:

DBD::mysql::st execute failed: Deadlock found when trying to get lock; try restarting transaction at Db.pm line 276.
Run Code Online (Sandbox Code Playgroud)

触发错误的SQL语句是这样的:

UPDATE file_table SET a_lock = 'process-1234' WHERE param1 = 'X' AND param2 = 'Y' AND param3 = 'Z' LIMIT 47
Run Code Online (Sandbox Code Playgroud)

该错误仅在有时触发.我估计只有1%或更少的电话.然而,它从未发生在一个小桌子上,随着数据库的增长而变得越来越普遍.

请注意,我正在使用file_table中的a_lock字段来确保我运行的四个几乎相同的进程不会尝试在同一行上工作.该限制旨在将他们的工作分解成小块.

我没有在MySQL或DBD :: mysql上做太多调整.MySQL是标准的Solaris部署,数据库连接设置如下:

my $dsn = "DBI:mysql:database=" . $DbConfig::database . ";host=${DbConfig::hostname};port=${DbConfig::port}";
my $dbh = DBI->connect($dsn, $DbConfig::username, $DbConfig::password, { RaiseError => 1, AutoCommit => 1 }) or die $DBI::errstr;
Run Code Online (Sandbox Code Playgroud)

我在网上看到其他几个人报告了类似的错误,这可能是一个真正的僵局.

我有两个问题:

  1. 究竟是什么情况导致上述错误?

  2. 有一种简单的方法来解决它或减少它的频率?例如,我究竟如何"在Db.pm第276行重新启动交易"?

提前致谢.

mysql deadlock database-deadlocks

29
推荐指数
3
解决办法
9万
查看次数

在Rails中构建管理区域 - 一般问题

在Rails应用程序中创建管理区域的典型格式/结构是什么?

具体来说,我被困在这些主题的附近:

  • 您如何处理公众和管理员可以使用模型资源的情况?即用户模型,任何人都可以创建用户,登录等,但只有管理员可以查看用户,删除/更新他们等.
  • 路由的正确惯例是什么?
  • 一个结构控制器怎么样?
  • 重复控制器是否正常?即管理员版本和非管理员版本?

谢谢!

ruby ruby-on-rails admin

5
推荐指数
1
解决办法
3032
查看次数

这是一个正确的互锁同步设计吗?

我有一个采样的系统.我在应用程序中有多个对这些示例感兴趣的客户端线程,但是获取Sample的实际过程只能在一个上下文中进行.它足够快,它可以阻止调用过程直到采样完成,但足够慢,我不希望多个线程堆积请求.我想出了这个设计(剥离到最小的细节):

public class Sample
{
    private static Sample _lastSample;
    private static int _isSampling;

    public static Sample TakeSample(AutomationManager automation)
    {
        //Only start sampling if not already sampling in some other context
        if (Interlocked.CompareExchange(ref _isSampling, 0, 1) == 0)
        {
            try
            {
                Sample sample = new Sample();
                sample.PerformSampling(automation);
                _lastSample = sample;
            }
            finally
            {
                //We're done sampling
                _isSampling = 0;
            }
        }

        return _lastSample;
    }

    private void PerformSampling(AutomationManager automation)
    {
        //Lots of stuff going on that shouldn't be run in more than …
Run Code Online (Sandbox Code Playgroud)

c# multithreading synchronization locking interlocked

5
推荐指数
1
解决办法
1123
查看次数

如何使HTML布局与空白无关?

编辑:在使用换行符时删除HTML元素之间的空格几乎相同的问题,但除了"浮动"建议,我发现没有一个答案适合我的要求.我希望能够保持开放,寻求更多创新建议

如果你有连续inline-block的白色空间变得重要.它在元素之间增加了一些空间.如果您希望这些块看起来相互粘连,那么避免空白效果到HTML布局的"正确"方法是什么?

例:

<span>a</span>
<span>b</span>
Run Code Online (Sandbox Code Playgroud)

这呈现不同于:

<span>a</span><span>b</span>
Run Code Online (Sandbox Code Playgroud)

因为它们之间的空间.我希望空白效果消失而不影响HTML源代码布局.我希望我的HTML模板保持干净和良好的缩进.

我认为这些选择很难看:

1)扭捏text-indent,margin,padding等.(因为这将是依赖于字体大小,默认的空白宽度等)

2)将所有东西放在一条线上,彼此相邻.

3)零font-size.这将需要覆盖块中的字体大小,否则将继承.

4)可能的文档范围的解决方案.我希望解决方案在某个HTML块中保持本地化.

任何想法,我遗失的任何明显点?

html css

6
推荐指数
1
解决办法
1377
查看次数

如何在SQL Server中定义"复杂"的ComputedColumn?

SQL Server初学者问题:

我正在尝试在SQL Server(2008)中引入计算列.在SQL Server Management Studio的表设计器中,我可以这样做,但设计器只提供一个单独的编辑单元来定义此列的表达式.由于我的计算列将相当复杂(取决于几个数据库字段并具有一些区分差异),我希望有一种更舒适和可维护的方式来输入列定义(包括用于格式化的换行符等).

我已经看到有一个选项来定义SQL Server中的函数(标量值或表值函数).是否可以更好地定义这样的函数并将此函数用作列规范?什么样的功能(标量值,表值)?

举一个简化的例子:

我有两个数据库列:

DateTime1 (smalldatetime, NULL)
DateTime2 (smalldatetime, NULL)
Run Code Online (Sandbox Code Playgroud)

现在我想定义一个计算列"Status",它可以有四个可能的值.用虚拟语言:

if (DateTime1 IS NULL and DateTime2 IS NULL)
    set Status = 0
else if (DateTime1 IS NULL and DateTime2 IS NOT NULL)
    set Status = 1
else if (DateTime1 IS NOT NULL and DateTime2 IS NULL)
    set Status = 2
else
    set Status = 3
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望有一个函数GetStatus()可以访问表行的不同列值,我想为其计算"Status"的值,然后只将计算列规范定义为GetStatus()不带参数.

这有可能吗?或者使用"复杂"计算列定义的最佳方法是什么?

提前感谢您的提示!

sql-server calculated-columns

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

检查c中字符串的最后一个字符

如果我有两种类型的字符串:

const char *str1 = "This is a string with \"quotes escaped at the end\""; 
const char *str2 = "This is a \"string\" without quotes at the end"; 

testFn(str1);
testFn(str2);

int testFn(const char *str)
{
  // test & return 1 if ends on no quote
  // test & return 0 if ends on quote
  return;
}
Run Code Online (Sandbox Code Playgroud)

我想测试字符串是否以引号"结束"

什么是测试这个的好方法?谢谢

c string

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

从多个应用程序/进程记录到单个日志文件

我们的应用服务器(weblogic)都使用log4j登录网络共享上的同一文件.除此之外,我们将托管服务器中的所有Web应用程序记录到常见的error.log中.我无法想象这是一个好主意,但想听听一些专业人士的意见.我知道每个Web应用程序都有自己的类加载器,因此任何线程同步只发生在应用程序中.那么当多个进程开始聚合在一个日志文件上时会发生什么?我们可以期待散布的日志声明吗?性能问题?如何将多个Web应用程序记录到公共日志文件中?环境是Solaris.

java unix log4j

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