我真的不知道如何在Web开发中正确地执行从离线开发到实时web服务器的部署.我主要依靠直觉,但这或多或少是我到目前为止所做的:我在python或php中有一个web应用程序,我在一个实时网络服务器上托管它.我使用的是离线开发版本,其源代码在svn下.
现在,当我开发离线版本时,我将执行对svn的提交.什么时候发布,我可以:
我通常会做第二次,但如果我必须在实时部署之前升级数据库,我通常会编写升级sql脚本,并首先在实时数据库上运行它们,然后结帐.
这项任务的最佳实践是什么?
抽象问题:我有一个大约250,000个节点的图形,平均连接性大约为10.找到一个节点的连接是一个漫长的过程(10秒钟就可以了).将节点保存到数据库也需要大约10秒钟.我可以非常快速地检查数据库中是否已存在节点.允许并发,但一次不超过10个长请求,您将如何遍历图表以获得最快的覆盖率.
具体问题:我正在尝试抓一个网站用户页面.为了发现新用户,我正在从已知用户那里获取好友列表.我已经导入了大约10%的图形但是我一直陷入循环或使用太多内存记住太多节点.
我目前的实施:
def run() :
import_pool = ThreadPool(10)
user_pool = ThreadPool(1)
do_user("arcaneCoder", import_pool, user_pool)
def do_user(user, import_pool, user_pool) :
id = user
alias = models.Alias.get(id)
# if its been updates in the last 7 days
if alias and alias.modified + datetime.timedelta(days=7) > datetime.datetime.now() :
sys.stderr.write("Skipping: %s\n" % user)
else :
sys.stderr.write("Importing: %s\n" % user)
while import_pool.num_jobs() > 20 :
print "Too many queued jobs, sleeping"
time.sleep(15)
import_pool.add_job(alias_view.import_id, [id], lambda rv : sys.stderr.write("Done Importing %s\n" % user))
sys.stderr.write("Crawling: %s\n" % …Run Code Online (Sandbox Code Playgroud) python language-agnostic algorithm performance graph-traversal
我写了这个非常优化的C代码,它做了一个简单的数学计算:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
unsigned long long int p(int);
float fullCheck(int);
int main(int argc, char **argv){
int i, g, maxNumber;
unsigned long long int diff = 1000;
if(argc < 2){
fprintf(stderr, "Usage: %s maxNumber\n", argv[0]);
return 0;
}
maxNumber = atoi(argv[1]);
for(i = 1; i < maxNumber; i++){
for(g = 1; g < maxNumber; g++){
if(i == …Run Code Online (Sandbox Code Playgroud) 我想知道为什么sun不支持netbeans中的python和django?
因为我在学习ruby/rails或python/django之间做出选择.
这是否意味着我应该使用ruby/rails因为支持是开箱即用的?
似乎其他应用程序喜欢支持ruby而不是python.
我的程序是用Delphi编写的(面向对象的pascal).当我尝试打印任何内容时,我收到消息"当前没有选择默认打印机".在未安装打印机的计算机上.
为了防止这种情况,我想检查是否安装了任何打印机.有没有办法检查是否安装了任何打印机?