小编Anu*_*wal的帖子

在Mac OS X中忽略xargs的空结果

我的网站代码使用这段代码在服务器(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).所以我被困在这里,任何人都可以帮忙吗?

svn macos shell awk xargs

14
推荐指数
1
解决办法
4375
查看次数

Django和域驱动设计

我对领域驱动设计方法感到困惑.从网上的消息来源我明白这是隔离你的方式Domain Objects,Database Objects但我不明白两者之间的区别.

举个例子,我们来看看django教程中的民意调查代码,有两个模型PollsChoice.

这些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是一个域级对象,它不应该直接与数据库对话? …

python django domain-driven-design ddd-repositories

14
推荐指数
3
解决办法
5432
查看次数

Flask SQLAlchemy数据映射器与活动记录模式

我最近开始研究Flask和Flask-SQLAlchemy.来自Django背景我发现Flask-SQLAlchmey非常复杂.我已经读过,SQLAlchemy实现了Data Mapper模式,而Django ORM则基于Active Record Pattern.

下面是一个编写的示例代码,它实现了访问数据库的存储库模式.

是S.Lott(271k声誉)评论的另一个链接,他说ORM是数据访问层,它与模型分开.

我的问题是这些:

  1. 您是否可以在上面的示例中提供实际用例,或者您自己的数据映射器模式有用的示例?我读到的每个地方都是数据映射器模式在复杂情况下很有用,但没有看到示例.
  2. 在上述情况下使用存储库模式与使用数据映射器模式相同吗?
  3. 数据映射器拥护者是否在与示例中所做的模型不同的类中编写选择查询?
  4. 为什么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

12
推荐指数
2
解决办法
3967
查看次数

什么是uwsgi线程用于?

我在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)

我知道每个请求都在不同的过程中提供.然后用于什么线程?

python wsgi uwsgi

8
推荐指数
1
解决办法
8256
查看次数

在常量空间和O(n)时间内查找重复条目的算法

给定N个整数的数组,使得只重复一个整数.在O(n)时间和常量空间中找到重复的整数.整数值或N的值没有范围

例如,给出一个由6个整数组成的数组,如23 45 67 87 23 47.答案是23(我希望这涵盖模糊和含糊的部分)

我在网上搜索但无法找到任何这样的问题,其中整数范围没有固定.还这里是,回答一个类似的问题,以矿一个例子,但在这里,他创建的哈希表C++中的最高整数值,但CPP不允许这样的64位的计算机上创建与2 ^ 64元件(阵列).

对不起,在数组不可变之前我没有提到它

c++ algorithm

7
推荐指数
2
解决办法
4865
查看次数

将二维数组作为参数传递给函数

如果我不知道数组的两个维度的大小,并希望使用以下代码打印矩阵

    
    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)

c++ multidimensional-array

5
推荐指数
1
解决办法
258
查看次数

Scala case class.type不接受参数

我是斯卡拉的新手. 是我想写的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()时没有传递任何参数.有人可以帮帮我吗

scala

5
推荐指数
1
解决办法
6006
查看次数

pympler asizeof 与 sys.getsizeof

我有一个腌菜。其大小为 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)

有人可以解释为什么会有这样的差异吗?

python pickle

5
推荐指数
1
解决办法
5237
查看次数

Postgres ERROR:重复键值违反唯一约束

表定义是

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是独一无二的

postgresql

4
推荐指数
1
解决办法
1万
查看次数

Qsort的内部实施

qsort声明为

void qsort (void* base, size_t num, size_t size,
            int (*compar)(const void*,const void*));
Run Code Online (Sandbox Code Playgroud)

我想知道qsort如何实现反射属性.我的意思是它如何调用我们传递的名字的函数?

c qsort

3
推荐指数
1
解决办法
1万
查看次数

在C中初始化字符串

可能重复:
char*str ="STRING"和char str [] ="STRING"之间的区别?

我写了以下代码:

int main()
{
    char *str = "hello";
    str[0] = 'H';
    printf("%s\n", str);
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个分段错误,我不明白为什么.

strpointer 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.

编辑

如果我的代码将指针放在只读位置,我不应该得到编译错误?

c arrays string

1
推荐指数
1
解决办法
157
查看次数

如何删除pymongo.Database.Database对象

我在我的代码中使用pymongo连接到mongodb.我正在编写一个谷歌分析类应用程序.我的数据库结构就像每个新网站一样,我创建了一个新的数据库.因此,当有人注册网站时,我创建了一个具有该名称的新数据库,但是当注销网站时,我希望删除数据库.我删除了所有集合,但仍然无法删除数据库

因此,数据库列表正在变得非常庞大.当我做

client = MongoClient(host=MONGO_HOST,port=27017,max_pool_size=200)
client.database_names()
Run Code Online (Sandbox Code Playgroud)

我看到超过1000个应用列表.其中许多只是空数据库.有没有办法删除mongo数据库?

python mongodb pymongo

1
推荐指数
1
解决办法
3739
查看次数