小编Mil*_*ric的帖子

有没有办法将__len__或__eq__等方法实现为classmethods?

__len__(self)在Python中实现方法非常容易,因此它可以处理这样的len(inst)调用:

class A(object):

  def __len__(self):
    return 7

a = A()
len(a) # gives us 7
Run Code Online (Sandbox Code Playgroud)

而且有很多相似的方法,你可以定义(__eq__,__str__,__repr__等).我知道Python类也是对象.

我的问题:我可以以某种方式定义,例如,__len__以便以下工作:

len(A) # makes sense and gives some predictable result
Run Code Online (Sandbox Code Playgroud)

python class

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

什么是最长的电子邮件地址?

可能重复:
超过最大电子邮件地址大小

电子邮件地址可以有多长时间的技术限制?那些不同的主要电子邮件提供商(谷歌,微软等)是否存在实际限制?

在法律上或事实上,电子邮件地址中的字符数是否有限制?

email standards

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

有趣的SQL拼图

如果没有循环或游标,您如何获取日期间隔列表并将它们转换为1和0的字符串,以便:

  • 每个位代表从最小(所有日期)到最大(所有日期)的每一天
  • 如果该日落在任何日期间隔内,则该位为1
  • 如果那天没有落入任何间隔,则该位为0

例如,如果间隔是:

  • 2011年1月1日至2011年1月1日
  • 2011年1月4日至2011年5月5日

然后你编写的SQL应该输出11011.这是你可以使用的安装脚本:

declare @TimeSpan table
(
    start datetime
    ,finish datetime
)

-- this is a good data set, with overlapping and non-overlapping time spans
insert into @TimeSpan values ('02/02/2010', '02/02/2010')
insert into @TimeSpan values ('02/03/2010', '02/03/2010')
insert into @TimeSpan values ('02/04/2010', '02/05/2010')
insert into @TimeSpan values ('02/05/2010', '02/06/2010')
insert into @TimeSpan values ('02/07/2010', '02/09/2010')
insert into @TimeSpan values ('02/08/2010', '02/08/2010')
insert into @TimeSpan values ('02/08/2010', '02/10/2010')
insert into @TimeSpan values ('02/14/2010', '02/16/2010')

-- for …
Run Code Online (Sandbox Code Playgroud)

sql sql-server puzzle

9
推荐指数
1
解决办法
491
查看次数

我们什么时候应该选择nHibernate而不是其他ORM?

我承认,我没有完全理解*Hibernate.

由于像Dapper这样的微型ORM 可用于满足大多数数据访问需求,那么需要像nHibernate这样的大枪的场景是什么?nHibernate闪耀的情况有哪些例子?要明确的是,我不认为"在不改变代码的情况下切换数据库的能力"太有利了.在八年的编程中,我从来没有真正做到这一点,而且似乎是一个浪费时间的开始.

我愿意接受任何深思熟虑的回应,但这里有一些问题的例子:

  1. 与Dapper相比,查询API何时值得进行映射的额外工作?
  2. 如何以限制开发工作和正常工作的方式利用延迟加载?
  3. 什么时候花时间弄清楚如何批处理语句?
  4. 在什么情况下缓存系统比例如页面输出缓存更好?这只适用于非分布式环境吗?
  5. 像我这样的凡人如何理解nHibernate如何在分布式环境中工作?考虑混合缓存,批处理和无状态会话,并考虑负载平衡的Web服务器如何处理所有这些.

nhibernate hibernate

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

jqGrid过滤器或按日期搜索不工作的客户端

我有一个ASP.NET MVC 3页面.在它上面,我有一个表,我使用来自ajax调用的JSON数据转换为jqGrid.网格具有以下设置:

myGrid = $('#myGrid');
myGrid.jqGrid({
    caption: 'My Grid',
    datatype: 'local',
    data: data.rows,
    height: 250,
    pager: '#myPager',
    viewrecords: true,
    colModel: [
        ...,
        {
            label: 'blah',
            name: 'blah',
            align: 'left',
            sortable: true,
            editable: false,
            width: 85,
            formatter: 'date',
            sorttype: 'date',
            datefmt: 'm/d/Y',
            formatoptions: { srcformat: 'm/d/Y', newformat: 'm/d/Y' }
        },
        ...
    ]
});

// turn on filter toolbar
myGrid.filterToolbar();
Run Code Online (Sandbox Code Playgroud)

data.rows从ajax调用返回.除了一个以外,这种方式都有效.我可以对客户端进行分页,对客户端进行排序,并按照我显示colModel的字段进行搜索.这个'blah'字段是一个日期字段,它以mm/dd/yyyy格式正确显示日期.但是,当我在工具栏中键入类似11/17/2010的内容并按Enter键时,搜索将返回0条记录.

所以我深入研究了jqGrid代码,这是它在搜索之前生成的内容:

{"groupOp":"AND","rules":[{"field":"blah","op":"bw","data":"11/17/2010"}]}
Run Code Online (Sandbox Code Playgroud)

最终,当它遍历每一行并且它评估字段上的操作时,eval(m)&& p.push(this)行,m是这样的:

(String(this.blah).substr(0,10) == String("11/17/2010"))
Run Code Online (Sandbox Code Playgroud)

基本上,在我看来它并不认为该字段是一个日期.它调用parse而不是parseDate.任何人有任何想法如何解决这个问题?我知道搜索服务器端很容易,我可以传递该字符串,解析它,然后bam.但如果可以,我想留在客户方面.我能够在Oleg和Tom提出的一些样本中复制这个,所以这是一个问题,或者我在配置中遗漏了一些东西......

asp.net-mvc jquery json jqgrid asp.net-mvc-3

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

jQuery UI Dialog表现不可预测

jQuery UI对话框让我感到震惊.据我所知,这是它的工作原理:

当你这样做时$('#myDialog').dialog({...}),它会复制#myDialog元素并将其移动到body标签底部的这个奇怪的widget部件中.这太疯狂了!它会在执行此操作时复制可能唯一的DOM元素(带有ID).

所以我要做的就是当我刷新原始元素的HTML(#myDialog)时,让它以可预测的方式运行.如果我动态执行此操作,有时对话框不再打开:

http://jsfiddle.net/t67y7/3/

或者有时会使用旧的HTML打开对话框(因为它以某种方式缓存在页面底部).这怎么了?

jquery-ui-dialog

5
推荐指数
2
解决办法
1884
查看次数

修剪MySQL中的平均值

我想编写一个函数来计算MySQL中的简单修剪平均值计算.该函数(显然)将是一个聚合函数.我是新手在MySQL中编写函数等,所以可以提供一些帮助.

修剪均值的算法如下(伪代码):

CREATE AGGREGATE FUNCTION trimmed_mean(elements DOUBLE[], trim_size INTEGER)
RETURNS DOUBLE
BEGIN
   -- determine number of elements
   -- ensure that number of elements is greater than 2 * trim_size else return error
   -- order elements in ASC order
   -- chop off smallest trim_size elements and largest trim_size elements
   -- calculate arithmetic average of the remaining elements
   -- return arithmetic average
END
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助如何正确编写上面的函数,用于MySQL?

mysql sql aggregate-functions

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