假设我有这个(简化):
<form id="myform">
<!-- some input fields -->
<input type="submit" value="proceed"/>
</form>
Run Code Online (Sandbox Code Playgroud)
然后我可以通过XPath选择提交按钮//form[@id='myform']/input[@type='submit']
.大.
但是,我的模板可能会更改,我希望在提交按钮所在的深度上保持灵活性.它可能放在一个表中,如下所示:
<form id="myform">
<!-- some input fields -->
<table><tr><td>
<input type="submit" value="proceed"/>
</td></tr></table>
</form>
Run Code Online (Sandbox Code Playgroud)
我知道我可以选择孙子的元素,但我不能选择任何深度的盛大盛大的孩子们.例如:
//form[@id='myform']/*/input[@type='submit']
只选择大孩子,没有更深入的.//form[@id='myform']/*/*/input[@type='submit']
只选择曾祖母,没有更深或更少的深度.//form[@id='myform']/**/input[@type='submit']
无效.那么,如何在不使用元素ID的情况下可靠地选择此提交按钮?
给出以下示例git commit消息:
My commit message summary
Some more body in this message...
Signed-off-by: My name <my.name@example.com>
Issue: MYPROJ-123
Run Code Online (Sandbox Code Playgroud)
我现在可以使用最近的Git版本(2.14+)解析这些" 预告片 "(页脚中的键/值参数)git interpret-trailers --parse
.这似乎也集成到git-log格式选项中,例如:
git log --format="%h %s %(trailers)"
Run Code Online (Sandbox Code Playgroud)
但是,它显示了所有预告片,包括换行符.
是否可以将其限制为单个拖车令牌的值?理想情况下,我想要完成的是git-log行,只显示Issue
令牌的值:
0123abcd My commit message summary MYPROJ-123
Run Code Online (Sandbox Code Playgroud) 我有理由\xc2\xb9 使用 git-format-patch 和选项创建我的 git 提交作为补丁文件--no-prefix
。
此选项更改补丁输出,以不在补丁文件的文件路径中添加 git-diff 特定的前缀a/
/ 。b/
它允许应用补丁文件等工具,patch
而无需作为-p1
参数传递。
到目前为止一切都很酷。然而,我似乎无法再用 Git 本身(git-am)来实际应用它们:
\n\n$ git am path/to/0001-patch.patch\nApplying: <commit message subject>\nerror: <path>: does not exist in index\nPatch failed at 0001\n[...]\n
Run Code Online (Sandbox Code Playgroud)\n\n我现在如何应用它们git-am
,同时保持简单的patch
兼容性?
\xc2\xb9 它允许我在 Bazel 中将其用作补丁文件,而无需自定义补丁命令,因为您需要使用patch -p1 [...]
.
我查看了ibdata文件,它是128 GB.我拿出每张桌子的大小,一张桌子有500万的记录,它显示了90 GB.
我截断了那个表,因为没有必要,我查看了ibdata1的大小.它仍显示128 GB.然后我拿出每张桌子的大小,然后总和只有35-38 GB.
如何在Db服务器上恢复90 GB的空间.我在red-hat Linux服务器上使用mysql和php.
我猜 - 如果我们删除DB上的任何东西它只是删除复制,但分配给它的空间不会被释放,直到我们手动执行.是这样的吗?
我正在尝试使用pip 安装uWSGI来部署Django项目:
$ pip install uwsgi
[...]
################# uWSGI configuration #################
pcre = False
kernel = Linux
malloc = libc
execinfo = False
ifaddrs = True
ssl = True
zlib = True
locking = pthread_mutex
plugin_dir = .
timer = timerfd
yaml = embedded
json = False
filemonitor = inotify
routing = False
debug = False
capabilities = False
xml = expat
event = epoll
############## end of uWSGI configuration #############
[...]
Run Code Online (Sandbox Code Playgroud)
我看到显示的构建配置中有一些我想要更改的选项.
ssl
(在nginx中完成,我不希望uwsgi
二进制文件链接到OpenSSL)Git 2.10 引入了 git Push 选项( git push -o "my string"
)。
许多命令行选项都是可配置的,我想知道是否也可以这样做。我无法在git-config中找到它,但也许我忽略了它。
那么,是否可以添加一组(一组)默认推送选项,以...
git push -o "r=joh.doe"
Run Code Online (Sandbox Code Playgroud)
...运行时的默认值...
git push
Run Code Online (Sandbox Code Playgroud)
?
上下文:
我将其与 Gerrit 一起使用,直接将更改分配给审阅者(参考文档- 使用兼容语法<push-ref>%my_string
)。当上传许多更改并结对审查彼此的代码时,如果我可以在推送时将该人添加为审查者,那将会很有用。
我正在使用Docker 18.05.0~ce~3-0~ubuntu
,我想将构建参数传递给FROM以及我的Dockerfile中的其他行.你会期望以下工作:
ARG FROM_IMAGE=ubuntu:bionic
FROM $FROM_IMAGE
COPY sources_list/$FROM_IMAGE /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)
它适用于第二行(FROM
),但它的行为类似于COPY
行中未设置:
第1/3步:ARG FROM_IMAGE = ubuntu:仿生步骤2/3:FROM $ FROM_IMAGE ---> 8626492fecd3 [...]步骤3/3:COPY sources_list/$ {SOURCES_LIST_FILE} /etc/apt/sources.list失败复制文件:无法复制目录:mkdir /var/lib/docker/overlay2/0536b4e280ddca2fec18db9d79fa625a8be86efdbaaea5b3dbbefcdaaab3f669/merged/etc/apt/sources.list:不是目录
如果添加另一个单独的构建arg,它适用于同一COPY
行:
ARG FROM_IMAGE=ubuntu:bionic
FROM $FROM_IMAGE
ARG SOURCES_LIST_FILE
COPY sources_list/${SOURCES_LIST_FILE} /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)
步骤4/4:COPY sources_list/$ {SOURCES_LIST_FILE} /etc/apt/sources.list ---> 7f974fffe929
为什么我不能FROM_IMAGE
在FROM
一行之前和之后使用构建arg两次?我没有找到任何记录在案的限制.
请参阅下面Django 文档中的此示例:
Run Code Online (Sandbox Code Playgroud)from django.db import models class Author(models.Model): name = models.CharField(max_length=100) class Book(models.Model): author = models.ForeignKey(Author) title = models.CharField(max_length=100)
如果您想创建一个表单集,允许您编辑属于特定作者的书籍,您可以这样做:
Run Code Online (Sandbox Code Playgroud)>>> from django.forms.models import inlineformset_factory >>> BookFormSet = inlineformset_factory(Author, Book) >>> author = Author.objects.get(name=u'Mike Royko') >>> formset = BookFormSet(instance=author)
这是与 Authors to Books 的一对多关系,并提供了一种为单个作者编辑书籍的简单方法。
现在我想做相反的事情:一个用于编辑/创建作者的表单,其中包含要编辑/创建的内联书籍表单集。我怎么做?我真的更喜欢一种使用 ModelForms 来做到这一点的方法,而无需创建所涉及的模型之一的实例。
例如:
[________]
[________]
[________]
[________]
[save]
注意:此时我需要没有任何 Authors 实例。
我可能在这里遗漏了一些简单的东西,而且我在此处的文档上花了太多时间。欢迎提供一些帮助!
在 Python 中,我会这样做:
try:
some_func()
except Exception:
handle_error()
else:
print("some_func was successful")
do_something_else() # exceptions not handled here, deliberately
finally:
print("this will be printed in any case")
Run Code Online (Sandbox Code Playgroud)
我觉得这读起来非常优雅;else
只有在没有抛出异常的情况下才会到达该块。
在 Kotlin 中如何做到这一点?我应该声明一个局部变量并在块下面检查它吗?
try {
some_func()
// do_something_else() cannot be put here, because I don't want exceptions
// to be handled the same as for the statement above.
} catch (e: Exception) {
handle_error()
} finally {
// reached in any case
}
// how to handle 'else' elegantly?
Run Code Online (Sandbox Code Playgroud)
我找到了 …
git ×3
database ×1
django ×1
django-forms ×1
docker ×1
docker-build ×1
dockerfile ×1
exception ×1
format-patch ×1
gerrit ×1
git-am ×1
git-apply ×1
git-config ×1
git-log ×1
git-push ×1
innodb ×1
kotlin ×1
mysql ×1
pip ×1
python ×1
uwsgi ×1
xpath ×1