我正在研究django的全文搜索引擎.它必须易于安装,快速索引,快速索引更新,索引时不阻塞,快速搜索.
阅读了很多网页之后,我列出了一个简短的列表:Mysql MYISAM全文,djapian/python-xapian和django-sphinx我没有选择lucene,因为它看起来很复杂,也没有haystack,因为它的功能比djapian/django-spĥinx少(喜欢田地加权).
然后我做了一些基准测试,为此,我在网上收集了许多免费书籍以生成一个包含1 485 000条记录(id,title,body)的数据库表,每条记录长约600字节.从数据库中,我还生成了一个包含10万个现有单词的列表,并将它们混洗以创建搜索列表.对于测试,我在我的笔记本电脑上进行了2次运行(4Go RAM,双核2.0Ghz):第一次,在服务器重新启动以清除所有缓存之后,第二次完成juste以便测试缓存结果有多好.以下是"自制"基准测试结果:
1485000 records with Title (150 bytes) and body (450 bytes)
Mysql 5.0.75/Ubuntu 9.04 Fulltext :
==========================================================================
Full indexing : 7m14.146s
1 thread, 1000 searchs with single word randomly taken from database :
First run : 0:01:11.553524
next run : 0:00:00.168508
Mysql 5.5.4 m3/Ubuntu 9.04 Fulltext :
==========================================================================
Full indexing : 6m08.154s
1 thread, 1000 searchs with single word randomly taken from database :
First run : 0:01:09.553524
next run : 0:00:20.316903
1 thread, …Run Code Online (Sandbox Code Playgroud) 迭代器和生成器之间有什么区别?关于何时使用每种情况的一些示例会很有帮助.
我正在编写一个应用程序,我正在处理4个活动,让我们说A,B,C和D.活动A调用B,B调用C,C调用D.在每个活动中,我有一个名为"home"的按钮按钮.当用户在任何B,C,D活动中点击主页按钮时,应用程序应该返回到活动屏幕?
在这种情况下如何模拟"主页"按钮?
这是我的函数,它将pdf转换为png图像,它在这一行上抛出一个错误 - > stream.WriteTo(Response.OutputStream); 有什么不对??
protected void CreatePngFromPdf()
{
try
{
string PDFLocation = string.Format(@"\\XXXX\{0}\{1}\{2}.pdf", Yr, Loc.Substring(0, 4), Loc.Substring(4, 4));
Utilities.WebPDF.PDF WebPDF = new DocuvaultMVC.Utilities.WebPDF.PDF();
WebPDF.Credentials = new NetworkCredential(@"xyz", "xyz");
byte[] png = WebPDF.StreamPdfPageAsPngResize(PDFLocation,PageNumber, 612, 792);
MemoryStream ms = new MemoryStream(png);
MemoryStream stream = new MemoryStream();
int newWidth = 612;
int newHeight = 792;
System.Drawing.Image newImg = System.Drawing.Image.FromStream(ms);
Bitmap temp = new Bitmap(newWidth, newHeight, newImg.PixelFormat);
Graphics newImage = Graphics.FromImage(temp);
newImage.DrawImage(newImg, 0, 0, newWidth, newHeight);
newImg.Dispose();
temp.Save(stream, ImageFormat.Png);
stream.WriteTo(Response.OutputStream);
temp.Dispose();
stream.Dispose(); …Run Code Online (Sandbox Code Playgroud) 这是运行速度非常慢的查询的tkprof输出(警告:它很长:-)):
SELECT mbr_comment_idn, mbr_crt_dt, mbr_data_source, mbr_dol_bl_rmo_ind, mbr_dxcg_ctl_member, mbr_employment_start_dt, mbr_employment_term_dt, mbr_entity_active, mbr_ethnicity_idn, mbr_general_health_status_code, mbr_hand_dominant_code, mbr_hgt_feet, mbr_hgt_inches, mbr_highest_edu_level, mbr_insd_addr_idn, mbr_insd_alt_id, mbr_insd_name, mbr_insd_ssn_tin, mbr_is_smoker, mbr_is_vip, mbr_lmbr_first_name, mbr_lmbr_last_name, mbr_marital_status_cd, mbr_mbr_birth_dt, mbr_mbr_death_dt, mbr_mbr_expired, mbr_mbr_first_name, mbr_mbr_gender_cd, mbr_mbr_idn, mbr_mbr_ins_type, mbr_mbr_isreadonly, mbr_mbr_last_name, mbr_mbr_middle_name, mbr_mbr_name, mbr_mbr_status_idn, mbr_mpi_id, mbr_preferred_am_pm, mbr_preferred_time, mbr_prv_innetwork, mbr_rep_addr_idn, mbr_rep_name, mbr_rp_mbr_id, mbr_same_mbr_ins, mbr_special_needs_cd, mbr_timezone, mbr_upd_dt, mbr_user_idn, mbr_wgt, mbr_work_status_idn
FROM (SELECT /*+ FIRST_ROWS(1) */ mbr_comment_idn, mbr_crt_dt, mbr_data_source, mbr_dol_bl_rmo_ind, mbr_dxcg_ctl_member, mbr_employment_start_dt, mbr_employment_term_dt, mbr_entity_active, mbr_ethnicity_idn, mbr_general_health_status_code, mbr_hand_dominant_code, mbr_hgt_feet, mbr_hgt_inches, mbr_highest_edu_level, mbr_insd_addr_idn, mbr_insd_alt_id, mbr_insd_name, mbr_insd_ssn_tin, mbr_is_smoker, mbr_is_vip, mbr_lmbr_first_name, mbr_lmbr_last_name, …Run Code Online (Sandbox Code Playgroud) 为什么我允许Nothing在VB.NET中分配值类型:
Dim x as Integer = Nothing
Run Code Online (Sandbox Code Playgroud)
但我不允许null在C#中分配:
int x = null;
Run Code Online (Sandbox Code Playgroud) 我们正在从D7迁移到D2010,并正在就清理项目路径进行辩论.我们有许多目录,其中包含大量的Pas文件,这些目录包含在某些项目路径中,但实际上只有少数文件被任何单个项目使用.
一种选择是完全消除项目路径,并且只在dpr中使用所有已使用的文件.
第二个选项是仅保留dpr中所需的文件,并具有指向其余文件的目录的项目路径.
对于另一个选项,是否存在任何争议?
我今天早些时候问过这个问题.
因此,由于moq从一个接口创建它自己的类,我无法将它转换为另一个类.
所以它让我想知道如果我创建了一个ICustomPrincipal并尝试强制转换它.
这是我的嘲笑的样子:
var MockHttpContext = new Mock<HttpContextBase>();
var MockPrincipal = new Mock<ICustomPrincipal>();
MockHttpContext.SetupGet(h => h.User).Returns(MockPrincipal.Object);
Run Code Online (Sandbox Code Playgroud)
在我试图测试以下代码的方法给出错误(再次):
var user = (ICustomPrincipal)httpContext.User;
Run Code Online (Sandbox Code Playgroud)
错误如下:
Unable to cast object of type 'IPrincipalProxy4081807111564298854aabfc890edcc8'
to type 'MyProject.Web.ICustomPrincipal'.
Run Code Online (Sandbox Code Playgroud)
我想我仍然需要接口和moq的一些练习,但是我不应该将moq创建的类转换回ICustomPrincipal?我知道httpContext.User会返回一个IPrincipal,所以可能会丢失一些东西吗?
好吧,如果有人可以帮助我,我会很感激.
Pickels
编辑:
根据要求,我正在测试的方法的完整代码.它仍然没有完成,但这是我到目前为止:
public bool AuthorizeCore(HttpContextBase httpContext)
{
if (httpContext == null)
{
throw new ArgumentNullException("httpContext");
}
var user = (ICustomPrincipal)httpContext.User;
if (!user.Identity.IsAuthenticated)
{
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
EDIT2:
似乎如果我使用Thread.CurrentPrincipal而不是HttpContext.current.user,我可以毫无问题地投射它.现在阅读两者之间的差异.
// JavaScript JSON
var myCode =
{
message : "Hello World",
helloWorld : function()
{
alert(this.message);
}
};
myCode.helloWorld();
Run Code Online (Sandbox Code Playgroud)
上面的JavaScript代码会提醒'undefined'.
为了使它真正起作用,代码需要如下所示...(注意myCode.message的文字路径)
// JavaScript JSON
var myCode =
{
message : "Hello World",
helloWorld : function()
{
alert(myCode.message);
}
};
myCode.helloWorld();
Run Code Online (Sandbox Code Playgroud)
我的问题是......如果我以这种方式使用json声明函数,是否有一些"相对"方式来访问myCode.message或者是否只能使用文字命名空间路径myCode.message来实现?
c# ×3
android ×1
asp.net ×1
asp.net-mvc ×1
delphi ×1
delphi-2010 ×1
django ×1
generator ×1
indexing ×1
iterator ×1
java ×1
javascript ×1
json ×1
linux ×1
moq ×1
mysql ×1
namespaces ×1
oracle ×1
python ×1
sphinx ×1
sql-tuning ×1
this ×1
vb.net ×1
xapian ×1