问题列表 - 第17859页

试图在ruby中找到重复的用户名

我正在尝试确保用户名在注册时是唯一的,但我不知道如何做到这一点

我试过了:

validates_uniqueness_of :username 
Run Code Online (Sandbox Code Playgroud)

但它不起作用

它给了我这个错误:未定义的方法'validates_uniqueness_of'为 #<UsersController:0x6c4fd2>

有什么帮助吗?

ruby ruby-on-rails unique

-1
推荐指数
1
解决办法
356
查看次数

app.config文件中的SMTP邮件客户端设置C#

我已将邮件设置放在app.config中,并可以成功将它们拉入mailSettingsSectionGroup对象.但是,我不确定如何使用这些设置发送消息.

这是我到目前为止:

System.Configuration.Configuration config =     
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

MailSettingsSectionGroup mailSettings  = 
config.GetSectionGroup("system.net/mailSettings") as 
System.Net.Configuration.MailSettingsSectionGroup;
Run Code Online (Sandbox Code Playgroud)

接下来使用mailSettings对象需要做什么?

.net console smtp app-config mailsettings

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

是否有一个很好的理由很多网站都不接受带有空格和破折号的信用卡?

是否有技术/法律/财务/合同/设计理由不接受带有空格的信用卡号码?

如此多的网站不允许您在信用卡号码中放置空格或破折号.我总是把这些放到草率的编程中,但之前我曾经使用过商业API.如果您可以弄清楚如何处理信用卡,您可以弄清楚如何从字符串中删除字符.设计师知道他们因为他们在网站上发出警告而引起了用户的挫败感.他们就在卡片上!甚至还有一道耻辱之墙.

虚假的懒惰,错误的编程,冷酷无情,虐待狂......所有这些都假设在做代码的人中最糟糕的.我能想到的最慷慨的是他们对涉及金钱的任何东西都非常保守.我一直想知道为什么你不应该接受带有空格的信用卡号码有一些深层次和真正重要的原因?为什么你绝对不应该尝试应用任何启发式方法.也许可以追溯到电报时代的一些奇怪的金融法?也许他们是无名英雄,保护我们免受某些未知的邪恶,以免我们输入Hastur的信用卡号码三次.

validation payment credit-card

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

IMAP x Gmail =>标签?

有关从imap连接获取gmail标签(甚至过滤器?)的方法的任何经验?无法找到线索... thx任何关于它的信息.

gmail label imap

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

将一个传递的字典"解压缩"到Python中函数的名称空间中?

在我的工作中,为了方便起见,我经常需要将参数分组到子集中:

d1 = {'x':1,'y':2}
d2 = {'a':3,'b':4}
Run Code Online (Sandbox Code Playgroud)

我通过传入多个词典来做到这一点.大多数时候我直接使用传递的字典,即:

def f(d1,d2):
    for k in d1:
        blah( d1[k] )
Run Code Online (Sandbox Code Playgroud)

在某些函数中,我需要直接访问变量,事情变得很麻烦; 我真的想在本地名称空间中使用这些变量.我希望能够做到这样的事情:

def f(d1,d2)
    locals().update(d1)
    blah(x)
    blah(y)    
Run Code Online (Sandbox Code Playgroud)

但是locals()返回的字典更新并不能保证实际更新命名空间.

这是明显的手动方式:

def f(d1,d2):
    x,y,a,b = d1['x'],d1['y'],d2['a'],d2['b']
    blah(x)
    return {'x':x,'y':y}, {'a':a,'b':b}
Run Code Online (Sandbox Code Playgroud)

这导致每个函数重复三次参数列表.这可以通过装饰器自动完成:

def unpack_and_repack(f):
    def f_new(d1, d2):
        x,y,a,b = f(d1['x'],d1['y'],d2['a'],d3['b'])
        return {'x':x,'y':y}, {'a':a,'b':b}
    return f_new
@unpack
def f(x,y,a,b):
    blah(x)
    blah(y)
    return x,y,a,b
Run Code Online (Sandbox Code Playgroud)

这导致装饰器重复三次,每个功能加两次,所以如果你有很多功能,那就更好了.

有没有更好的办法?也许使用eval的东西?谢谢!

python parameters dictionary function

30
推荐指数
4
解决办法
5万
查看次数

是否可以启动相同的线程?

我有一些计算程序.现在,这个程序是单线程的,我需要增强它来做多线程.一般来说,程序计算,热电路的动态演化(一些配置类型的不同涉及元素(管,泵,活动区及其连接),每个时间步程序计算扩散方程(http:// en .wikipedia.org/wiki/Diffusion_equation))问题是,在每个步骤中,每个涉及的元素都可以单独处理,但是在每个新的时间步骤中,所有元素应该彼此同步.我决定通过每个元素的每个步骤开始一个线程来解决它.

     private void SolveElementDynamic(object element)
    {
        if (element is PJunction)
        {
            ((PJunction)element).SolveDynamic();
        }
        else
            if (element is PElementData)
            {
                ((PElementData)element).SolveDynamic();
            }
    }

   public void SolveDynamic()
    {
         ParameterizedThreadStart threadStart = new ParameterizedThreadStart(SolveElementDynamic);

        for (int i = 0; i < _elementDataCollection.Count; i++)
        {
            _threadArray.Add(new Thread(threadStart));
        } 

        int j = 0;
        foreach (object element in _elementDataCollection)
            {
                ((Thread)_threadArray[j]).Start(element);
                j++;    
            }

    }
Run Code Online (Sandbox Code Playgroud)

但是,与每步计算一个元素相比,创建新Thread似乎太昂贵了.我试图在计算开始时只创建一次Thread数组.但不幸的是,似乎Thread对象不能启动多次?

  // Thread's array created before
 public void SolveDynamic()
    {
           int j = 0;
        foreach (object element in …
Run Code Online (Sandbox Code Playgroud)

.net c# windows multithreading

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

在Java中获取子进程ID

我正在以这种方式创建子进程:

String command = new String("some_program");

Process p = Runtime.getRuntime().exec(command);
Run Code Online (Sandbox Code Playgroud)

我如何获得该子进程ID?

PS我在Linux上工作.

java linux process

14
推荐指数
1
解决办法
5139
查看次数

如何将枚举类型转换为stringlist?

这一行代码:

ShowMessage(GetEnumName(TypeInfo(TAlign), 1));
Run Code Online (Sandbox Code Playgroud)

返回"alTop".

当我想使用字符串变量:'TAlign'而不是TAlign时,如何将枚举类型的所有值都放入stringlist?就像是:

ShowMessage(GetEnumName(TypeInfo('TAlign'), 1));
Run Code Online (Sandbox Code Playgroud)

感谢名单

delphi

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

使用专用版本覆盖多个继承的模板化函数

好的,首先是示例代码; 这是我尝试传达我正在尝试做的事情,尽管它没有编译:

#include <iostream>

template <class T>
class Base
{
public:
    virtual void my_callback() = 0;
};

class Derived1
    : public Base<int>
    , public Base<float>
{
public:
    void my_callback<int>()
    {
        cout << "Int callback for Derived1.\n";
    }
    void my_callback<float>()
    {
        cout << "Float callback for Derived\n";
    }
};

class Derived2
    : public Base<int>
    , public Base<float>
{

public:
    void my_callback<int>()
    {
        cout << "Int callback for Derived2.\n";
    }
    void my_callback<float>()
    {
        cout << "Float callback for Derived2\n";
    }

};

int …
Run Code Online (Sandbox Code Playgroud)

c++ templates overriding multiple-inheritance specialization

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

如何将Google Closure应用到我的整个网页?

谷歌有一个非常好的JavaScript压缩器叫做"Closure"

http://closure-compiler.appspot.com/home

但是在HTML文件中使用内联JavaScript会很痛苦.

问题:是否存在一个在线工具,我只是输入"uncompress.html",并且它还会压缩所有内联JavaScript压缩的HTML版本?

javascript compression google-closure-compiler

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