问题列表 - 第6478页

多态关联

如果你有多态的belongs_to关联,那么引用将添加所需的两个列:

create_table :products do |t|
  t.references :attachment, :polymorphic => {:default => 'Photo'}
end
Run Code Online (Sandbox Code Playgroud)

将添加一个attachment_id列和一个字符串attachment_type列,其默认值为"Photo".

这到底是什么意思?

ruby migration ruby-on-rails

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

检测文本字符串中的(顽皮或漂亮)URL或链接

如何检测(使用正则表达式或启发式方法)一个文本字符串中的网站链接,例如注释?

目的是防止垃圾邮件.HTML被剥离,所以我需要检测复制和粘贴的邀请. 垃圾邮件发送者发布链接应该不经济,因为大多数用户无法成功访问该页面.我想要有关最佳实践的建议,参考或讨论.

一些目标:

  • 结构良好的URL(http://some-fqdn/some/valid/path.ext)
  • URL但没有http://前缀(即有效的FQDN +有效的HTTP路径)
  • 任何其他有趣的业务

当然,我阻止垃圾邮件,但可以使用相同的过程来自动链接文本.

思路

以下是我在想的一些事情.

  • 内容是母语散文,所以我可以在检测中触发快乐
  • 我应该首先删除所有空格,以便抓住" www .example.com"吗?普通用户是否知道自己删除空间,或者做任何浏览器"做什么意思"并为你剥离它?
  • 也许多次通过是更好的策略,扫描:
    • 格式良好的网址
    • 所有非空格后跟'.' 随后是任何有效的TLD
    • 还要别的吗?

相关问题

我已经阅读了这些内容,现在它们已在此处记录,因此您可以根据需要参考这些问题中的正则表达式.

更新和摘要

哇,我在这里列出了一些非常好的启发式方法!对我来说,最好的砰砰声是以下综合:

  1. @Jon Bright检测TLD的技术(一个很好的防御性阻塞点)
  2. 对于那些可疑的字符串,请根据@capar将点替换为带点的字符
  3. 一个好看的字符是@ Sharkey的下标· (即" · ").· 也是一个单词边界,因此随便复制和粘贴更难.

这应该使垃圾邮件发送者的CPM足够低,以满足我的需求; "旗帜不合适"的用户反馈应该抓住其他任何东西.列出的其他解决方案也非常有用:

  • 剥去所有虚线四边形(@ Sharkey对自己答案的评论)
  • @ Sporkmonger对客户端Javascript的要求,它在表单中插入了一个必需的隐藏字段.
  • 对URL服务器端进行Ping操作以确定它是否是网站.(也许我可以按照@Nathan通过SpamAssassin或其他贝叶斯过滤器运行HTML ..)
  • 查看Chrome的智能地址栏来源,了解Google使用的巧妙技巧
  • 呼叫OWASP AntiSAMY或其他Web服务以进行垃圾邮件/恶意软件检测.

language-agnostic url sanitization spam-prevention

37
推荐指数
4
解决办法
7010
查看次数

允许多个角色访问控制器操作

现在我装饰一个这样的方法,让"成员"访问我的控制器动作

[Authorize(Roles="members")]
Run Code Online (Sandbox Code Playgroud)

如何允许多个角色?例如,以下内容不起作用,但它显示了我要做的事情(允许"成员"和"管理员"访问):

[Authorize(Roles="members", "admin")] 
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc controller roles

258
推荐指数
5
解决办法
16万
查看次数

使用vim模式的文本编辑器?

我遇到过ViEmu,我读了一篇非常激动人心的文章:为什么,为什么,为什么这样做??@!nutheads使用vi?

无论如何,我已经开始喜欢vim中的命令模式,特别是动作,我也喜欢ViEmu背后的想法,即将"vim模式"引入典型的文本编辑器.

还有哪些编辑器有类似的"vim模式"或提供功能的插件?

vim text-editor viemu

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

Unicode,UTF,ASCII,ANSI格式差异

是什么之间的区别Unicode,UTF8,UTF7,UTF16,UTF32,ASCII,和ANSI编码?

这些对程序员有什么帮助?

unicode ascii ansi utf character-encoding

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

如何附加不是来自数据库的Entity Framework对象?

我完全分离了我的Entity Framework对象和我的POCO对象,我只是来回翻译它们......

即:

// poco
public class Author
{
   public Guid Id { get; set; }
   public string UserName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个EF对象"作者"具有相同的属性..

所以我有我的业务对象

var author = new Author { UserName="foo", Id="Guid thats in the db" };
Run Code Online (Sandbox Code Playgroud)

我想保存此对象,所以我执行以下操作:

var dbAuthor = new dbAuthor { Id=author.Id, UserName=author.UserName };
entities.Attach(dbAuthor);
entities.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误:

具有null EntityKey值的对象无法附加到对象上下文.

编辑: 看起来我必须使用entities.AttachTo("作者",dbAuthor); 没有EntityKey附加,但后来我有硬编码的魔术字符串,如果我改变我的实体集名称将会破坏我不会有任何编译时间检查...有没有一种方法可以附加,保持编译时间检查?

我希望我能够做到这一点,因为硬编码字符串会导致编译时间验证失败=)

c# linq-to-entities entity-framework .net-3.5

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

加速 ASP.NET 开发

我们正在使用 DotNetNuke 作为框架和我们为所需功能定制的模块来开发 Web 应用程序。问题是,当您对代码进行任何更改时,加载网站需要很长时间。每次重新启动时,我最多需要 1 分钟,这确实非常缓慢。这导致非常缓慢的开发-重建-测试周期。

我们同时使用控制台项目和 winforms 项目作为新功能的试验场,以加快开发速度,但仍有许多 UI 功能必须通过浏览器完成。

有没有人有任何关于如何加速/防止在 Web 应用程序的 bin 文件夹中发生变化时发生的 appdomain 重新启动的提示?

asp.net performance dotnetnuke appdomain

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

XML文件的大分割

我有一个15 GB的XML文件,我想把它拆分.它有大约3亿行.它没有任何相互依赖的顶级节点.是否有任何工具可供我使用?

xml

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

什么是更快更好地确定PHP中是否存在数组键?

考虑这两个例子......

$key = 'jim';

// example 1
if (isset($array[$key])) {
    // ...
}

// example 2    
if (array_key_exists($key, $array)) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我很想知道其中任何一个是否更好.我一直使用第一个,但看到很多人在这个网站上使用第二个例子.

那么哪个更好?快点?更明确的意图?

php performance

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

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