我正在开始使用PHP开发一个新项目,我很乐意从其他开发人员那里获得有关他们首选的PHP部署策略的反馈.我希望自动化一些事情,以便一旦提交更改,就可以将它们快速迁移到开发或生产服务器.
我有使用Capistrano和Ruby进行部署的经验以及一些基本的shell脚本.
在我第一次独自潜水之前,听听其他人在他们的项目中如何处理这个问题会很棒.
目前,开发人员处理站点的本地安装并将更改提交到subversion存储库.通过从svn导出标记版本并将其上载到服务器来进行初始部署.
通常通过手动上载更改的文件来进行其他更改.
有些日子我一直在搜索错误的工作解决方案
Error: EMFILE, too many open files
似乎很多人都有同样的问题.通常的答案是增加文件描述符的数量.所以,我试过这个:
sysctl -w kern.maxfiles=20480
,
默认值是10240.这在我看来有点奇怪,因为我在目录中处理的文件数量低于10240.更奇怪的是,在我增加了文件描述符的数量之后,我仍然收到相同的错误.
第二个问题:
经过多次搜索后,我找到了解决"太多打开文件"问题的方法:
var requestBatches = {};
function batchingReadFile(filename, callback) {
// First check to see if there is already a batch
if (requestBatches.hasOwnProperty(filename)) {
requestBatches[filename].push(callback);
return;
}
// Otherwise start a new one and make a real request
var batch = requestBatches[filename] = [callback];
FS.readFile(filename, onRealRead);
// Flush out the batch on complete
function onRealRead() {
delete requestBatches[filename];
for (var i = 0, l = batch.length; i …
Run Code Online (Sandbox Code Playgroud) 这是一个标准方案:
if(string.IsNullOrEmpty(Configuration.AppSettings["foobar"]))
throw new SomeStandardException("Application not configured correctly, bozo.");
Run Code Online (Sandbox Code Playgroud)
问题是,我不完全确定应该是哪个例外SomeStandardException
.
我仔细阅读了3.5框架,发现了两个可能的候选人:ConfigurationException
和ConfigurationErrorsException
.
System.Configuration.ConfigurationException
发生配置系统错误时引发的异常.
备注
该ConfigurationException
如果应用程序试图读取或写入数据到配置文件,但不成功则抛出异常.可能的原因可能包括配置文件中格式错误的XML,文件权限问题以及值无效的配置属性.注意:
ConfigurationException
维护该对象是为了向后兼容.该ConfigurationErrorsException
对象替换配置系统.
这个例外实际上听起来非常适合我所需要的,但它已被标记为过时,所以,ixnay on atthay.
这让我们彻底迷惑ConfigurationErrorsException
:
System.Configuration.ConfigurationErrorsException
当前值不是EnableSessionState值之一.
如您所见,其文档完全没用.(在本地和在线帮助中都是如此.)对课程本身的检查表明,对于我想要的东西来说,这是一种极端的过度杀伤力.
简而言之,我需要一个标准异常,当应用程序配置设置丢失或包含无效值时应抛出该异常.你认为框架有一个例外,它允许应用程序使用它.(它显然没有,但它被标记为已过时,并且被替换的东西多范围较大.)
你们有什么解决方案,如果有的话,我们将不得不将其吸收并为此推出自己的例外情况?
有些人问我是否可以提供默认值,然后继续.在某些情况下,是的,在这些情况下,不会抛出异常.但是,对于某些设置,这将不适用.例如:数据库服务器名称和凭据,身份验证服务器以及安装的第三方应用程序的路径.
还值得注意的是,我主要处理的应用程序是以批处理模式运行的控制台应用程序,我希望它抛出一个由main方法捕获的异常,并在没有正确配置的情况下正确记录.(这是我继承的遗留代码,目前只是假设一切都很好.)
我看到代表有两种形式:
A. Func<string, string> convertMethod = lambda
B. public delegate string convertMethod(string value);
Run Code Online (Sandbox Code Playgroud)
我不确定这两者之间究竟有什么区别.他们都是代表吗?我相信第一个会使用lambda,第二个必须有一个方法来实际执行工作.我也可能感到困惑.
好吧,所以我真的认为我这样做是正确的,但饼干没有被清除.
Session.Clear();
HttpCookie c = Request.Cookies["MyCookie"];
if (c != null)
{
c = new HttpCookie("MyCookie");
c["AT"] = null;
c.Expires = DateTime.Now.AddDays(-1);
Request.Cookies.Add(c);
}
return RedirectToAction("Index", "Home");
Run Code Online (Sandbox Code Playgroud)
当重定向发生时,它再次找到cookie并继续前进,就好像我从未注销过一样.有什么想法吗?
我需要让我的Django应用程序允许我为某个模型字段设置一个默认值NULL.我已经查看了null,blank和default参数,但是我不太清楚我需要使用哪三种组合来获得所需的效果.我尝试过设置,default=NULL
但它犯了一个错误.如果我指定blank=True, null=True
并且没有默认值,那么它是否会默认返回NULL来运行时?
我想在numpy中从2D数组创建"心率监视器"效果,并希望音调反映数组中的值.
我已经完成了.Net开发一段时间,但我是WPF技术的新手.App.xaml的假设目的是什么?另外,您通常会在其中添加什么类型的xaml代码?对于简单的应用程序来说,它似乎可以被忽略并保持不变.这是真的?
我正在尝试使用a IComparer
来对点列表进行排序.这是IComparer类:
public class CoordinatesBasedComparer : IComparer
{
public int Compare(Object q, Object r)
{
Point a = (p)q;
Point b = (p)r;
if ((a.x == b.x) && (a.y == b.y))
return 0;
if ((a.x < b.x) || ((a.x == b.x) && (a.y < b.y)))
return -1;
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
在客户端代码中,我试图使用这个类来排序点p(类型List<Point>
)的列表:
CoordinatesBasedComparer c = new CoordinatesBasedComparer();
Points.Sort(c);
Run Code Online (Sandbox Code Playgroud)
代码出错了.显然它正在期待IComparer<Point>
排序方法的论据.
我需要做些什么来解决这个问题?