早上好.
正如标题所示,我对使用python进行Web开发有一些疑问.
我上次尝试apache + mod_python + CherryPy时的主要问题是不得不重新加载webserver来查看更改.它被认为是正常的吗?出于某种原因,cherrypy的自动重载根本不起作用.
将有效的Python应用程序部署到生产环境的最佳设置是什么?为什么?我现在使用lighttpd作为我的PHP Web应用程序,但与nginx相比,它对python有什么用?
是否值得直接用框架潜水或者滚动一些我自己的简单?我看到Django有很多粉丝,但我认为这对我的需求来说太过分了,所以我开始研究CherryPy.
如果我必须重新加载httpd以查看更改,那么Python应用程序究竟是如何服务的?类似于产生子进程的永久进程,所有主要文件包括在服务器启动时发生,然后只是延迟加载所需的资源?
Python支持多线程,在开发Web应用程序时,我是否需要考虑使用它来获益?什么是好处以及在什么情况下?
十分感谢!
我刚开始(过去几天读了很多).这是我堆积的一些问题,希望有人可以回答.
1.(self!= nil)检入初始化代码.为什么这样?为了防止意外访问包含在那里的一些"只运行一次"代码?从哪里来的意外访问来自?做这样的检查表明我无法控制正在发生的事情.
- (id)init {
self = [super init]
if (self != nil) {
// Code..
}
return self;
}
str = [[NSString alloc] initWithString:@"Hi there!"];
据我所知,你必须用第二种方法释放str,但不是先用?如果是这样,第一个什么时候发布?哪一个更好(不打算打字长度)?
4.什么是autorelease,如果iPhone没有垃圾收集?我注意到在main.m中创建了一个名为"自动释放池"的东西.是[myObject autorelease]; 一种将myObject添加到最近的包装"自动释放池"的方法,它将释放它?基本上,一些魔法,以避免自己释放它?为什么要用它?
好吧,现在就是这样.谢谢你的回答!
我正在为我的项目实现缓存.在查看缓存目录结构之后,我看到了很多例子:
cache
cache/a
cache/a/a/
cache/a/...
cache/a/z
cache/...
cache/z
...
Run Code Online (Sandbox Code Playgroud)
你明白了.另一个存储文件的例子,假设我们的文件被命名IMG_PARTY.JPG,一种常见的方法是将它放在一个名为的目录中:
files/i/m/IMG_PARTY.JPG
Run Code Online (Sandbox Code Playgroud)
我想到了一些想法,但我想知道真正的原因.
执行线性查找的文件系统在目录中的文件较少时会更快地查找文件.这种结构传播文件很薄.
为了不搞乱*nix实用程序rm,如采用有限数量的参数并一次删除大量文件往往是hacky(必须通过它find等)
真正的原因是什么?什么是"好的"缓存目录结构?为什么?