迁移允许从一个数据库模式转换到另一个数据库模式,同时维护数据库中的当前数据.Django允许使用该命令创建迁移python manage.py makemigrations
每次makemigrations运行000n..时,都会根据models.py文件中检测到的更改添加新的迁移文件.
有时在对models.py进行少量更改之后,我想运行makemigrations但不希望创建新的迁移,因为之前的迁移尚未使用,这允许它们合并在一起,主要是因为在生产中运行每个迁移当数据库中有大量数据时,可能会花费大量时间,因此最好先合并迁移.
有没有办法允许新的迁移000n ..与现有的迁移000(n-1)合并..?
什么是更快:
(A)'Unpickling'(正在加载)一个酸洗字典对象,使用 pickle.load()
要么
(B)使用将JSON文件加载到字典 simplejson.load()
假设:在案例A中已存在pickle对象文件,并且在案例B中已存在JSON文件.
我运行了一个实验,将docker容器的CPU性能与运行它的主机的CPU性能进行比较.
案例
答:在主机上运行的基准程序(Intel i5,2.6 GHz,2个处理器,2个内核)
B:在同一台主机上运行的Docker容器上运行基准程序.(对于B中的容器没有资源限制.即容器本身拥有所有1024个cpu共享.没有其他容器正在运行)
基准计划:数值整合
数值积分:是大规模并行程序的标准示例.使用OpenMP lib以C++编写的标准数字集成示例程序(已经过测试,以确保其正确性).程序从1-11开始,通过程序中不同数量的可用线程运行11次.对于每个案例A和B,完成了这11次运行.因此,对于主机和11对于容器,总共执行22次运行.
X轴:程序中可用的线程数
Y轴:表示与时间相反的性能(通过将运行程序的时间倒数乘以常数计算得出).
意见
在主机上运行的docker容器略微优于主机.该实验在2个不同的宿主上重复4-5次,每次容器性能曲线略高于宿主性能曲线.
题
当docker容器在主机上运行时,容器性能如何高于主机?
可能的原因:docker cgroup进程的优先级较高?
我假设容器的cgroup中的进程可能获得更高的进程优先级,从而导致程序在容器内运行的性能更高,而程序直接在主机上运行时.这听起来像是一个可能的解释吗?
我知道打开一个文件只会创建一个文件处理程序,它接受一个固定的内存,而不管文件的大小.Django有一个类型InMemoryUploadedFile,表示通过表单上传的文件.
我在django视图中获取了我的文件对象的句柄,如下所示:
file_object = request.FILES["uploadedfile"]
Run Code Online (Sandbox Code Playgroud)
这个file_object有类型InMemoryUploadedFile.
现在我们可以看到,file_object具有.read()用于将文件读入内存的方法.
bytes = file_object.read()
Run Code Online (Sandbox Code Playgroud)
类型的file_object是否InMemoryUploadedFile已经"在内存中"?
假设我们有一个长的ansible字符串变量mystr.我们有一个正则表达式模式,substr_pattern并且匹配此模式的子字符串将被过滤掉mystr并分配给另一个变量substr.似乎没有明显的方法可以通过playbook_filters上的docs 来实现这一点,尽管使用repython本身的模块很容易做到这一点.
在ansible文档中给出了3种方法,它们似乎都没有解决我的问题:
match:此过滤器返回true/false,具体取决于整个模式是否与整个字符串匹配,但不返回匹配的组/子字符串.
search:用于过滤较大字符串中的substr.但是match,只返回true/false并且不匹配此处所需的group/substring.
regex_replace:这用于将字符串中匹配的模式替换为另一个字符串.但目前尚不清楚如何将匹配模式对应的子串/组注册到一个新变量中.
有什么我想念的吗?或者这是ansible中缺少的功能吗?
Ansible版本:2.1
例:
mystr: "This is the long string. With a url. http://example.org/12345"
pattern: "http:\/\/example.org\/(\d+)"
substr: 12345 # First matched group i.e. \\1
Run Code Online (Sandbox Code Playgroud)
简介:如何获取匹配patternfrom 的子字符串mystr并将其注册到ansible变量substr?
我跑了docker images,得到以下错误:
FATA[0000] Get http:///var/run/docker.sock/v1.17/images/json:
dial unix /var/run/docker.sock: no such file or directory.
Are you trying to connect to a TLS-enabled daemon without TLS?
Run Code Online (Sandbox Code Playgroud)
似乎没有关于如何修复错误的有用信息.可能有什么不对?
Google Cloud控制台允许从项目内部创建存储桶并编辑访问控制列表.我从我的一个应用程序app1创建了一个bucket,bucket-foo
现在我想在另一个app2中使用相同的存储桶.我无法弄清楚如何允许app2访问我在app1下创建的同一个存储桶.
复制错误:
我在Macbook上使用iTerm2(OS X Yosemite)
我ssh到一个远程实例并尝试运行该clear命令,并显示此错误:
'xterm-new':未知的终端类型.
不仅对于clear命令而且对于其他几个命令显示相同的错误,并且命令未按预期执行.
仅当我使用iTerm2时才会出现错误,而不是在我使用默认Mac终端时.所以我猜这个问题与iTerm2有关,而不是虚拟机.
如何使用iTerm2解决这个问题?
我有一个access_token说:Aaccess_type 离线,它从获得时间3600秒后过期,即t0
我还第一次获得了refresh_token以及access_token.
稍后在t0 + 1000秒(在访问令牌到期时间之前)说,我将刷新令牌交换为新的访问令牌B
现在,我早期的access_token A仍然有效吗?
附加说明:这是我所关心的,因为我在代码中使用相同的access_token进行多个异步操作,如果其他操作在到期时间之前为access_token交换refresh_token,我不希望任何一个操作失败.
配置文件通常需要每个部分的节头.在rsyncd配置文件中,全局部分不需要显式地具有节头.rsyncd.conf文件的示例:
[rsyncd.conf]
# GLOBAL OPTIONS
path = /data/ftp
pid file = /var/run/rsyncdpid.pid
syslog facility = local3
uid = rsync
gid = rsync
read only = true
use chroot = true
# MODULE OPTIONS
[mod1]
...
Run Code Online (Sandbox Code Playgroud)
如何使用python解析这样的配置文件ConfigParser?执行以下操作会产生一个错误:
>>> import ConfigParser
>>> cp = ConfigParser.ConfigParser()
>>> cp.read("rsyncd.conf")
# Error: ConfigParser.MissingSectionHeaderError: File contains no section headers.
Run Code Online (Sandbox Code Playgroud) python ×3
django ×2
docker ×2
ansible ×1
ansible-2.x ×1
configparser ×1
google-oauth ×1
iterm ×1
iterm2 ×1
json ×1
ncurses ×1
oauth-2.0 ×1
pickle ×1
rsync ×1
simplejson ×1
ssh ×1