Tag: devise原则

你喜欢你的主键?

在我们团队的一次相当热烈的讨论中,我想到了大多数人喜欢的主键。 我们有以下几组 – Int / BigInt是自动增加的主键。 至less应该有3列组成主键。 Id,GUID和人类可读的行标识符都应该被区别对待。 什么是最好的PK方法? 如果你能certificate你的观点,那将是非常棒的。 上面有没有更好的方法? 编辑:任何人都有一个简单的样本/algorithm来生成可伸缩的行的人类可读标识符?

NoSql与关系数据库

最近NoSQL获得了巨大的普及。 NoSQL与传统RDBMS相比有哪些优势?

什么是包装类?

什么是包装类? 这些类如何有用?

Django:使用表单在一个模板中的多个模型

我正在build立一个支持票据跟踪应用程序,并有一些我想从一个页面创build的模型。 门票通过ForeignKey属于一个客户。 Notes也通过ForeignKey属于Tickets。 我想要select一个客户(这是一个单独的项目),或者创build一个新的客户,然后创build一个票据,最后创build一个分配给新票据的票据。 由于我对Django相当陌生,所以我倾向于迭代地工作,每次尝试新的function。 我玩过ModelForms,但我想隐藏一些字段并做一些复杂的validation。 看起来像我正在寻找的控制级别要么需要formset,要么手工完成,完成一个繁琐的,手工编码的模板页面,我试图避免。 有一些可爱的function,我错过了? 有人有一个很好的参考或使用formset的例子吗? 我花了整整一个周末的API文档,我仍然无能为力。 如果我分解并手工编码所有东西,这是否是一个devise问题?

在数据库中实现注释和喜欢

我是一名软件开发人员。 我喜欢编码,但我讨厌数据库…目前,我正在创build一个网站,用户将被允许标记一个实体喜欢 (如在FB), 标记和评论 。 我遇到了处理这个function的数据库表devise。 解决scheme是微不足道的,如果我们只能为一种types的东西(如照片)做到这一点。 但是我需要为5个不同的事情启用这个function(现在,但是我也假设这个数字会随着整个服务的增长而增长)。 我在这里发现了一些类似的问题,但是他们都没有一个令人满意的答案,所以我再次提出这个问题。 问题是,如何正确, 高效和弹性地devise数据库,以便它可以存储对不同表格的评论, 喜欢不同的表格和标签 。 一些devise模式作为答案将是最好的;) 详细描述 :我有一个表 User与一些用户数据,另外3个表 :带照片的照片 ,带文章的文章 ,带地方的地方 。 我想启用任何logging的用户来: 评论这3个表格中的任何一个 将其中任何一个标记为喜欢的 用任何标签标记任何一个标签 我也想计算每个元素的喜欢数量以及特定标签被使用的次数。 第一种方法 : a)对于标签 ,我将创build一个表格 Tag [TagId, tagName, tagCounter] ,然后我将创build多对多的关系表 : Photo_has_tags , Place_has_tag , Place_has_tag 。 b)同样重视评论。 c)我将创build一个表 LikedPhotos [idUser, idPhoto] , LikedArticles[idUser, idArticle] , LikedPlace [idUser, idPlace] 。 […]

为什么业务逻辑应该移出JSP?

在JSP之外保留业务逻辑的好处是什么,因为JSP主要是为了演示? 我们仍然可以看到JSP内部编写的业务逻辑,所以我需要知道将业务逻辑从JSP中移出来会带来什么好处。

MySQL – 有条件的外键约束

我在我的应用程序中有以下“评论”表: comments ——– id INT foreign_id INT model TEXT comment_text TEXT … 这个表的想法是存储我的应用程序的各个部分的评论 – 它可以存储博客评论意见,即: 1|34|blogpost|lorem ipsum… 用户图片: 2|12|picture|lorem ipsum… 等等。 现在,有没有办法强制这些数据的外键约束? 即在评论表中这样的东西: FOREIGN KEY (`foreign_id`) REFERENCES blogposts (`id`) //but only when model='blogpost'

微观优化是值得的时间?

我是一名PHP开发人员,我一直认为微观优化是不值得的。 如果你真的需要额外的性能,你可以编写你的软件,使其体系结构更快,或者编写一个C ++扩展来处理缓慢的任务(或者更好的是,使用HipHop编译代码)。 不过,今天一位同事告诉我,这里有很大的差别 is_array($array) 和 $array === (array) $array 我就像是“呃,这真是毫无意义的比较”,但他不同意我的看法。他是我们公司最好的开发人员,每天负责一个网站,每天处理大约5千万个SQL查询 – – 例如。 所以,我在这里想知道他可能是错的还是微观优化真的值得时间和地点?

为什么转换语句需要rest?

给定一个简单的switch语句 switch (int) { case 1 : { printf("1\n"); break; } case 2 : { printf("2\n"); } case 3 : { printf("3\n"); } } 案例2中没有中断陈述,意味着在案例3的代码中将继续执行。这不是偶然的, 它是这样devise的 为什么做出这样的决定? 这提供了什么好处与块有自动中断语义? 基本原理是什么?

用空列创build唯一约束

我有这个布局的表格: CREATE TABLE Favorites ( FavoriteId uuid NOT NULL PRIMARY KEY, UserId uuid NOT NULL, RecipeId uuid NOT NULL, MenuId uuid ) 我想创build一个类似如下的唯一约束: ALTER TABLE Favorites ADD CONSTRAINT Favorites_UniqueFavorite UNIQUE(UserId, MenuId, RecipeId); 但是,如果MenuId IS NULL ,这将允许具有相同(UserId, RecipeId)多行。 我想在MenuId允许NULL存储没有关联菜单的collections夹,但是我只需要每个用户/配方对的这些行中的最多一个。 我到目前为止的想法是: 使用一些硬编码的UUID(如全零)而不是null。 但是, MenuId对每个用户的菜单都有一个FK约束,所以我必须为每个用户创build一个特殊的“空”菜单,这很麻烦。 请使用触发器检查是否存在空条目。 我认为这是一个麻烦,我喜欢尽可能避免触发器。 另外,我不相信他们保证我的数据永远不会处于不良状态。 只要忘记它,并检查中间件或插入函数中的空条目的存在,并没有这个约束。 我正在使用Postgres 9.0。 有什么方法可以忽略吗?