鉴于已经提交的更改已经使用commit
,然后还原使用revert
,那么撤消该恢复的最佳方法是什么?
理想情况下,这应该使用新的提交来完成,以便不重写历史记录.
这不是一个主要问题,只是我想知道是否可能.
假设我们有两个提交,abcd123
并且wxyz789
发生在非相邻的,分开的地方,远在回购历史中.现在让我们说我们想要还原它们.干
git revert abcd123 wxyz789
Run Code Online (Sandbox Code Playgroud)
将导致两个单独的提交,一个恢复abcd123
,另一个恢复wxyz789
.
这一切都很好,但是如果我们想要在两个提交中修复的错误在逻辑上是链接的,并且为了自我记录的目的,我们想做一个单独的提交包含一个单词" 我现在打破了一些东西 " 我正在恢复文件x,y和z "评论?有没有这样做的git命令?
(我当然知道有可能创建一个提交,我只需手动修复所有更改然后推送.这对于所有的不良原因都是痛苦的.)
我似乎无法找到一种方法让端口发布以docker-compose run
尽可能相同的方式工作docker run
.
使用Docker Compose(以及端口映射docker-compose.yml
)会产生"连接失败"错误curl
:
$ docker-compose run flask
* Running on http://0.0.0.0:2048/ (Press CTRL+C to quit)
$ curl http://localhost:2048/
curl: (7) Failed connect to localhost:2048; Connection refused
Run Code Online (Sandbox Code Playgroud)
但是,手动将端口传递到时,一切正常docker run
:
$ docker run -p 2048:2048 --name flask -t flask_image
* Running on http://0.0.0.0:2048/ (Press CTRL+C to quit)
$ curl http://localhost:2048
Hello World!
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
Dockerfile
FROM centos:7
# Install EPEL repo.
RUN rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
# Install Python and Pip.
RUN …
Run Code Online (Sandbox Code Playgroud) 我对Python比较陌生,并且努力将语言的特性与我从C++和Java背景中学到的习惯相协调.
我最近的问题与封装有关,特别是Meyer的" Effective C++ " 第23项总结的一个想法:
friend
暂时忽略缺少机制,非成员函数也被认为优于Python中的成员函数吗?
一个强制的,asinine的例子:
class Vector(object):
def __init__(self, dX, dY):
self.dX = dX
self.dY = dY
def __str__(self):
return "->(" + str(self.dX) + ", " + str(self.dY) + ")"
def scale(self, scalar):
self.dX *= scalar
self.dY *= scalar
def scale(vector, scalar):
vector.dX *= scalar
vector.dY *= scalar
Run Code Online (Sandbox Code Playgroud)
鉴于v = Vector(10, 20)
,我们现在可以调用v.scale(2)
或scale(v, 2)
加倍向量的大小.
考虑到我们在这种情况下使用属性的事实,两个选项中的哪一个 - 如果有的话 - 更好,为什么?
假设我在首次安装和打开Microsoft Visual Studio 2010后立即执行以下步骤:
File
- > New
- > Project
- > Win32 Console App
- > Finish
.
转到Property Manager
窗格 - >展开Debug | Win32
- >右键单击Microsoft.Cpp.Win32.user
- >选择Properties
.
以一种无知的方式疯狂地改变设置,并且通常表现得像个傻瓜.
单击Apply
,保存项目,然后关闭Visual Studio.
如何将Microsoft.Cpp.Win32.user
属性表恢复为默认的"工厂"设置?
msbuild visual-studio-2010 propertysheet visual-studio msbuild-4.0
我希望利用在内存中保存SQLite数据库(通过SQLAlchemy)的速度优势,同时我经历一次插入内容的过程,然后将其转储到文件中,存储以供以后使用.
考虑以通常方式创建的沼泽标准数据库:
# in-memory database
e = create_engine('sqlite://')
Run Code Online (Sandbox Code Playgroud)
有没有更快捷的方法将其内容移动到光盘,除了创建一个全新的数据库并手动插入每个条目?
编辑:
对于我是否看到使用内存数据库有任何好处存在疑问.不幸的是,我已经看到了大约120倍的巨大时差.
这种混乱可能是由于我错过了问题中的一些重要细节.也许可能是由于我对我的缺乏了解:缓存/页面大小/等等.请允许我详细说明:
我正在运行我已经设置的系统的模拟,每个模拟都经历以下阶段:
insert
基于最新模拟的数据库中的新条目.commit()
.虽然我在每次模拟运行中只进行了十几次插入,但我会运行数百万次模拟,并且每次模拟的结果都需要可用于将来的模拟.正如我说的,这个阅读并运行文件备份数据库时写入过程需要相当长的时间; 这是6个小时到一个月之间的差异.
希望这能澄清事情.我可以拼凑一个简单的python脚本,以便在必要时进一步概述我的过程.
给定一个 QGroupBox,调用其成员函数,“setEnabled(false)” 将变灰并禁用其内容。
但是,如何使框的标题变灰?大概有一些涉及样式的解决方法,如果某处没有简单的方法,我可以使用它们。如果是这样,什么是最简单的?
这是一个模式文件,midi.xsd
它定义了一个类型note
,用于存储MIDI音符值:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="note">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="127"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
这里是另一个模式文件,octaves.xsd
它使用midi.xsd
来帮助定义布局上包含约八度数据的XML文件,以强制执行:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="midi.xsd"/>
<xs:element name="octaves">
<xs:complexType>
<xs:sequence>
<xs:element name="octave">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="midi">
<xs:complexType>
<xs:sequence>
<xs:element name="value" type="xs:integer" />
<xs:element name="from" type="note" />
<xs:element name="to" type="note" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="index" type="xs:integer" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
这很好,并且完全按照您的预期工作,除了我有另一个要求:我想要note
在它自己的命名空间中 …
[回调函数]也可以在模块中明确设置.然后,没有必要将参数列表中的函数传递给Fortran函数.如果调用python回调函数的Fortran函数本身由另一个Fortran函数调用,则可能需要这样做.
但是,我似乎无法找到如何做到这一点的例子.
考虑以下Fortran/Python组合:
test.f:
subroutine test(py_func)
use iso_fortran_env, only stdout => output_unit
!f2py intent(callback) py_func
external py_func
integer py_func
!f2py integer y,x
!f2py y = py_func(x)
integer :: a
integer :: b
a = 12
write(stdout, *) a
end subroutine
Run Code Online (Sandbox Code Playgroud)
call_test.py:
import test
def func(x):
return x * 2
test.test(func)
Run Code Online (Sandbox Code Playgroud)
使用以下命令编译(英特尔编译器):
python f2py.py -c test.f --fcompiler=intelvem -m test
Run Code Online (Sandbox Code Playgroud)
我需要采取哪些更改才能以func
模块的形式暴露给整个Fortran程序,以便我可以从子程序内部调用函数test
,或者在项目中的任何其他fortran文件中调用任何其他子程序?
根据标题,我想知道是否有办法获取 MongoDB 索引中的文档数量。
需要明确的是,我并不是在寻找以下任何一个:
.count()
..stats()
- .给出两个变量
A = (2, 3)
B = (1, 4), (5, 8)
Run Code Online (Sandbox Code Playgroud)
将两者连接成结果变量的最简单方法是什么C
,以便:
C = ((2, 3), (1, 4), (5, 8))
Run Code Online (Sandbox Code Playgroud)
请注意,只需调用:
C = A + B
Run Code Online (Sandbox Code Playgroud)
结果是:
C = (2, 3, (1, 4), (5, 8))
Run Code Online (Sandbox Code Playgroud)
这不是理想的结果.
此外,请注意,元组是优选的列表,以便的地方A
,B
并且C
可以作为字典键在其它地方使用.
我希望能够对类的"非类型"模板参数强制执行某些规则.这可能吗?
例如,考虑一个模板化的"循环"类,它在值"MIN"和"MAX"之间循环通过"TYPE"类型的值.
基本的第一步可能如下所示:
template <class TYPE, TYPE MIN, TYPE MAX>
class Cycle
{
public:
Cycle() :
m_value(MIN)
{
}
const TYPE & value() const
{
return m_value;
}
void up()
{
if (m_value == m_max)
m_value = m_min;
else
++m_value;
}
void down()
{
if (m_value == m_min)
m_value = m_max;
else
--m_value;
}
private:
TYPE m_value;
static TYPE m_min;
static TYPE m_max;
};
template <class TYPE, TYPE MIN, TYPE MAX>
TYPE Cycle<TYPE, MIN, MAX>::m_min = MIN;
template <class TYPE, …
Run Code Online (Sandbox Code Playgroud)