com.amazonaws.services.ec2是否包含从现有AMI创建全新EC2实例的方法?我希望从Java SDK而不是Web管理控制台执行此操作.
我正在做一些分布式计算,其中几台机器在假设它们都具有不同类的相同版本的情况下进行通信.因此,使这些类不可变是一种好的设计; 不是因为它必须挫败一个意图不好的用户,只是不可改变的,它永远不会被意外修改.
我该怎么做?例如,我如何实现一个元类,使得类在定义后使用它是不可变的?
>>> class A(object):
... __metaclass__ = ImmutableMetaclass
>>> A.something = SomethingElse # Don't want this
>>> a = A()
>>> a.something = Whatever # obviously, this is still perfectly fine.
Run Code Online (Sandbox Code Playgroud)
替代方法也很好,例如一个装饰器/函数,它接受一个类并返回一个不可变的类.
最近我在Jython平台上玩Django,并希望在"生产"中看到它的性能.我测试的网站只是一个简单的return HttpResponse("Time %.2f" % time.time())视图,因此不涉及数据库.我尝试了以下两种组合(使用ab -c15 -n500 -k <url>VirtualBox上的Ubuntu Server 10.10中的所有内容完成测量):
J2EE应用服务器(Tomcat/Glassfish),部署了WAR文件
我得到的结果就像
Requests per second: 143.50 [#/sec] (mean)
[...]
Percentage of the requests served within a certain time (ms)
50% 16
66% 16
75% 16
80% 16
90% 31
95% 31
98% 641
99% 3219
100% 3219 (longest request)
Run Code Online (Sandbox Code Playgroud)
显然,服务器偶尔会挂起几秒钟,这是不可接受的.我认为它与重新加载Jython有关,因为启动jythonshell也需要大约3秒钟.
AJP服务使用修补的flup包(+ Apache作为前端)
注意:flup是使用的包manage.py runfcgi,我不得不修补它因为flup的线程/分叉支持似乎不适用于Jython( - > AJP是唯一的工作方法).
这里的结果几乎相同,但有时最后100个请求根本没有得到解答(但服务器进程仍然存在).
我在SO(而不是serverfault)上问这个,因为它特别是Django/Jython. 有没有人有在Jython上部署Django网站的经验?可能有另一种(更快)的方式来为网站服务吗?或者在Java平台上使用Django还为时尚早?
我很高兴继承了一个非常复杂的SharePoint项目.
显然,原始开发人员是可重用代码的忠实粉丝(30%的代码在不使用任何库的情况下在20个项目中重复使用 - 猜怎么样?).
我经常会发现他的代码调用一些Common.OpenWeb方法来检索SPWeb操作SharePoint内容的对象.这个函数的大部分内容看起来完全相同:
public SPWeb OpenWeb()
{
String strSiteUrl = ConfigurationManager.AppSettings["SiteUrl"].ToString();
SPSite site = null;
SPWeb web = null;
try
{
using (site = new SPSite(strSiteUrl))
{
using (web = site.OpenWeb())
{
return web;
}
}
}
catch (Exception ex)
{
LogEvent("Error occured in OpenWeb : " + ex.Message, EventLogEntryType.Error);
}
return web;
}
Run Code Online (Sandbox Code Playgroud)
而现在我真的很担心.
为什么这在生产中有效?这个方法总是返回一个被处理的对象,对吧?
它到底有多不稳定?
更新:
此方法以下列方式使用:
oWeb = objCommon.OpenWeb();
SPList list = oWeb.Lists["List name"];
SPListItem itemToAdd = list.Items.Add();
itemToAdd["Some field"] = …Run Code Online (Sandbox Code Playgroud) 在Python中,调用命令subprocess但不打扰其输出的最短和标准方法是什么.
我尝试过subprocess.call它似乎返回输出.我并不担心,我只需要静默运行程序而不会使输出混乱.
如果它有帮助,我正在打电话pdflatex,我的意图就是打电话给它.
我已经搜索过这个但我无法在任何地方找到它.当我在命令模式下移动文本时,如果我到达行的末尾并按下l光标,则不会移动到下一行的开头,编辑器会发出蜂鸣声.同样的事情,如果我在一行的开头并按下h我希望它移动到前一行的末尾.
在_vimrc中是否有一些简单的命令可以用来启用这种类型的运动行为?
我必须实现一个自定义的HttpModule来处理Sharepoint中的404错误.
它侦听PreSendRequestContent事件,并查找404状态代码.如果找到一个,它会执行TransferRequest.
void App_PreSendRequestContent(object sender, EventArgs e)
{
HttpResponse res = App.Response;
HttpRequest req = App.Request;
if (res.StatusCode == 404 && !req.Url.AbsolutePath.Equals(PageNotFoundUrl, StringComparison.InvariantCultureIgnoreCase))
{
App.Server.TransferRequest(PageNotFoundUrl);
}
}
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但我注意到在Fiddler中该页面显示了200状态代码,即使原始请求是404.这对搜索引擎也不好.
这是TransferRequest的预期行为吗?我可以以某种方式维护404状态代码吗?或者,我是否会更好地使用旧的老式Server.Transfer?
更新
我在sharepoint环境之外尝试了这个,并且Server.TransferRequest请求确实提供了200状态代码,删除了404.Server.Transfer不起作用,因为我不认为它可以给出管道.
更新2
感谢下面的答案,我添加了以下内容:
void App_PostRequestHandlerExecute(object sender, EventArgs e)
{
HttpResponse res = App.Response;
HttpRequest req = App.Request;
if (req.Url.AbsolutePath.Equals(PageNotFoundUrl, StringComparison.InvariantCultureIgnoreCase))
{
res.StatusCode = 404;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一堆不同的DTO课程.它们在某一点被序列化为XML字符串,并被射到Web应用程序的客户端.现在,当客户端回射XML字符串时,我需要将其反序列化回它所代表的DTO类的实例.问题是我想使它成为通用的,并且可能是一个接受xml字符串并吐出类型对象的函数.像这么长的东西:
public sometype? Deserialize (string xml)
{
//some code here
return objectFromXml;
}
Run Code Online (Sandbox Code Playgroud)
编辑:可怕的例子!我只是自相矛盾!
我做不到以下事情:
Person person = Deserialize(personXmlStringFromClient);
Run Code Online (Sandbox Code Playgroud)
因为我不知道personXmlStringFromClient是Person DTO对象实例的表示.
我不知道给了我什么序列化对象,这似乎是我的问题.我一直在阅读有关反射和其他技术的内容,这些技术涉及将类型粘贴到xml中,以便反序列化器知道如何处理它.我似乎无法将它们整合成一个工件.此外,在大多数示例中,作者知道反序列化后将会有什么类型.欢迎任何建议!如果我需要对序列化过程做一些特别的事情,请分享一下.
我想知道是否有办法从数组中的任意位置开始读取.例如,如果我有一个大小为10的数组,它开始从位置4读取.然后它应继续从位置读取5, 6, 7, 8, 9, 0, 1, 2, 3
我不确定标签,所以如果选择了错误的标签,请为我更改它.
最初,我认为我可以使用:CSS中的第一个字母,遗留浏览器支持,但我不认为子弹数字在技术上存在于DOM中.假设我不打算使用子弹列表图像或背景图像.
所以类似于:
会成为
1苹果
2香蕉
3橙子
python ×2
sharepoint ×2
.net ×1
algorithm ×1
amazon-ec2 ×1
asp.net ×1
c# ×1
c#-4.0 ×1
css ×1
deployment ×1
django ×1
html ×1
httpmodule ×1
idisposable ×1
immutability ×1
java ×1
java-ee ×1
jython ×1
metaclass ×1
performance ×1
spweb ×1
subprocess ×1
using ×1
vim ×1
xml ×1