我的Django 1.2.4应用程序中有一些单元测试.其中一项测试需要验证是否在特定条件下发送了电子邮件.我怎样才能做到这一点?
理想情况下它是程序化的,但将电子邮件正文打印到控制台也很不错.
我一直在开发一个非常大的应用程序,几天前我将它上传到我的服务器.现在我发现它有几个内存泄漏 - 哦哦.我的服务器在1GB内存上运行Windows Server 2008.当我在线有0人时,只使用550-600mb.当一个人上线时,内存开始暴涨,如果3-4人在线,则使用1GB内存.
该应用程序是在ASP.NET中使用AJAX进行的.它有许多每秒运行的更新面板和相当多的javascript.它始终使用5-7个会话.我使用LINQ to SQL作为数据库通信.
我在服务器上尝试过perfmon.exe,我发现:
我还用Visual Studio对我的程序进行了分析.我的总运行时间的8%是在.ToList()方法中完成的,这正是由LINQ to SQL引起的.
我的理论......
(1)Linq to SQL dataContext
这可能是一个疯狂的事情,但是:在我的数据访问层中,我有很多方法:
其中每个都有以下初始化:
GameDataContext db = new GameDataContext();
Run Code Online (Sandbox Code Playgroud)
这意味着上述陈述几乎每秒或更长时间.
(2)没有对象实现IDisposable
我必须诚实:我从未使用过IDisposable.据我所知,这可能是个问题.
另外,如果这是泄漏,哪些类应该实现呢?我没有任何I/O工作或其他工作,只有DataContext.
(3)UpdatePanels和jQuery的负载
我有一些担心更新面板可能会给性能带来问题,但我不知道如何检查它.
所以我的问题是:关于内存泄漏可能是什么的任何想法?有关如何查找内存泄漏的任何想法?关于如何解决它的任何想法?
我很想听到有上述情况经验的人的来信!
谢谢,拉尔斯
我正在尝试将tinyMCE编辑器添加到我的页面,删除它,然后再次添加它但是出现错误.
当我运行A部分,然后B部分,再比A部分时,我得到错误:
Error: g.win.document is null
Source File: tiny_mce/tiny_mce.js Line: 1
Run Code Online (Sandbox Code Playgroud)
A部分
js += " tinyMCE.init({ ";
js += " 'mode' : 'exact', \n";
js += " 'elements' : '" + ctrl.ID + "Editor', \n";
js += " 'plugins' : 'insertdatetime,TVCMSLink,TVCMSImage',\n";
js += " 'theme' : 'advanced',\n";
js += " 'theme_advanced_layout_manager' : 'SimpleLayout',\n";
js += " 'theme_advanced_buttons1' : 'backcolor, forecolor, |, bold, underline, strikethrough, |, numlist, bullist, charmap, |, undo, redo, |, anchor, link, tvlink, unlink',\n";
js += " 'theme_advanced_buttons2' …
Run Code Online (Sandbox Code Playgroud) ASP.NET Handler(.ashx文件)的目的是什么以及如何最好地使用它们?
我有许多大型(> 35,000,000)整数列表,它们将包含重复项.我需要计算列表中每个整数的计数.以下代码有效,但似乎很慢.任何人都可以使用Python更好的基准测试,最好是Numpy吗?
def group():
import numpy as np
from itertools import groupby
values = np.array(np.random.randint(0,1<<32,size=35000000),dtype='u4')
values.sort()
groups = ((k,len(list(g))) for k,g in groupby(values))
index = np.fromiter(groups,dtype='u4,u2')
if __name__=='__main__':
from timeit import Timer
t = Timer("group()","from __main__ import group")
print t.timeit(number=1)
Run Code Online (Sandbox Code Playgroud)
返回:
$ python bench.py
111.377498865
Run Code Online (Sandbox Code Playgroud)
干杯!
根据回复进行编辑:
def group_original():
import numpy as np
from itertools import groupby
values = np.array(np.random.randint(0,1<<32,size=35000000),dtype='u4')
values.sort()
groups = ((k,len(list(g))) for k,g in groupby(values))
index = np.fromiter(groups,dtype='u4,u2')
def group_gnibbler():
import numpy as np
from …
Run Code Online (Sandbox Code Playgroud) 我有这个命令:
find reports/ -type f -mtime +90 -regex ".*\.\(csv\|sql\|txt\|xls\|zip\)"
Run Code Online (Sandbox Code Playgroud)
我需要加强它,以便文件扩展名之前的部分匹配YYYY/MM/DD
模式,如下所示:
reports/2010/10/10/23.txt
reports/2010/10/10/23.xls
reports/2010/10/10/26.csv
reports/2010/10/10/26.sql
reports/2010/10/10/26.txt
reports/2010/10/10/26.xls
reports/2010/10/10/27.csv
Run Code Online (Sandbox Code Playgroud)
但我没有得到任何排列\d
和parens逃避工作.
更新:根据以下接受的答案,这对我有用:
find reports/ -type f -mtime +90 -regex "reports/201[01]/\([1-9]\|1[012]\)/\([1-9]\|[12][0-9]\|3[01]\)/.*\.\(csv\|sql\|txt\|xls\|zip\)"
Run Code Online (Sandbox Code Playgroud) 我正在学习一个脚本的正则表达式,我将在路上写下来,但我已经到了一个停止点.我基本上明白了什么?=
,?!
做什么,他们是"先行者".借用和示例:/Win (?=98)/
如果后跟"98",则仅匹配"Win",而/Win (?!XP)/
如果未跟随"XP" 则匹配"Win "...对?
现在我真的没有得到?:
分隔符.我还没有找到一个很好的例子,我真的非常,真的很困惑.:/我明白它应该匹配整个包含的模式或什么?
我很困惑的另一件事是反向引用.这是我发现的例子:正则表达式/<(\S+).*>(.*)<\/\1>/
应该匹配"任何标签".我只是对浏览器的数字"1"感到困惑...这是第一场比赛 - 在这种情况下,我认为它会引用<
角色 - 或其他什么?
我现在正在涉足正则表达的世界,并希望对这些概念做一些澄清,谢谢大家提前!
嗨,我所做的是在document.load我已经减少了导航li的高度,并动画了导航下方的div.我想要做的是在导航中的每个li的悬停是反向下面的动画jquery代码:
$('.tabs li a').animate({
height: '40'
}, 1000, function() {
// Animation complete.
});
$('#tabs-wrap').animate({
marginTop: '-=147'
}, 1000, function() {
// Animation complete.
});
Run Code Online (Sandbox Code Playgroud)
我将如何使用悬停触发器来反转此代码?
谢谢
我有一个表,其中一个字段可以为空.我试图只返回这个字段为空的行.但是我一直在做WHERE field =""...... WHERE field =''...... WHERE field = null
我缺少什么想法?
是否可以连接元类?
我有类Model
,它使用__metaclass__=ModelBase
来处理其命名空间字典.我将继承它并"绑定"另一个元类,因此它不会遮蔽原始元类.
第一种方法是子类class MyModelBase(ModelBase)
:
MyModel(Model):
__metaclass__ = MyModelBase # inherits from `ModelBase`
Run Code Online (Sandbox Code Playgroud)
但是,如果没有明确的子类化,是否可以像mixin一样链接它们?就像是
class MyModel(Model):
__metaclass__ = (MyMixin, super(Model).__metaclass__)
Run Code Online (Sandbox Code Playgroud)
......甚至更好:创建一个将使用__metaclass__
它的类的直接父级使用的MixIn :
class MyModel(Model):
__metaclass__ = MyMetaMixin, # Automagically uses `Model.__metaclass__`
Run Code Online (Sandbox Code Playgroud)
原因是:为了更灵活地扩展现有应用程序,我想创建一个全局机制,用于挂钩Django中的,...定义过程Model
,Form
以便在运行时更改它.
一种常见的机制比使用回调mixin实现多个元类要好得多.
在你的帮助下,我终于找到了解决方案:元类MetaProxy
.
这个想法是:创建一个元类,调用一个回调来修改正在创建的类的命名空间,然后,在其帮助下__new__
,变异为其中一个父类的元类.
#!/usr/bin/env python
#-*- coding: utf-8 -*-
# Magical metaclass
class MetaProxy(type):
""" Decorate the class being created & preserve __metaclass__ of the parent
It executes two callbacks: before & after …
Run Code Online (Sandbox Code Playgroud) asp.net ×2
javascript ×2
jquery ×2
python ×2
regex ×2
algorithm ×1
command-line ×1
django ×1
email ×1
find ×1
hover ×1
html ×1
idisposable ×1
linq-to-sql ×1
memory-leaks ×1
menu ×1
metaclass ×1
ms-access ×1
numpy ×1
sql ×1
tinymce ×1
unit-testing ×1
unix ×1
updatepanel ×1
wysiwyg ×1