Tag: devise原则

为什么在C ++中没有基类?

快速的问题:从devise的angular度来看,为什么在C ++中,没有母类的基类,通常在其他语言中是什么object呢?

为什么python dict.update()没有返回对象?

我正在尝试做: award_dict = { "url" : "http://facebook.com", "imageurl" : "http://farm4.static.flickr.com/3431/3939267074_feb9eb19b1_o.png", "count" : 1, } def award(name, count, points, desc_string, my_size, parent) : if my_size > count : a = { "name" : name, "description" : desc_string % count, "points" : points, "parent_award" : parent, } a.update(award_dict) return self.add_award(a, siteAlias, alias).award 但是如果在function上感觉真的很麻烦,而且我宁愿做: return self.add_award({ "name" : […]

为什么C ++需要一个单独的头文件?

我从来没有真正理解为什么C ++需要一个单独的头文件,其function与.cpp文件中的相同。 它使得创build类和重构它们变得非常困难,并且将不必要的文件添加到项目中。 然后有必要包含头文件的问题,但必须明确检查是否已包括在内。 C ++在1998年被批准了,为什么这样devise呢? 有一个单独的头文件有什么好处? 后续问题: 当我包含的是.h文件时,编译器如何find带有代码的.cpp文件? 它是否假定.cpp文件与.h文件具有相同的名称,还是实际查看目录树中的所有文件?

为什么C#允许代码块没有前面的语句?

为什么C#允许代码块没有前面的语句(例如, if , else , for , while )? void Main() { { // any sense in this? Console.Write("foo"); } }

C#(.NET)devise瑕疵

C#或.NET Framework中最大的devise缺陷是什么? 例如:没有不可为空的stringtypes,并且从IDataReader获取值时必须检查DBNull。

更新日志/审计数据库表的最佳devise?

我需要创build一个数据库表来存储不同的更改日志/审计(当添加,删除,修改等)。 我不需要存储特别详细的信息,所以我正在思考一些问题: id(事件) 触发它的用户 事件名称 事件描述 事件的时间戳 我在这里错过了什么? 显然我可以继续改进devise,虽然我不打算使它变得复杂(为事件types创build其他表或类似的东西是不可能的,因为这是我需要的复杂)。

Java中的标记接口?

我被告知,Java中的Marker接口是一个空的接口,用于向编译器或JVM发出信号,告知实现此接口的类的对象必须以特殊方式处理,如序列化,克隆等。 但最近我了解到,它实际上与编译器或JVM无关。 例如,在Serializable接口的情况下, ObjectOutputStream writeObject(Object)方法可以像instanceOf Serializable那样检测类是否实现了Serializable并相应地抛出NotSerializableExceptionexception。 一切都在代码中处理,这似乎是一个devise模式,所以我认为我们可以定义我们自己的标记接口。 现在我怀疑: 上面第一点提到的标记界面的定义是错误的吗? 那么我们怎样才能定义一个标记界面呢? 而不是使用instanceOf操作符为什么不能像writeObject(Serializable)这样的东西,所以有一个编译时types检查,而不是运行时? 注释如何比标记界面更好?

例外或错误代码

昨天我和一个同事进行了一场激烈的辩论,首先是错误报告方法。 主要是讨论使用exception或错误代码来报告应用程序层或模块之间的错误。 您使用什么规则来决定是否抛出exception或返回错误报告的错误代码?

如何在devise中validation用户的密码

我遇到了一个问题,在rails中使用devise gem来匹配用户密码。 用户密码存储在我的数据库这是encrypted_pa​​ssword,我想通过密码find用户,但我不知道如何匹配密码从表单和encrypted_pa​​ssword在我的数据库。 User.find_by_email_and_password(params[:user][:email], params[:user][:password])

编码成就系统的最佳途径

我正在考虑devise一个在我的网站上使用的成就系统的最佳方式。 数据库结构可以find最好的方式来告诉3个或更多的连续logging丢失 ,这个线程真的是从开发人员的想法的延伸。 我在这个网站上有很多关于徽章/成就系统的问题就是这样 – 这都是谈话,没有代码。 实际的代码实现在哪里呢? 我在这里提出了一个devise,希望人们能够贡献并希望为可扩展成就系统编码创build一个良好的devise。 我不是说这是最好的,远非如此,但这是一个可能的出发点。 请随时提供您的想法。 我的系统devise理念 似乎普遍的共识是创build一个“基于事件的系统” – 每当一个已知的事件发生像一个职位创build,删除等,它就像这样调用事件类。 $event->trigger('POST_CREATED', array('id' => 8)); 事件类然后找出什么徽章“听”这个事件,然后它requires该文件,并创build该类的实例,如下所示: require '/badges/' . $file; $badge = new $class; 然后它调用传递trigger被调用时收到的数据的默认事件; $badge->default_event($data); 徽章 这就是真正的魔法发生的地方。 每个徽章都有自己的查询/逻辑来确定是否应颁发徽章。 每个徽章都采用如下格式: class Badge_Name extends Badge { const _BADGE_500 = 'POST_500'; const _BADGE_300 = 'POST_300'; const _BADGE_100 = 'POST_100'; function get_user_post_count() { $escaped_user_id = […]