我的网站代码使用这段代码在服务器(Ubuntu)上自动部署.
cmd = 'cd ' + checkout_dir + ' && ' + svn_command + " st | awk '{print $2}' | grep -v ^deploy | tac | xargs -r" + svn_command + " revert -R && " + svn_command + ' up -r ' + options.revision
这个命令做的是cd进入checkout目录,运行svn status,然后提取filename($2),deploy从列表中删除目录及其所有文件(我不想还原它).如果没有参数,它不会运行svn revert命令,否则它会运行.
不幸的是,xargs -r它在我的机器上不起作用(Mac OS X 10.8).所以我被困在这里,任何人都可以帮忙吗?
我对领域驱动设计方法感到困惑.从网上的消息来源我明白这是隔离你的方式Domain Objects,Database Objects但我不明白两者之间的区别.
举个例子,我们来看看django教程中的民意调查代码,有两个模型Polls和Choice.
这些domain level objects还是database level objects?
是否需要带有ORM的DDD?
如果是,您是否可以提供需要将DDD方法与ORM一起使用的良好情况
例如,这是模型
class Polls(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
Run Code Online (Sandbox Code Playgroud)
DDD方法代码我见过人们写作
class PollService(object):
def __init__(self, poll_repository):
self.poll_respository = poll_respository
def update(self, poll_id):
poll = self.poll_respository.fetch_by_id(poll_id)
poll.question += '?'
self.poll_respository.update(poll)
#assume that the following code works?
class PollRepository():
def __init__(self, db):
self.db = db
def update(self, poll):
try:
self.db.session().add(poll)
self.db.session.commit()
except Exception:
self.db.session.rollback()
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?我在这里看到了很多冗余代码,但人们说这Polls是一个域级对象,它不应该直接与数据库对话? …
我最近开始研究Flask和Flask-SQLAlchemy.来自Django背景我发现Flask-SQLAlchmey非常复杂.我已经读过,SQLAlchemy实现了Data Mapper模式,而Django ORM则基于Active Record Pattern.
下面是一个编写的示例代码,它实现了访问数据库的存储库模式.
这是S.Lott(271k声誉)评论的另一个链接,他说ORM是数据访问层,它与模型分开.
我的问题是这些:
Question.query.filter_by(text = text).all()不比使用更好
db.session.query(Question).filter(Question.text == text).all()?这不是DataMapper与ActiveRecord模式的重复,因为这只是告诉定义,我对实际例子更感兴趣.
python activerecord design-patterns datamapper flask-sqlalchemy
我在uwsgi.ini文件中看到有一个配置
[uwsgi]
socket = 127.0.0.1:3031
chdir = /home/foobar/myproject/
wsgi-file = myproject/wsgi.py
processes = 4
threads = 2
stats = 127.0.0.1:9191
Run Code Online (Sandbox Code Playgroud)
我知道每个请求都在不同的过程中提供.然后用于什么线程?
给定N个整数的数组,使得只重复一个整数.在O(n)时间和常量空间中找到重复的整数.整数值或N的值没有范围
例如,给出一个由6个整数组成的数组,如23 45 67 87 23 47.答案是23(我希望这涵盖模糊和含糊的部分)
我在网上搜索但无法找到任何这样的问题,其中整数范围没有固定.还这里是,回答一个类似的问题,以矿一个例子,但在这里,他创建的哈希表C++中的最高整数值,但CPP不允许这样的64位的计算机上创建与2 ^ 64元件(阵列).
对不起,在数组不可变之前我没有提到它
如果我不知道数组的两个维度的大小,并希望使用以下代码打印矩阵
void printAnyMatrix(int (*A)[], int size_A, int size_B)
{
for (int i = 0; i<=size_A; i++)
{
for (int j = 0; j<=size_B; j++)
printf("%d ", A[i][j]);
printf("\n");
}
printf("\n");
}
Run Code Online (Sandbox Code Playgroud)
错误无法将'int(*)[(((unsigned int)((int)size_B))+ 1)]'转换为'int()[]'以将参数'1'转换为'void printAnyMatrix(int()[] ,int,int)
我是斯卡拉的新手. 这是我想写的Models.scala.当我运行sbt包时,它给出了错误
Models.scala:25: models.Session.Network.type does not take parameters
[error] network : Network = Network() ,
Run Code Online (Sandbox Code Playgroud)
我不明白为什么会发生这个错误,我在做Network()时没有传递任何参数.有人可以帮帮我吗
我有一个腌菜。其大小为 9.3MB。
-rw-r--r-- 1 ankit ankit 9.3M Jan 7 17:43 agg_397127.pkl
Run Code Online (Sandbox Code Playgroud)
我使用 cPickle 将其加载到 python 中。我尝试使用 pympler asizeof 确定其大小。但是 asize of 和 sys.getsizeof 给出的大小存在相当大的差异
from pympler import asizeof
import cPickle as pickle
path = "agg_397127.pkl"
temp = pickle.load(open(path, 'rb'))
temp
{397127: RandomForestRegressor(bootstrap=True, criterion='band_predict',
max_depth=None, max_features='auto', max_leaf_nodes=None,
min_samples_leaf=1, min_samples_split=2,
min_weight_fraction_leaf=0.0, n_estimators=1000, n_jobs=1,
oob_score=False, random_state=0, verbose=0, warm_start=False)}
asizeof.asizeof(temp)
1328504
asizeof.flatsize(temp)
import sys
sys.getsizeof(temp)
280
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么会有这样的差异吗?
表定义是
create table users (
serial_no integer PRIMARY KEY DEFAULT nextval('serial'),
uid bigint NOT NULL,
username varchar(32),
name text,
CONSTRAINT production UNIQUE(uid)
);
Run Code Online (Sandbox Code Playgroud)
我用过这个查询
INSERT INTO users (uid) values(123) ;
Run Code Online (Sandbox Code Playgroud)
它表示重复键值违反了唯一约束.所以我用Google搜索并发现了这个链接
所以我试过了
INSERT INTO users (uid) values(123)
where 1 in (select 1 from users where uid = 123) ;
Run Code Online (Sandbox Code Playgroud)
它在"WHERE"或附近说yntax错误.
如何使用insert子句来使用where子句,这样当我使用php运行相同的查询时,它不会返回错误
列uid是独一无二的
qsort声明为
void qsort (void* base, size_t num, size_t size,
int (*compar)(const void*,const void*));
Run Code Online (Sandbox Code Playgroud)
我想知道qsort如何实现反射属性.我的意思是它如何调用我们传递的名字的函数?
我写了以下代码:
int main()
{
char *str = "hello";
str[0] = 'H';
printf("%s\n", str);
}
Run Code Online (Sandbox Code Playgroud)
这给了我一个分段错误,我不明白为什么.
str是pointer to char不是const char.即使是这样的情况也不应该像下面的程序那样给出编译错误:
int main()
{
const char *str = "hello";
str[0] = 'H';
printf("%s\n", str);
}
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误:assignment of read-only location *str.
编辑
如果我的代码将指针放在只读位置,我不应该得到编译错误?
我在我的代码中使用pymongo连接到mongodb.我正在编写一个谷歌分析类应用程序.我的数据库结构就像每个新网站一样,我创建了一个新的数据库.因此,当有人注册网站时,我创建了一个具有该名称的新数据库,但是当注销网站时,我希望删除数据库.我删除了所有集合,但仍然无法删除数据库
因此,数据库列表正在变得非常庞大.当我做
client = MongoClient(host=MONGO_HOST,port=27017,max_pool_size=200)
client.database_names()
Run Code Online (Sandbox Code Playgroud)
我看到超过1000个应用列表.其中许多只是空数据库.有没有办法删除mongo数据库?